+
   qve{lc                   s,  a  RH t0 t R t^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ R
It^ RIHt ^ RIHt ]! RR4       ^ RIHt ]! RR4       ^ RIH t  ] PB                  ! R4       ] PD                  ! R4       ]! RR4       ^ RIH#t# ]! RR4       ^ RIH$t$ ]! RR4       ^ RIH%t% ]PL                  PO                  R4      R
Jt(]PR                  PU                  ^ ]PR                  PW                  ]PR                  PY                  ]-4      RR4      4       ^ R
I.t.^ R
I/t/^ R
I0t0^ R
I1t1^ R
I2t2^ R
I3t3^ RI4H5t5H6t6H7t7H8t8 ]
'       d	   ^ RIH6t6H5t5 ^ R I9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQ ^ R!IRHStS ^ R"ITHUtU ^ R#IVHWtWHXtY R
tZ ^ R
I[t[R
tZ]P                  ! R$4      t_R
t`] ^ k ]P                  ! ^R%7      R& R' l4       tbR( R) ltc]c! 4       td]dP                  4       tf ! R* R+]6P                  4      th ! R, R-]6P                  4      tiRIR. R/ lltj]kR08X  Ed   ]fP                  '       d   ]P                  ! 4       tnM]P                  ! ]PR                  P                  R14      ]P                  4      '       g   ]P                  ! R24       ]PR                  P                  R34      ts]P                  P                  ]sR4^^R5R6R6R
R77      tv]P                  ! R84      tx]vP                  ]x4       ]_P                  ]P                  4       ]_P                  ]v4       ]_P                  R9]3P                  ! 4       4       ]0P                  ! R:4        ]EP                   ! ]EP                  R;4       ]Y! 4        ]%EP                  ! 4       fR   ]M! R
]W! R>4      ]6EP
                  EP                  R?]W! R@4      RA7      EP                  4        ]EP                  ! ^4       ]fEP                  t]'       g'   RB]EP                  9   d   ]EP                  RB,          t]_P                  RC]4       ]RD8w  d=   ]0EP                  EP                  ]4      '       g   ]! RE4       ]dEP                  4        ]h! ]RF7      t] EP"                  ! 4       t`]P"                  ! ]EP$                  ]j4        ]`EP'                  4        R
# R
#   ]\3 d   t]]]tZ R
t]A]EL8R
t]A]ii ; i  ]EP                   d6    ]_EP                  R<4       ]EP                   ! ]EP                  R=4        ELi ; i  ] d'    ]_P                  RG4       ]`EP+                  4         R
# i ; i)Jz)
The setup tool for ibus typing booster.
)Tuple)List)Dict)Set)UnionAny)Optional)TYPE_CHECKING)	FrameTypeN)strftime)require_versionGioz2.0)r   GLib)r   zTyping Booster Preferenceszibus-setup-typing-booster	GdkPixbuf)r   Pangoz1.0)r   IBus)r   Z	libvoikkoz..Zengine)GdkGtk	GTK_MAJORGTK_VERSION)r   r   )
is_wayland	add_childset_border_widthset_label_wrap_modeclear_childrenshow_allicon_image_for_nameimage_from_file_scaledset_scrolled_shadowcombobox_set_activeget_toplevel_window	PopupKindPopupManagercreate_popovergrab_focus_without_selectingset_entry_text_preserve_cursorget_window_sizeget_treeview_contextconnect_fast_clickMessageDialogCompatConfirmDialogCompatCompatButtonchoose_file_openliststore_append)install_packages_with_dialog)!download_dictionaries_with_dialog)_initibus-typing-booster)Zmaxsizec                s8    V ^8  d   QhR\         P                  /#    returnitb_utilZ
M17nDbInfoformat   ",/usr/share/ibus-typing-booster/setup/main.py__annotate__r;      s     ! !(-- !    c                 s,    \         P                  ! 4       # )z Lazy loading of the m17n-db infor5    r<   r:   get_m17n_db_infor>      s       r<   c                s$    V ^8  d   QhR\         /# r2   r   r7   r9   r:   r;   r;      s      C r<   c            
     s    \         P                  ! RR7      p V P                  RRR\        RRRR	7       V P                  R
RRRRR7       V # )z#
Parse the command line arguments.
zibus-typing-booster setup tool)descriptionz-nz--engine-nameZstoreengine_name u'  Set the name of the engine, for example “typing-booster” for the regular multilingual typing booster or “tb:<language>:<name>” for special typing booster engines defaulting to emulating ibus-m17n for a specific m17n input method. For example “tb:hi:itrans” would be a special typing-booster engine emulating “m17n:hi:itrans”. Default: “%(default)s”. If this option is not used, the value of the environment variable IBUS_ENGINE_NAME is tried instead. If the variable IBUS_ENGINE_NAME is also not set or empty, this help is printed.)actiontypeZdestdefaulthelpz-qz
--no-debugZ
store_trueFz^Do not write log file ~/.local/share/ibus-typing-booster/setup-debug.log, default: %(default)s)rB   rD   rE   )argparseZArgumentParserZadd_argumentstr)Zparsers    r:   
arg_parserrH      sl     $$46F
o
&  (" l%	  ' Mr<   c                   sp  a  ] tR t^t o RtERV 3R lR lltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	]
V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR lt]
ERV 3R lR ll4       t]
ERV 3R lR ll4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltV 3R" lR# ltV 3R$ lR% ltV 3R& lR' ltV 3R( lR) ltV 3R* lR+ ltV 3R, lR- ltV 3R. lR/ ltV 3R0 lR1 ltV 3R2 lR3 ltV 3R4 lR5 ltV 3R6 lR7 lt V 3R8 lR9 lt!V 3R: lR; lt"V 3R< lR= lt#V 3R> lR? lt$V 3R@ lRA lt%V 3RB lRC lt&V 3RD lRE lt'V 3RF lRG lt(V 3RH lRI lt)V 3RJ lRK lt*V 3RL lRM lt+V 3RN lRO lt,V 3RP lRQ lt-V 3RR lRS lt.V 3RT lRU lt/V 3RV lRW lt0V 3RX lRY lt1V 3RZ lR[ lt2V 3R\ lR] lt3V 3R^ lR_ lt4V 3R` lRa lt5V 3Rb lRc lt6V 3Rd lRe lt7V 3Rf lRg lt8V 3Rh lRi lt9V 3Rj lRk lt:V 3Rl lRm lt;V 3Rn lRo lt<V 3Rp lRq lt=V 3Rr lRs lt>V 3Rt lRu lt?V 3Rv lRw lt@V 3Rx lRy ltAV 3Rz lR{ ltBV 3R| lR} ltCV 3R~ lR ltDV 3R lR ltEV 3R lR ltFV 3R lR ltGV 3R lR ltHV 3R lR ltIV 3R lR ltJV 3R lR ltKV 3R lR ltLV 3R lR ltMV 3R lR ltNV 3R lR ltOV 3R lR ltPV 3R lR ltQV 3R lR ltRV 3R lR ltSV 3R lR ltTV 3R lR ltUV 3R lR ltVV 3R lR ltWV 3R lR ltXV 3R lR ltYV 3R lR ltZV 3R lR lt[V 3R lR lt\V 3R lR lt]V 3R lR lt^V 3R lR lt_V 3R lR lt`V 3R lR ltaV 3R lR ltbV 3R lR ltcV 3R lR ltdV 3R lR lteV 3R lR ltf]gV 3R lR l4       thV 3R lR ltiV 3R lR ltjV 3R lR ltkV 3R lR ltlV 3R lR ltmV 3R lR ltnV 3R lR ltoV 3R lR ltpV 3R lR ltqV 3R lR ltrV 3R lR ltsV 3R lR lttV 3R lR ltuV 3R lR ltvV 3R lR ltwV 3R lR ltxV 3R lR ltyV 3R lR ltzV 3R lR lt{V 3R lR lt|V 3R lR lt}V 3R lR lt~V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3ER  lER ltV 3ER lER ltV 3ER lER ltV 3ER lER ltV 3ER lER	 ltV 3ER
 lER ltV 3ER lER ltV 3ER lER ltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER  lER! lltERV 3ER" lER# lltERV 3ER$ lER% lltERV 3ER& lER' lltERV 3ER( lER) lltERV 3ER* lER+ lltERV 3ER, lER- lltERV 3ER. lER/ lltERV 3ER0 lER1 lltERV 3ER2 lER3 lltERV 3ER4 lER5 lltERV 3ER6 lER7 lltERV 3ER8 lER9 lltERV 3ER: lER; lltERV 3ER< lER= lltERV 3ER> lER? lltERV 3ER@ lERA lltERV 3ERB lERC lltERV 3ERD lERE lltERV 3ERF lERG lltERV 3ERH lERI lltERV 3ERJ lERK lltERV 3ERL lERM lltERV 3ERN lERO lltERV 3ERP lERQ lltERV 3ERR lERS lltERV 3ERT lERU lltERV 3ERV lERW lltERV 3ERX lERY lltERV 3ERZ lER[ lltERV 3ER\ lER] lltERV 3ER^ lER_ lltERV 3ER` lERa lltERV 3ERb lERc lltERV 3ERd lERe lltERV 3ERf lERg lltERV 3ERh lERi lltERV 3ERj lERk lltERV 3ERl lERm lltERV 3ERn lERo lltERV 3ERp lERq lltERV 3ERr lERs lltERV 3ERt lERu lltERV 3ERv lERw lltERV 3ERx lERy lltERV 3ERz lER{ lltERV 3ER| lER} lltERV 3ER~ lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERV 3ER lER lltERtV tER# (  SetupUIz"
User interface of the setup tool
c                $   < V ^8  d   QhRS[ RR/# )r3   r@   r4   NrG   r8   __classdict__   "r:   r;   SetupUI.__annotate__   s%     |'M |'M"|'M:>|'Mr<   c           	     s  Wn         V P                   '       g   R V n         \        R4      R,           pRpRpRV n        RV n        V P                   R 8w  d   V P                   R,           \        R4      ,           R,           p\        P
                  P                  V P                   4      pV'       g   \        R4      hVP                  R	4      V n        VP                  R
4      V n        RV P                   RV P                   R2pRV P                   RV P                   R2pVR\        P                  ! 4        2,          pVRRP                  R \         4       4       2,          p\        P                  P                  WR7       V P!                  V4       V P#                  R4       V P%                  R4       V P'                  R4       R\)        4       '       d   RMR R2p\        P*                  ! 4       p\,        ^8  dh   VP/                  V\1        V4      4       \        P2                  P5                  \6        P8                  P;                  4       V\        P<                  4       MkVP/                  VP?                  R4      4       \        P2                  PA                  \6        PB                  P;                  4       V\        P<                  4       \D        PF                  ! VR7      V n"        RV n$        \J        PL                  ! RVR7      V n'        V PQ                  4       V n)        / V n*        \J        PV                  P;                  4       pVPY                  RR4      p	V	P[                  4        Fx  p
V	P]                  V
4      P_                  4       Pa                  4       pV
ERo9   d   K:  VERp9   d   R pM VR!8X  d   R"pMVR#8X  d   R$pMVR%8X  d   R&pMKe  R'VR(V/V PT                  V
&   Kz  	  \,        ^8  d   V Pc                  R)V Pd                  4       MV Pc                  R*V Pd                  4       \g        4       V n4        \        Pj                  ! 4       pVPm                  \        Pn                  Pp                  4       VPs                  ^ 4       VPu                  R4       VPw                  R4       \y        W4       \        Pz                  ! 4       pVP}                  R4       VP                  R4       VP                  R+4       VP                  \        P                  P                  4       VPu                  R4       VPw                  R4       \y        W4       \        Pj                  ! 4       pVPm                  \        Pn                  P                  4       VP}                  R4       VP                  R+4       VPu                  R4       VPw                  R+4       VPs                  ^ 4       \y        W4       \        P                  ! \        R,4      R-7      pVPc                  R.V P                  4       \y        VV4       \        P                  ! 4       pVPu                  R4       VPw                  R+4       \y        VV4       \        P                  ! \        R/4      R-7      V nH        V P                  Pc                  R.V P                  4       \y        WP                  4       \        P                  ! 4       pVPu                  R4       VPw                  R+4       \y        VV4       \        \        R04      RR17      pVPc                  R.V P                  Pd                  4       \y        VV4       ^p^ p^
p\        Pj                  ! 4       pVPm                  \        Pn                  Pp                  4       VPs                  ^ 4       ^
pVP                  V4       VP                  V4       VP                  V4       VP                  V4       \        P                  ! 4       pVP                  ^ 4       VP                  R2\        R34      ,           4       \        P                  ! 4       pVP}                  R4       VP                  R4       \        VV4       VP                  V4       VP                  V4       VP                  R+4       VP                  R+4       VPu                  R4       VPw                  R4       \        P                  ! 4       pVP                  ^ 4       VP                  R4\        R54      ,           4       \        P                  ! 4       p\y        VV4       \        P                  ! 4       pVP}                  R4       VP                  R4       \        VV4       VP                  V4       VP                  V4       VP                  R+4       VP                  R4       \        P                  ! 4       pVP                  ^ 4       VP                  R6\        R74      ,           4       \        Pj                  ! 4       pVPm                  \        Pn                  Pp                  4       VP                  R4       VPs                  ^ 4       ^
pVP                  V4       VP                  V4       VP                  V4       VP                  V4       \        P                  ! 4       pVP                  ^ 4       VP                  R8\        R94      ,           4       \        P                  ! 4       p V P}                  R4       V P                  R4       \        V V4       V P                  V4       V P                  V4       V P                  R+4       V P                  R+4       V Pu                  R4       V Pw                  R+4       \        P                  ! 4       p!V!P                  ^ 4       V!P                  R:\        R;4      ,           4       \        P                  ! 4       p"\y        V"V 4       \        P                  ! 4       p#V#P}                  R4       V#P                  R4       \        V#V4       V#P                  ^
4       V#P                  V4       V#P                  R+4       V#P                  R+4       V#Pu                  R4       V#Pw                  R+4       \        P                  ! 4       p$V$P                  ^ 4       V$P                  R<\        R=4      ,           4       \        P                  ! 4       p%V%P}                  R4       V%P                  R+4       \        V%V4       V%P                  V4       V%P                  V4       V%P                  R+4       V%P                  R+4       V%Pu                  R4       V%Pw                  R+4       \        P                  ! 4       p&V&P                  ^ 4       V&P                  R>\        R?4      ,           4       \        Pj                  ! 4       p'V'Pm                  \        Pn                  Pp                  4       V'P                  R4       V'Ps                  ^ 4       ^
pV'P                  V4       V'P                  V4       V'P                  V4       V'P                  V4       \        P                  ! 4       p(V(P                  ^ 4       V(P                  R@\        RA4      ,           4       VP                  VV4       VP                  VV4       VP                  VV4       VP                  VV4       VP                  V"V!4       VP                  V#V$4       VP                  V%V&4       VP                  V'V(4       ERqp)\        P                  ! \        RB4      R-7      V n[        V P                  P                  \        RC4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  RE,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! 4       V n`        V P                  P                  \        RG4      4       V P                  P                  \        RH4      4       V P                  P                  ^ 4       \        P                  ! 4       V nb        \        P                  ! \        \        4      V nf        \        V P                  \        RI4      ^ .4       \        V P                  \        RJ4      ^.4       \        V P                  \        RK4      ^.4       V P                  P                  V P                  4       \        P                  ! 4       p*V P                  P                  V*R4       V P                  P                  V*RL^ 4       \        V P                  4       FO  w  p+p,V PR                  RM,          RF,          V,^,          8X  g   K.  \        V P                  V P                  V+4       KQ  	  V P                  Pc                  RNV P                  4       V)^,          p)VP                  V P                  ^ V)^^4       VP                  V P                  ^V)^^4       \        P                  ! \        RO4      R-7      V no        V P                  P                  \        RP4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  RQ,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! 4       p-V-P                  \        RR4      4       V-P                  \        RS4      4       V-P                  ^ 4       \        P                  ! 4       V nq        \        P                  ! \        \        4      V nr        \        V P                  \        RI4      ^ .4       \        V P                  \        RT4      ^.4       \        V P                  \        RU4      ^.4       V P                  P                  V P                  4       \        P                  ! 4       p*V P                  P                  V*R4       V P                  P                  V*RL^ 4       \        V P                  4       FO  w  p+p,V PR                  RV,          RF,          V,^,          8X  g   K.  \        V P                  V P                  V+4       KQ  	  V P                  Pc                  RNV P                  4       V)^,          p)VP                  V-^ V)^^4       VP                  V P                  ^V)^^4       \        P                  ! \        RW4      R-7      V nt        V P                  P                  \        RX4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  RY,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! \        RZ4      R-7      V nv        V P                  P                  \        R[4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  R\,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! \        R]4      R-7      V nx        V P                  P                  \        R^4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  R_,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! \        R`4      R-7      V nz        V P                  P                  \        Ra4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  Rb,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! \        Rc4      R-7      V n|        V P                  P                  \        Rd4      4       V P                  Pc                  RDV P                  4       V P                  P                  V PR                  Re,          RF,          4       V)^,          p)VP                  V P                  ^ V)^^4       \        P                  ! 4       V n~        V P                  P                  \        Rf4      4       \        Rg4      p.V P                  P                  V.4       V P                  P                  ^ 4       \        P                  ! 4       V n        V P                  P                  V.4       \        P                  ! \        \        4      V n        \        V EP                   \        Rh4      Ri.4       \        V EP                   \        Rj4      RL.4       \        V EP                   \        Rk4      R.4       V P                  P                  V EP                   4       \        P                  ! 4       p*V P                  P                  V*R4       V P                  P                  V*RL^ 4       V PR                  Rl,          RF,          V n        \        V EP                   4       FC  w  p+p,V EP                  V,^,          8X  g   K!  \        V P                  V EP                   V+4       KE  	  V P                  Pc                  RNV EP                  4       V)^,          p)VP                  V P                  ^ V)^^4       VP                  V P                  ^V)^^4       \        P                  ! \        Rm4      R-7      V n        V EP                  P                  \        Rn4      4       V EP                  Pc                  RDV EP                  4       V EP                  P                  V PR                  Ro,          RF,          4       V)^,          p)VP                  V EP                  ^ V)^^4       \        P                  ! 4       V n        V EP
                  P                  \        Rp4      4       V EP
                  P                  \        Rq4      4       V EP
                  P                  ^ 4       \        P                  ! 4       V n        \        P                  ! \        \        4      V n        \        V EP                  \        Rr4      ^ .4       \        V EP                  \        Rs4      ^.4       \        V EP                  \        Rt4      ^.4       \        V EP                  \        Ru4      ^.4       V EP                  P                  V EP                  4       \        P                  ! 4       p*V EP                  P                  V*R4       V EP                  P                  V*RL^ 4       V PR                  Rv,          RF,          V n        \        V EP                  4       FQ  w  p+p,V PR                  Rv,          RF,          V,^,          8X  g   K.  \        V EP                  V EP                  V+4       KS  	  V EP                  Pc                  RNV EP                  4       V)^,          p)VP                  V EP
                  ^ V)^^4       VP                  V EP                  ^V)^^4       \        P                  ! \        Rw4      Rx,          R-7      V n        V EP                  P                  \        Ry4      Rx,          4       V EP                  Pc                  RDV EP                  4       V EP                  P                  V PR                  Rz,          RF,          4       V)^,          p)VP                  V EP                  ^ V)^^4       \        P                  ! \        R{4      R-7      V n        V EP                  P                  \        R|4      4       V EP                  Pc                  RDV EP                  4       V EP                  P                  V PR                  R},          RF,          4       V)^,          p)VP                  V EP                  ^ V)^^4       \        P                  ! \        R~4      R-7      V n        V EP                  P                  \        R4      4       V EP                  Pc                  RDV EP                  4       V EP                  P                  V PR                  R,          RF,          4       V)^,          p)VP                  V EP                  ^ V)^^4       \        P                  ! \        R4      R-7      V n        V EP                   P                  \        R4      4       V EP                   Pc                  RDV EP"                  4       V EP                   P                  V PR                  R,          RF,          4       V)^,          p)VP                  V EP                   ^ V)^^4       \        P                  ! \        R4      R-7      V n        V EP$                  P                  \        R4      4       V EP$                  Pc                  RDV EP&                  4       V EP$                  P                  V PR                  R,          RF,          4       V)^,          p)VP                  V EP$                  ^ V)^^4       \        P                  ! \        R4      R-7      V n        V EP(                  P                  \        R4      4       V EP(                  EP+                  ^ 4       V EP(                  Pc                  RDV EP,                  4       V EP(                  P                  V PR                  R,          RF,          4       \        P                  ! 4       V n        V EP.                  P                  \        R4      4       \        P                  ! \        \        4      V n        \        EP2                   F?  p/\        V EP0                  \        R4      RV/EP5                  4        R2,           V/.4       KA  	  V EP.                  P                  V EP0                  4       \        P                  ! 4       p*V EP.                  P                  V*R4       V EP.                  P                  V*RL^ 4       \        V EP.                  V EP0                  R4       \        V EP0                  4       FQ  w  p+p,V PR                  R,          RF,          V,^,          8X  g   K.  \        V EP.                  V EP0                  V+4       KS  	  V EP.                  Pc                  RNV EP6                  4       V)^,          p)VP                  V EP(                  ^ V)^^4       VP                  V EP.                  ^V)^^4       \        P                  ! 4       V n        V EP8                  P                  \        R4      4       V EP8                  P                  \        R4      4       V EP8                  P                  ^ 4       \        EP:                  ! 4       V n        V EP<                  P                  V PR                  R,          RF,          4       V EP<                  Pc                  RV EP>                  4       V)^,          p)VP                  V EP8                  ^ V)^^4       VP                  V EP<                  ^V)^^4       \        P                  ! 4       V n        V EP@                  P                  \        R4      4       V EP@                  P                  \        R4      4       V EP@                  P                  ^ 4       \        EP:                  ! 4       V n        V EPB                  P                  V PR                  R,          RF,          4       V EPB                  Pc                  RV EPD                  4       V)^,          p)VP                  V EP@                  ^ V)^^4       VP                  V EPB                  ^V)^^4       \        P                  ! 4       V n        V EPF                  P                  \        R4      4       V EPF                  P                  \        R4      4       V EPF                  P                  ^ 4       \        EPH                  ! 4       V n        V EPJ                  P}                  R4       V EPJ                  P                  R4       V EPJ                  EPM                  RR4       V EPJ                  EPO                  RR4       V PR                  R,          RF,          e@   V EPJ                  EPQ                  \        V PR                  R,          RF,          4      4       MV EPJ                  EPQ                  ^4       V EPJ                  Pc                  RV EPR                  4       V)^,          p)VP                  V EPF                  ^ V)^^4       VP                  V EPJ                  ^V)^^4       \        P                  ! \        R4      R-7      V n        V EPT                  P                  \        R4      4       V EPT                  Pu                  R+4       V EPT                  Pw                  R+4       V EPT                  P                  V PR                  R,          RF,          4       V EPT                  Pc                  RDV EPV                  4       \        P                  ! 4       V n        \        Pj                  ! 4       p0\        P                  ! V PR                  R,          RF,          RR7      V n        V EPZ                  EP]                  ^(4       E\_        V EPZ                  R+4       V EPZ                  EPa                  E\b        EPd                  EPf                  4       \y        V0V EPZ                  4       \y        V EPX                  V04       V EPX                  Pc                  R.V EPh                  4       V)^,          p)VP                  V EPT                  ^ V)^^4       VP                  V EPX                  ^V)^^4       \        P                  ! 4       V n        V EPj                  P                  \        R4      4       V EPj                  P                  \        R4      4       V EPj                  P                  ^ 4       \        EPH                  ! 4       V n        V EPl                  P}                  R4       V EPl                  P                  R4       V EPl                  EPM                  RR4       V EPl                  EPO                  RR4       V EPl                  EPQ                  \        V PR                  R,          RF,          4      4       V EPl                  Pc                  RV EPn                  4       V)^,          p)VP                  V EPj                  ^ V)^^4       VP                  V EPl                  ^V)^^4       \        P                  ! \        R4      R-7      V n        V EPp                  P                  \        R4      4       V EPp                  Pu                  R4       V EPp                  Pw                  R+4       V EPp                  Pc                  R.V EPr                  4       V)^,          p)VP                  V EPp                  ^ V)^^4       \        P                  ! \        R4      R-7      V n        V EPt                  P                  \        R4      4       V EPt                  Pu                  R4       V EPt                  Pw                  R+4       V EPt                  Pc                  R.V EPv                  4       VP                  V EPt                  ^V)^^4       \        P                  ! 4       p1V1P                  R\        R4      ,           R,           4       V1EPy                  R4       ^pV1P                  V4       V1P                  V4       V1P                  V4       V1P                  V4       V1Pu                  R+4       V1Pw                  R+4       V1P                  ^ 4       \y        VV14       \        P                  ! 4       V n        E\}        V EPz                  4       \y        VV EPz                  4       \        Pj                  ! 4       p2V2Pm                  \        Pn                  P                  4       V2P                  R4       \y        VV24       \        R\        R4      R7      V n        V EP~                  Pc                  R.V EP                  4       V EP~                  P                  R4       \        R\        R4      R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  EP                  R+4       \        R\        R4      R7      V n        E\        V EP                  V EP                  4       V EP                  EP                  R+4       \        R\        R4      R7      V n        E\        V EP                  V EP                  4       V EP                  EP                  R+4       \        P                  ! R\        R4      ,           \        R4      R7      V n        V EP                  Pc                  R.V EP                  4       \        P                  ! R\        R4      ,           \        R4      R7      V n        V EP                  Pc                  R.V EP                  4       \        R4      R\        EP                  ! 4        R\        EP                  ! R4       R2,           p3V P                   R 8w  d   Rp3\        P                  ! \        R4      V3R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  EP                  R4       \y        V2V EP~                  4       \y        V2V EP                  4       \y        V2V EP                  4       \y        V2V EP                  4       \y        V2V EP                  4       \y        V2V EP                  4       \y        V2V EP                  4       RV n        ERqV n        . V n        V PR                  R,          RF,          p4\        EP                  ! V44      V n        RP                  V EP                  4      V48w  dX   V PN                  EPQ                  RE\        EP                  EP                  RP                  V EP                  4      4      4       \        EP                  ! 4       V n        \        EP                  ! 4       V n        . V n        RV n        RV n        V EP                  4        \        P                  ! 4       p5V5P                  R\        R4      ,           R,           4       V5EPy                  R4       ^pV5P                  V4       V5P                  V4       V5P                  V4       V5P                  V4       V5Pu                  R+4       V5Pw                  R+4       V5P                  ^ 4       \y        VV54       \        P                  ! 4       V n        E\}        V EP                  4       \y        VV EP                  4       \        Pj                  ! 4       p6V6Pm                  \        Pn                  P                  4       V6P                  R4       \y        VV64       \        R\        R4      R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  P                  R4       V EP                  EP                  R+4       \        R\        R4      R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  EP                  R+4       \        R\        R4      R7      V n        E\        V EP                  V EP                  4       V EP                  EP                  R+4       \        R\        R4      R7      V n        E\        V EP                  V EP                  4       V EP                  EP                  R+4       \        P                  ! \        R4      \        R4      R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  EP                  R+4       \        R\        R4      R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  P                  R4       V EP                  EP                  R+4       \        R4      R\        EP                  ! 4        R\        EP                  ! R4       2,           p7V P                   R 8w  d   RV P                   RV P                   2p7\        P                  ! \        R4      V7R7      V n        V EP                  Pc                  R.V EP                  4       V EP                  EP                  R4       \y        V6V EP                  4       \y        V6V EP                  4       \y        V6V EP                  4       \y        V6V EP                  4       \y        V6V EP                  4       \y        V6V EP                  4       \y        V6V EP                  4       RV n        ERqV n        . V n        V PR                  R,          RF,          p8\        EP                  ! V84      V n        RP                  V EP                  4      V88w  dX   V PN                  EPQ                  RE\        EP                  EP                  RP                  V EP                  4      4      4       \        EP                  ! 4       V n        \        EP                  ! 4       V n        . V n        RV n        RV n        RV n        V EP                  4        ERqp9\        P                  ! 4       p:V:P                  \        R4      4       V:Pu                  R+4       V:Pw                  R+4       V:P                  ^ 4       V9^,          p9VP                  V:^ V9^^4       \        EP:                  ! 4       V n        V EP                  Pw                  R+4       V9^,          p9VP                  V EP                  ^ V9^^4       V EP                  P                  R4       V EP                  Pc                  RV EP                  4       \        P                  ! 4       p;V;P                  \        R4      4       V;Pu                  R+4       V;Pw                  R+4       V;P                  ^ 4       V9^,          p9VP                  V;^ V9^^4       \        P                  ! 4       p<V<P                  R4       V<Pu                  R+4       V<Pw                  R4       E\}        V<4       \        EP                  ! 4       V n        \        EP                  ! 4       V n        V EP                  EP                  V EP                  4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       \y        V<V EP                  4       V9^,          p9VP                  V<^ V9^^4       V EP                  Pc                  RV EP                  4       V9^,          p9\        P                  ! \        R4      R-7      V En         V EP                   EP                  R+4       V EP                   Pu                  R+4       V EP                   Pw                  R+4       VP                  V EP                   ^ V9^^4       V EP                   Pc                  R.V EP                  4       V EP                   EP                  R+4       \        P                  ! \        R4      R-7      V En        V EP                  EP                  R+4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       VP                  V EP                  ^V9^^4       V EP                  Pc                  R.V EP                  4       V EP                  EP                  R+4       \        P                  ! \        R4      R-7      V En        V EP
                  EP                  R+4       V EP
                  Pu                  R+4       V EP
                  Pw                  R+4       VP                  V EP
                  ^V9^^4       V EP
                  Pc                  R.V EP                  4       V EP
                  EP                  R+4       \        EP                  ! 4       V En        V EP                  P                  R4       V EP                  P}                  R4       V EP                  EP+                  \        EP                  EP                  4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  Pc                  RV EP                  4       V9^,          p9VP                  V EP                  ^ V9^^4       \        P                  ! 4       p=V=P                  R+4       V=Pu                  R+4       V=Pw                  R4       E\}        V=4       \        EP                  ! 4       V En        \        P                  ! \        \        4      V En        V EP                  P                  V EP                  4       V EP                  R4       \        EP                   ! \        R4      \        P                  ! 4       ^ R7      p>V>EP#                  ^ 4       V EP                  EP%                  V>4       \        EP                   ! \        R4      \        P                  ! 4       ^R7      p?V?EP#                  ^4       V EP                  EP%                  V?4       V EP                  EP'                  4       Pc                  RNV EP(                  4       \y        V=V EP                  4       V9^,          p9VP                  V=^ V9^^
4       \        P                  ! 4       pVP                  R\        R4      ,           R,           4       VEPy                  R4       VP                  V4       VP                  V4       VP                  V4       VP                  V4       VPu                  R+4       VPw                  R+4       VP                  ^ 4       \        P                  ! 4       p@V@P                  R+4       V@Pu                  R+4       V@Pw                  R4       E\}        V@4       \        EP                  ! 4       pA\        P                  ! \        \        4      V En        VAP                  V EP*                  4       E\-        V PR                  R,          RF,          4       FE  pB\        V EP*                  VBE\/        V PR                  R,          RF,          VB,          4      34       KG  	  \        EP                   ! \        R4      \        P                  ! 4       ^ R7      pCVCEP#                  ^ 4       XAEP%                  VC4       \        EP                   ! \        R94      \        P                  ! 4       ^R7      pDVDEP#                  ^4       VAEP%                  VD4       VAEP'                  4       Pc                  RNV EP0                  4       VAPc                  RV EP2                  4       \y        X@VA4       \y        VV4       \y        VV@4       \        Pj                  ! 4       pEVEPm                  \        Pn                  P                  4       VEP                  R4       \y        VVE4       \        P                  ! \        R4      \        R4      R7      V En        V EP4                  P                  R4       V EP4                  EP                  R+4       V EP4                  Pc                  R.V EP6                  4       \        P                  ! \        R4      \        R4      R7      V En        V EP8                  EP                  R+4       V EP8                  Pc                  R.V EP:                  4       \        P                  ! \        R4      \        R4      R7      V En        V EP<                  EP                  R4       V EP<                  Pc                  R.V EP>                  4       \y        VEV EP4                  4       \y        VEV EP8                  4       \y        VEV EP<                  4       RV En         RV En!        RV En"        RV En#        RV En$        RV En%        RV En&        RV En'        ERqpF\        P                  ! \        R4      R-7      V En(        V EPP                  P                  \        R4      4       V EPP                  Pc                  RDV EPR                  4       V EPP                  P                  V PR                  R,          RF,          4       \        P                  ! \        R4      R-7      V En*        V EPT                  P                  \        R4      4       V EPT                  Pc                  RDV EPV                  4       V EPT                  P                  V PR                  R,          RF,          4       VF^,          pFV P                  V EPP                  ^ VF^^4       VF^,          pFV P                  V EPT                  ^ VF^^4       \        P                  ! 4       pGVGP                  \        R4      4       VGP                  \        R4      4       VGP                  ^ 4       \        P                  ! 4       V En,        \        P                  ! \        \        4      V En-        \        V EPZ                  \        R4      ^ .4       \        V EPZ                  \        R4      ^.4       \        V EPZ                  \        R4      ^.4       V EPX                  P                  V EPZ                  4       \        P                  ! 4       p*V EPX                  P                  V*R4       V EPX                  P                  V*RL^ 4       \        V EPZ                  4       FQ  w  p+p,V PR                  R,          RF,          V,^,          8X  g   K.  \        V EPX                  V EPZ                  V+4       KS  	  V EPX                  Pc                  RNV EP\                  4       XF^,          pFV P                  XG^ VF^^4       V P                  V EPX                  ^VF^^4       \        P                  ! 4       pHVHP                  \        R4      4       VHP                  \        R4      4       VHP                  ^ 4       \        EPH                  ! 4       V En/        V EP^                  P}                  R4       V EP^                  P                  R4       V EP^                  EPM                  RR4       V EP^                  EPO                  RR4       V EP^                  EPQ                  \        V PR                  R,          RF,          4      4       V EP^                  Pc                  RV EP`                  4       VF^,          pFV P                  VH^ VF^^4       V P                  V EP^                  ^VF^^4       \        P                  ! 4       pIVIP                  \        R4      4       VIP                  \        R4      4       VIP                  ^ 4       \        P                  ! 4       V En1        \        P                  ! \        \        4      V En2        \        V EPd                  \        R4      E\f        Pn                  P                  .4       \        V EPd                  \        R4      E\f        Pn                  Pp                  .4       \        V EPd                  \        R4      E\f        Pn                  EPh                  .4       V EPb                  P                  V EPd                  4       \        P                  ! 4       p*V EPb                  P                  V*R4       V EPb                  P                  V*RL^ 4       \        V EPd                  4       FQ  w  p+p,V PR                  R,          RF,          V,^,          8X  g   K.  \        V EPb                  V EPd                  V+4       KS  	  V EPb                  Pc                  RNV EPj                  4       XF^,          pFV P                  XI^ VF^^4       V P                  V EPb                  ^VF^^4       \        P                  ! 4       pJVJP                  \        R4      4       VJP                  \        R4      4       VJP                  ^ 4       \        EPH                  ! 4       V En6        V EPl                  P}                  R4       V EPl                  P                  R4       V EPl                  EPM                  RR4       V EPl                  EPO                  RE\o        \        EPp                  4      4       V EPl                  EPQ                  \        V PR                  R,          RF,          4      4       V EPl                  Pc                  RV EPr                  4       VF^,          pFV P                  VJ^ VF^^4       V P                  V EPl                  ^VF^^4       \        P                  ! 4       pKVKP                  \        R4      4       VKP                  \        R4      4       VKP                  ^ 4       \        P                  ! 4       V En:        \        P                  ! \        \        4      V En;        \        V EPv                  \        R4      E\f        EPx                  EPz                  .4       \        V EPv                  \        R4      E\f        EPx                  EP|                  .4       \        V EPv                  \        R4      E\f        EPx                  EP~                  .4       \        V EPv                  \        ER 4      E\f        EPx                  EP                  .4       V EPt                  P                  V EPv                  4       \        P                  ! 4       p*V EPt                  P                  V*R4       V EPt                  P                  V*RL^ 4       \        V EPv                  4       FR  w  p+p,V PR                  ER,          RF,          V,^,          8X  g   K/  \        V EPt                  V EPv                  V+4       KT  	  V EPt                  Pc                  RNV EP                  4       XF^,          pFV P                  XK^ VF^^4       V P                  V EPt                  ^VF^^4       \        P                  ! \        ER4      R-7      V EnB        V EP                  P                  \        ER4      4       V EP                  Pc                  RDV EP                  4       V EP                  P                  V PR                  ER,          RF,          4       VF^,          pFV P                  V EP                  ^ VF^^4       \        P                  ! \        ER4      R-7      V EnD        V EP                  P                  \        ER4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V EnG        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER4      4       V EP                  P                  \        ER	4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER
,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER4      R-7      V EnL        V EP                  P                  \        ER4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V EnN        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER4      4       V EP                  P                  \        ER4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER4      R-7      V EnP        V EP                  P                  \        ER4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V EnR        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER4      4       V EP                  P                  \        ER4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER4      R-7      V EnT        V EP                  P                  \        ER4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V EnV        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER4      4       V EP                  P                  \        ER4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER4      R-7      V EnX        V EP                  P                  \        ER4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER ,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V EnZ        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER!4      4       V EP                  P                  \        ER"4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER#,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER ,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER$4      R-7      V En\        V EP                  P                  \        ER%4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER&,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V En^        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER'4      4       V EP                  P                  \        ER(4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER),          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER&,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER*4      R-7      V En`        V EP                  P                  \        ER+4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER,,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP                  ! 4       V Enb        ^ pV EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  P                  V4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P!                  \        ER-4      4       V EP                  P                  \        ER.4      4       \6        EP                  ! 4       pLVLEP                  V PR                  ER/,          RF,          4       V EP                  EP                  VL4       V EP                  EP                  V PR                  ER,,          RF,          4       V EP                  Pc                  ERV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER04      R-7      V End        V EP                  P                  \        ER14      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER2,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP:                  ! 4       V Enf        V EP                  P                  \        ER34      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER4,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER54      R-7      V Enh        V EP                  P                  \        ER64      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER7,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP:                  ! 4       V Enj        V EP                  P                  \        ER84      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER9,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER:4      R-7      V Enl        V EP                  P                  \        ER;4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER<,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP:                  ! 4       V Enn        V EP                  P                  \        ER=4      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ER>,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! \        ER?4      R-7      V Enp        V EP                  P                  \        ER@4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ERA,          RF,          4       V EP                  Pc                  RDV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       \        P                  ! \        ERB4      R-7      V Enr        V EP                  P                  \        ERC4      4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ERD,          RF,          4       V EP                  Pc                  RDV EP                  4       \        EP:                  ! 4       V Ent        V EP                  P                  \        ERE4      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ERF,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  V EP                  ^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! 4       pMVMP                  \        ERG4      4       VMP                  \        ERH4      4       VMP                  ^ 4       \        EP:                  ! 4       V Env        V EP                  P                  \        ERH4      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ERI,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  VM^ VF^^4       V P                  V EP                  ^VF^^4       \        P                  ! 4       pNVNP                  \        ERJ4      4       VNP                  \        ERK4      4       VNP                  ^ 4       \        EP:                  ! 4       V Enx        V EP                  P                  \        ERK4      4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       V EP                  P                  V PR                  ERL,          RF,          4       V EP                  Pc                  RV EP                  4       VF^,          pFV P                  VN^ VF^^4       V P                  V EP                  ^VF^^4       ERqpO\        EP                  ! ERM\        ERN4      ,           ERO,           ERPERQ7      pPVPEP+                  \        EP                  EPf                  4       VO^,          pOV#P                  VP^ VO^^4       E\        e\   \        P                  ! ERR\        E\        4       ERS2RR7      pQVQP                  ^ 4       XO^,          pOV#P                  VQ^ VO^^4       \        P                  ! \        ERT4      R-7      V En|        V EP                  P                  \        ERU4      4       V EP                  Pc                  RDV EP                  4       XO^,          pOV#P                  V EP                  ^ VO^^4       \        Pj                  ! \        Pn                  P                  ^ERV7      pR\        P                  ! R\        ERW4      ,           R,           RR7      pS\        P                  ! ERX\        ERY4      R7      pT\y        VRVS4       \y        VRVT4       \        P                  ! 4       V En~        V EP                  EP                  V PR                  ERZ,          RF,          4       V EP                  P                  ^ 4       VO^,          pOV#P                  VR^ VO^^4       V#P                  V EP                  ^VO^^4       \        P                  ! \        ER[4      R-7      pUVUP                  ^ 4       \        P                  ! 4       V En        V EP                  EP                  V PR                  ERZ,          RF,          4       V EP                  P                  ER\4       \        P                  ! \        \        E\         4      V En        V EP                  P                  V EP                  4       \        P                  ! 4       p*V EP                  P                  V*R4       V EP                  P                  V*RL^ 4       V EP                  Pc                  RNV EP                  4      V En        VO^,          pOV#P                  VU^ VO^^4       V#P                  V EP                  ^VO^^4       \        P                  ! \        ER]4      R-7      pVVVP                  ^ 4       \        EPH                  ! 4       V En        V EP                  P                  ER^4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  EP                  V PR                  ERZ,          RF,          4       V EP                  EPM                  RR4       V EP                  EPO                  RER_4       V EP                  EPQ                  \        V PR                  ER`,          RF,          4      4       V EP                  Pc                  RV EP
                  4       VO^,          pOV#P                  VV^ VO^^4       V#P                  V EP                  ^VO^^4       \        Pj                  ! \        Pn                  P                  ^ERV7      pR\        P                  ! R\        ERa4      ,           R,           RR7      pS\        P                  ! ERX\        ERb4      R7      pT\y        VRVS4       \y        VRVT4       VO^,          pOV#P                  VR^ VO^^4       \        P                  ! 4       pWVWP                  R4       VWPu                  R4       VWPw                  R4       E\}        VW4       \        EP                  ! 4       V En        V EP                  P                  V PR                  ERc,          RF,          4       \        EP                  ! 4       V En        V EP                  EP                  \        EP                  EP                  4       V EP                  EP                  V EP                  4       V EP                  P}                  R4       V EP                  P                  R4       V EP                  EP                  V PR                  ERZ,          RF,          4       V EP                  Pu                  R+4       V EP                  Pw                  R+4       \y        VWV EP                  4       VO^,          pOV#P                  VW^ VO^^4       V EP                  Pc                  RNV EP                  4       ^ V En        V EP                  V PR                  ERZ,          RF,          R+ERd7       \        P                  ! 4       pXVXP                  \        ERe4      4       VXP                  \        ERf4      4       VXP                  ^ 4       V%P                  VX^ ^ ^^4       V PR                  ERg,          RF,          '       g"   \        ERh4      V PR                  ERg,          RF&   \        P                  ! 4       V En        \        Pj                  ! 4       pY\        P                  ! V PR                  ERg,          RF,          RR7      V En        V EP                  EP]                  ^(4       E\_        V EP                  R+4       V EP                  EPa                  E\b        EPd                  EPf                  4       \y        VYV EP                  4       \y        V EP                  VY4       V%P                  V EP                  ^^ ^^4       V EP                  Pc                  R.V EP                   4       \        P                  ! 4       p(V(P                  R\        RA4      ,           R,           4       V(EPy                  R4       ^pV(P                  V4       V(P                  V4       V(P                  V4       V(P                  V4       V(Pu                  R+4       V(Pw                  R+4       V(P                  ^ 4       \y        V'V(4       \        P                  ! 4       V En        V EP"                  Pu                  R4       V EP"                  Pw                  R4       V EP"                  EP%                  R+4       V EP"                  EP'                  R4       E\}        V EP"                  4       \y        V'V EP"                  4       \        Pj                  ! 4       pZVZPm                  \        Pn                  P                  4       VZP                  R4       \y        V'VZ4       \        R\        ERi4      R7      V En        V EP(                  Pc                  R.V EP*                  4       V EP(                  EP                  R4       V EP(                  P                  R4       \        R\        ERj4      R7      V En        V EP,                  Pc                  R.V EP.                  4       V EP,                  EP                  R+4       \        R\        ERk4      R7      V En        V EP0                  Pc                  R.V EP2                  4       V EP0                  EP                  R+4       \        R\        ERl4      R7      V En        V EP4                  Pc                  R.V EP6                  4       V EP4                  EP                  R+4       \        P                  ! \        R4      \        ERm4      R7      V En        V EP8                  EP                  R4       V EP8                  Pc                  R.V EP:                  4       \y        VZV EP(                  4       \y        VZV EP,                  4       \y        VZV EP0                  4       \y        VZV EP4                  4       \y        VZV EP8                  4       ERqV En        RV En        RV En        . V En        RV En        RV En        V EPI                  4        E\K        V 4       VEPM                  ^ 4       V PR                  R,          RF,          ERn,          '       g   V P                  EPO                  4        V PN                  Pc                  RNV EPP                  4       R# (r  typing-boosterz#Preferences for ibus-typing-boosteru    🚀zuser.dbz,/org/freedesktop/ibus/engine/typing-booster/rA    ZPreferencesInvalid engine name.Zlangnamezuser--z.dbz /org/freedesktop/ibus/engine/tb//z, Gtk .c              3   s8   "   T F  p\        V4      x  K  	  R # 5iNrK   ).0is   & r:   	<genexpr>Z#SetupUI.__init__.<locals>.<genexpr>   s     #@KqCFFKs   titleZTypingBoosterPreferencesTr1   aW  
            #TypingBoosterPreferences {
            }
            row { /* This is for listbox rows */
                border-style: groove;
                border-width: 0.05px;
            }
            .scrolled-shadow {
                box-shadow: inset 0 0 2px rgba(0,0,0,0.5);
                border-radius: 4px;
                padding: 3px;
            }
            /* The following has no effect on Gtk3, not sure on Gtk4: */
            .scrolled-shadow .viewport {
                background-color: transparent;  /* do not override child's background */
                box-shadow: inset 0 0 6px rgba(0,0,0,0.35);
                border-radius: 4px;
                padding: 3px;
            }
            popover {
                border: 0;
                border-radius: 0;
                outline: none;
                background-color: Ztransparentz@theme_bg_colorz;
            }
            notebook tab:checked {
                background-color: @theme_selected_bg_color;
                color: @theme_selected_fg_color;
            }
            UTF-8)user_db_fileN*org.freedesktop.ibus.engine.typing-booster)schemapathintdfloatbboolsrG   
value_type
value_hintzclose-requestzdelete-eventFZAboutlabelclickedzRestore all defaults_Close)rk   Zuse_underlineu   📖 zDictionaries and input methodsu   ⚙️ ZOptionsu   📜 zCustom shortcutsu   ⌨️ zKey bindingsu   🎨 Z
Appearanceu   🧠 ZAIu   🎤 Speech recognitionu   🔄 ZAutosettingsz2Enable suggestions by key (Default is the Tab key)aA  If this option is on, suggestions are not shown by default. Typing a key is then necessary to show the list of suggestions. The key to use for this can be changed in the key bindings settings. By default it is the Tab key. After a commit the suggestions are hidden again until the next key bound to this command is typed.Ztoggled	tabenableuserzUse inline completiona8  Whether the best completion is first shown inline in the preedit instead of showing a full candidate list. The inline candidate can be selected by typing Tab and then committed as usual, for example by typing Space or Control+Space. Typing Tab again moves to the next candidate and opens the full candidate list.ZNozYes, with fallback to popupzYes, without fallback to popuptextinlinecompletionchangedzAuto capitalizez+Automatically capitalize after punctuation.autocapitalizez'Automatically select the best candidateu  What you type will automatically be corrected to the best candidate by selecting the best candidate automatically. If this option is off you have to select a candidate manually by using the key binding to select the next candidate. If this option is on and you do not want to use the automatically selected candidate, you can use the key binding for the “cancel” command which will deselect all candidates.z#Yes, but only when extremely likelyzYes, alwaysautoselectcandidatez*Add a space when committing by mouse clickz^Add a space if a candidate from the candidate list is committed by clicking it with the mouse.addspaceoncommitz'Remember last used preedit input methoda  If more than one input method is used at the same time, one of them is used for the preedit. Which input method is used for the preedit can be changed via the menu or via shortcut keys. If this option is enabled, such a change is remembered even if the session is restarted.rememberlastusedpreeditimezRemember input modezlIf this option is enabled, the last used input mode (on/off) is remembered even if the session is restarted.rememberinputmodezWord predictionsz9Whether ibus-typing-booster should show word predictions.wordpredictionsz%Unicode symbols and emoji predictionsul  Whether Unicode symbols and emoji should be included in the predictions. Emoji are pictographs like ☺♨⛵…. Unicode symbols are other symbols like mathematical symbols (∀∑∯…), arrows (←↑↔…), currency symbols (€₹₺…), braille patterns (⠥⠩…), and many other symbols. These are technically not emoji but nevertheless useful symbols.emojipredictionszEmoji stylezfTo select between colorful emoji (emoji style), monochrome emoji (text style), or no style preference.EmojiemojiZTextzNo style
emojistylezOff the record modeu_  While “Off the record” mode is on, learning from user input is disabled. If learned user input is available, predictions are usually much better than predictions using only dictionaries. Therefore, one should use this option sparingly. Only if one wants to avoid saving secret user input to disk it might make sense to use this option temporarily.offtherecordzRecord modeu{  Selects which kind of input should be recorded in the user database: “Everything”: Every typed word is added to the user database or its frequency updated if it is already there. “Correctly spelled or previously recorded”: A typed word is only added to the user database if it is likely to be correctly spelled. If a word is already in the user database its frequency is updated no matter how it is spelled.  “Correctly spelled”: A typed word is only added to the database or its frequency updated in the database if it is likely to be correctly spelled.  “Nothing”: Do not record any input at all in the user database.Z
Everythingz(Correctly spelled or previously recordedzCorrectly spelledZNothing
recordmodezAvoid using the %s functionzforward_key_event()zUse a workaround if the %s function is broken. Enable this option only if absolutely necessary, it can also cause problems, especially when XIM is used.avoidforwardkeyeventzEnable reopening preeditszWhether it is allowed to put a word back into a preedit when the cursor moves to the end or the beginning of a word. Enabling this option is useful to correct already committed words.arrowkeysreopenpreeditzDisable in terminalsz<Whether ibus-typing-booster should be disabled in terminals.disableinterminalsz0Convert language specific digits to ASCII digitsa  Some input methods produce language specific digits by default. If one never wants to use such language specific digits but prefers western (ASCII) digits always, one can set this option to convert language specific digits produced by input methods always to ASCII digits.asciidigitszShow final form while typingzTShow the text as it would appear if you ended the composition now by pressing Space.showfinalformzUse IBus keymapzWhether the use of an IBus keymap is forced while Typing Booster is active. For most users not using an IBus keymap is recommended. In that case, the keyboard layout which was active before switching to typing booster is used.useibuskeymapzRThe ibus keymap to use when forcing an IBus keymap while Typing Booster is active.ZEnglishz ()
ibuskeymapzEmoji trigger characters:u   The characters in this list trigger an emoji and Unicode symbol lookup even if the option “Unicode symbols and emoji predictions” is off.emojitriggercharactersznotify::textzAuto commit characters:uz  The characters in this list cause the preedit to be committed automatically, followed by a space.  For example, if “.” is an auto commit character, this saves you typing a space manually after the end of a sentence. You can freely edit this list, a reasonable value might be “.,;:?!)”. You should not add characters to that list which are needed by your input method, for example if you use Latin-Pre (t-latn-pre) it would be a bad idea to add “.” to that list because it would prevent you from typing “.s” to get “ṡ”. You can also disable this feature completely by making the list empty (which is the default).autocommitcharactersz'Minimum number of chars for completion:zMShow no suggestions when less than this number of characters have been typed.g      ?g        g      "@mincharcompletezvalue-changedzPlay sound file on errorzFHere you can choose whether a sound file is played if an error occurs.
errorsounderrorsoundfile)rk   Z
use_markupzDebug level:zzWhen greater than 0, debug information may be printed to the log file and debug information may also be shown graphically.g     o@
debuglevelzLearn from text filez'Learn your style by reading a text filezDelete learned datazKDelete all personal language data learned from typing or from reading filesz<b>z-Use dictionaries for the following languages:z</b>%<span size="xx-large"><b>+</b></span>zAdd a dictionaryrk   Ztooltip_text'   <span size="xx-large"><b>−</b></span>zRemove a dictionaryu'   <span size="xx-large"><b>↑</b></span>zMove dictionary upu'   <span size="xx-large"><b>↓</b></span>zMove dictionary downu   📦 zInstall missing dictionariesz?Install the dictionaries which are setup here but not installedu   📥 zDownload dictionariesz6Download missing dictionaries and update existing onesz7Set dictionaries to the default for the current locale.z (LC_CTYPE=u    → u   → NoneSet to default
dictionary,z Use the following input methods:zAdd an input methodzRemove an input methodzMove input method upzMove input method downzInput Method HelpzEDisplay some help showing how to use the input method selected above.u'   <span size="xx-large">🛠️️</span>z,Options for the input method selected above.z8Set input methods to the default for the current locale.u   → inputmethodzEnter shortcut here:zEnter shortcut expansion here:zClear inputzDelete shortcutzAdd shortcutsearch-changedZShortcutrq   zShortcut expansionzCurrent key bindings:keybindingsZCommandrow-activatedZEditz.Edit the key bindings for the selected command1Set default key bindings for the selected commandzSet all to defaultz)Set default key bindings for all commandsz"Display total number of candidateszaDisplay how many candidates there are and which one is selected on top of the list of candidates.shownumberofcandidatesz"Show status info in auxiliary textu   Show in the auxiliary text whether “Emoji prediction”  mode and “Off the record”  mode are on or off and show which input method is currently used for the preedit. The auxiliary text is an optional line of text displayed above the candidate list.showstatusinfoinauxzShow raw inputzGShowing the raw input may be helpful for transliterating input methods.ZNeverzWhen there are candidatesZAlwaysshowrawinputzCandidate window page size:zIHow many suggestion candidates to show in one page of the candidate list.pagesizezCandidate window orientationzHWhether the candidate window should be drawn horizontally or vertically.Z
HorizontalZVerticalzSystem defaultlookuptableorientationz'Candidate window delay in milliseconds:zJHow long to wait after the last key press before candidates are displayed.g      $@g      Y@candidatesdelaymillisecondszPreedit underlinez2Which style of underlining to use for the preedit.NoneZSingleZDoubleZLowpreeditunderlinez+Use preedit style only if lookup is enableda#  If this option is on, a preedit style like underlining will only be used if lookup is enabled. The lookup can be disabled because one uses the option to enable lookup only when a key is pressed or because one uses the option to require a minimum number of characters before a lookup is done.preeditstyleonlywhenlookupzPreedit spellcheckingzHere you can choose whether spellchecking is done on the contents of the preedit and a custom color is used to indicate when the preedit might contain a spelling error.colorpreeditspellcheckz&Choose color for preedit spellcheckingzHere you can specify which color to use for the preedit when the preedit might contain a spelling error. This setting only has an effect if the preedit spellchecking is enabled.colorpreeditspellcheckstringz	color-setzUse color for inline completionzQHere you can choose whether a custom color is used for a suggestion shown inline.colorinlinecompletionz"Choose color for inline completionzHere you can specify which color to use for inline completion. This setting only has an effect if the use of color for inline completion is enabled and inline completion is enabled.colorinlinecompletionstringzUse color for compose previewzKHere you can choose whether a custom color is used for the compose preview.colorcomposepreviewz Choose color for compose previewz@Here you can specify which color to use for the compose preview.colorcomposepreviewstringzUse color for m17n preeditzHHere you can choose whether a custom color is used for the m17n preedit.colorm17npreeditzChoose color for m17n preeditz=Here you can specify which color to use for the m17n preedit.colorm17npreeditstringz'Use color for user database suggestionszxHere you can choose whether a custom color is used for candidates in the lookup table which come from the user database.coloruserdbz*Choose color for user database suggestionszHere you can specify which color to use for candidates in the lookup table which come from the user database. This setting only has an effect if the use of color for candidates from the user database is enabled.coloruserdbstringz'Use color for spellchecking suggestionsztHere you can choose whether a custom color is used for candidates in the lookup table which come from spellchecking.colorspellcheckz*Choose color for spellchecking suggestionszHere you can specify which color to use for candidates in the lookup table which come from spellchecking. This setting only has an effect if the use of color for candidates from spellchecking is enabled.colorspellcheckstringz$Use color for dictionary suggestionszsHere you can choose whether a custom color is used for candidates in the lookup table which come from a dictionary.colordictionaryz'Choose color for dictionary suggestionszHere you can specify which color to use for candidates in the lookup table which come from a dictionary. This setting only has an effect if the use of color for candidates from a dictionary is enabled.colordictionarystringz'Use label for user database suggestionszqHere you can choose whether a label is used for candidates in the lookup table which come from the user database.labeluserdbzHere you can specify which label to use for candidates in the lookup table which come from the user database. This setting only has an effect if the use of a label for candidates from the user database is enabled.labeluserdbstringz'Use label for spellchecking suggestionszmHere you can choose whether a label is used for candidates in the lookup table which come from spellchecking.labelspellcheckzHere you can specify which label to use for candidates in the lookup table which come from spellchecking. This setting only has an effect if the use of a label for candidates from spellchecking is enabled.labelspellcheckstringz$Use label for dictionary suggestionszlHere you can choose whether a label is used for candidates in the lookup table which come from a dictionary.labeldictionaryzHere you can specify which label to use for candidates in the lookup table which come from a dictionary. This setting only has an effect if the use of a label for candidates from a dictionary is enabled.labeldictionarystringz$Use flags for dictionary suggestionszkHere you can choose whether flags are used for candidates in the lookup table which come from a dictionary.flagdictionaryz"Use a label to indicate busy statezYHere you can choose whether a label is used to indicate when ibus-typing-booster is busy.	labelbusyzVHere you can specify which label is used to indicate when ibus-typing-booster is busy.labelbusystringSymbol for "enabled" modezxThe symbol displayed when Typing Booster is active (transliterating input, suggesting completions, spellchecking, etc.).inputmodetruesymbol)Symbol for "disabled" (Direct Input) modezkThe symbol displayed when Typing Booster is disabled (input is passed through directly without processing).inputmodefalsesymbolu   ⚠️🚧🏗️ zOnline documentation:z0http://mike-fabian.github.io/ibus-typing-boosterzDhttps://mike-fabian.github.io/ibus-typing-booster/docs/user/#ai-chat)rk   Zuriu.   ❌️ Python import error: <span color="red">z</span>zEnable AI chatzoEnable or disable AI chat globally. When disabled, all AI chat related features and keybindings are turned off.orientationspacingz
AI server:u   ℹ️z#Connection status to the AI server.aichatenablezModel:uR   Select the AI model to use. ✔️ = Available, ❌ = Not available on the server.zMessage history limit:uo   Limits how many past messages are sent to the AI. Longer messages may still exceed the server’s token limits.g     @ollamamaxcontextzAI system message:z.System prompt that guides how the AI responds.aisystemmessageupdate_gsettings4   Set “Google application credentials” .json file:uA   Full path of the “Google application credentials” .json file.googleapplicationcredentialszFile not yet set.Add an autosettingzRemove an autosettingzMove an autosetting upzMove an autosetting downzSet all autosettings to defaulttoggle_input_mode_on_off)dictionaryinstalltimestampinputmethodchangetimestamp)rY   uxt(  _engine_namer/   _m17n_ime_lang_m17n_ime_namer6   M17N_ENGINE_NAME_PATTERNsearch
ValueErrorZgroupitb_versionget_versionjoinr   r   Window__init__Z	set_titleZset_name	set_modalZset_icon_namer   ZCssProviderr   Zload_from_datalenZStyleContextZadd_provider_for_displayr   ZDisplayget_defaultZ#STYLE_PROVIDER_PRIORITY_APPLICATIONZencodeZadd_provider_for_screenZScreentabsqlitedbZTabSqliteDb_ollama_clientr   Settings
_gsettings_init_settings_dict_settings_dict_allowed_autosettingsSettingsSchemaSourcelookup	list_keysZget_keyZget_value_typeZ
dup_stringconnect	_on_closer!   _popup_managerBoxset_orientationOrientationVERTICALset_spacingset_hexpandset_vexpandr   ZNotebookset_visibleset_can_focusZset_scrollableZset_tab_posPositionTypeLEFT
HORIZONTALButton_on_about_button_clickedLabel_restore_all_defaults_button'_on_restore_all_defaults_button_clickedr*   	__class__set_margin_startset_margin_endset_margin_topset_margin_bottom
set_xalignset_textZGridr   Zset_row_spacingZset_column_spacingZset_row_homogeneousZset_column_homogeneousScrolledWindowZappend_pageCheckButton_tab_enable_checkbuttonset_tooltip_text_on_tab_enable_checkbutton
set_activeZattach_inline_completion_labelComboBox_inline_completion_combobox	ListStorerG   rb   _inline_completion_storer,   	set_modelCellRendererTextZ
pack_startZadd_attribute	enumerater   &_on_inline_completion_combobox_changed_auto_capitalize_checkbutton_on_auto_capitalize_checkbutton_auto_select_candidate_combobox_auto_select_candidate_store*_on_auto_select_candidate_combobox_changed _add_space_on_commit_checkbutton#_on_add_space_on_commit_checkbutton+_remember_last_used_preedit_ime_checkbutton._on_remember_last_used_preedit_ime_checkbutton _remember_input_mode_checkbutton#_on_remember_input_mode_checkbutton_word_predictions_checkbutton _on_word_predictions_checkbutton_emoji_predictions_checkbutton!_on_emoji_predictions_checkbutton_emoji_style_label_emoji_style_combobox_emoji_style_store_emoji_style _on_emoji_style_combobox_changed_off_the_record_checkbutton_on_off_the_record_checkbutton_record_mode_label_record_mode_combobox_record_mode_store_record_mode _on_record_mode_combobox_changed$_avoid_forward_key_event_checkbutton'_on_avoid_forward_key_event_checkbutton&_arrow_keys_reopen_preedit_checkbutton)_on_arrow_keys_reopen_preedit_checkbutton!_disable_in_terminals_checkbutton$_on_disable_in_terminals_checkbutton_ascii_digits_checkbutton_on_ascii_digits_checkbutton_show_final_form_checkbutton_on_show_final_form_checkbutton_use_ibus_keymap_checkbutton
set_halign_on_use_ibus_keymap_checkbutton_ibus_keymap_combobox_ibus_keymap_storeAVAILABLE_IBUS_KEYMAPSZupper _on_ibus_keymap_combobox_changed_emoji_trigger_characters_labelEntry_emoji_trigger_characters_entry"_on_emoji_trigger_characters_entry_auto_commit_characters_label_auto_commit_characters_entry _on_auto_commit_characters_entry_min_chars_completion_label
SpinButton_min_char_complete_adjustmentZset_incrementsZ	set_range	set_value._on_min_char_complete_adjustment_value_changed_error_sound_checkbutton_on_error_sound_checkbutton_error_sound_file_button_error_sound_file_button_labelZset_max_width_charsr   Zset_ellipsizer   ZEllipsizeModeZSTART_on_error_sound_file_button_debug_level_label_debug_level_adjustment(_on_debug_level_adjustment_value_changed_learn_from_file_button_on_learn_from_file_clicked_delete_learned_data_button_on_delete_learned_data_clickedset_use_markup_dictionaries_scrollr   _dictionaries_add_button#_on_dictionaries_add_button_clicked_dictionaries_remove_button&_on_dictionaries_remove_button_clickedset_sensitive_dictionaries_up_buttonr'   "_on_dictionaries_up_button_clicked_dictionaries_down_button$_on_dictionaries_down_button_clicked$_dictionaries_install_missing_button _on_install_missing_dictionaries_dictionaries_download_button_on_download_dictionariesZget_effective_lc_ctypedictionaries_str_to_list_dictionaries_default_button'_on_dictionaries_default_button_clicked._dictionaries_listbox_selected_dictionary_name/_dictionaries_listbox_selected_dictionary_index_dictionary_namesr   Variant
new_stringListBox_dictionaries_listbox_dictionaries_add_listbox*_dictionaries_add_listbox_dictionary_names_dictionaries_add_popover _dictionaries_add_popover_scroll_fill_dictionaries_listbox_input_methods_scroll_input_methods_add_button$_on_input_methods_add_button_clicked_input_methods_remove_button'_on_input_methods_remove_button_clicked_input_methods_up_button#_on_input_methods_up_button_clicked_input_methods_down_button%_on_input_methods_down_button_clicked_input_methods_help_button%_on_input_methods_help_button_clicked_input_methods_options_button(_on_input_methods_options_button_clickedinput_methods_str_to_list_input_methods_default_button(_on_input_methods_default_button_clicked(_input_methods_listbox_selected_ime_name)_input_methods_listbox_selected_ime_index_current_imes_input_methods_listbox_input_methods_add_listbox_input_methods_add_listbox_imes_input_methods_add_popover!_input_methods_add_popover_scroll_input_methods_options_popover_fill_input_methods_listbox_shortcut_entry_on_shortcut_entry
TextBuffer#_shortcut_expansion_textview_bufferTextView_shortcut_expansion_textview
set_buffer&_on_shortcut_expansion_textview_buffer_shortcut_clear_buttonZset_receives_default_on_shortcut_clear_clicked_shortcut_delete_button_on_shortcut_delete_clicked_shortcut_add_button_on_shortcut_add_clickedSearchEntry_shortcut_search_entryAlignFILL!_on_shortcut_search_entry_changedTreeView_shortcut_treeview_shortcut_treeview_model_fill_shortcut_treeview_modelTreeViewColumnset_sort_column_idappend_columnget_selection_on_shortcut_selected_keybindings_treeview_modelsortedrepr%_on_keybindings_treeview_row_selected&_on_keybindings_treeview_row_activated_keybindings_edit_button#_on_keybindings_edit_button_clicked_keybindings_default_button&_on_keybindings_default_button_clicked_keybindings_all_default_button*_on_keybindings_all_default_button_clicked_keybindings_selected_command-_keybindings_edit_popover_selected_keybinding!_keybindings_edit_popover_listbox_keybindings_edit_popover _keybindings_edit_popover_scroll$_keybindings_edit_popover_add_button'_keybindings_edit_popover_remove_button(_keybindings_edit_popover_default_button&_show_number_of_candidates_checkbutton)_on_show_number_of_candidates_checkbutton/_show_status_info_in_auxiliary_text_checkbutton2_on_show_status_info_in_auxiliary_text_checkbutton_show_raw_input_combobox_show_raw_input_store#_on_show_raw_input_combobox_changed_page_size_adjustment&_on_page_size_adjustment_value_changed"_lookup_table_orientation_combobox_lookup_table_orientation_storer   ZSYSTEM-_on_lookup_table_orientation_combobox_changed)_candidates_delay_milliseconds_adjustmentrd   
UINT32_MAX:_on_candidates_delay_milliseconds_adjustment_value_changed_preedit_underline_combobox_preedit_underline_storeAttrUnderlineNONESINGLEZDOUBLEZLOW&_on_preedit_underline_combobox_changed+_preedit_style_only_when_lookup_checkbutton._on_preedit_style_only_when_lookup_checkbutton%_color_preedit_spellcheck_checkbutton(_on_color_preedit_spellcheck_checkbuttonColorButton*_color_preedit_spellcheck_rgba_colorbuttonRGBAparseset_rgba&_on_color_preedit_spellcheck_color_set$_color_inline_completion_checkbutton'_on_color_inline_completion_checkbutton)_color_inline_completion_rgba_colorbutton%_on_color_inline_completion_color_set"_color_compose_preview_checkbutton%_on_color_compose_preview_checkbutton'_color_compose_preview_rgba_colorbutton#_on_color_compose_preview_color_set_color_m17n_preedit_checkbutton"_on_color_m17n_preedit_checkbutton$_color_m17n_preedit_rgba_colorbutton _on_color_m17n_preedit_color_set_color_userdb_checkbutton_on_color_userdb_checkbutton_color_userdb_rgba_colorbutton_on_color_userdb_color_set_color_spellcheck_checkbutton _on_color_spellcheck_checkbutton"_color_spellcheck_rgba_colorbutton_on_color_spellcheck_color_set_color_dictionary_checkbutton _on_color_dictionary_checkbutton"_color_dictionary_rgba_colorbutton_on_color_dictionary_color_set_label_userdb_checkbutton_on_label_userdb_checkbutton_label_userdb_entry_on_label_userdb_entry_label_spellcheck_checkbutton _on_label_spellcheck_checkbutton_label_spellcheck_entry_on_label_spellcheck_entry_label_dictionary_checkbutton _on_label_dictionary_checkbutton_label_dictionary_entry_on_label_dictionary_entry_flag_dictionary_checkbutton_on_flag_dictionary_checkbutton_label_busy_checkbutton_on_label_busy_checkbutton_label_busy_entry_on_label_busy_entry_input_mode_true_entry_on_input_mode_true_entry_input_mode_false_entry_on_input_mode_false_entryZ
LinkButtonIMPORT_ITB_OLLAMA_ERROR_ai_chat_enable_checkbutton_on_ai_chat_enable_checkbutton_ai_server_info_label_ai_model_comboboxrf   _ai_model_store_on_ai_model_combobox_changed_ai_model_combobox_changed_id_ai_max_context_adjustment+_on_ai_max_context_adjustment_value_changed"_ai_system_message_textview_buffer_ai_system_message_textviewset_wrap_modeWrapModeWORD%_on_ai_system_message_textview_buffer"_check_ai_server_timeout_source_idset_ai_chat_enable&_google_application_credentials_button,_google_application_credentials_button_label)_on_google_application_credentials_button_autosettings_scrollset_kinetic_scrollingset_overlay_scrolling_autosettings_add_button#_on_autosettings_add_button_clicked_autosettings_remove_button&_on_autosettings_remove_button_clicked_autosettings_up_button"_on_autosettings_up_button_clicked_autosettings_down_button$_on_autosettings_down_button_clicked _autosettings_all_default_button+_on_autosettings_all_default_button_clicked_autosettings_selected_index_autosettings_treeview_autosettings_add_listbox"_autosettings_add_listbox_settings_autosettings_add_popover _autosettings_add_popover_scroll_fill_autosettings_treeviewr   Zset_current_pagehide_on_gsettings_value_changed)[selfr@   r\   r^   Zschema_pathZmatchZcssZstyle_providerschema_sourcer`   keyrh   ri   Zmain_containerZnotebookZdialog_action_areaZabout_buttonZempty_hexpanding_labelclose_buttonZgrid_border_widthZgrid_row_spacingZgrid_column_spacingZ#dictionaries_and_input_methods_vboxmarginZ$dictionaries_and_input_methods_labelZoptions_gridZoptions_labelZoptions_scrollZcustom_shortcuts_gridZcustom_shortcuts_labelZkeybindings_vboxZkeybindings_labelZappearance_gridZappearance_labelZappearance_scrollZai_gridZai_labelZspeech_recognition_gridZspeech_recognition_labelZautosettings_vboxZautosettings_labelZ_options_grid_rowZrenderer_textrY   itemZauto_select_candidate_labelZemoji_style_combobox_tooltipkeymapZerror_sound_file_button_boxZdictionaries_labelZdictionaries_action_areaZ(dictionaries_default_button_tooltip_textr   Zinput_methods_labelZinput_methods_action_areaZ)input_methods_default_button_tooltip_textr   Z_shortcuts_grid_rowZshortcut_labelZshortcut_expansion_labelZshortcut_expansion_scrollZshortcut_treeview_scrollZshortcut_treeview_column_0Zshortcut_treeview_column_1Zkeybindings_treeview_scrollZkeybindings_treeviewcommandZkeybindings_treeview_column_0Zkeybindings_treeview_column_1Zkeybindings_action_areaZ_appearance_grid_rowZshow_raw_input_labelZpage_size_labelZlookup_table_orientation_labelZ#candidates_delay_milliseconds_labelZpreedit_underline_labelgdk_rgbaZinput_mode_true_labelZinput_mode_false_labelZ_ai_grid_rowZai_documentationZimport_error_labelZ	label_boxrk   Z	info_iconZai_model_labelZai_max_context_labelZai_system_message_scrollZ$google_application_credentials_labelZ)google_application_credentials_button_boxZautosettings_action_areas[   &&                                                                                         r:   r   ZSetupUI.__init__   s#q   '    0D787B D   00%%+a.>>HE55<<T=N=NOE !788"'++f"5D"'++f"5D++,Ad.A.A-B#F ="112!D4G4G3HKK1[,,./006#((#@K#@ABCC

D.u01t01#. 5?LL=FW"X Y/< *>))#s3x855'')779
 ))#**W*=>44

&&(779
 '22MDH,,? #668@B"$$002 	%2%9%98$&@##%C,;;=HHJJ 5 511"
s"$
s"#
s""
j,
/DD&&s+! && >LL$..9LL8*n&&s'?'?@""1%""4(""4($'<<>T"t$&S--223
 	T"T".+ WWY**3??+E+EF&&t,((/&&t,&&u-&&q).5zz'
3Y(E(EF$l3!$**40**51$&<=,/JJ*+--)))11tCC	E$&G&GH!$**40**51$&<=#H+T3Y(@(@A$l3 .1ggi++;;OO$$	&+77:+<<VD+::6B+::6B+==fE/2yy{,,77:,55 Q788	: xxz  &""4('89$$%56''(;<((/++E2  &  &		  # 	y!I,67++- 	.,/ #
))$/++D1.0AB--.>?001DE11%844T:!$))!, 	''!4F2G(GH779(()A)AB&&t,$$Q'))&1''/''/**62IIK$$Q' 	""9a.?#?@((*##D)%%d+*;<''(89**+>?++E2..u5##D)##E*99;##A& 	!!'AlO";<..0#_5((*D!d#"34 	#""#67##E*&&u-D!E"99;A 	'AdG+,"%((*++D1--e402CD//0@A223FG33E:66u=++D1++E2#&99;  ++A. 	!))'A6J4K*KLGGI))#//*B*BC''-%%a(**62((0((0++F3 YY[%%a(
 	##Ga.?$?@/0	2 	^];24JK-/@A.0@AWh/46NO.0BC'* HI(K$ 	$$55 ' (	) 	$$,,t66	8$$//,V4	6Q((!->1	F ),		%%%.. %&	( 	%%66   !	" 	%%003+.<<>((+c3(?%664!E669:A>	@66<=qA	C((22))	+,,.((334	!((6661	& !>!>?GAt""#56v>$q'I#D$D$D$($A$A1F @ 	((00tBB	DQ))1.?A	G,,a1BAq	J -0OO %&-() 	))::;<	>))11t;;	=))44 01&9	;Q--q2CQ	K '*iik##,, 78		: 	$44  	 	$..q1/2||~,,/MM#s,C)::D'1	'::ABAF	H::M*A.	0,,66--	/,,.,,774	!,,::61	& !B!BCGAt""#89&AT!WL#D$H$H$($E$EqJ D 	,,44tFF	HQ',=q!	E00!5F1	N 14 @A	1C-
 	-->>   !	" 	--55t??	A--88 23F;	=Q1116GA	O <??? =><@8 	88II = >	? 	88@@tJJ	L88CC <=fE	GQ<< !Q	( 14 )*1,- 	-->> @ A	B 	--55t??	A--88 34V<	>Q11 !Q	( .1__&'.)* 	**;;IJ	L**22t<<	>**55 126:	<Q..3Da	L /2oo ;</>+ 	++<< - .	/ 	++33t==	?++66 23F;	=Q//4Eq!	M #&))+(( m	  < = 	%
 	00(	***1-%(\\^"""33(	*"%--S"9 	001W:w2GH 	001V9f2EF
 	001Z="2EF"",,T-D-DE,,.""--mTB""00J //=fE !8!89GAt  DG+#D$>$>$($;$;Q@ : 	""**t<<	>Q##Q(91a	A&&+<a	D ,/?? )*,,( 	((99 $ %	& 	((00t::	<((33/7	9Q,,a1BAq	J #&))+(( m	 	00 
& 
'	( 	**1-%(\\^""%--S"9001\?A2FG##a(R&SUV%W	Y0015H3I12MN001Y<2CD"",,##	%,,.""--4	!""0061	& //=fE !8!89GAt""<08DGC#D$>$>$($;$;Q@ : 	""**t<<	>Q##Q(91a	A&&+<a	D 58OO 12#$5%1  	11BB"  I J $$#	%* 	1199tCC	E11<< 67?	AQ55 !Q	( 7:oo
 /0723 	33DD ! "	#
 	33;;tEE	G33>> 89&A	CQ77 !Q	( 25 *+2-. 	..??LM	O..66t@@	B..99 45f=	?Q22 !Q	( *- FG*I& 	&&77 9 :	; 	&&..t88	:&&11.v6	8Q** !Q	( -0OO 23	-5)
 	))::
  ' (	) 	))11t;;	=))4408	:Q-- !Q	( -0OO %&-() 	))::  < =	> 	))44Q7))11t;;	=))4408	:%(\\^"""33  * +	,
 #&--S"955F'' 9"V\\^$4A 66?	A 6 	"",,T-D-DE,,.""--mTB""00JD66 33T	; !8!89GAt""<08DGC#D$>$>$($;$;Q@ : 	""**t<<	>QD=="#%61	>D66"#%61	> 03yy{,,,55 )*		,
 	,,== D E	F 	,,77:/2yy{,,,55 89&A	C,,44DCC	EQ00!5F1	N00!5F1	N .1YY[***33 '(	* 	**;; 3 4	5 	**55a8-0YY[***33 67?	A**22DAA	CQ..3Da	L..3Da	L ,/99;(((11 78	: 	((99 / 0	1 	((33A6-0^^-=***66t<**88>**99#sC**44S#>01&9E..88D''(9:6BCE ..88;**22??	A 	Q,,a1BAq	J..3Da	L ), ./)1% 	%%66 $ %	& 	%%11%8%%11%8%%00-f5	7%%--t77	9(+

%&)ggi#.1ii%%&67?/+ 	++??CD??G++99%%	'-55	7$//1LM%%--t77	9Q))1.?A	G))1.?A	G #&))+(( n		
 	00 / 0	1 	**1-'*~~'7$$$006$$2248$$33C=$$..sE:$$..##L1&9:	<$$,,99	; 	Q##Q(91a	A((!->1	F (+zz *+	(-$
 	$$5578	:$$006$$007$$,,t77	9Q((!->1	F ,/:: )*,,( 	((99 - .	/ 	((44T:((44U;((00t;;	=,,a1BAq	J !YY[## 1DEEN		P
 	))$/++F3))&1))&1,,V4&&u-&&u-%%a(57IJ$'$6$6$8!D5565t7P7PQ#&779  001K1KL ..t457OP(49-.)0% 	%%--t??	A%%33D9+7;01,3( 	((00tBB	D((66u='3;/0(2$ 	477BB	D$$2259)5;12*4& 	499DD	F&&44U;47JJ 1;<< : ;	5<1 	1199t<<	>-0ZZ 1455 + ,	.-* 	**22t55	7
 GHH;;=> ?44R89<< 	1  007A4,/JJ$%A-C) 	))11tCC	E))77=*D,I,IJ*D,L,LM*D,H,HI*D,J,JK*D,U,UV*D,N,NO*D,M,MN>@;?A<,.((6v>
!)!B!B:!N88D**+z9 OO%%''1G1G(HIK 36++-"69kkm&EG7@D&NR-'')!iik$$ A899FB		D
 	**40,,V4**62**62--f5''.''.&&q)57JK%(%7%7%9"D6675t7Q7QR$'GGI!!11#//2L2LM!//557PQ)5901*3& 	&&..t@@	B&&44T:&&44U;,8;34-6) 	))11tCC	E))77>(4;12)4% 	488CC	E%%33E:*6;34+6' 	4::EE	G''55e<*-** '( : ;+<' 	''//tAA	C''55e<-9;
 <=.?* 	**22tDD	F**88>**88? HIH;;=> ?55b9:<< 	2  00t**+1T-@-@,AB 6-0ZZ$%B.D* 	**22tDD	F**88>+T-K-KL+T-N-NO+T-J-JK+T-L-LM+T-O-OP+T-L-LM+T-O-OP8:59;6(*))-8@%??L88D&&';6 OO%%''1C1C(DEG 47;;=#7:{{}':<,AE'OS.EI+((* "8 9:""5)""5)!!!$q $$A2Aq	:  #yy{((/q $$  !%8!Q	@%%b)$$D33	5 $'99;  ))!,L*MN ,,U3 ,,U3 ++A.q $$$a)<a	D %($6$6$8!!//5!--e4!--d35636>>3C0,/LLN)))4444	6))55d;))77=))55e<))55e<+T-N-NOq $$%q*=q!	E0088DGG	Iq &)jjM"'$###88?##//6##//6$$'',?A	G##++t66	8##11%8'*zz%&(($$$99%@$$007$$007$$((!-@!Q	H$$,,t77	9$$2259$'JJN#%%!!!66u=!!--e4!!--e4$$%%q*=q!	E!!))t44	6!!//6&)oo&7###11$7##//5##..syy~~>##//6##//6##++dDD	Fq $$'',?A	G $'#5#5#7  ..u5 ,,U3 ,,T245"%,,.(+c3(?%))$*G*GH**2.%(%7%7 jM  "&" 	#55a8--.HI%(%7%7 "#  "&" 	#55a8--.HI--/77t11	3*D,C,CDq $$$a)<a	E  IIK""A-..7	9((.**62((0((0++F3%%e,%%e,$$Q'&)&8&8&:##11%8#//6#//578"||~+.==c+B(&&t'G'GHd11-@HIG00d))-8@IJLM J
 ),(:(: iL  ")% 	&88;**+HI(+(:(: n  ")% 	&88;**+HI**,44tAA	C$$THH	J-/CD"$56"$?@"%'')//0J0JK--d3"$;<(+

F)KL)N% 	%%33D9%%33E:%%--t??	A+.::$%NO,Q( 	((66u=((00tBB	D/2zz()FG0I, 	,,::4@,,44tFF	H)4+H+HI)4+K+KL)4+O+OP-/*=?:HL.@D&NR-JN1MQ4NR5!69oo 89	7;3
 	33DD B C	D 	33;;tEE	G33>> 89&A	C @C 89@;< 	<<MM   !	" 	<<DDtNN	P<<GG 56v>	@ 	!77#Q	+ 	!@@#Q	+  #yy{%%
 	! 	-- / 0	1 	''*(+%%(]]3%<"
 	33aj!_E
 	33a8S6TVW5XY
 	33ak15EF%%//0J0JK,,.%%00E%%33M61M !;!;<GAt"">26:d1gE#D$A$A$($>$>C = 	%%--t??	A! !%91a	A))1.BAq	J ))+ 	  #@!AB(( 0 1	2 	""1%%(^^%5"""..t4""006""11#s;"",,S#6"",,##J/78	:""**THH	J!Q 4a	<&&+?A	G *-&&// ,-	/ 	'77 2 3	4 	'11!425,,.//2}}S#/F,==L/4+;+;+F+FG	I==J-)9)9)B)BC	E==,-t/?/?/F/FG	I//9900	2,,.//::4	!//==61	& !E!EFGAt""#;<VDQO#D$K$K$($H$H!M G 	//77>>	@ 	!*A/CQ	K33#Q	+ /2iik++44 78		:
 	,<<  * +	,
 	,66q99<9I666BB4H66DDTJ66EE%	66@@x**+	-66@@##$AB6JK	M66>>KK	M 	!/4H!Q	P::#Q	+ #&))+(( !"	$ 	 00BC	E**1-+.<<>((+c3(?%)) vY**//0		2
 	)) x[$,,334		6
 	)) x[$,,334		6
 	)) uXt))--.		0
 	((22))	+,,.((334	!((6661	& !>!>?GAt""#56v>$q'I#D$D$D$($A$A1F @ 	((0077	9 	!#Q(<a	D,,a1Eq!	M <??? AB<D8 	88II > ?	@ 	88@@tJJ	L88CC <=fE	G!<<#Q	+ 69__
 +,6.2 	22CC " #	$
 	22>>uE22>>uE22== 89&A	C22::tDD	F:=//:K777HH	77FF	77FF	77II	77CCEJ77CCEJ77AA 67		9
 	77HH @ A	B
 88: >?G	I77@@J77EE 89&A	C77??DD	F!66#Q	+ 	;;#Q	+ 58OO 56581 	11BB 7 8	9 	11==eD11==eD11<< 78@	B1199tCC	E9<9J666GG	66EE	66EE	66HH	66BB5I66BB5I66@@ 23		5
 	66GG = >	?
 88: =>vF	H66??I66DD 78@	B66>>CC	E!55#Q	+ 	::#Q	+ 36// 3436/ 	//@@ 1 2	3 	//;;EB//;;EB//:: 56v>	@//77tAA	C7:7H444EE	44CC	44CC	44FF	44@@G44@@G44>> 01		3
 	44EE % &	' 88: ;<VD	F44==hG44BB 56v>	@44<<AA	C!33#Q	+ 	88#Q	+ 03 0103, 	,,== . /	0 	,,88?,,88?,,77 23F;	=,,44t>>	@47OO4E111BB	11@@	11@@	11CC	11==eD11==eD11;; -.		0
 	11BB " #	$ 88: 89&A	C11::8D11?? 23F;	=1199>>	@!00#Q	+ 	55#Q	+ *- =>	*@&
 	&&77 ( )	* 	&&2259&&2259&&11.v6	8&&..t88	:.1oo.?+++<<VD++::6B++::6B++==fE++77>++77>++55 :;		=
 	++<< > ?	@ 88:t**+>?GH++44X>++99.v6	8++3388	:!**A/CQ	K//4H!Q	P .1__ =>.@* 	**;; / 0	1 	**66u=**66u=**55 126:	<**22t<<	>25//2C///@@H//>>vF//>>vF//AA&I//;;EB//;;EB//99 :;		=
 	//@@ / 0	1 88:t**+BCFKL//88B//== 126:	<//77<<	>!..3GA	O33#Q	+ .1__ :;	.=*
 	**;; . /	0 	**66u=**66u=**55 126:	<**22t<<	>25//2C///@@H//>>vF//>>vF//AA&I//;;EB//;;EB//99 78		:
 	//@@ . /	0 88:t**+BCFKL//88B//== 126:	<//77<<	>!..3GA	O33#Q	+ *- =>	*@&
 	&&77 - .	/ 	&&2259&&2259&&11.v6	8&&..t88	:#&99;   11 . /	0
 	  ,,T2  ..t4  ,,U3  ,,U3  )) 34V<	>  ((D77	9!**A/CQ	K$$a)=q!	E .1__ =>	.@*
 	**;; ) *	+ 	**66u=**66u=**55 126:	<**22t<<	>'*yy{$$$55 * +	,
 	$$006$$2248$$007$$007$$-- 78@	B$$,,D;;	=!..3GA	O((!-A1a	I .1__ :;	.=*
 	**;; ( )	* 	**66u=**66u=**55 126:	<**22t<<	>'*yy{$$$55 ) *	+
 	$$006$$2248$$007$$007$$-- 78@	B$$,,D;;	=!..3GA	O((!-A1a	I -0OO :;	-=)
 	)):: ? @	A 	))55e<))55e<))44 01&9	;))11t;;	=!--q2F1	N (+ 89(;$ 	$$55 > ?	@ 	$$007$$007$$//,V4	6$$,,t66	8!$// - .	/ 	**40,,T2**51**51'' 126:	<&&D55	7!((!-A1a	I""A';Q	C !$		&&)*	,.. & '	(
 	((+&)iik###44 & '	(
 	##//5##11$7##//6##//6##,, 56v>	@##++D::	<!!1&:Aq	B'',@!Q	H "%''9:	<//  G H	I
 	))!,'*yy{$$$55  G H	I
 	$$006$$2248$$007$$007$$-- 67?	A$$,,D;;	=!"A';Q	C((!-A1a	I >>&+B)CC@AVX 	##CIIOO4aq!	5".!$%%()@%A$B'K"! ))!,ALNN"A|Q;+.?? $%	,'(
 	((99 9 :	;
 	((00t::	<,,aq!	EGG(B(BAN			 !L/)F2tE II 346	 	)U#)Y'%(YY["""00/7	9""--a0q,1	.&&<A	? H+ 	!!!$"%,,.--/7	9001		2  #}}S#t<))$*>*>?,,.**=$?--mVQG-1-D-D-L-Lt99.;*A|Q	3##Qa	<"yy ,- / 	''**-..*:'''88L	M 	''33D9''55d;''55/7	9''66sC@''11#v>''11##$67?@	B''//TMM	O !\1a	9++Qa	DGG(B(BAN			 A*++V3F II >?A	 	)U#)Y'y!\1a8#&#5#5#7  ..t4 ,,T2 ,,T24525..2B///88 126:	<+.<<>(((66s||7H7HI((3333	5((44T:((66t<((66/7	9((44U;((44U;*D,L,LM$aq!	=//77tAA	C78//7" 	  	$ 03yy{,,55DE	G 	-==QR	T,77:&&0!Q1	>""#AB6JJ/0  >?69jjl347GGI1<?II%%&DEfM=9 	99MM	==u	F99GG%%	';CC	E$==;	=&&77Aq!	E33;;tEE	G !YY[## An%%.		0
 	))$/++F3))&1))&1,,V4&&u-&&u-%%a(#%78$'$6$6$8!!!--d3!!--d3!!77>!!77=D556#T%>%>?#&779  001K1KL ..t4#%=>(49
 /0)2% 	%%--t??	A%%33D9%%33D9+7;
 23,5( 	((00tBB	D((66u='3; 34
(6$ 	$$,,t>>	@$$2259)5; 56
*8& 	&&..t@@	B&&44U;03

()<=1?- 	--;;DA--55tGG	I*D,I,IJ*D,L,LM*D,H,HI*D,J,JK*D,Q,QR,.)&*#)-&=?/@D&04-((*!!!$""%''AC C11668	4+K+KLr<   c                s6   < V ^8  d   QhRS[ S[S[3,          /# r2   )r   rG   r   rL   rN   r:   r;   rO   
  s     ] ]T#s(^ ]r<   c                sV   / p/ RV P                   bRV P                  bRV P                  bRV P                  bRV P                  bRV P
                  bRV P                  bRV P                  bR	V P                  bR
V P                  bRV P                  bRV P                  bRV P                  bRV P                  bRV P                  bRV P                  bRV P                   b/ RV P"                  bRV P$                  bRV P&                  bRV P(                  bRV P*                  bRV P,                  bRV P.                  bRV P0                  bRV P2                  bRV P4                  bRV P6                  bRV P8                  bRV P:                  bRV P<                  bR V P>                  bR!V P@                  bR"V PB                  bC/ R#V PD                  bR$V PF                  bR%V PH                  bR&V PJ                  bR'V PL                  bR(V PN                  bR)V PP                  bR*V PR                  bR+V PT                  bR,V PV                  bR-V PX                  bR.V PZ                  bR/V P\                  bR0V P^                  bR1V P`                  bR2V Pb                  bR3V Pd                  bC/ R4V Pf                  bR5V Ph                  bR6V Pj                  bR7V Pl                  bR8V Pn                  bR9V Pp                  bR:V Pr                  bR;V Pt                  bR<V Pv                  bR=V Px                  bR>V Pz                  bR?V P|                  bR@V P~                  bRAV P                  bRBV P                  bRCV P                  bRDV P                  P                  bCREV P                  P                  RFV P                  /Cp\        P                  P                  4       pVP                  RGRH4      pRBRIRAV P                   RJV P                   2RRKRRKRRLR	RHR^ /pV P                  RM8w  d[   RLp\        P                   F/  w  rx\        P                  ! WpP                  4      '       g   K-  Tp M	  V'       d   WeR?&   RNV 2VR@&   M@\        P                  ! RO4      '       d%   \        P                  ! 4       RW8  d   RPVR?&   RQVR@&   VP                  4        EFc  p	V	RC8X  d   \        P                  ! V P                  P                  RC4      4      p
V P                  RM8w  d   . V
RR&   . RXOV
RS&   \        P                  ! V
4      p\        P                  ! V P                  P                  V	4      4      pV'       g   / p\        P                  ! W4       M\        P                  ! V P                  P                  V	4      4      p
V P                  RM8w  g   V	RY9   d   VP                  W4      p
\        P                  ! V P                  P                  V	4      4      pVf   T
pW9   g   EKS  RTV
RUVRVW),          /W&   EKf  	  V# )Za  Initialize a dictionary with the default and user settings for all
settings keys.

The default settings start with the defaults from the
gsettings schema. Some of these generic default values may be
overridden by more specific default settings for the specific engine.
After this possible modification for a specific engine we have the final default
settings for this specific typing booster input method.

The user settings start with a copy of these final default settings,
then they are possibly modified by user gsettings.

Keeping a copy of the default settings in the settings dictionary
makes it easy to revert some or all settings to the defaults.
r   r   r   r   rv   r   ry   rz   r~   r   r   r}   r   r   ro   rr   rt   rw   rx   r   r   r   r   r   r   r   r   r   r   soundbackendr   r   r   r   ru   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   ollamamodelr   r   r   r   r   r   r   r   autosettingsr_   Tr   rT   FrA   rP   u   •Zgnomeu   🚀︎u   🐌︎r   Zcommit_and_forward_keyrD   rp   set_function)i0      )ZLeftzControl+Leftz	Mod1+Left)r   r   )]set_disable_in_terminalsset_ascii_digitsset_show_final_formset_avoid_forward_key_eventset_add_space_on_commitset_arrow_keys_reopen_preeditset_word_prediction_modeset_emoji_prediction_modeset_off_the_record_modeset_record_modeset_emoji_trigger_charactersset_emoji_styleset_auto_commit_characters"set_google_application_credentialsset_tab_enableset_inline_completionset_auto_capitalize"set_remember_last_used_preedit_imeset_remember_input_modeset_page_size!set_candidates_delay_millisecondsset_lookup_table_orientationset_preedit_underline"set_preedit_style_only_when_lookupset_min_char_completeset_use_ibus_keymapset_ibus_keymapset_error_soundset_error_sound_fileset_sound_backendset_debug_levelset_show_number_of_candidates&set_show_status_info_in_auxiliary_textset_show_raw_inputset_auto_select_candidateset_color_preedit_spellcheck#set_color_preedit_spellcheck_stringset_color_inline_completion"set_color_inline_completion_stringset_color_compose_preview set_color_compose_preview_stringset_color_m17n_preeditset_color_m17n_preedit_stringset_color_userdbset_color_userdb_stringset_color_spellcheckset_color_spellcheck_stringset_color_dictionaryset_color_dictionary_stringset_label_userdbset_label_userdb_stringset_label_spellcheckset_label_spellcheck_stringset_label_dictionaryset_label_dictionary_stringset_flag_dictionaryset_label_busyset_label_busy_stringr  set_ai_system_messageset_ollama_modelset_ollama_max_contextset_input_mode_true_symbolset_input_mode_false_symbolset_current_imesset_dictionary_namesset_keybindingsr   reload_dictionariesreload_input_methodsset_autosettingsr   r   r   r   r   r   r   r6   ZM17N_IME_SYMBOLSreZ	fullmatchZ
is_desktopZget_gnome_shell_versionr   variant_to_valuer   Zget_default_valuecopydeepcopyZget_user_valuedict_update_existing_keysZget)r5  Zsettings_dictZset_functionsr6  r`   Zspecial_defaultssymbolZpatternZpattern_symbolr7  Zdefault_valueZ
user_valueZuser_gsettingss   &            r:   r   ZSetupUI._init_settings_dict
  s     )+M
 $"?"?M
400M
 T55M
 #D$D$D	M

  < <M
 %d&H&HM
 t<<M
  > >M
 D88M
 $..M
 %d&G&GM
 $..M
 #D$C$CM
 +33M
  ,,!M
"  : :#M
$ d66%M
& )33)M
*  !=!=+M
, **-M
. *221M
2 %d&G&G3M
4  : :5M
6 )339M
: t99;M
< T55=M
> $..?M
@ $..AM
B d77CM
D D22EM
F $..GM
H %d&H&HIM
J "4#N#NKM
L D33MM
N "4#A#AOM
P %d&G&GQM
R +44UM
V $T%E%EWM
X *33[M
\ "4#A#A]M
^ ()N)N_M
`  ; ;aM
b %d&H&HcM
d 400eM
f  !=!=gM
h t88iM
j $T%E%EkM
l t88mM
n $T%E%EoM
p 400qM
r  !=!=sM
t t88uM
v $T%E%EwM
x t88yM
z $T%E%E{M
| d66}M
~ ,,M
@ t99AM
B D33CM
D t99EM
F 400GM
H  ; ;IM
J "4#B#BKM
L #D$D$DMM
N 400OM
P $33QM
R 4//SM
T )$..*L*LUM
V )$..*M*MD11YM
` $$002 	%2%9%98$&@ &d112!D4G4G3HIu$bD
  00F+3+D+D'<<):):;;+F ,E :@!67=@> !78!!'**224? 7C237C34##%Cm# ( 9 9OO55mD!F$$(88@BM"<=?=M":;
 "]]=9
!)!:!:OO2237"9%%'N22:N ( 9 9OO55c:!<%%)99MM$4$8$8$LM%66OO22379
%!.J#}J"M$6&8"9 &@ r<   c                s    < V ^8  d   QhRS[ /# r2   rf   rL   rN   r:   r;   rO   L  s     9 9$ 9r<   c                s   V P                   R,          R,          '       Eg   RpV P                  P                  V4       V P                  P                  R4       V P                  P	                  R4       V P                   R,          R,          pV P
                  P                  V P                  4       V P                  P                  4        \        V P                  V R2VR.4       \        V P
                  V P                  ^ 4       V P
                  P                  V P                  4       R# \        P                  ! 4       V n        V P                  P!                  4       R9  d:   V P                  P#                  4        RV P                  P%                  4        R	2pMSV P                  P#                  4        R
V P                  P!                  4        RV P                  P'                  4        R2pV P                  P                  V4       V P                  P                  R4       V P                  P)                  V P                   R,          R,          4      pRpV P
                  P                  V P                  4       V P                  P                  4        \+        V P                  P-                  4       4       Fh  pV P                  P)                  V4      pWc8X  d   RpRpWe8w  d   RVP/                  R4      R,           R2p\        V P                  V RV 2VR.4       Kj  	  V'       g   \        V P                  V R2VR.4       \1        V P                  4       F5  w  rW9^,          8X  g   K  \        V P
                  V P                  V4       K7  	  V P
                  P                  V P                  4       R# )zZUpdate the connection status to the AI server and the
combobox listing the served models.
r   rp   u   ❌️TFr?  u    ❌️z : <span color="red">u   </span> ❌️z : rQ   u    ✔️rA   Z(rU   r   u    ✔️ )ZollamaZramalamar   )r   r  r  rV  r\  r  Zhandler_blockr  r  clearr,   r   Zhandler_unblock
itb_ollamaZItbOllamaClientr   Z
get_serverZget_hostZ	get_errorr   
short_namer  Z	model_idssplitr  )
r5  Zserver_infoZselected_ollama_modelZselected_ollama_model_shortZ%selected_ollama_model_short_availableZmodel_idZmodel_id_shortZlong_idrY   r:  
   &         r:   _check_ai_serverZSetupUI._check_ai_serverL  sT    "">26::"K&&//<&&55d;&&44U;$($7$7$Fv$N!##11$2T2TU  &&($$)*'24I5QS   7 7 $ 4 4a9##33D4V4VW(88:))+3II&&//12 3%%)%8%8%B%B%D$E F  &&//12#&&1134A&&2245W>  	""++K8""11$7&*&9&9&D&D.v6'8#05---d.P.PQ""$t22<<>?H!00;;HEN<8<5G)hnnS1"56a8$$"#8G95~tLN @ 5$$/08,e56 !!5!56GA*1g5#D$;$;$($8$8!= 7 	//0R0RSr<   c                sD   < V ^8  d   QhRS[ RS[S[ S[S[ S[ 3,          /# )r3   rS   r4   )rG   r    rf   rL   rN   r:   r;   rO     s*     3> 3>3 3>5dCQTAT;U 3>r<   c                s   Rp\         P                  ! V4      pVR,           V,           p\         P                  ! 4       '       d8   \        R4      V,           R,           \        R4      ,           V,           R,           p\         P                  ! V4      pV'       d   VRV,           ,          pVR,          pR\        R4      ,           R,           pRpVP                  R4      ^ ,          R8w  d8   \         P                  ! V4      w  ppV'       d   VR	,          pM-VR
,          pRpM!\        '       d   VR	,          pMVR
,          pRpV\         P                  ! V4      ,          pR\        R4      ,           R,           p\        P                  ! V4      p	V	'       d   VR	,          pM	VR
,          pV\         P                  ! V4      ,          pV P                  R,          R,          R,          '       d_   R\        R4      ,           R,           pV\         P                  9   d   VR	,          pM	VR
,          pV\         P                  ! V4      ,          pWBWy3# )z
Formats the text of a line in the listbox of configured dictionaries

Returns a tuple consisting of the formatted line of text
and a Boolean indicating whether the hunspell dictionary
is missing.

:param name: Name of the hunspell dictionary
FrQ      z:  zSpell checkingrA   r/   fiu   ✔️u   ❌Tr{   r   rp   Zspeech_recognitionrn   )r6   Zget_flagis_right_to_left_messageschrZlocale_language_descriptionr/   r  find_hunspell_dictionaryIS_LIBVOIKKO_AVAILABLEZ
bidi_embed	itb_emojiZfind_cldr_annotation_pathr   ZGOOGLE_SPEECH_TO_TEXT_LANGUAGES)
r5  rS   missing_dictionaryZflagrowZlanguage_descriptionZrow_itemdic_pathdummy_aff_path	cldr_paths
   &&        r:   _fill_dictionaries_listbox_rowZ&SetupUI._fill_dictionaries_listbox_row  s    #  &Sj4--//f+$s*S[84?#EC'CCDI3---Cu+,,s2::c?1%'@@FXH$E!%)"%%H$E!%)"x""8,,7#c)77=	 HHx""8,,}-f56JKKQ344s:Hx???H$E!8&&x00C==r<   c                   < V ^8  d   QhRR/# r3   r4   Nr=   rL   rN   r:   r;   rO     s     07 07D 07r<   c                s   \        V P                  4       \        P                  ! 4       V n        V P                  f   \
        P                  R4       R# \        V P                  V P                  4       RV n        R	V n	        V P                  P                  R4       V P                  P                  R4       V P                  P                  \        P                  P                  4       V P                  P                  R4       V P                  P!                  RV P"                  4       Rp\%        V P&                  4      R.8w  Ed   V P&                   F  p\        P(                  ! 4       pV P+                  V4      w  pprgV'       d   RpVP-                  \.        P0                  ! V4      4       VP3                  R4       VP5                  V RV 24       VP7                  ^ 4       ^pVP9                  V4       VP;                  V4       VP=                  V4       VP?                  V4       V P                  PA                  VR	4       K  	  \C        V P                  4       V PD                  PG                  V4       V PH                  PG                  \K        V P&                  4      ^8  ;'       d    V P&                  R.8g  4       V PL                  PG                  \K        V P&                  4      \N        PP                  8  4       R# )
zN
Fill the dictionaries listbox with the list of dictionaries read
from dconf.
N"self._dictionaries_listbox is NonerA   Trow-selectedFr   Z
r   ))r   rW  r   rm  rn  LOGGERdebugr   rh  ri  r   r   set_selection_modeSelectionModer  set_activate_on_single_clickr   _on_dictionary_selectedlistrj  r   r  r  htmlescaperV  r  r  r   r   r   r   insertr   ra  r\  rc  r   rX  r6   MAXIMUM_NUMBER_OF_DICTIONARIES)	r5  Zmissing_dictionariesrS   rk   rq   r  r  r  r9  s	   &        r:   rs  Z"SetupUI._fill_dictionaries_listbox  ss   
 	t001%([[]"%%-LL=>$++T-G-GH>@;?A<""..t4""..t4""55c6G6G6N6NO""??E""**D88	:$&&'F83..		 )-(K(K)&#%+/(t{{401$$T*&&(2i['AB  #&&v.$$V,$$V,''/**11%<# /$ 	++,11?? 	"**88&&'1, / /""vh.	0 	%%33&&'556	7r<   c                s<   < V ^8  d   QhRS[ RS[S[ S[ 3,          /# )r3   imer4   )rG   r    rL   rN   r:   r;   rO     s#      S U38_ r<   c                s   T p\         P                  ! 4       '       d   \        R4      V ,           pVR^\        V 4      ,
          ,          ,          pRpRp\	        4       P                  V 4      p\	        4       P                  V 4      pV'       d   VRV,           R,           ,          p \        P                  ! V 4      pVR,          pW3#   \         d&   pTR\        T4      ,           ,          p Rp?Y3# Rp?ii ; i)	z
Formats the text of a line in the listbox of configured input methods

Returns a tuple consisting of the formatted line of text
and another string containing the path used to load the input method.

:param ime: Name of the input method
r  rQ   rA   r   Nz	(u   	✔️u   	❌ )r6   r  r  r   r>   	get_titleget_pathm17n_translitTransliteratorr   rG   )r  r  r\   ra   Z_dummyZ
open_errors   &     r:   _fill_input_methods_listbox_rowZ'SetupUI._fill_input_methods_listbox_row  s     --//f+#Csb3s8m$$ ",,S1!**3/:%++C	3"11#6F?"C {  	3=3z?22C{	3s   &C C8C33C8c                r  r  r=   rL   rN   r:   r;   rO     s     .P .PT .Pr<   c                sH   \        V P                  4       \        P                  ! 4       V n        V P                  f   \
        P                  R4       R# \        V P                  V P                  4       RV n        RV n	        V P                  P                  R4       V P                  P                  R4       V P                  P                  \        P                  P                  4       V P                  P                  R4       V P                  P!                  RV P"                  4       V P$                   EF  p\        P&                  ! 4       pV P(                  P+                  V4      w  r4VP-                  \.        P0                  ! V4      4       VP3                  R4       VP5                  V 4       VP7                  ^ 4       ^pVP9                  V4       VP;                  V4       VP=                  V4       VP?                  V4       ^0p\A        R^04      p\C        4       PE                  V4      pV'       d   \G        W4      p\        PH                  ! 4       p	V	PK                  \        PL                  PN                  4       V	PQ                  ^
4       \        W4       \        W4       V P                  PS                  V	R4       EK  	  \U        V P                  4       V PV                  PY                  \[        V P$                  4      \\        P^                  8  4       R# )zP
Fill the input methods listbox with the list of input methods read
from dconf.
N#self._input_methods_listbox is NonerA   Tr  image-missingr   )0r   rt  r   rm  r  r  r  r   r  r  r   r   r  r  r  r  r   _on_input_method_selectedr  r   r   r  r  r  r  rV  r  r  r   r   r   r   r   r>   get_iconr   r   r   r   r   r   r  r   ru  r\  r   r6   MAXIMUM_NUMBER_OF_INPUT_METHODS)
r5  r  rk   r  ra   r9  	icon_sizeimage	icon_filehboxr  r:   r  Z#SetupUI._fill_input_methods_listbox  sX   
 	t112&)kkm#&&.LL>?$,,d.I.IJ8:59;6##//5##//5##66$$	&##@@F##++D::	<%%CIIKEFFICNN4;;s+,  &""dV-QF""6*  (  (##F+I'<E(*33C8I.yD779D  !;!;<R d"d"''..tR8/ &0 	,,-&&44""#h&N&NN	Pr<   c                r  r  r=   rL   rN   r:   r;   rO   ;  s     Z+ Z+T Z+r<   c                sn	   V P                   eB   V P                   P                  4       P                  \        P                  P
                  4       \        V P                  4       \        P                  ! 4       V n         V P                   f   \        P                  R4       R# V P                   P                  4       P                  \        P                  P
                  4       V P                   P                  R4       V P                   P                  R4       V P                   P                  \        P                  P                  4       \        P                   ! \"        \"        \"        \"        4      pV P                   P%                  V4       V P&                  R,          R,          pV FX  w  r4pRpW0P(                  9   d3   RV P(                  V,          9   d   V P(                  V,          R,          p\+        VW4WV34       KZ  	  \        P,                  ! \/        R4      \        P0                  ! 4       ^ R	7      pV P                   P3                  V4       \        P0                  ! 4       p\        P,                  ! \/        R
4      V^R	7      p	V P                   P3                  V	4       VP5                  RR4       RR R llp
V	P7                  W4       VP9                  RV P:                  V4       \        P0                  ! 4       p\        P,                  ! \/        R4      V^R	7      pV P                   P3                  V4       VP5                  RR4       VP9                  RV P<                  V4       \?        V P                  V P                   4       V P                   P                  4       P9                  RV P@                  4       V P                   P9                  RV PB                  4       V P                   P                  4       P                  \        P                  PD                  4       V PF                  p\        P                  RV4       \        PH                  PK                  V.4      pV P                   P                  4       PM                  V4       V P                   PO                  4        R# )zF
Fill the autosettings treeview with the autosettings read from dconf
Nz#self._autosettings_treeview is NoneTr@  rp   rA   ri   ZSettingr   Valueeditablec          
      s    V ^8  d   QhR\         P                  R\         P                  R\         P                  R\         P                  RR/# )r3   columncellmodelrow_iterr4   N)r   r  r  Z	TreeModelZTreeIterr7   r9   r:   r;   Z9SetupUI._fill_autosettings_treeview.<locals>.__annotate__l  sU     	D 	D**	D**	D }}	D ,,		D
 #	Dr<   c                 sN    VP                  V^4      pVP                  RV4       R# )rB  zplaceholder-textN)	get_valueset_property)r  r  r  r  ZdataZplaceholder_texts   &&&&& r:   set_placeholder_textZASetupUI._fill_autosettings_treeview.<locals>.set_placeholder_textl  s'     %*OOHa$@02BCr<   editedzRegular expressionrs   r   zSelecting index %srW   )(r-  r  set_moder   r  r  r   r  r  r  r  r   set_has_tooltipset_grid_linesTreeViewGridLinesBOTHr  rG   r  r   r   r,   r  r/   r  r  r  Zset_cell_data_funcr   &_on_autosettings_treeview_value_edited'_on_autosettings_treeview_regexp_editedr   &_on_autosettings_treeview_row_selected'_on_autosettings_treeview_row_activatedr  r,  TreePathZnew_from_indicesZselect_pathshow)r5  Zautosettings_treeview_modelautosettings_usersettingvalueZregexpri   Zautosettings_treeview_column_0Zautosettings_value_rendererZautosettings_treeview_column_1r  Zautosettings_regexp_rendererZautosettings_treeview_column_2indexZ	tree_paths   &              r:   r2  Z#SetupUI._fill_autosettings_treeview;  s    &&2''557@@""$t001&)lln#&&.LL>?##113<<""	$##11$7##33D9##2233H3H3M3MN&)mmCc3&G###--.IJ //?G(9$WVJ555 D$>$>w$GG!77@N
8%fAC ): *-);); iL  "*& 	##11*	,&)&:&:&<#),);); gJ'*& 	##11*	,#00TB	D 	'99'	?#++77'	) (+';';'=$),);); "#(*& 	##11*	,$11*dC$,,88'	) 	$++T-H-HI##113;;tBB	D##++TII	K##113<<$$	&11)51LL115':	 	##113??	J##((*r<   c                s&   < V ^8  d   QhRS[ RS[/# )r3   _argsr4   r   rf   rL   rN   r:   r;   rO     s        r<   c                s~    \         P                  R4       \        e   \        P                  4        R# \	        R4      h)z4Main window has been closed, quit the glib main loopzWindow is closing.GLIB_MAIN_LOOP not initialized!F)r  infoGLIB_MAIN_LOOPquitRuntimeErrorr5  r     &*r:   r   ZSetupUI._on_close  s4    ()%!  @AAr<   c                *   < V ^8  d   QhRS[ RS[RR/# r3   r  r   r4   Nr  rL   rN   r:   r;   rO     s*     J JJ*.J;?Jr<   c                0    \         P                  R4       R# )z(re)load all dictionaries

Called when a dictionary has been updated or installed.

:param value: ignored
:param update_gsettings: ignored
zA dictionary has been updated or installed.
ibus-typing-booster will (re)load all dictionaries.
But here in the setup tool there is nothing to do.Nr  r  r  r      &&r:   r  ZSetupUI.reload_dictionaries  s     	 I 	Jr<   c                r  r  r  rL   rN   r:   r;   rO     s*     J JJ*.J;?Jr<   c                r  )z(re)load all input methods

Called when an input method has been changed,
usually because an optional variable of an input method was changed.

:param value: ignored
:param update_gsettings: ignored
zA input method has been changed.
ibus-typing-booster will (re)load all input methods.
But here in the setup tool there is nothing to do.Nr  r  r  r:   r  ZSetupUI.reload_input_methods  s     	 I 	Jr<   c                >   < V ^8  d   QhRS[ P                  RS[RR/# )r3   	_settingsr7  r4   N)r   r   rG   rL   rN   r:   r;   rO     s)       \\038<r<   c                s8   \         P                  ! V P                  P                  V4      4      p\        P                  RW#4       W P                  9   d/   V P                  V,          R,          pV'       d   V! VRR7       R# \        P                  RV4       R# )z
Called when a value in the settings has been changed.

:param settings: The settings object
:param key: The key of the setting which has changed
z"Settings changed: key=%s value=%s
rA  Fr   NzUnknown key=%s)r6   r  r   r  r  r  r   error)r5  r  r7  r  rA     &&&  r:   r4  Z#SetupUI._on_gsettings_value_changed  su     ))$//*C*CC*HI93F%%%..s3NCLUU;%s+r<   c                8   < V ^8  d   QhRS[ P                  RR/# r3   buttonr4   Nr   r   rL   rN   r:   r;   rO     s%     D D**D)-Dr<   c                sF    \         P                  ! \        V4      R7       R# )uQ   
The “About” button has been clicked

:param _button: The “About” button
)parentN)r6   ZItbAboutDialogr   )r5  r  r  r:   r   Z SetupUI._on_about_button_clicked  s     	':6'BCr<   c                r  r3   _buttonr4   Nr  rL   rN   r:   r;   rO     s!     * *::**.*r<   c           
        a  S P                   P                  R4       R V 3R llpR V 3R llp\        S \        R4      \        R4      \        R4      \        R	4      VVR
7      pVP	                  4        R# )zRestore all default settingsFc                    V ^8  d   QhRR/# r  r=   r7   r9   r:   r;   ESetupUI._on_restore_all_defaults_button_clicked.<locals>.__annotate__  s     	P 	P 	Pr<   c                  sx  < \         P                  R 4       SP                  P                  R4       SP                  P                  4        Fj  w  rV R	9   d   \         P                  RV 4       K$  \         P                  RV 4       VR,          ! VR,          RR7       VR,          ! VR,          RR7       Kl  	  R# )
zRestoring all defaults.Tz"Skipping reset of gsettings key=%szResetting gsettings key=%srA  rD   r   FN)r   r   r   )r  r  r   r\  r   Zitems)r7  r  r5  s     r:   really_restoreZGSetupUI._on_restore_all_defaults_button_clicked.<locals>.really_restore  s    KK12 --;;DA"11779
 9 9 KK DcJ8#>n%eI&6N n%eI&6O :r<   c                r  r  r=   r7   r9   r:   r;   r    s     	B 	B4 	Br<   c                  h   < \         P                  R 4       S P                  P                  R4       R# )zRestore all defaults cancelled.TN)r  r  r   r\  r5     r:   	cancelledZBSetupUI._on_restore_all_defaults_button_clicked.<locals>.cancelled  s$    KK9:--;;DAr<   z3Do you really want to restore all default settings?Are you sure?_OK_Cancelr  Zquestionr\   Zok_labelZcancel_labelZon_okZ	on_cancelN)r   r\  r)   r/   r  )r5  r  r  r  dialog   f&   r:   r   Z/SetupUI._on_restore_all_defaults_button_clicked  sr     	))77>	P 	P*	B 	B % LMO$uX9 
 	r<   c                r  r3   widgetr4   Nr   r  rL   rN   r:   r;   rO   	  !     	8 	8//	8.2	8r<   c                H    V P                  VP                  4       RR7       R# )zv
The checkbutton whether to do spellchecking on the
contents of the preedit.

:param widget: The check button clicked
Tr   N)rf  
get_activer5  r  r  r:   r  Z0SetupUI._on_color_preedit_spellcheck_checkbutton	  s%     	))$ 	* 	8r<   c                r  r  r   r  rL   rN   r:   r;   rO     %     B B//B.2Br<   c                d    V P                  VP                  4       P                  4       RR7       R# )zx
A color has been set to indicate spelling errors in the preedit

:param widget: The color button where a color was set
Tr   N)rg  get_rgba	to_stringr  r  r:   r  Z.SetupUI._on_color_preedit_spellcheck_color_set  s-     	00OO'')D 	1 	Br<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )zw
The checkbutton whether to use color for inline completion
has been clicked.

:param widget: The check button clicked
Tr   N)rh  r  r  r  r:   r  Z/SetupUI._on_color_inline_completion_checkbutton  s%     	(($ 	) 	8r<   c                r  r  r  rL   rN   r:   r;   rO   )  r	  r<   c                r
  )zg
A color has been set for the inline completion

:param widget: The color button where a color was set
Tr   N)ri  r  r  r  r  r:   r  Z-SetupUI._on_color_inline_completion_color_set)  s-     	//OO'')D 	0 	Br<   c                r  r  r  rL   rN   r:   r;   rO   3  r  r<   c                r  )zy
The checkbutton whether to use color for the compose preview
has been clicked.

:param widget: The check button clicked
Tr   N)rj  r  r  r  r:   r  Z-SetupUI._on_color_compose_preview_checkbutton3  s%     	&&$ 	' 	8r<   c                r  r  r  rL   rN   r:   r;   rO   >  r	  r<   c                r
  )ze
A color has been set for the compose preview

:param widget: The color button where a color was set
Tr   N)rk  r  r  r  r  r:   r  Z+SetupUI._on_color_compose_preview_color_set>  s-     	--OO'')D 	. 	Br<   c                r  r  r  rL   rN   r:   r;   rO   H  r  r<   c                r  )zv
The checkbutton whether to use color for the m17n preedit
has been clicked.

:param widget: The check button clicked
Tr   N)rl  r  r  r  r:   r  Z*SetupUI._on_color_m17n_preedit_checkbuttonH  s%     	##$ 	$ 	8r<   c                r  r  r  rL   rN   r:   r;   rO   S  r	  r<   c                r
  )zb
A color has been set for the m17n preedit

:param widget: The color button where a color was set
Tr   N)rm  r  r  r  r  r:   r  Z(SetupUI._on_color_m17n_preedit_color_setS  s-     	**OO'')D 	+ 	Br<   c                r  r  r  rL   rN   r:   r;   rO   ]  #     J J3?? Jt Jr<   c                r  )z
The checkbutton whether to use color for candidates from the user
database has been clicked.

:param widget: The check button clicked
Tr   N)rn  r  r  r  r:   r  Z$SetupUI._on_color_userdb_checkbutton]        	f//1DIr<   c                r  r  r  rL   rN   r:   r;   rO   f  s#     B B BT Br<   c                r
  )zx
A color has been set for the candidates from the user database.

:param widget: The color button where a color was set
Tr   N)ro  r  r  r  r  r:   r  Z"SetupUI._on_color_userdb_color_setf  s-     	$$OO'')D 	% 	Br<   c                r  r  r  rL   rN   r:   r;   rO   o  %     N N//N.2Nr<   c                r  )z
The checkbutton whether to use color for candidates from spellchecking
has been clicked.

:param widget: The check button clicked
Tr   N)rp  r  r  r  r:   r  Z(SetupUI._on_color_spellcheck_checkbuttono        	!!&"3"3"5!Mr<   c                r  r  r  rL   rN   r:   r;   rO   y  #     B BS__ B Br<   c                r
  )zs
A color has been set for the candidates from spellchecking

:param widget: The color button where a color was set
Tr   N)rq  r  r  r  r  r:   r  Z&SetupUI._on_color_spellcheck_color_sety  -     	((OO'')D 	) 	Br<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z
The checkbutton whether to use color for candidates from a dictionary
has been clicked.

:param widget: The check button clicked
Tr   N)rr  r  r  r  r:   r  Z(SetupUI._on_color_dictionary_checkbutton  r  r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r
  )zr
A color has been set for the candidates from a dictionary

:param widget: The color button where a color was set
Tr   N)rs  r  r  r  r  r:   r  Z&SetupUI._on_color_dictionary_color_set  r  r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z
The checkbutton whether to use a label for candidates from the
user database has been clicked.

:param widget: The check button clicked
Tr   N)rt  r  r  r  r:   r  Z$SetupUI._on_label_userdb_checkbutton  r  r<   c                r  r3   r  _property_specr4   Nr   r?  r   rL   rN   r:   r;   rO     )     6 6))6586=A6r<   c                r  )zC
The label for candidates from the user database has been changed.
Tr   N)ru  get_textr5  r  r     &&&r:   r  ZSetupUI._on_label_userdb_entry  s#    
 	$$OO 	% 	6r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z
The checkbutton whether to use a label for candidates from
spellchecking has been clicked.

:param widget: The check button clicked
Tr   N)rv  r  r  r  r:   r  Z(SetupUI._on_label_spellcheck_checkbutton  r  r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z?
The label for candidates from spellchecking has been changed.
Tr   N)rw  r  r  r  r:   r  Z"SetupUI._on_label_spellcheck_entry  #    
 	((OO 	) 	6r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z
The checkbutton whether to use a label for candidates from a dictionary
has been clicked.

:param widget: The check button clicked
Tr   N)rx  r  r  r  r:   r  Z(SetupUI._on_label_dictionary_checkbutton  r  r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z>
The label for candidates from a dictionary has been changed.
Tr   N)ry  r  r  r  r:   r  Z"SetupUI._on_label_dictionary_entry  r  r<   c                r  r  r  rL   rN   r:   r;   rO     s%     M M//M.2Mr<   c                r  )z
The checkbutton whether to use flags for candidates from a dictionary
has been clicked.

:param widget: The check button clicked
Tr   N)rz  r  r  r  r:   r  Z'SetupUI._on_flag_dictionary_checkbutton  s      	  !2!2!4t Lr<   c                r  r  r  rL   rN   r:   r;   rO     s#     H H HT Hr<   c                r  )z
The checkbutton whether to use a label to indicate when
ibus-typing-booster is busy.

:param widget: The check button clicked
Tr   N)r{  r  r  r  r:   r  Z"SetupUI._on_label_busy_checkbutton  s      	F--/$Gr<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )z8
The label to indicate when ibus-typing-booster is busy
Tr   N)r|  r  r  r  r:   r  ZSetupUI._on_label_busy_entry  s#    
 	""OO 	# 	6r<   c                r  r  r  rL   rN   r:   r;   rO     )     6 6))6586=A6r<   c                r  )r   Tr   N)r  r  r  r  r:   r  Z!SetupUI._on_input_mode_true_entry  s#     	''OO 	( 	6r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )r   Tr   N)r  r  r  r  r:   r	  Z"SetupUI._on_input_mode_false_entry  s#     	((OO 	) 	6r<   c                r  r  r  rL   rN   r:   r;   rO     s     8 8 8T 8r<   c                r  )zj
The checkbutton whether to show candidates only when
requested with the tab key or not has been clicked.
Tr   N)rQ  r  r  r  r:   r  Z"SetupUI._on_tab_enable_checkbutton  s%    
 	$ 	 	8r<   c                r  r  r   r
  rL   rN   r:   r;   rO     !     - -,,-+/-r<   c                    VP                  4       pVe5   VP                  4       pW2,          ^,          pV P                  VRR7       R# R# )zN
A change of the inline completion mode has been requested
with the combobox.
NTr   )get_active_iter	get_modelrR  r5  r  	tree_iterr  mode   &&   r:   r  Z.SetupUI._on_inline_completion_combobox_changed  sP     **,	 $$&E#A&D&&t ' - !r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )zC
A change of the record mode has been requested
with the combobox.
NTr   )r  r   rL  r!  r$  r:   r,  Z(SetupUI._on_record_mode_combobox_changed  sP     **,	 $$&E#A&D  t ! - !r<   c                r  r  r  rL   rN   r:   r;   rO     s!     5 5,,5+/5r<   c                r  )z@
A change of the AI model has been requested
with the combobox.
NTr   )r  r   r~  )r5  r  r"  r  ollama_modelr$  r:   r  Z%SetupUI._on_ai_model_combobox_changed  sP     **,	 $$&E +A.L!!t " 5 !r<   c                r  r  r  rL   rN   r:   r;   rO      s     8 8S__ 8 8r<   c                r  )z7
The checkbutton whether to enable the AI chat feature
Tr   N)r  r  r  r  r:   r  Z&SetupUI._on_ai_chat_enable_checkbutton   s%     	$ 	  	8r<   c                r  r  r  rL   rN   r:   r;   rO   '  s     8 8coo 8$ 8r<   c                r  )zG
The checkbutton whether to automatically capitalize after punctation.
Tr   N)rS  r  r  r  r:   r  Z'SetupUI._on_auto_capitalize_checkbutton'  s%     	  $ 	! 	8r<   c                r  r  r  rL   rN   r:   r;   rO   .  !     8 8//8.28r<   c                r  )zg
The checkbutton whether to show the number of candidates
on top of the lookup table has been clicked.
Tr   N)rb  r  r  r  r:   r  Z1SetupUI._on_show_number_of_candidates_checkbutton.  %     	**$ 	+ 	8r<   c                r  r  r  rL   rN   r:   r;   rO   7  r&  r<   c                r  )zQ
The checkbutton whether to show status in the auxiliary text,
has been clicked.
Tr   N)rc  r  r  r  r:   r  Z:SetupUI._on_show_status_info_in_auxiliary_text_checkbutton7  s%     	33$ 	4 	8r<   c                r  r  r  rL   rN   r:   r;   rO   @  s%     
A 
A,,
A+/
Ar<   c                r  )z]
The combobox to select whether to show the raw input in the auxiliary text
has been changed
NTr   )r  r   rd  r!  r$  r:   r  Z+SetupUI._on_show_raw_input_combobox_changed@  sK     **,	 $$&E#A&D##D4#@ !r<   c                r  r  r  rL   rN   r:   r;   rO   L  r&  r<   c                r  )z\
The checkbutton whether to style the preedit only when
lookup is enabled has been clicked.
Tr   N)rZ  r  r  r  r:   r  Z6SetupUI._on_preedit_style_only_when_lookup_checkbuttonL  %     	//$ 	0 	8r<   c                r  r  r  rL   rN   r:   r;   rO   U  r  r<   c                r  )zH
A change of the auto select mode has been requested
with the combobox.
NTr   )r  r   re  r!  r$  r:   r  Z2SetupUI._on_auto_select_candidate_combobox_changedU  sP     **,	 $$&E#A&D**t + - !r<   c                r  r  r  rL   rN   r:   r;   rO   b  r&  r<   c                r  )zQ
The checkbutton whether to add a space when committing by
label or mouse click.
Tr   N)rG  r  r  r  r:   r  Z+SetupUI._on_add_space_on_commit_checkbuttonb  %     	$$$ 	% 	8r<   c                r  r  r  rL   rN   r:   r;   rO   k  r&  r<   c                r  )uc   
The checkbutton whether to remember the last used input method
for the preëdit has been clicked.
Tr   N)rT  r  r  r  r:   r  Z6SetupUI._on_remember_last_used_preedit_ime_checkbuttonk  r(  r<   c                r  r  r  rL   rN   r:   r;   rO   t  !     8 8//8.28r<   c                r  )z=The checkbutton whether to remember the last used input mode.Tr   N)rU  r  r  r  r:   r  Z+SetupUI._on_remember_input_mode_checkbuttont  s%     	$$$ 	% 	8r<   c                r  r  r  rL   rN   r:   r;   rO   z  r*  r<   c                r  )zAThe checkbutton whether to predict words or not has been clicked.Tr   N)rI  r  r  r  r:   r  Z(SetupUI._on_word_predictions_checkbuttonz  s%     	%%$ 	& 	8r<   c                r  r  r  rL   rN   r:   r;   rO     r&  r<   c                r  )zK
The checkbutton whether to predict emoji as well or not
has been clicked.
Tr   N)rJ  r  r  r  r:   r   Z)SetupUI._on_emoji_predictions_checkbutton  s%     	&&$ 	' 	8r<   c                r  r  r  rL   rN   r:   r;   rO     s     8 8S__ 8 8r<   c                r  )u   
The checkbutton whether to use “Off the record” mode, i.e. whether to
learn from user data by saving user input to the user database
or not, has been clicked.
Tr   N)rK  r  r  r  r:   r'  Z&SetupUI._on_off_the_record_checkbutton  r)  r<   c                r  r  r  rL   rN   r:   r;   rO     !     8 8//8.28r<   c                r  )zH
The checkbutton whether to avoid forward_key_event() has been clicked.
Tr   N)rF  r  r  r  r:   r.  Z/SetupUI._on_avoid_forward_key_event_checkbutton  s%    
 	(($ 	) 	8r<   c                r  r  r  rL   rN   r:   r;   rO     r&  r<   c                r  )uX   
The checkbutton whether arrow keys are allowed to reopen
a preëdit, has been clicked.
Tr   N)rH  r  r  r  r:   r0  Z1SetupUI._on_arrow_keys_reopen_preedit_checkbutton  r'  r<   c                r  r  r  rL   rN   r:   r;   rO     r&  r<   c                r  )zR
The checkbutton whether to disable Typing Booster in terminals
has been clicked.
Tr   N)rC  r  r  r  r:   r2  Z,SetupUI._on_disable_in_terminals_checkbutton  s%     	%%$ 	& 	8r<   c                r  r  r  rL   rN   r:   r;   rO     r&  r<   c                r  )z_
The checkbutton whether to convert language specific
digits to ASCII digits has been clicked.
Tr   N)rD  r  r  r  r:   r4  Z$SetupUI._on_ascii_digits_checkbutton  s%     	$ 	 	8r<   c                r  r  r  rL   rN   r:   r;   rO     r+  r<   c                r  )zL
The checkbutton whether show the final form while typing has been clicked.
Tr   N)rE  r  r  r  r:   r6  Z'SetupUI._on_show_final_form_checkbutton  s%    
 	  $ 	! 	8r<   c                r  r  r  rL   rN   r:   r;   rO     r&  r<   c                r  )zV
The checkbutton whether to force the use of the US
keyboard layout has been clicked.
Tr   N)r\  r  r  r  r:   r9  Z'SetupUI._on_use_ibus_keymap_checkbutton  s%     	  $ 	! 	8r<   c                r  r  r  rL   rN   r:   r;   rO     s!     / /,,/+//r<   c                r  )zB
A change of the IBus keymap has been requested
with the combobox
NTr   )r  r   r]  )r5  r  r"  r  r;  r$  r:   r=  Z(SetupUI._on_ibus_keymap_combobox_changed  sP     **,	 $$&E%a(F   ! / !r<   c                r  r  r  rL   rN   r:   r;   rO     s!     . .,,.+/.r<   c                r  )zB
A change of the emoji style has been requested
with the combobox
NTr   )r  r   rN  )r5  r  r"  r  styler$  r:   r%  Z(SetupUI._on_emoji_style_combobox_changed  sP     **,	 $$&E$Q'E   ! . !r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )zC
The list of characters triggering emoji and Unicode symbol lookup
Tr   N)rM  r  r  r  r:   rA  Z*SetupUI._on_emoji_trigger_characters_entry  s#    
 	))OO 	* 	6r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )zD
The list of characters triggering an auto commit has been changed.
Tr   N)rO  r  r  r  r:   rD  Z(SetupUI._on_auto_commit_characters_entry  s#    
 	''OO 	( 	6r<   c                r  r3   _widgetr4   Nr  rL   rN   r:   r;   rO     s%     H H::H*.Hr<   c                s6   V P                   P                  R4       \        V \        R4      R7      p\        P                  RV4       V'       d/   V P                  P                  V4       V P                  VRR7       V P                   P                  R4       R# )zg
The button to select the full path of the Google application
credentials .json file has been clicked.
Fr   r  r\   filename=%rTr   N)	r  r\  r+   r/   r  r  r  r  rP  r5  r.  filename   && r:   r  Z1SetupUI._on_google_application_credentials_button  s     	33AA%H#JKM 	M8,==FF334 4 133AA$Gr<   c                r  r-  r   rF  rL   rN   r:   r;   rO     s%     K K>>K.2Kr<   c                \    V P                  V P                  P                  4       RR7       R# )z5
The page size of the lookup table has been changed.
Tr   N)rV  r  r  r5  r.  r  r:   r  Z.SetupUI._on_page_size_adjustment_value_changed  s,    
 	&&002T 	 	Kr<   c                r  r-  r4  rL   rN   r:   r;   rO   
  s%     P P>>P.2Pr<   c                r5  )z)
The maxium ai context has been changed.
Tr   N)r  r  r  r6  r  r:   r  Z3SetupUI._on_ai_max_context_adjustment_value_changed
  s,    
 	##++557$ 	$ 	Pr<   c                r  r-  r4  rL   rN   r:   r;   rO     !     # #>>#.2#r<   c                r5  )z/
The delay of the candidates has been changed.
Tr   N)rW  r  r  r6  r  r:   r  ZBSetupUI._on_candidates_delay_milliseconds_adjustment_value_changed  s,    
 	..::DDF! 	/ 	#r<   c                r  r  r  rL   rN   r:   r;   rO     s!     4 4,,4+/4r<   c                r  )zO
A change of the lookup table orientation has been requested
with the combobox
NTr   )r  r   rX  )r5  r  r"  r  r   r$  r:   r  Z5SetupUI._on_lookup_table_orientation_combobox_changed  sP     **,	 $$&E*1-K--d . 4 !r<   c                r  r  r  rL   rN   r:   r;   rO   (  s!     7 7,,7+/7r<   c                r  )zN
A change of the preedit underline style has been requested
with the combobox
NTr   )r  r   rY  )r5  r  r"  r  underline_moder$  r:   r  Z.SetupUI._on_preedit_underline_combobox_changed(  sP     **,	 $$&E"-a0N&& ' 7 !r<   c                r  r-  r4  rL   rN   r:   r;   rO   5  s!     # #>>#.2#r<   c                r5  )za
The value for the mininum number of characters before
completion is attempted has been changed.
Tr   N)r[  rG  r  r6  r  r:   rI  Z6SetupUI._on_min_char_complete_adjustment_value_changed5  s,     	""..88:! 	# 	#r<   c                r  r  r  rL   rN   r:   r;   rO   ?  s#     I I#// Id Ir<   c                r  )za
The checkbutton whether to play a sound file on error.

:param widget: The check button clicked
Tr   N)r^  r  r  r  r:   rK  Z#SetupUI._on_error_sound_checkbutton?  s      	V..04Hr<   c                r  r-  r  rL   rN   r:   r;   rO   G  s!     : ::::*.:r<   c                s   V P                   P                  R4       \        V \        R4      \        P
                  P                  V P                  R,          R,          4      R7      p\        P                  RV4       V'       d/   V P                  P                  V4       V P                  VRR7       V P                   P                  R4       R	# )
zA
The button to select the .wav sound file to be played on error.
FzSelect .wav sound file:r   rp   )r  r\   Zinitial_folderr0  Tr   N)rL  r\  r+   r/   osra   dirnamer   r  r  rM  r  r_  r1  r3  r:   rN  Z#SetupUI._on_error_sound_file_buttonG  s    
 	%%33E:#-.GGOO##$45f=?A
 	M8,//88%%4 & 1%%33D9r<   c                r  r-  r4  rL   rN   r:   r;   rO   Z  r7  r<   c                r5  )z1
The value for the debug level has been changed.
Tr   N)ra  rP  r  r6  r  r:   rQ  Z0SetupUI._on_debug_level_adjustment_value_changedZ  s,    
 	((224! 	 	#r<   c                R   < V ^8  d   QhRS[ P                  RS[ P                  RR/# r3   _listboxlistbox_rowr4   Nr   rm  Z
ListBoxRowrL   rN   r:   r;   rO   c  s-     + +KK+69nn+IM+r<   c                s   VP                  4       pV P                  V,          pV P                  f   \        P	                  R4       R# \
        R8  d   V P                  P                  4        V P                  P                  4        V'       d   W@P                  9  d   R# V P                  VRR3.V P                  R,          R,          ,           RR7       ^ V n        V P                  4        R# )	z
Signal handler for selecting an autosetting to add

:param _listbox: The list box used to select the setting to add
:param listbox_row: A row containing a setting name
Nz&self._autosettings_add_popover is NonerA   r@  rp   Tr   rB  i       )	get_indexr/  r0  r  r  r   popdownr3  r   r  r   r,  r2  )r5  r=  r>  r  r  r  r:   _on_autosetting_to_add_selectedZ'SetupUI._on_autosetting_to_add_selectedc  s     %%'99%@))1LLAB*$**224&&++-')C)CCr2$"5"5n"Ef"MM! 	 	# -.)((*r<   c                r;  r<  r?  rL   rN   r:   r;   rO     s-     < <KK<69nn<IM<r<   c                sN   VP                  4       pV P                  V,          pV P                  f   \        P	                  R4       R# \
        R8  d   V P                  P                  4        V P                  P                  4        V'       d   W@P                  9   d   R# T P                  V.V P                   Uu. uF  qUR8w  g   K  VNK  	  up,           RR7       ^ V n
        W@n        V P                  P                  V P                  P                  ^ 4      4       R# u upi )z
Signal handler for selecting a dictionary to add

:param _listbox: The list box used to select the dictionary to add
:param listbox_row: A row containing a dictionary name
Nz&self._dictionaries_add_popover is Noner   Tr   r@  )rB  rp  rq  r  r  r   rC  r3  rj  r  ri  rh  rn  
select_rowget_row_at_index)r5  r=  r>  r  rS   r      &&&   r:   _on_dictionary_to_add_selectedZ&SetupUI._on_dictionary_to_add_selected  s     %%'>>uE))1LLAB*$**224&&++-t555!!F!7!7G!7A;aa!7GG! 	" 	# @A<>B;""--&&77:	<	 Hs   =D"

D"
c                rJ   r3   filter_textr4   NrK   rL   rN   r:   r;   rO     s     ,1 ,1# ,1$ ,1r<   c                s
  a . V n         V P                  f   \        P                  R4       R# \	        V P                  4       \
        P                  ! 4       V n        \        V P                  V P                  4       V P                  P                  R4       V P                  P                  R4       V P                  P                  \
        P                  P                  4       V P                  P                  R4       V P                  P                  RV P                   4       . p\#        \$        P&                  4       F  pW0P(                  9   d   K  \$        P*                  ! VP-                  4       4      P/                  4       p\$        P0                  ! V4      o\2        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   K  V P                   P5                  V4       VP5                  V P7                  V4      ^ ,          4       K  	  V F  p\
        P8                  ! 4       pVP;                  \<        P>                  ! V4      4       VPA                  R4       VPC                  ^ 4       ^pVPE                  V4       VPG                  V4       VPI                  V4       VPK                  V4       V P                  PM                  VR4       K  	  \O        V P                  4       R# )a-  
Fill the listbox of dictionaries to choose from

:param filter_text: The filter text to limit the dictionaries
                    listed. Only dictionaries which contain
                    all the words from the filter text as substrings
                    (ignoring case and accents) are listed.
Nz-self._dictionaries_add_popover_scroll is NoneTr  c              3   ,   <"   T F	  qS9   x  K  	  R # 5irW   r=   rX   Zfilter_wordtext_to_match   & r:   rZ   Z9SetupUI._fill_dictionaries_add_listbox.<locals>.<genexpr>       P<K-/<   Fr   )(rp  rr  r  r  r   r   rm  ro  r   r   r   r  r  r  r  r   rH  r  r6   ZSUPPORTED_DICTIONARIESrj  remove_accentslowerr  locale_text_to_matchallappendr  r   r  r  r  rV  r  r   r   r   r   r  r   )	r5  rJ  rowsrS   filter_wordsr  rk   r9  rM  	   &&      @r:   _fill_dictionaries_add_listboxZ&SetupUI._fill_dictionaries_add_listbox  s4    ;=7008LLHIt<<=),&$7700	2&&2248&&2248&&99$$	&&&CCDI&&..D??	A8::;D---#22;3D3D3FGMMOL$99$?MsP<PsssP<PPP??FFtLD??EaHI < CIIKENN4;;s+,  &QF""6*  (  (##F+**11%<  	//0r<   c                r  r3   search_entryr4   Nr   r  rL   rN   r:   r;   rO     !     9 9 #9489r<   c                H    VP                  4       pV P                  V4       R# )zi
Signal handler for changed text in the dictionaries search entry

:param search_entry: The search entry
N)r  rY  r5  r[  rJ  r3  r:   %_on_dictionaries_search_entry_changedZ-SetupUI._on_dictionaries_search_entry_changed        #++-++K8r<   c                r  r  r  rL   rN   r:   r;   rO     s     63 63#** 63 63r<   c                s   \        V P                  4      \        P                  8  dT   \	        V R\        P                   R2R\        R4      \        P                  P                  R7      P                  4        R# \        V\        P                  P                  R7      V n        V P                  pVP                  R4       \        P                  ! \        P                   P"                  ^R	7      pVP                  R4       ^pVP%                  V4       VP'                  V4       VP)                  V4       VP+                  V4       \        P,                  ! \        R
4      R7      pVP/                  \        P0                  P2                  4       \5        W54       \        P6                  ! 4       pVP9                  RV P:                  4       \5        W64       \        P<                  ! 4       pWpn        VPA                  R4       VPC                  R4       VPE                  R4       VPG                  R4       \5        W74       V PI                  R4       \5        W#4       \K        V 4      w  r\M        VR,          4      p
\M        V	R,          4      pVPO                  W4       V PP                  PS                  V\T        PV                  4       \Y        V4       R# )u]   
Signal handler called when the “add” button to add another
dictionary has been clicked.
z&The maximum number of dictionaries is rV      ⛔r  r  messager\   button_labelmessage_typeNZpointing_toZpositionTr   zAdd dictionaryrj   r   FrA         ?)-r   rj  r6   r  r(   r/   r   MessageTypeERRORr  r"   r   RIGHTrq  r   r   r   r   r   r   r   r   r   r8  r  r  r   r  r   r`  r  rr  r   r   r   r!  rY  r%   rb   set_size_requestr   popupr    ZADD_DICTIONARYr#   r5  r  popovervboxr9  rk   r[  scrollwindow_widthwindow_heightdesired_widthdesired_height   &&          r:   rY  Z+SetupUI._on_dictionaries_add_button_clicked  s-   
 &&'667  ==>aAuX __224 59DF)7)9)9)?)?*A&00d#ww3??#;#;RH4 f%F#F#v&		"2 34($(dHH	J$%##%06-4 4 $$U+$$T*$++B/' (7(=%L3./]S01  ?!!'9+C+CD$\2r<   c                rJ   r3   r  r4   Nr   rL   rN   r:   r;   rO   
  s     6 6S 6T 6r<   c                sv   V P                   p^ Tu;8:  d   \        V P                  4      8  g    R#  R# V P                  RV V P                  V^,           R ,           pV'       g   R.pV P                  VRR7       RV n         RV n        V P
                  '       d   V P
                  P                  4        R# R# )Z   
Signal handler called when the “remove” button for
an input method has been clicked.
Nr   Tr   rA   r   )ri  r   rj  r  rh  rn  unselect_all)r5  r  r  dictionary_names   &*  r:   r[  Z.SetupUI._on_dictionaries_remove_button_clicked
  s    
 DDE7C 6 677  8  226E:"44UQYZ@A !'x!!"2T!J?A<>@;%%%&&335 &r<   c                rJ   rw  r   rL   rN   r:   r;   rO   !  s     D D D Dr<   c                ~   V P                   p^ Tu;8  d   \        V P                  4      8  g    R#  R# V P                  V P                  RV^,
           V P                  V,          .,           V P                  V^,
          ,          .,           V P                  V^,           R ,           RR7       V^,
          V n         V P                  V^,
          ,          V n        V P
                  f   \        P                  R4       R# V P
                  P                  V P
                  P                  V^,
          4      4       R# )u   
Signal handler called when the “up” button for a dictionary
has been clicked.

Increases the priority of the selected dictionary.
NTr   r  
ri  r   rj  r  rh  rn  r  r  rE  rF  r5  r  r     &* r:   r^  Z*SetupUI._on_dictionaries_up_button_clicked!  s     DD563t5566  7 !!"":EAI.%%e,-.%%eai012 $$UQYZ01 " 	" 	# @Eqy<""519- 	;%%-LL=>""--&&77	B	Dr<   c                rJ   rw  r   rL   rN   r:   r;   rO   <  s     D D3 D4 Dr<   c                ~   V P                   p^ Tu;8:  d$   \        V P                  4      ^,
          8  g    R#  R# V P                  V P                  RV V P                  V^,           ,          .,           V P                  V,          .,           V P                  V^,           R ,           RR7       V^,           V n         V P                  V^,           ,          V n        V P
                  f   \        P                  R4       R# V P
                  P                  V P
                  P                  V^,           4      4       R# )u   
Signal handler called when the “down” button for a dictionary
has been clicked.

Lowers the priority of the selected dictionary.
NTr   r  r}  r~  r  r:   r`  Z,SetupUI._on_dictionaries_down_button_clicked<  s!    DDE;C 6 67!;;  < !!""6E*%%eai012%%e,-. $$UQYZ01 " 	" 	# @Eqy<""519- 	;%%-LL=>""--&&77	B	Dr<   c                r  r  r  rL   rN   r:   r;   rO   W  s#     (Q (Qszz (Qd (Qr<   c                s  a  \        4       pS P                   F  pVP                  R4      ^ ,          R8X  d   VP                  R4       K3  \        P
                  ! V4      w  ppV'       d   KV  \        P                  ! 4       R
9   d   VP                  RV,           4       K  VP                  RVP                  R4      ^ ,          ,           4       K  	  V'       g   R# R V 3R llp\        V4      p\        WrVR	7       R# )u   
Signal handler called when the “Install missing dictionaries”
button is clicked.

Tries to install the appropriate dictionary packages.
r/   r  zpython3-libvoikkozmyspell-z	hunspell-Nc                (    V ^8  d   QhR\         RR/# r3   _statusr4   NrK   r7   r9   r:   r;   Z>SetupUI._on_install_missing_dictionaries.<locals>.__annotate__t       	H 	H 	H 	Hr<   c                    < SP                  4        SP                  P                  R \        P                  P                  \        R4      4      4       R# r   %Y-%m-%d %H:%M:%SNrs  r   rH  r   rk  rl  r
   r  r5     &r:   on_completeZ=SetupUI._on_install_missing_dictionaries.<locals>.on_completet  ?    ++- OO%%,''1D(EFHr<   r  )Zopensusezopensuse-leapzopensuse-tumbleweedZsledZsles)	Zsetrj  r  Zaddr6   r  Z	distro_idr   r-   )r5  r  Zmissing_dictionary_packagesrS   r  r  r  parent_windows   f&      r:   rb  Z(SetupUI._on_install_missing_dictionariesW  s     14#**Dzz#q!T)+//0CD $,#D#DT#J!x **,!! 477&-/ 477'$**S/!*<<>! +$ +	H 	H ,F3$K	Qr<   c                r  r  r  rL   rN   r:   r;   rO     s     ? ?

 ?t ?r<   c                s   a  S P                    Uu0 uF  q"R8w  g   K  VkK  	  ppV'       g   R# R V 3R llp\        V4      p\        WSVR7       R# u upi )u   
Called when the “Download dictionaries” button is clicked.

Downloads missing dictionaries and updates existing dictionries
r   Nc                r  r  rK   r7   r9   r:   r;   Z7SetupUI._on_download_dictionaries.<locals>.__annotate__  r  r<   c                 r  r  r  r  r  r:   r  Z6SetupUI._on_download_dictionaries.<locals>.on_complete  r  r<   r  )rj  r   r.   )r5  r  rS   Z	languagesr  r  s   f&    r:   rd  Z!SetupUI._on_download_dictionaries  sa     "33G3Tv~DD3 	 G	H 	H ,F3)+	?Gs
   AAc                rJ   rw  r   rL   rN   r:   r;   rO     s     
P 
Pc 
Pd 
Pr<   c                    V P                   R8X  d(   V P                  \        P                  ! R4      4       R# V P                  V P                  R,          R,          4       R# )u   Signal handler called when the “Set to default” button for the
dictionaries is clicked.

Sets the dictionaries to the default for the current locale.

rP   rA   Nr   rD   )r   r  r6   re  r   r  r  r:   rg  Z/SetupUI._on_dictionaries_default_button_clicked  sM      00%%h&G&G&KL!!$"5"5l"CI"NOr<   c                r;  r<  r?  rL   rN   r:   r;   rO     s2     @ @KK@69nn@IM@r<   c                s   V'       d   VP                  4       pW0n        V P                  V,          V n        V P                  P                  R4       V P                  P                  V^ 8  4       V P                  P                  V\        V P                  4      ^,
          8  4       R# RV n        RV n        V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       R# )z
Signal handler called when a dictionary is selected

:param _listbox: The listbox used to select dictionaries
:param listbox_row: A row containing the dictionary name
TrA   FNr   )	rB  ri  rj  rh  rZ  r\  r]  r_  r   )r5  r=  r>  r     &&& r:   r  ZSetupUI._on_dictionary_selected  s     ))+ECH@&&u- ?,,::4@((66uqyA**88D223a779 CED?CED@,,::5A((66u=**88?r<   c                r;  r<  r?  rL   rN   r:   r;   rO     s-     = =KK=69nn=IM=r<   c                s   VP                  4       pV P                  V,          pV P                  f   \        P	                  R4       R# \
        R8  d   V P                  P                  4        V P                  P                  4        V'       d   W@P                  9   d   R# V P                  V.V P                  ,           RR7       ^ V n
        W@n        V P                  P                  V P                  P                  ^ 4      4       R# )z
Signal handler for selecting an input method to add

:param _listbox: The list box used to select
                      the input method to add
:param listbox_row: A row containing an input method name
Nz'self._input_methods_add_popover is NoneTr   r@  )rB  r  r  r  r  r   rC  r3  r  r  r  r  r  rE  rF  )r5  r=  r>  r  r  r  r:    _on_input_method_to_add_selectedZ(SetupUI._on_input_method_to_add_selected  s     %%'2259**2LLBC*$++335'',,.c///ED&&& 	 	?9:68;5##..''88;	=r<   c                rJ   rI  rK   rL   rN   r:   r;   rO     s     D2 D23 D24 D2r<   c                s  a . V n         V P                  f   \        P                  R4       R# \	        V P                  4       \
        P                  ! 4       V n        \        V P                  V P                  4       V P                  P                  R4       V P                  P                  R4       V P                  P                  \
        P                  P                  4       V P                  P                  R4       V P                  P                  RV P                   4       . p/ p^0p\#        4       P%                  4        EF  pWPP&                  9   d   K  \(        P*                  ! VP-                  4       4      P/                  4       pV P0                  P3                  V4      w  rxVP5                  RR4      P-                  4       oVP/                  R4      ^ ,          p	SR\(        P6                  ! V	4      ,           ,          o\8        ;QJ d    V3R lV 4       F  '       d   K   R	M	  RM! V3R lV 4       4      '       g   EK  V P                   P;                  V4       VP;                  V4       \=        R
^04      W7&   \#        4       P?                  V4      p
V
'       g   EKb  \@        PB                  PE                  WVR4      p\
        PF                  PI                  V4      W7&   EK  	  V EFE  p\
        PJ                  ! 4       pVPM                  \N        PP                  ! V4      4       VPS                  R4       VPU                  ^ 4       ^pVPW                  V4       VPY                  V4       VP[                  V4       VP]                  V4       \
        P^                  ! 4       pVPa                  \
        Pb                  Pd                  4       VPg                  ^
4       W7,          Pi                  ^04       \        WV,          4       \        W4       V P                  Pk                  VR4       EKH  	  \m        V P                  4       R# )a  
Fill the listbox of input methods to choose from

:param filter_text: The filter text to limit the input methods
                    listed. Only input methods which contain
                    the filter text as a substring
                    (ignoring case and accents) are listed.
                    The language part of the input method is
                    expanded using itb_util.locale_text_to_match()
                    into the full name of the language, in English,
                    the endonym, and in the language of the current
                    locale and all words from filter_text have to
                    match something in there.
Nz.self._input_methods_add_popover_scroll is NoneTr  rQ   rA   rT   c              3   rK  rW   r=   rL  rN  r:   rZ   Z:SetupUI._fill_input_methods_add_listbox.<locals>.<genexpr>  rO  rP  Fr  r   )7r  r  r  r  r   r   rm  r  r   r   r   r  r  r  r  r   r  r>   Zget_imesr  r6   rQ  rR  r  r   r  ZreplacerS  rT  rU  r   r  r   ZPixbufZnew_from_file_at_scaleImageZnew_from_pixbufr   r  r  r  rV  r  r   r   r   r   r   r   r   r   r   set_pixel_sizer  r   )r5  rJ  rV  Zimagesr  r  rW  r  _pathZime_languager  Zpixbufrk   r9  r  rM  s   &&             @r:   _fill_input_methods_add_listboxZ'SetupUI._fill_input_methods_add_listbox  s+    02,119LLIJt==>*-++-'$8811	3''33D9''33D9''::$$	&''DDTJ''//DAA	C	#%..0C(((#22;3D3D3FGMMOLGGJCKKR0668M99S>!,LS8#@#@#NNNMsP<PsssP<PPP44;;C@C 1/2F,.77<	9&--DD!i?F"%))";";F"CFK# 1$ CIIKENN4;;s+,  &QF""6*  (  (##F+779D  !;!;<R K&&r*d3K(d"++224<! " 	001r<   c                r  rZ  r\  rL   rN   r:   r;   rO     s!     : : #:48:r<   c                r^  )zj
Signal handler for changed text in the input methods search entry

:param search_entry: The search entry
N)r  r  r_  r3  r:   &_on_input_methods_search_entry_changedZ.SetupUI._on_input_methods_search_entry_changed  s      #++-,,[9r<   c                r  r  r  rL   rN   r:   r;   rO   (  s     53 533:: 53$ 53r<   c                s   \        V P                  4      \        P                  8  dT   \	        V R\        P                   R2R\        R4      \        P                  P                  R7      P                  4        R# \        V\        P                  P                  R7      V n        V P                  pVP                  R4       \        P                  ! \        P                   P"                  ^R	7      pVP                  R4       ^pVP%                  V4       VP'                  V4       VP)                  V4       VP+                  V4       \        P,                  ! \        R
4      R7      pVP/                  \        P0                  P2                  4       \5        W54       \        P6                  ! 4       pVP9                  RV P:                  4       \5        W64       \        P<                  ! 4       pWpn        VPA                  R4       VPC                  R4       VPE                  R4       VPG                  R4       \5        W74       V PI                  R4       \5        W#4       \K        V 4      w  r\M        VR,          4      p
\M        V	R,          4      pVPO                  W4       V PP                  PS                  V\T        PV                  R7       \Y        V4       R# )u_   
Signal handler called when the “add” button to add another
input method has been clicked.
z'The maximum number of input methods is rV   rb  r  rc  Nrg  Tr   zAdd input methodrj   r   FrA   rh  Zkind)-r   r  r6   r  r(   r/   r   ri  rj  r  r"   r   rk  r  r   r   r   r   r   r   r   r   r   r8  r  r  r   r  r   r  r  r  r   r   r   r!  r  r%   rb   rl  r   rm  r    ZADD_INPUT_METHODr#   rn  rv  r:   rv  Z,SetupUI._on_input_methods_add_button_clicked(  s-   
 t!!"h&N&NN  >>?qBuX __224 59DF*8)9)9)?)?+A'11d#ww3??#;#;RH4 f%F#F#v&		"4 56($(dII	K$%##%17.4 4 $$U+$$T*$,,R0' (7(=%L3./]S01  ?!!'	0J0J!K$\2r<   c                rJ   rw  r   rL   rN   r:   r;   rO   _  s     3 3c 3d 3r<   c                s   V P                   p^ Tu;8:  d   \        V P                  4      8  g    R#  R# V P                  RV V P                  V^,           R ,           pV'       g   R.pV P                  VRR7       RV n         RV n        V P
                  f   \        P                  R4       R# V P
                  P                  4        R# )rx  NZNoIMETr   rA   r  r   )	r  r   r  r  r  r  r  r  ry  )r5  r  r  Zcurrent_imesr{  r:   rx  Z/SetupUI._on_input_methods_remove_button_clicked_  s    
 >>E3C 2 233  4 **6E2,,UQYZ89 $9LlTB9;68:5&&.LL>?##002r<   c                rJ   rw  r   rL   rN   r:   r;   rO   x  s     E E# E$ Er<   c                r|  )u   
Signal handler called when the “up” button for an input method
has been clicked.

Increases the priority of the selected input method.
NTr   r  
r  r   r  r  r  r  r  r  rE  rF  r~  r  r:   rz  Z+SetupUI._on_input_methods_up_button_clickedx  s    >>523t1122  3 z	*!!%()*!!%!),-.   ,- " 	 	# :?6uqy) 	5&&.LL>?##..''88C	Er<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     E EC ED Er<   c                r  )u   
Signal handler called when the “down” button for an input method
has been clicked.

Lowers the priority of the selected input method.
NTr   r  r  r~  r  r:   r|  Z-SetupUI._on_input_methods_down_button_clicked  s    >>E7C 2 23a77  8 v&!!%!),-.!!%()*   ,- " 	 	# :?6uqy) 	5&&.LL>?##..''88C	Er<   c                r  r  r  rL   rN   r:   r;   rO     s)     ]P ]P**]P)-]Pr<   c                s
   V P                   '       g   R# V P                   p\        P                  RV4       . p \        P                  ! V4      pVP                  4       pV'       g   R# \        V\        P                  P                  R7      V n        V P                  pVP                  R4       \        P                   ! \        P"                  P$                  ^R7      p^pVP'                  V4       VP)                  V4       VP+                  V4       VP-                  V4       \        P                   ! \        P"                  P.                  ^
R7      p	\        P0                  ! 4       p
V P                  P3                  V4      w  rV
P5                  \6        P8                  ! V4      4       ^pV
P'                  V4       V
P)                  V4       V
P+                  V4       V
P-                  V4       \;        4       P=                  V4      pV'       d<   \        P>                  PA                  V4      pVPC                  ^04       \E        W4       \E        W4       \E        Wy4       \        PF                  ! 4       pVP                  R4       VPI                  R4       VPK                  R4       VPM                  R4       VPO                  R4       \        PP                  ! 4       pVP                  R4       VPS                  R4       VPU                  \        PV                  PX                  4       \        PZ                  ! \\        \\        \\        4      pVP_                  V4       V F  w  ppp\a        VVVV34       K  	  \        Pb                  ! \e        R4      \        Pf                  ! 4       ^ R	7      pVPi                  ^ 4       VPk                  V4       \        Pf                  ! 4       p\        Pb                  ! \e        R
4      V^R	7      pVPi                  ^4       VPk                  V4       VPm                  RR4       VPo                  RV Pp                  V4       VPo                  RV Pr                  4       \E        VV4       \E        W4       \E        Wg4       \u        V 4      w  pp\w        VR,          4      p\w        VR,          4      pVPy                  VV4       V Pz                  P}                  V\~        P                  R7       R#   \         d7   p\        P                  RY%P                  P                  T4        Rp?ELRp?ii ; i)za
Called when the button to set options for the currently selected
input method has been clicked.
NzOption setup for %s%Exception when opening ime %s: %s: %srg  Tr   FZVariabler   r  r  r  zquery-tooltiprh  r  )Ar  r  r  r  r  get_variablesr   	exceptionr   __name__r"   r   r   rk  r  r   r   r   r   r   r   r   r   r   r   r  r  r  r  r>   r  r  Znew_from_filer  r   r  r   r   r   r!  r  r  r  r  r  r  rG   r  r,   r  r/   r  r  r  r  r   7_on_input_methods_options_popover_treeview_value_edited8_on_input_methods_options_popover_treeview_query_tooltipr%   rb   rl  r   rm  r    ZINPUT_METHOD_OPTIONS)r5  r  r  	variablestransr  ro  rp  r9  r  rk   r  r  r  r  rq  treeviewZtreeview_modelrS   r?   r  Ztreeview_column_0Zvalue_rendererZtreeview_column_2rr  rs  rt  ru  s   &&                          r:   r  Z0SetupUI._on_input_methods_options_button_clicked  s2    <<<;;*C002		6!005E++-I
 .<)9)9)?)?/A+55d#ww3??#;#;RHf%F#F#v&ww3??#=#=rJ		^^CC
t{{3'(v&V$V$'$&//4	II++I6E  $d"$$##%T"4 4 $$U+$$T*<<>t$  & 5 5 : :;sC5>**3&T;^dK-GH +4.. jM  " 	,,Q/01--/.. gJ 	,,Q/01##J5HH	 	II	K 	&(#$' (7(=%}L3./]S01  ?!!'	0N0N!O_  	67__--u6 6	6s   &T U+UUc          
      ^   < V ^8  d   QhRS[ P                  RS[RS[RS[ P                  RR/# r3   _cellra   new_edited_valuer  r4   Nr   r  rG   r  rL   rN   r:   r;   rO     sN     ?H ?H''?H ?H "	?H
 ==?H
 &*?Hr<   c           	     s^   V P                   p. p \        P                  ! V4      pVP                  4       pV'       g   \
        P                  RV4       R# VP                  V4      p	VP                  V	^ 4      p
VP                  V	^4      p XP                  W/4       TP                  4       pY8X  d   \
        P                  R4       R# T F  w  rpY8w  d   K  TT8X  d   \
        P                  R	4        R# TT8w  d   \
        P                  R
YT4       TP                  T	^T4       \
        P                  RT4       \
        P                  R4       T P                  P                  R\         P"                  P%                  \'        R4      4      4       K  	  R#   \         d7   p\
        P                  RYXP                  P                  T4        Rp?ELRp?ii ; i  \         d   p\
        P                  RYTP                  P                  T4       \
        P                  R4        XP                  T
R/4        Rp?EL  \         dR   p\
        P                  RT
RTP                  P                  T4       \
        P                  R4        Rp? Rp?R# Rp?ii ; iRp?ii ; i)zX
Called when the value of an m17n input method variable has
been edited in the treeview
r  Nz'Could not find any variables for ime %sz'Exception when setting %s to %s: %s: %sz#Trying to set default value now ...rA   zGiving up and returning.z1No variables were changed when saving, returning.z7Value not changed, should never happen here, returning.z.Tried to set %s to %s but actual result was %sz Successfully changed value to %sz0Tell typing booster to reload all input methods.r   r  )r  r  r  r  r   r  r  r   r  r  get_iterr  Zset_variablesrH  r  r   r   rk  rl  r
   )r5  r  ra   r  r  r  Zold_variablesr  r  iteratorZold_name	old_valueZerror2r  rS   Z_descriptionr  s   &&&&&            r:   r  Z?SetupUI._on_input_methods_options_popover_treeview_value_edited  sC    ;;46	6!005E!//1M
 LLBCH>>$'??8Q/OOHa0		 <=  '')	%LLLM+4'T	!MO((DE3 OOHa/KK:EBLLBDOO%%,''1D(EFH ,5?  	67__--u6 6	6  	9((%1 LL>?##XrN33   =bOO,,f6 78	sU   &F G" G)+GG"J,-AJ'/IJ$AJJ'J$$J''J,c                sf   < V ^8  d   QhRS[ P                  RS[RS[RS[RS[ P                  RS[/# )r3   r  x_posy_poskeyboard_tiptooltipr4   )r   r  rb   rf   ZTooltiprL   rN   r:   r;   rO   O  sO      ll  	
  [[ &*r<   c                s    \        WW44      w  rgrV'       d   Ve	   Ve   V	f   R# VP                  V	^4      p
VP                  V
4       VP                  WX4       R# )zQ
Called to show the descriptions of the m17n input method variables
as tooltips.
FT)r&   r  r  Zset_tooltip_row)Zclsr  r  r  r  r  okr  ra   Zitrr?   s   &&&&&&     r:   r  Z@SetupUI._on_input_methods_options_popover_treeview_query_tooltipN  sY      4U 24U]dlckooc1-%  /r<   c                r  r  r  rL   rN   r:   r;   rO   c  s!     (& (&**(&)-(&r<   c                s   V P                   '       g   R# V P                   pRpRpRpRp\        4       P                  V4      p\        4       P                  V4      p\        4       P	                  V4      p\        4       P                  V4      pTpV'       d   VRV,           ,          pV'       d   VRV,           ,          pRpV'       d   TpV'       d   VRV,           ,          p\        \        V4      VVR7       R# )zB
Show a help window for the input method selected in the
listbox.
NrA   z   z

############################################################
Complete file implementing the input method follows here:
############################################################
)r  r\   contents)r  r>   r  r  Zget_descriptionZget_content
HelpWindowr   )	r5  r  r  ra   r\   r?   ZcontentZwindow_titleZwindow_contentss	   &&       r:   r~  Z-SetupUI._on_input_methods_help_button_clickedc  s     <<<;;!**3/ ",,S1&(88="$005EEM)LEDL(L)O 	
O 	&v.$	&r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     	M 	Ms 	Mt 	Mr<   c                r  )u   Signal handler called when the “Set to default”
button for the input methods is clicked.

Sets the input methods to the default for the current locale.
rP   rA   Nr   rD   )r   r  r6   r  r   r  r  r:   r  Z0SetupUI._on_input_methods_default_button_clicked  sM      00!!("D"DR"HId11-@KLr<   c                r;  r<  r?  rL   rN   r:   r;   rO     s2     (D (DKK(D69nn(DIM(Dr<   c                s   V'       Ede   VP                  4       pW0n        V P                  V,          V n        V P                  P                  R4       V P                  P                  ^ Tu;8  ;'       d    \        V P                  4      8  Mu 4       V P                  P                  ^ Tu;8*  ;'       d     \        V P                  4      ^,
          8  Mu 4       V P                  P                  R4       . p \        P                  ! V P                  4      pVP                  4       pV P$                  P                  R4       V'       d   V P$                  P                  R4       R# R# RV n        RV n        V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       V P$                  P                  R4       R#   \         dB   p\        P                  RT P                  TP                   P"                  T4        Rp?EL Rp?ii ; i)z
Signal handler called when an input method is selected

:param _listbox: The listbox used to select input methods
:param listbox_row: A row containing the input method name
Tr  NFrA   r   )rB  r  r  r  rw  r\  ry  r   r{  r}  r  r  r  r   r  r  r   r  r  )r5  r=  r>  r  r  r  r  s   &&&    r:   r  Z!SetupUI._on_input_method_selected  s    ;))+E=B:""5) 9--;;DA))77E33C 2 2335++99U88S!3!34q88:++99$?I5%44AAC!//1	 ..<<UC22@@F  =?D9=?D:--;;EB))77>++99%@++99%@..<<UC!  5  ;AAOO,,e5 55s   <0H I6IIc                l   < V ^8  d   QhRS[ P                  RS[ P                  RS[ P                  RR/# )r3   r  treepathr  r4   Nr   r  r  r  rL   rN   r:   r;   rO     sA     = =ll= ll= &&	= ,0	=r<   c                s4    \         P                  RWV4       R# )z
Signal handler for activating a row in the autosettings treeview

:param treeview: The autosettings treeview
:param treepath: The path of the activated row in the treeview
:param column: The column of the activated row in the treeview
z%s %s %sN)r  r  )r5  r  r  r     &&&&r:   r  Z/SetupUI._on_autosettings_treeview_row_activated  s     	ZV<r<   c                r  r3   	selectionr4   Nr   ZTreeSelectionrL   rN   r:   r;   rO     s'     @ @ ..@37@r<   c                s   VP                  4       w  r#\        V4      ^8X  d   V^ ,          P                  4       ^8X  d   \        V^ ,          P                  4       4      ^8X  d   V^ ,          P                  4       ^ ,          pW@n        V P
                  P                  R4       V P                  P                  V^ 8  4       V P                  P                  V\        V P                  R,          R,          4      ^,
          8  4       R# RV n        V P
                  P                  R4       V P                  P                  R4       V P                  P                  R4       R# )z4A row in the autosettings treeview has been selectedTr@  rp   FNr   )
Zget_selected_rowsr   Z	get_depthZget_indicesr,  r$  r\  r&  r(  r   )r5  r  Z_list_storeZtree_path_listr  r$  r:   r  Z.SetupUI._on_autosettings_treeview_row_selected  s    )2(C(C(E%1$q!++-2N1%11349"1%113A6E05-,,::4@((66uqyA**88D//?GH1LLN 13D-,,::5A((66u=**88?r<   c          
      r  r  r  rL   rN   r:   r;   rO     sN     A0 A0''A0 A0 "	A0
 ==A0
 &*A0r<   c                s   \         P                  RW#4       RV9   d   \         P                  R4       R#  \        V4      pV P
                  R,          R,          p^ Xu;8:  d   \        V4      8  g   M \         P                  R4       R# VP                  V4      pVP                  V^ 4      pVP                  V^4      p	VP                  V^4      p
W8X  d   \         P                  R	4       R# WP                  9   d   V P                  V,          R
,          pVR9   d    \        V4      p\        V4      pMVR9   d#    \        ^ \        V4      4      p\        V4      pMjVR8X  d    \        V4      p\        V4      pMKVR8X  dE   VP!                  4       P#                  4       R9   d    VP!                  4       P#                  4       pMRpVP%                  V^V4       VR,          pWV
3W&   V P'                  V4       R#   \        \        3 d    \         P                  R4        ELi ; i  \        3 d8   p\         P                  RTP                  P                  T4       Rp Rp?LRp?ii ; i  \        3 d8   p\         P                  RTP                  P                  T4       Rp Rp?LRp?ii ; i  \        3 d9   p\         P                  RTP                  P                  T4       Rp Rp?EL-Rp?ii ; i)I
Called when the value of an autosetting has been edited in the treeview
path=%s, new_edited_value=%s:&":" found in path, should never happenN3Cannot convert path to integer, should never happenr@  rp   index out of rangezValue not changedrh   z-Exception converting string to integer %s: %srA   rc   z+Exception converting string to float %s: %sre   NNN)rY   r   )r   r   )ZtrueZfalse)r  r  rb   	TypeErrorr   r   r   r  r  r   rG   r  r   r  Zmaxrd   rR  striprH  r  )r5  r  ra   r  r  r  r  r  old_settingr  
old_regexprh   Zvalue_integerr  Zvalue_floatnew_autosettingss   &&&&&           r:   r  Z.SetupUI._on_autosettings_treeview_value_edited  s    	3TL$;LLAB	PIE !//?GE2C 122LL-.>>$'ooh2OOHa0	__Xq1
(LL,-44433K@NJZ'*$'(8$9M'*='9$ z)*$'3/?+@$AM'*='9$ s"*"'(8"9K'*;'7$ s"#))+1137HH'7'='='?'E'E'G$')$!%56,Q/#.*"M./e :& 	PLLNO	P& #} *$$G00%9 (*$	* #} *$$G00%9 (*$	* #} *$$E00%9 (*$	*sY   H "H.  I4 *J: &H+*H+.I1:-I,,I14J7 -J22J7:K>-K99K>c          
      r  )r3   r  ra   new_edited_regexpr  r4   Nr  rL   rN   r:   r;   rO   )  sG     0 0''0 0  #	0
 ==0
 &*0r<   c                s   \         P                  RW#4       RV9   d   \         P                  R4       R#  \        V4      pV P
                  R,          R,          p^ Xu;8:  d   \        V4      8  g   M \         P                  R4       R# VP                  V4      pVP                  V^ 4      pVP                  V^4      p	VP                  V^4      p
W8X  d   \         P                  R	4       R# VP                  V^V4       VR
,          pWV3W&   V P                  V4       R#   \        \        3 d    \         P                  R4        ELi ; i)r  r  r  r  Nr  r@  rp   r  zRegexp not changedr  )r  r  rb   r  r   r   r   r  r  rH  r  )r5  r  ra   r  r  r  r  r  r  r  r  r  s   &&&&&       r:   r  Z/SetupUI._on_autosettings_treeview_regexp_edited)  s'    	3TM$;LLAB	PIE !//?GE2C 122LL-.>>$'ooh2OOHa0	__Xq1
*LL-.!%67,Q/#.;L"M./! :& 	PLLNO	Ps   D% %&EEc                rJ   rI  rK   rL   rN   r:   r;   rO   J  s     *1 *1# *1$ *1r<   c                s  a . V n         V P                  f   \        P                  R4       R# \	        V P                  4       \
        P                  ! 4       V n        \        V P                  V P                  4       V P                  P                  R4       V P                  P                  R4       V P                  P                  \
        P                  P                  4       V P                  P                  R4       V P                  P                  RV P                   4       . p\#        V P$                  4       F  p\&        P(                  ! VP+                  4       4      P-                  4       pVo\.        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   Ky  V P                   P1                  V4       VP1                  V4       K  	  V F  p\
        P2                  ! 4       pVP5                  \6        P8                  ! V4      4       VP;                  R4       VP=                  ^ 4       ^pVP?                  V4       VPA                  V4       VPC                  V4       VPE                  V4       V P                  PG                  VR4       K  	  \I        V P                  4       R# )a-  
Fill the listbox of autosettings to choose from

:param filter_text: The filter text to limit the autosettings
                    listed. Only autosettings which contain
                    all the words from the filter text as substrings
                    (ignoring case and accents) are listed.
Nz-self._autosettings_add_popover_scroll is NoneTr  c              3   rK  rW   r=   rL  rN  r:   rZ   Z9SetupUI._fill_autosettings_add_listbox.<locals>.<genexpr>f  rO  rP  Fr   )%r/  r1  r  r  r   r   rm  r.  r   r   r   r  r  r  r  r   rD  r  r   r6   rQ  rR  r  rT  rU  r   r  r  r  rV  r  r   r   r   r   r  r   )	r5  rJ  rV  r  rW  r  rk   r9  rM  rX  r:   _fill_autosettings_add_listboxZ&SetupUI._fill_autosettings_add_listboxJ  s
    35/008LLHIt<<=),&$7700	2&&2248&&2248&&99$$	&&&CCDI&&..D@@	Bd889G#22;3D3D3FGMMOL#MsP<PsssP<PPP77>>wGG$ : CIIKENN4;;s+,  &QF""6*  (  (##F+**11%<  	//0r<   c                r  rZ  r\  rL   rN   r:   r;   rO   v  r]  r<   c                r^  )zi
Signal handler for changed text in the autosettings search entry

:param search_entry: The search entry
N)r  r  r_  r3  r:   %_on_autosettings_search_entry_changedZ-SetupUI._on_autosettings_search_entry_changedv  ra  r<   c                r  r  r  rL   rN   r:   r;   rO     s     %3 %3#** %3 %3r<   c                s   \        V\        P                  P                  R7      V n        V P                  pVP                  R4       \        P                  ! \        P                  P                  ^R7      pVP                  R4       ^pVP                  V4       VP                  V4       VP                  V4       VP                  V4       \        P                  ! \        R4      R7      pVP                  \        P                   P"                  4       \%        W54       \        P&                  ! 4       pVP)                  RV P*                  4       \%        W64       \        P,                  ! 4       pVP/                  R4       VP1                  R4       VP3                  R4       VP5                  R4       \%        W74       Wpn        V P9                  R4       \%        W#4       \;        V 4      w  r\=        VR	,          4      p
\=        V	R	,          4      pVP?                  W4       V P@                  PC                  V\D        PF                  R
7       \I        V4       R# )uR   
Signal handler called when the “add” button to add
an autosetting is clicked
rg  Tr   r   rj   r   FrA   rh  r  N)%r"   r   r   rk  r0  r   r   r   r   r   r   r   r   r   r/   r8  r  r  r   r  r   r  r  r   r   r   r!  r1  r  r%   rb   rl  r   rm  r    ZADD_AUTOSETTINGr#   )r5  r  ro  rp  Zpaddingrk   r[  rq  rr  rs  rt  ru  rv  r:   r#  Z+SetupUI._on_autosettings_add_button_clicked  s   
 *8)9)9)?)?*A&00d#ww3??#;#;RH4 g&G$G$w'		"6 78($(dHH	J$%##%4 4 $$U+$$T*$06-++B/' (7(=%L3./]S01  ?!!'	0I0I!J$\2r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     # #S #T #r<   c                s   V P                   p\        P                  RV4       V P                  R,          R,          p^ Tu;8:  d   \	        V4      8  g    R#  R# RV n         V P                  VRV W2^,           R ,           RR7       R# )uX   
Signal handler called when the “remove” button to remove
an autosetting is clicked
zremove index %sr@  rp   NTr   r   )r,  r  r  r   r   r  r5  r  r  r  r{  r:   r%  Z.SetupUI._on_autosettings_remove_button_clicked  s    
 11&. //?GE2C 122  3 ,.)fu%(9!)*(EE! 	 	#r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     + + + +r<   c                sj   V P                   pV P                  R,          R,          p^ Tu;8  d   \        V4      8  g    R#  R# V P                  VRV^,
           W2,          .,           W2^,
          ,          .,           W2^,           R ,           RR7       V^,
          V n         V P	                  4        R# )uU   
Signal handler called when the “up” button to move
an autosetting up is clicked
r@  rp   NTr   r,  r   r   r  r2  r  r{  r:   r'  Z*SetupUI._on_autosettings_up_button_clicked  s    
 11 //?G513011  2 juqy) '() +,-  	
+, " 	 	# -2AI)((*r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     + +3 +4 +r<   c                sj   V P                   pV P                  R,          R,          p^ Tu;8:  d   \        V4      ^,
          8  g    R#  R# V P                  VRV W2^,           ,          .,           W2,          .,           W2^,           R ,           RR7       V^,           V n         V P	                  4        R# )uY   
Signal handler called when the “down” button to move
an autosetting down is clicked
r@  rp   NTr   r  r  r{  r:   r)  Z,SetupUI._on_autosettings_down_button_clicked  s    
 11 //?GE6C 12Q66  7 fu% +,- '()  	
+, " 	 	# -2AI)((*r<   c                r  )r3   bufferr4   N)r   r  rL   rN   r:   r;   rO     s%     C C..C-1Cr<   c                s    VP                  VP                  4       VP                  4       R4      P                  4       pV P	                  VRR7       R# )zAThe contents of the buffer of the ai system message have changed.FTr   N)r  get_start_iterget_end_iterr  r}  )r5  r  rd  r3  r:   r  Z-SetupUI._on_ai_system_message_textview_buffer  sI     //!!#V%8%8%:ECCH57 	""7T"Br<   c                r  r  r=   rL   rN   r:   r;   rO     s     ; ;$ ;r<   c                s^   V P                   P                  4       pV P                  P                  4       pVP                  VP	                  4       VP                  4       R4      p\        P                  RW4       VP                  4       '       dj   VP                  4       '       dT   V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       R# V'       g	   V'       dT   V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       R# V P                  P                  R4       V P                  P                  R4       V P                  P                  R4       R# )uW   Adjust the sensitivity values of the “Clear”, “Delete”, and “Add”
buttons.
Fu$   shortcut=“%s” expansion=“%s”TN)r  r  r  
get_bufferr  r  r  r  r  r  r\  r  r  )r5  shortcutr  Z	expansion   &   r:    _set_shortcut_button_sensitivityZ(SetupUI._set_shortcut_button_sensitivity  s7    ''00222==?OOF$9$9$;$*$7$7$9$)+	 	;XQ>>	 1 1''55d;((66t<%%33D9''55d;((66u=%%33E:''55e<((66u=%%33E:r<   c                r  )r3   r.  r  r4   Nr  rL   rN   r:   r;   rO     s)     0 0990690>B0r<   c                &    V P                  4        R# )z3The contents of the shortcut entry line has changedNr  )r5  r.  r  r  r:   r  ZSetupUI._on_shortcut_entry  s     	--/r<   c                r  )r3   _buffer_param_specr4   N)r   r  r   rL   rN   r:   r;   rO     s)     0 0>>08;0@D0r<   c                r  )zG
The contents of the buffer of the shortcut expansion textview changed
Nr  )r5  r  r  r  r:   r  Z.SetupUI._on_shortcut_expansion_textview_buffer  s    
 	--/r<   c                r  r  r  rL   rN   r:   r;   rO     s     
/ 
/#** 
/ 
/r<   c                s:   V P                   P                  R4       V P                  P                  4       pVP                  R4       V P                  P                  4       P                  4        V P                  P                  R4       V P                  R4       R# )zW
The button to clear the entry fields for defining
a custom shortcut has been clicked.
rA   N)	r  r  r  r  r  r  ry  r  r  )r5  r  expansion_bufferr3  r:   r  Z"SetupUI._on_shortcut_clear_clicked  sx    
 	%%b)<<GGI!!"%--/<<>##,,R0**2.r<   c                r  r  r  rL   rN   r:   r;   rO      s     / /3:: /$ /r<   c                sb   V P                   P                  4       P                  4       pV P                  P	                  4       pVP                  VP                  4       VP                  4       R4      P                  4       pV'       d   V'       d   V P                  pVP                  4       pV'       d|   VP                  V^ 4      V8X  dR   VP                  V^4      V8X  d;   V P                  P                  VVR7       VP                  V4      '       g   RpKn  Kp  VP                  V4      pK  V P                   P                  R4       VP                  R4       V P                  P!                  4       P#                  4        V P$                  P                  R4       V P'                  R4       R# )z:
The button to delete a custom shortcut has been clicked.
F)input_phrasephraseNrA   )r  r  r  r  r  r  r  r  get_iter_firstr  r   Zremove_phraseremove	iter_nextr  r  r  ry  r  r  )r5  r  r  r  shortcut_expansionr  r     &&     r:   r  Z#SetupUI._on_shortcut_delete_clicked   sa    ''00288:<<GGI%% //1 --/ uw	 	
 *11E++-HOOHa0H<!48JJ$$22%-1 3 3 !<<11#' 2  %x8H%%b)!!"%--/<<>##,,R0**2.r<   c                r  r  r  rL   rN   r:   r;   rO   ?  s     !3 !3

 !3t !3r<   c                s    V P                   P                  4       P                  4        V P                  P	                  4       P                  4       pV P                  P                  4       pVP	                  VP                  4       VP                  4       R4      P                  4       pV'       EdN   V'       EdC   V P                  pVP                  4       pRpV'       dD   VP                  V^ 4      V8X  d   VP                  V^4      V8X  d   RpVP                  V4      pKK  V'       gP   \        P                  RW$4       V P                   P#                  VV\$        P&                  R7       \)        WRV34       V P                  P+                  R4       VP+                  R4       V P                   P                  4       P                  4        V P,                  P+                  R4       V P/                  R4       R# R# R# )z5The button to add a custom shortcut has been clicked.FTu'   defining shortcut: “%s” -> “%s”)r  r  Z	user_freqrA   N)r  r  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r   Zdefine_user_shortcutr6   ZSHORTCUT_USER_FREQr,   r  r  r  )r5  r  r  r  r  r  r  Zshortcut_existings   &&      r:   r  Z SetupUI._on_shortcut_add_clicked?  s   --/<<>''00288:<<GGI%% //1 --/ uw	 	
 8**11E++-H %OOHa0H<!48JJ(,% ??84$=2   55!)-&99 6 ; !3E(FG  ))"-%%b)##113@@B''004..r2/ +8r<   c                rJ   rI  rK   rL   rN   r:   r;   rO   b  s     J J J Jr<   c                s  a V P                   P                  4       P                  4        V P                   P                  4       P                  \        P
                  P                  4       V P                  P                  4        V P                   P                  4       P                  \        P
                  P                  4       V P                  P                  4       p\        P                  ! VP                  4       4      P                  4       pV F  p\        P                  ! V^ ,          4      P                  4       R,           \        P                  ! V^,          4      P                  4       ,           o\         ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       g   K  \#        V P                  V4       K  	  R# )a!  
Fill the model of the shortcuts treeview

:param filter_text: The filter text to limit the shortcuts
                    listed. Only shortcuts which contain
                    all the words from the filter text as substrings
                    (ignoring case and accents) are listed.

rQ   c              3   rK  rW   r=   rL  rN  r:   rZ   Z8SetupUI._fill_shortcut_treeview_model.<locals>.<genexpr>z  rO  rP  FTN)r  r  ry  r  r   r  r  r  r  r  r   Zlist_user_shortcutsr6   rQ  rR  r  rT  r,   )r5  rJ  Zcurrent_shortcutsrW  r  rM  s   &&   @r:   r  Z%SetupUI._fill_shortcut_treeview_modelb  sC    	--/<<>--/889J9J9O9OP%%++---/889J9J9Q9QR002 	..{/@/@/BCIIK)H''4::< //<BBDE  sP<PsssP<PPP !>!>I *r<   c                r  rZ  r\  rL   rN   r:   r;   rO   }  s!     8 8 #8488r<   c                r^  )ze
Signal handler for changed text in the shortcut search entry

:param search_entry: The search entry
N)r  r  r_  r3  r:   r  Z)SetupUI._on_shortcut_search_entry_changed}  s      #++-**;7r<   c                r  r  r  rL   rN   r:   r;   rO     s!     
: 
:s/@/@ 
:T 
:r<   c                s   VP                  4       w  r#V'       dg   W#,          ^ ,          pW#,          ^,          pV P                  P                  V4       V P                  P	                  4       pVP                  V4       R# R# )z3
A row in the list of shortcuts has been selected.
N)get_selectedr  r  r  r  )r5  r  r  r  r  r  r  r  r:   r  ZSetupUI._on_shortcut_selected  sn     &224q)H!&!3  ))(3#@@KKM%%&89 r<   c                r  )r3   	_treeviewr  _treeviewcolumnr4   Nr  rL   rN   r:   r;   rO     sA     9 9||9 ll9 !//	9 59	9r<   c                s    V P                   pVP                  V4      pWE,          ^ ,          pW`P                  8w  d$   \        P	                  RVV P                  4       R# V P                  4        R# )a  
A row in the treeview listing the key bindings has been activated.

:param treeview: The treeview listing the key bindings
:param treepath: The path to the activated row
:param treeviewcolumn: A column in the treeview listing the
                       key bindings
zKUnexpected error, command = "%s" self._keybindings_selected_command = "%s"
N)r  r  r  r  r  )_create_and_show_keybindings_edit_popover)r5  r  r  r  r  r  r<  s   &&&&   r:   r  Z.SetupUI._on_keybindings_treeview_row_activated  se     00>>(+/!$888 LL>22	4
 668r<   c                r  r  r  rL   rN   r:   r;   rO     s#     ? ? ..?37?r<   c                sL   VP                  4       w  r#V'       dM   W#,          ^ ,          V n        V P                  P                  R4       V P                  P                  R4       R# RV n        V P                  P                  R4       V P                  P                  R4       R# )zC
A row in the treeview listing the key bindings has been selected.
TrA   FN)r  r  r  r\  r  )r5  r  r  r  s   &&  r:   r  Z-SetupUI._on_keybindings_treeview_row_selected  s    
 &224161CD.,,::4@))77= 24D.,,::5A))77>r<   c                r;  r<  r?  rL   rN   r:   r;   rO     s-      KK69nnIMr<   c                sV   V'       dk   VP                  4       P                  4       P                  R4      ^ ,          V n        V P                  '       d   V P                  P                  R4       R# R# RV n        V P                  '       d   V P                  P                  R4       R# R# )z
Signal handler for selecting one of the key bindings
for a certain command

:param _listbox: The list box used to select a key binding
:param listbox_row: A row containing a key binding
t    TrA   FN)Z	get_childr  r  r  r  r\  )r5  r=  r>  r  r:   )_on_keybindings_edit_listbox_row_selectedZ1SetupUI._on_keybindings_edit_listbox_row_selected  s     %%'00288>qA >;;;<<JJ <
 BDD>;;;<<JJ <r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s!     @ @@"&@r<   c                s|   \         P                  ! W P                  R7      pVP                  4       pVP	                  4        V\
        P                  P                  8X  d   VP                  w  rE\         P                  ! V^ V4      p\         P                  ! V4      pV P                  pVV P                  R,          R,          V,          9  dl   V P                  R,          R,          V,          P                  V4       V P                  4        V P                  V P                  R,          R,          4       R# R# R# )uX   
Signal handler called when the “Add” button to add
a key binding has been clicked.
)r  Zparent_popoverr   rp   N)r6   ZItbKeyInputDialogr  rundestroyr   ZResponseTypeZOKZeZKeyEventZkeyevent_to_keybindingr  r   rU  &_fill_keybindings_edit_popover_listboxr  )	r5  r  Zkey_input_dialogZresponseZkeyvalZstater7  
keybindingr<  s	   &*       r:   /_on_keybindings_edit_popover_add_button_clickedZ7SetupUI._on_keybindings_edit_popover_add_button_clicked  s	    $55(F(FH#'')  "s''***,..MF##FAu5C!88=J88G**=9&A'JK##M26:7CJJ ;;=$$''6v>@K +r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s!     M MM"&Mr<   c                s~   V P                   pV P                  pV'       d   V'       d   W P                  R,          R,          V,          9   dl   V P                  R,          R,          V,          P                  V4       V P	                  4        V P                  V P                  R,          R,          4       R# R# R# R# )u^   
Signal handler called when the “Remove” button to remove
a key binding has been clicked.
r   rp   N)r  r  r   r  r  r  )r5  r  r  r<  r{  r:   2_on_keybindings_edit_popover_remove_button_clickedZ:SetupUI._on_keybindings_edit_popover_remove_button_clicked  s     GG
447--m<VDWMM.v6w?FF779  !4!4]!CF!KL	 N #Jr<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     2 22"&2r<   c                s    V P                   R,          R,          pV P                  pV'       dP   W29   dH   V P                   R,          R,          pW#,          WC&   V P                  4        V P                  V4       R# R# R# )um   
Signal handler called when the “Default” button to set
the keybindings to the default has been clicked.
r   rD   rp   N)r   r  r  r  r5  r  default_keybindingsr<  Znew_keybindings   &*   r:   3_on_keybindings_edit_popover_default_button_clickedZ;SetupUI._on_keybindings_edit_popover_default_button_clicked  sn     #11-@K44w5"11-@HO':'CO$779  1	 67r<   c                r  r  r=   rL   rN   r:   r;   rO     s     "9 "9 "9r<   c                s   V P                   f   \        P                  R4       R# \        V P                   4       \        P
                  ! 4       V n        \        V P                   V P                  4       V P                  P                  R4       V P                  P                  R4       V P                  P                  \        P                  P                  4       V P                  P                  R4       V P                  P                  RV P                  4       V P                   R,          R,          V P"                  ,           F  p\        P$                  ! 4       pVP'                  \(        P*                  ! V4      4       VP-                  R4       VP/                  ^ 4       ^pVP1                  V4       VP3                  V4       VP5                  V4       VP7                  V4       V P                  P9                  VR4       K  	  V P:                  e   V P:                  P=                  R4       \?        V P                  4       R# )	zR
Fill the edit listbox to with the key bindings of the currently
selected command
Nz-self._keybindings_edit_popover_scroll is NoneTr  r   rp   Fr   ) r  r  r  r   r   rm  r  r   r   r   r  r  r  r  r   r  r   r  r   r  r  r  rV  r  r   r   r   r   r  r  r\  r   )r5  r  rk   r9  r  r:   r  Z.SetupUI._fill_keybindings_edit_popover_listbox  s   
 008LLHIt<<=14.$7788	:..::4@..::4@..AA$$	&..KK	..66DJJ	L--m<VD224 4JIIKENN4;;z23  &QF""6*  (  (##F+2299%D4 77C88FFuM778r<   c                r  r  r=   rL   rN   r:   r;   rO   1  s     K K4 Kr<   c                s
   \         P                  ! 4       V n        V P                  pVf   \        P	                  R4       R# \
        R8  d   VP                  V 4       VP                  R4       ^p\         P                  ! \         P                  P                  VR7      pVP                  V4       VP                  V4       VP                  V4       VP                  V4       \         P                  ! \!        R4      V P"                  ,          R7      pVP%                  \         P&                  P(                  4       \+        W44       \         P,                  ! 4       pVP/                  R4       VP1                  R4       VP3                  R4       VP5                  R4       \+        W54       WPn        \         P                  ! \         P                  P8                  R7      pVP                  R4       \+        W64       \;        R	\!        R
4      R7      V n        V P<                  P?                  RV P@                  4       V P<                  PC                  R4       \;        R\!        R4      R7      V n"        V PD                  P?                  RV PF                  4       V PD                  PC                  R4       \;        \!        R4      \!        R4      R7      V n$        V PH                  P?                  RV PJ                  4       V PH                  PC                  R4       \+        W`P<                  4       \+        W`PD                  4       \+        W`PH                  4       V PM                  4        \+        W4       \O        V 4      w  rx\Q        VR,          4      p	\Q        VR,          4      p
VPS                  W4       \
        R8  d   V PT                  PW                  V 4      w  rV'       d   \X        PZ                  ! 4       p\Q        VP\                  P^                  4      Vn/        \Q        VP\                  P`                  4      Vn0        \Q        VPb                  Pd                  4      Vn2        \Q        VPb                  Pf                  4      Vn3        VPi                  V4       MVPk                  V PT                  4       \m        V4       VPo                  \         Pp                  Pr                  4       \
        R8  d   VPu                  4        R# R# )zD
Create and show the popover to edit the key bindings for a command
Nz&self._keybindings_edit_popover is NoneTr   u&   Edit key bindings for command “%s”rj   F)r   r   zAdd a key bindingr   rl   r   zRemove selected key bindingr   r   rh  )i   rA  rA  r@  );r   ZPopoverr  r  r  r   Z
set_parentr   r   r   r   r   r   r   r   r   r/   r  r8  r  r  r   r  r   r   r   r!  r  r   r*   r  r   r  r\  r  r  r  r  r  r%   rb   rl  r  Zcompute_boundsr   Z	RectangleZoriginr   ZyZsizeZwidthZheightZset_pointing_toZset_relative_tor   Zset_positionr   rk  rm  )r5  ro  r9  rp  rk   rq  Z
button_boxrr  rs  rt  ru  r  ZgrectZgdk_rects   &             r:   r  Z1SetupUI._create_and_show_keybindings_edit_popover1  s    *-&00?LLAB)#t$d#ww3??#;#;VLf%F#F#v&		<=//01 	($##%4 4 $$U+$$T*$06-WW)C)CD
  &$#4@9./511 	1199tKK	M11??E7C;898;4 	44<<tNN	P44BB5I8D$%NO9Q5 	55==DD	F 	55CCDI*GGH*JJK*KKL335' (7(=%L3./]S01  ?)#55DDTJIB==? 0
 0
!$UZZ%5%5!6"%ejj&7&7"8''1##D$A$ABS--334*$MMO %r<   c                rJ   rw  r   rL   rN   r:   r;   rO   ~  s     9 9# 9$ 9r<   c                r  )uk   
Signal handler called when the “edit” button to edit the
key bindings for a command has been clicked.
N)r  r  r  r:   r  Z+SetupUI._on_keybindings_edit_button_clicked~  s    
 	668r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     
2 
2S 
2T 
2r<   c                s    V P                   R,          R,          pV P                  pV'       d@   W29   d8   V P                   R,          R,          pW#,          WC&   V P                  V4       R# R# R# )u   
Signal handler called when the “Set to default” button to reset the
key bindings for a command to the default has been clicked.
r   rD   rp   N)r   r  r  r  r  r:   r  Z.SetupUI._on_keybindings_default_button_clicked  sb    
 #11-@K44w5"11-@HO':'CO$  1 67r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     # # # #r<   c           
     r  )u   
Signal handler called when the “Set all to default” button to reset
all key bindings top their defaults has been clicked.
Fc                r  r  r=   r7   r9   r:   r;   HSetupUI._on_keybindings_all_default_button_clicked.<locals>.__annotate__  s     	E 	E 	Er<   c                     < \         P                  R 4       SP                  P                  R4       SP                  R,          R,          p SP                  V 4       SP                  P                  R4       R# )z"Setting all keybindings to defaultTr   rD   N)r  r  r  r\  r   r  )r  r5      r:   r  ZJSetupUI._on_keybindings_all_default_button_clicked.<locals>.really_restore  s]    KK<=00>>tD"&"5"5m"DY"O  !4500>>tDr<   c                r  r  r=   r7   r9   r:   r;   r    s     	E 	E4 	Er<   c                  r  )z)Set all keybindings to default cancelled.TN)r  r  r  r\  r  r  r:   r  ZESetupUI._on_keybindings_all_default_button_clicked.<locals>.cancelled  s$    KKCD00>>tDr<   zNDo you really want to set the key bindings for all commands to their defaults?r  r  r  r  N)r  r\  r)   r/   r  r5  r  r  r  r     f*   r:   r  Z2SetupUI._on_keybindings_all_default_button_clicked  sv    
 	,,::5A	E 	E	E 	E %  9 :O$uX9 
 	r<   c                rJ   rw  r   rL   rN   r:   r;   rO     s     " "# "$ "r<   c           
     r  )u~   
Signal handler called when the “Set all to default” button to reset
all autosettings to their defaults has been clicked.
Fc                r  r  r=   r7   r9   r:   r;   ISetupUI._on_autosettings_all_default_button_clicked.<locals>.__annotate__  s     	F 	F 	Fr<   c                  r  )z#Setting all autosettings to defaultTr@  rD   N)r  r  r*  r\  r   r  )Zdefault_autosettingsr5  r  r:   r  ZKSetupUI._on_autosettings_all_default_button_clicked.<locals>.really_restore  s]    KK=>11??E#'#6#6~#Fy#Q !!"6711??Er<   c                r  r  r=   r7   r9   r:   r;   r    s     	F 	F4 	Fr<   c                  r  )z*Set all autosettings to default cancelled.TN)r  r  r*  r\  r  r  r:   r  ZFSetupUI._on_autosettings_all_default_button_clicked.<locals>.cancelled  s$    KKDE11??Er<   z=Do you really want to set all autosettings to their defaults?r  r  r  r  N)r*  r\  r)   r/   r  r  r  r:   r+  Z3SetupUI._on_autosettings_all_default_button_clicked  sr    
 	--;;EB	F 	F	F 	F % VWO$uX9 
 	r<   c                r  r-  r  rL   rN   r:   r;   rO     s     9 93:: 9$ 9r<   c                s   V P                   P                  R4       \        V \        R4      R7      p\        P                  RV4       V'       d   \        P                  P                  V4      '       d   V P                  P                  V4      '       dS   \        V \        R4      RV/,          R\        R4      \        P                  P                  R	7      P                  4        MQ\        V \        R
4      RV/,          R\        R4      \        P                  P                   R	7      P                  4        V P                   P                  R4       R# )zF
The button to learn from a user supplied text file
has been clicked.
FzOpen File ...r/  r0  z,Learned successfully from file %(filename)s.r2  u   💡r  rc  z'Learning from file %(filename)s failed.rb  TN)rR  r\  r+   r/   r  r  r9  ra   Zisfiler   Zread_training_data_from_filer(   r   ri  ZINFOr  rj  r1  r3  r:   rS  Z#SetupUI._on_learn_from_file_clicked  s    
 	$$2259#4q7IJM8,x00<<XFF#MN)845 !"5!$!5!57 8<tv#HI)845!"5!$!6!68 9=$$2248r<   c                r  r-  r  rL   rN   r:   r;   rO     s     % %szz %d %r<   c           
     r  )zb
The button requesting to delete all data learned from
user input or text files has been clicked.
Fc                r  r  r=   r7   r9   r:   r;   =SetupUI._on_delete_learned_data_clicked.<locals>.__annotate__  s     	A 	At 	Ar<   c                  s   < \         P                  R 4       S P                  P                  R4       S P                  P                  4        S P                  P                  R4       R# )zDelete learned data.TN)r  r  rT  r\  r   Zremove_all_phrasesr  r  r:   really_deleteZ>SetupUI._on_delete_learned_data_clicked.<locals>.really_delete  sJ    KK./,,::4@//1,,::4@r<   c                r  r  r=   r7   r9   r:   r;   r    s     	A 	A4 	Ar<   c                  r  )zDelete learned data cancelled.TN)r  r  rT  r\  r  r  r:   r  Z:SetupUI._on_delete_learned_data_clicked.<locals>.cancelled  s$    KK89,,::4@r<   zTDo you really want to delete all language data learned from typing or reading files?r  r  r  r  N)rT  r\  r)   r/   r  )r5  r.  r  r  r  r   r:   rU  Z'SetupUI._on_delete_learned_data_clicked  sx    
 	((66u=	A 	A	A 	A %  D EO$uX9%
( 	r<   c                @   < V ^8  d   QhRS[ S[S[3,          RS[RR/# r3   r#  r   r4   Nr   rf   r   rL   rN   r:   r;   rO     s7     G Gc	"G #G /3Gr<   c                .   \         P                  RW4       \        V4      pWP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets whether to avoid forward_key_event() or not

:param mode: Whether to avoid forward_key_event() or not
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
(%s, update_gsettings = %s)r   rp   N)r  r  rf   r   r   rH  r   rk  new_booleanr-  r  r5  r#  r   r  r:   rF  Z#SetupUI.set_avoid_forward_key_event  ss     	)4	CDz>B23F;OO%%&((.0 55@@Fr<   c                r  r  r  rL   rN   r:   r;   rO   4  s7     I Ic	"I #I /3Ir<   c                r  )u  Sets whether the arrow keys are allowed to reopen a preëdit

:param mode: Whether arrow keys can reopen a preëdit
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r/  r  r  r  r:   rH  Z%SetupUI.set_arrow_keys_reopen_preedit4  ss     	)4	CDz@D45f=OO%%(((.0 77BB4Hr<   c                r  r  r  rL   rN   r:   r;   rO   L  s7     D Dc	"D #D /3Dr<   c                r  )a  Sets whether the to disable Typing Booster in terminals

:param mode: Whether to disable Typing Booster in terminals
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r1  r  r  r  r:   rC  Z SetupUI.set_disable_in_terminalsL  ss     	)4	CDz<@01&9OO%%$((.0 22==dCr<   c                r  r  r  rL   rN   r:   r;   rO   d  2     < <c	"< #< /3<r<   c                r  )a  Sets whether the to convert language specific digits to ASCII digits

:param mode: Whether to convert language specific digits
             to ASCII digits
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r3  r  r  r  r:   rD  ZSetupUI.set_ascii_digitsd  sr     	)4	CDz59M*62OO%%((.0 **55d;r<   c                r  r  r  rL   rN   r:   r;   rO   }  2     ? ?c	"? #? /3?r<   c                r  )a  Sets whether the show the final form while typing

:param mode: Whether to show the final form while typing
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r5  r  r  r  r:   rE  ZSetupUI.set_show_final_form}  r     	)4	CDz7;O,V4OO%%((.0 --88>r<   c                r  r  r  rL   rN   r:   r;   rO     7     @ @c	"@ #@ /3@r<   c                r  )a  Sets the word prediction mode

:param mode: Whether to switch word prediction on or off
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  ry   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rI  Z SetupUI.set_word_prediction_mode  s     	)4	CDz9=-.v6OO%%!((.0 ..99$?r<   c                r  r  r  rL   rN   r:   r;   rO     s7     A Ac	"A #A /3Ar<   c                r  )a  Sets the emoji prediction mode

:param mode: Whether to switch emoji prediction on or off
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rz   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rJ  Z!SetupUI.set_emoji_prediction_mode  ss     	)4	CDz:>./7OO%%"((.0 //::4@r<   c                r  r  r  rL   rN   r:   r;   rO     s2     > >c	"> #> /3>r<   c                r  )u  Sets the “Off the record” mode

:param mode: Whether to prevent saving input to the
             user database or not
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r~   rp   N)r  r  rf   r   r   rH  r   rk  r  r&  r  r  r  r:   rK  ZSetupUI.set_off_the_record_mode  sr     	)4	CDz6:N+F3OO%%((.0 ,,77=r<   c                @   < V ^8  d   QhRS[ S[S[3,          RS[RR/# )r3   emoji_trigger_charactersr   r4   Nr   rG   r   rf   rL   rN   r:   r;   rO     s6     P P&+CHoP #P /3Pr<   c                @   \         P                  RW4       \        V\        4      '       g   R# VV P                  R,          R&   V'       d<   V P
                  P                  R\        P                  P                  V4      4       R# \        V P                  V4       R# )a  Sets the emoji trigger characters

:param emoji_trigger_characters: The characters which trigger a commit
                                 with an extra space
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  
isinstancerG   r   r   rH  r   rk  rl  r$   r@  )r5  r   r   r  r:   rM  Z$SetupUI.set_emoji_trigger_characters  s     	)$	8 2C880H 	$	&&,	.OO%%(''(@AC +446NPr<   c                r  )r3   auto_commit_charactersr   r4   Nr  rL   rN   r:   r;   rO     s6     L L$)#s(OL #L /3Lr<   c                r  )a  Sets the auto commit characters

:param auto_commit_characters: The characters which trigger a commit
                               with an extra space
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r$   rC  )r5  r  r   r  r:   rO  Z"SetupUI.set_auto_commit_characters  s     	)"	6 0#66.D 	"	$$*	,OO%%&''(>?A +224JLr<   c                r  r3   ra   r   r4   Nr  rL   rN   r:   r;   rO     s1      S/ # /3r<   c                H   \         P                  RW4       \        V\        4      '       g   R# WP                  R,          R&   V'       d<   V P
                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets the path of the Google application credentials file

:param path: Full path of the Google application credentials
             .json file.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  )r5  ra   r   r  r:   rP  Z*SetupUI.set_google_application_credentials  s}     	)4	C$$$FJ:;FCOO%%.''-/ ==FFr<   c                r  r  r  rL   rN   r:   r;   rO   3  s7     H Hc	"H #H /3Hr<   c                d   \         P                  RW4       \        V4      pWP                  R,          R&   V P                  P                  V4       V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets whether to do spellchecking on the contents of the preedit

:param mode: Whether to do spellchecking on the contents of the preedit
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rf  Z$SetupUI.set_color_preedit_spellcheck3  s     	)4	CDz@D45f=77EEdKOO%%(((.0 66AA$Gr<   c                r  r3   color_stringr   r4   Nr  rL   rN   r:   r;   rO   L  s6     O OS/O #O /3Or<   c                   \         P                  RW4       \        V\        4      '       g   R# VV P                  R,          R&   V'       d<   V P
                  P                  R\        P                  P                  V4      4       R# \        P                  ! 4       pVP                  V4       V P                  P                  V4       R# )u  Sets the color to indicate spelling errors in the preedit

:param color_string: Color to indicate spelling errors in the preedit
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r5  r	  r   r=  r  r:   rg  Z+SetupUI.set_color_preedit_spellcheck_stringL  s    $ 	)<	K,,,6B 	*	,,2	4OO%%.''57 xxzHNN<(;;DDXNr<   c                r  r  r  rL   rN   r:   r;   rO   m  s7     G Gc	"G #G /3Gr<   c                r  )a  Sets whether to use color for inline completion

:param mode: Whether to use color for inline completion
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rh  Z#SetupUI.set_color_inline_completionm  s     	)4	CDz?C34V<66DDTJOO%%'((.0 55@@Fr<   c                r  r  r  rL   rN   r:   r;   rO     s6     N NS/N #N /3Nr<   c                r
  )u  Sets the color for inline completion

:param color_string: The color for inline completion
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   ri  Z*SetupUI.set_color_inline_completion_string  s    $ 	)<	K,,,5A 	)	++1	3OO%%-''57 xxzHNN<(::CCHMr<   c                r  r  r  rL   rN   r:   r;   rO     s7     E Ec	"E #E /3Er<   c                r  )a  Sets whether to use color for the compose preview

:param mode: Whether to use color for the compose preview
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rj  Z!SetupUI.set_color_compose_preview  s     	)4	CDz=A126:44BB4HOO%%%((.0 33>>tDr<   c                r  r  r  rL   rN   r:   r;   rO     s6     L LS/L #L /3Lr<   c                r
  )u  Sets the color for the compose preview

:param color_string: The color for the compose preview
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   rk  Z(SetupUI.set_color_compose_preview_string  s    $ 	)<	K,,,3? 	'	))/	1OO%%+''57 xxzHNN<(88AA(Kr<   c                r  r  r  rL   rN   r:   r;   rO     s7     B Bc	"B #B /3Br<   c                r  )a  Sets whether to use color for the m17n preedit

:param mode: Whether to use color for the m17n preedit
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rl  ZSetupUI.set_color_m17n_preedit  s     	)4	CDz:>./711??EOO%%"((.0 00;;DAr<   c                r  r  r  rL   rN   r:   r;   rO     s6     I IS/I #I /3Ir<   c                r
  )u  Sets the color for the m17n preedit

:param color_string: The color for the m17n preedit
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   rm  Z%SetupUI.set_color_m17n_preedit_string  s    $ 	)<	K,,,0< 	$	&&,	.OO%%(''57 xxzHNN<(55>>xHr<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )a  Sets whether to use color for user database suggestions

:param mode: Whether to use color for user database suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rn  ZSetupUI.set_color_userdb  s     	)4	CDz59M*62++99$?OO%%((.0 **55d;r<   c                r  r  r  rL   rN   r:   r;   rO   4  s6     C CS/C #C /3Cr<   c                   \         P                  RW4       \        V\        4      '       g   R# WP                  R,          R&   V'       d<   V P
                  P                  R\        P                  P                  V4      4       R# \        P                  ! 4       pVP                  V4       V P                  P                  V4       R# )u  Sets the color for user database suggestions

:param color_string: The color for user database suggestions
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   ro  ZSetupUI.set_color_userdb_string4  s    $ 	)<	K,,,;G/08OO%%#''57 xxzHNN<(//88Br<   c                r  r  r  rL   rN   r:   r;   rO   T  7     @ @c	"@ #@ /3@r<   c                r  )a  Sets whether to use color for spellchecking suggestions

:param mode: Whether to use color for spellchecking suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rp  ZSetupUI.set_color_spellcheckT       	)4	CDz9=-.v6//==dCOO%%!((.0 ..99$?r<   c                r  r  r  rL   rN   r:   r;   rO   m  6     G GS/G #G /3Gr<   c                r  )u  Sets the color for spellchecking suggestions

:param color_string: The color for spellchecking suggestions
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   rq  Z#SetupUI.set_color_spellcheck_stringm      $ 	)<	K,,,?K34V<OO%%'''57 xxzHNN<(33<<XFr<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )a  Sets whether to use color for dictionary suggestions

:param mode: Whether to use color for dictionary suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r\  r   rH  r   rk  r  r  r  r  r  r:   rr  ZSetupUI.set_color_dictionary  r  r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )u  Sets the color for dictionary suggestions

:param color_string: The color for dictionary suggestions
                    - Standard name from the X11 rgb.txt
                    - Hex value: “#rgb”, “#rrggbb”, “#rrrgggbbb”
                                 or ”#rrrrggggbbbb”
                    - RGB color: “rgb(r,g,b)”
                    - RGBA color: “rgba(r,g,b,a)”
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r   r  r  r  r  r  r  r:   rs  Z#SetupUI.set_color_dictionary_string  r  r<   c                r  r  r  rL   rN   r:   r;   rO     s.     < <dCi(<"<.2<r<   c                r  )a  Sets whether to use a label for user database

:param mode: Whether to use a label for user database suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rt  ZSetupUI.set_label_userdb  sr     	)4	CDz59M*62OO%%((.0 **55d;r<   c                r  r3   label_stringr   r4   Nr  rL   rN   r:   r;   rO     s1     < <S/< #< /3<r<   c                r  )a  Sets the label for user database suggestions

:param label_string: The label for user database suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  r5  r  r   r  r:   ru  ZSetupUI.set_label_userdb_string  sz     	)<	K,,,;G/08OO%%#''57 $$--l;r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )a  Sets whether to use a label for spellchecking suggestions

:param mode: Whether to use a label for spellchecking suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rv  ZSetupUI.set_label_spellcheck  r  r<   c                r  r  r  rL   rN   r:   r;   rO     6     @ @S/@ #@ /3@r<   c                r  )a  Sets the label for spellchecking suggestions

:param label_string: The label for spellchecking suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  r  r  r:   rw  Z#SetupUI.set_label_spellcheck_string  z     	)<	K,,,?K34V<OO%%'''57 ((11,?r<   c                r  r  r  rL   rN   r:   r;   rO   '  r  r<   c                r  )a  Sets whether to use a label for dictionary suggestions

:param mode: Whether to use a label for dictionary suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rx  ZSetupUI.set_label_dictionary'  r  r<   c                r  r  r  rL   rN   r:   r;   rO   ?  r  r<   c                r  )a  Sets the label for dictionary suggestions

:param label_string: The label for dictionary suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  r  r  r:   ry  Z#SetupUI.set_label_dictionary_string?  r  r<   c                r  r  r  rL   rN   r:   r;   rO   X  r  r<   c                r  )a  Sets whether to use flags for dictionary suggestions

:param mode: Whether to use flags for dictionary suggestions
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r   r  r  r  r:   rz  ZSetupUI.set_flag_dictionaryX  s     	)4	CDz8<,-f5OO%% ((.0 --88>r<   c                r  r  r  rL   rN   r:   r;   rO   p  2     : :c	": #: /3:r<   c                r  )a  Sets whether to use a label to indicate busy state

:param mode: Whether to use a label to indicate busy state
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   r{  ZSetupUI.set_label_busyp  r     	)4	CDz37K(0OO%%((.0 ((33D9r<   c                r  r  r  rL   rN   r:   r;   rO     s1     : :S/: #: /3:r<   c                r  )a  Sets the label used to indicate busy state

:param label_string: The label to indicate busy state
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  r  r  r:   r|  ZSetupUI.set_label_busy_string  sz     	)<	K,,,9E-.v6OO%%!''57 ""++L9r<   c                r  r  r  rL   rN   r:   r;   rO     s2     $8 $8c	"$8 #$8 /3$8r<   c                sF   \         P                  RW4       \        V4      pWP                  R,          R&   V'       d;   V P                  P                  R\        P                  P                  V4      4       MV P                  P                  V4       V P                  P                  V4       V P                  P                  V4       V P                  P                  V4       V P                  P                  V4       \         e   R# V P#                  4        V'       d;   V P$                  '       g)   \        P&                  ! RV P"                  4      V n        R# V'       g>   V P$                  '       d*   \        P(                  ! V P$                  4       ^ V n        R# R# R# )u  Sets the “Enable AI chat” mode

:param mode: Whether to enable AI chat or not
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   Ni  )r  r  rf   r   r   rH  r   rk  r  r  r  r  r\  r  r  r  r
  r  r  Ztimeout_addZsource_remover  r  r:   r  ZSetupUI.set_ai_chat_enable  s8    	)4	CDz6:N+F3OO%%((.0 ,,77=##11$7++99$?,,::4@&&44T:".???6:6F6Fd++7-D3???tFFG67D3 @tr<   c                r  )r3   ai_system_messager   r4   Nr  rL   rN   r:   r;   rO     s6     P P$S#XP #P /3Pr<   c                s   \         P                  RW4       \        V\        4      '       g   R# V P                  R,          R,          V8X  d   R# WP                  R,          R&   V'       d<   V P
                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets the system message to start AI chats with

:param ai_system_message: The system message to start AI chats with
:param update_gsettings:  Whether to write the change to Gsettings.
                          Set this to False if this method is
                          called because the Gsettings key changed
                          to avoid endless loops when the Gsettings
                          key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r   r   rH  r   rk  rl  r  r  )r5  r  r   r  r:   r}  ZSetupUI.set_ai_system_message  s     	)+<	P+S1101&9=NN9J-.v6OO%%!''(9:< 33<<=NOr<   c                r  )r3   r%  r   r4   Nr  rL   rN   r:   r;   rO     s6      A  AS/ A # A /3 Ar<   c                sp   \         P                  RW4       \        V\        4      '       g   R# V P                  f   \         P                  R4       R# V P                  P                  V4      pWP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  V P                  R4       \        V P                  4       F5  w  r4W^,          8X  g   K  \        V P                  V P                  V4       K7  	  R# )a  Sets the model to use for ollama

:param ollama_model:     The model to use for ollama
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nzself._ollama_client is Noner?  rp   )r  r  r  rG   r   r  r   r   rH  r   rk  rl  r   r  r  r  )r5  r%  r   rY   r:  r  r:   r~  ZSetupUI.set_ollama_model  s     	)<	K,,,&KK56**55lC5AM*62OO%%''57   7 7 $ 4 4d<$T%9%9:7*'(?(?(,(<(<aA ;r<   c                r  )r3   max_contextr   r4   Nr   rb   r   rf   rL   rN   r:   r;   rO     s1     " "sCx" #" /3"r<   c                s@   \         P                  RW4       \        V4      pWP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  \        V4      4       R# )a  Sets the maximum number of ollama messages to keep as context
when continuing a chat

:param max_context:      Maximum number of messages to keep as context.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)
r  r  rb   r   r   rH  r   rk  
new_uint32r  )r5  r  r   r  r:   r  ZSetupUI.set_ollama_max_context  s|     	);	J+&:E./7OO%%"''46 ++55K "r<   c                r  r3   r  r   r4   Nr  rL   rN   r:   r;   rO     s1     9 9#s(O9 #9 /39r<   c                s   \         P                  RW4       \        V\        4      '       g   R# VP	                  4       pWP
                  R,          R&   \        P                  ! 4        V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets the symbol used for input mode true

:param label_string: Which symbol to  use for input mode true
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r  r   r6   Zibus_write_cacher   rH  r   rk  rl  r  r  r5  r  r   r  r:   r  Z"SetupUI.set_input_mode_true_symbol  s     	)6	E&#&&=C126:!!#OO%%%''/1 ''008r<   c                r  r  r  rL   rN   r:   r;   rO   9  s1     : :#s(O: #: /3:r<   c                sh   \         P                  RW4       \        V\        4      '       g   R# VP	                  4       pWP
                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  V4       R# )a  Sets the symbol used for input mode false

:param label_string: Which symbol to  use for input mode false
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   )r  r  r  rG   r  r   r   rH  r   rk  rl  r  r  r  r  r:   r  Z#SetupUI.set_input_mode_false_symbol9  s     	)6	E&#&&>D23F;OO%%&''/1 ((11&9r<   c                r  r  r  rL   rN   r:   r;   rO   S  r  r<   c                r  )u  Sets the “Tab enable” mode

:param mode: Whether to show a candidate list only when typing Tab
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  ro   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rQ  ZSetupUI.set_tab_enableS  r  r<   c                r  r  r  rL   rN   r:   r;   rO   k  s6     J JS/J #J /3Jr<   c                   \         P                  RW4       \        V4      pWP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  4       F5  w  r4W^,          8X  g   K  \        V P                  V P                  V4       K7  	  R# )u  Sets the “Use inline completion” mode

:param mode: Whether a completion is first shown inline in the preëdit
             instead of using a combobox to show a candidate list.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rr   rp   N)r  r  rb   r   r   rH  r   rk  	new_int32r  r  r   r  r5  r#  r   rY   r:  r  r:   rR  ZSetupUI.set_inline_completionk  s     	)4	C4y:>./7OO%%"&&t,. %T%B%BC7?'(H(H(,(E(EqJ Dr<   c                r  r  r  rL   rN   r:   r;   rO     s6     D DS/D #D /3Dr<   c                r  )u$  Sets the “Record mode”

:param mode: Specifies how much to record
             0: Everything
             1: Correctly spelled or previously recorded words
             2: Correctly spelled words
             3: Nothing
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rb   r   r   rH  r   rk  r   r  r*  r   r)  r!  r  r:   rL  ZSetupUI.set_record_mode  s    " 	)4	C4y48L)&1OO%%&&t,. %T%<%<=7?'(B(B(,(?(?D >r<   c                r  r  r  rL   rN   r:   r;   rO     r  r<   c                r  )u  Sets the “Auto capitalize” mode

:param mode: Whether to automatically capitalize after punctuation.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rt   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rS  ZSetupUI.set_auto_capitalize  r  r<   c                r  r  r  rL   rN   r:   r;   rO     7     N Nc	"N #N /3Nr<   c                r  )u  Sets the “Remember last used preëdit ime” mode

:param mode: Whether to remember the input method used last for
             the preëdit
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rw   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rT  Z*SetupUI.set_remember_last_used_preedit_ime  s     	)4	CDzDH89&AOO%%,((.0 <<GGMr<   c                r  r  r  rL   rN   r:   r;   rO     7     C Cc	"C #C /3Cr<   c                r  )u  Sets the “Remember input mode” mode

:param mode: Whether to remember the input mode used last
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rx   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rU  ZSetupUI.set_remember_input_mode  ss     	)4	CDz;?/08OO%%#((.0 11<<TBr<   c                r  )r3   	page_sizer   r4   Nr  rL   rN   r:   r;   rO     s6     E ES#XE #E /3Er<   c                sj   \         P                  RW4       \        V4      p^Tu;8:  d   ^	8:  d   M R# WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  \        V4      4       R# R# )a  Sets the page size of the lookup table

:param page_size: The page size of the lookup table
                  1 <= page_size <= 9
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)
r  r  rb   r   r   rH  r   rk  r   r  )r5  r%  r   r  r:   rV  ZSetupUI.set_page_size  s     	)9	H	N		Q6?
+F3))LL**957 **44S^D r<   c                r  )r3   millisecondsr   r4   Nr  rL   rN   r:   r;   rO   	  s1     ' 'S/' #' /3'r<   c                s   \         P                  RW4       \        V4      p^ Tu;8:  d   \        P                  8:  d   M R# VV P
                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  \        V4      4       R# R# )a  Sets the delay of the candidates in milliseconds

:param milliseconds: delay of the candidates in milliseconds
                     0 <= milliseconds <= itb_util.UINT32_MAX
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rb   r6   r  r   r   rH  r   rk  r  r  )r5  r&  r   r  r:   rW  Z)SetupUI.set_candidates_delay_milliseconds	  s     	)<	K<(3 3 3339E -//57))1LL++L9; >>HH%' 4r<   c                r  )r3   r   r   r4   Nr  rL   rN   r:   r;   rO   %  s6     U UsCxU #U /3Ur<   c                   \         P                  RW4       \        V4      p^ Tu;8:  d   ^8:  d   M R# WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  4       F5  w  r4W^,          8X  g   K  \        V P                  V P                  V4       K7  	  R# R# )a  Sets the page size of the lookup table

:param orientation: The orientation of the lookup table
                    0 <= orientation <= 2
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rb   r   r   rH  r   rk  r   r  r  r   r  )r5  r   r   rY   r:  r  r:   rX  Z$SetupUI.set_lookup_table_orientation%  s     	);	J+& q  DO 89&A)),LL**;79  ))M)MNGA"1g-+D,S,S,0,P,PRSU  O !r<   c                r  )r3   r8  r   r4   Nr  rL   rN   r:   r;   rO   B  s6      N  N!#s(O N # N /3 Nr<   c                s   \         P                  RW4       \        V4      p^ Tu;8:  d    \        P                  P
                  8  d   M R# WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  4       F5  w  r4W^,          8X  g   K  \        V P                  V P                  V4       K7  	  R# R# )a  Sets the underline mode of the preedit

:param underline_mode: The underline mode to be used for the preedit
                      0 <= underline_mode <= 3
                      IBus.AttrUnderline.NONE    = 0,
                      IBus.AttrUnderline.SINGLE  = 1,
                      IBus.AttrUnderline.DOUBLE  = 2,
                      IBus.AttrUnderline.LOW     = 3,
                      IBus.AttrUnderline.ERROR   = 4,
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rb   r   r  rj  r   r   rH  r   rk  r   r  r  r   r  )r5  r8  r   rY   r:  r  r:   rY  ZSetupUI.set_preedit_underlineB  s    & 	)>	M^,9!3!3!9!999>L 23F;))&LL**>:<  ))F)FGGA%a0+D,L,L,0,I,I1N  H :r<   c                r  )r3   min_char_completer   r4   Nr  rL   rN   r:   r;   rO   d  s1     , ,$S#X, #, /3,r<   c                sj   \         P                  RW4       \        V4      p^ Tu;8:  d   ^	8:  d   M R# WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  \        V4      4       R# R# )a,  Sets the minimum number of characters to try completion

:param min_char_complete: The minimum number of characters
                          to type before completion is tried.
                          1 <= min_char_complete <= 9
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)
r  r  rb   r   r   rH  r   rk  r   rG  )r5  r(  r   r  r:   r[  ZSetupUI.set_min_char_completed  s     	)+<	P 12!&Q&&=N 126:))%LL**+<=? 22<<)*, 'r<   c                *   < V ^8  d   QhRS[ RS[ RR/# r  r  rL   rN   r:   r;   rO     s)     ? ?? #? /3?r<   c                r  )a  Sets whether the use of an IBus keymap is forced

:param mode: True if the use of an IBus keymap is forced, False if not
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r7  r  r  r  r:   r\  ZSetupUI.set_use_ibus_keymap  r  r<   c                r  )r3   r;  r   r4   Nr  rL   rN   r:   r;   rO     s6      D  D#s(O D # D /3 Dr<   c                sv   \         P                  RW4       \        V\        4      '       g   R# V\        P
                  9  d/   \         P                  RV\        \        P
                  4      4       WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  V P                   R4       \#        V P                   4       F5  w  r4W^,          8X  g   K  \        V P                  V P                   V4       K7  	  R# )a  Sets the  IBus keymap to use if the use of an IBus keymap is forced

:param keymap: The IBus keymap to use
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nz3keymap %s not in itb_util.AVAILABLE_IBUS_KEYMAPS=%sr   rp   )r  r  r  rG   r6   r<  warningr  r   r   rH  r   rk  rl  r   r:  r;  r  )r5  r;  r   rY   r:  r  r:   r]  ZSetupUI.set_ibus_keymap  s     	)6	E&#&&888NNEX<<=? 5;L)&1OO%%''/1   : : $ 7 7?$T%<%<=!W$'(B(B(,(?(?D >r<   c                r  )r3   r,  r   r4   Nr  rL   rN   r:   r;   rO     s6     "D "Dc?"D #"D /3"Dr<   c                s>   \         P                  RW4       \        V\        4      '       g   R# VR9  d!   \         P	                  RV\        R4      4       WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# \        V P                  V P                  R4       \        V P                  4       F5  w  r4W^,          8X  g   K  \        V P                  V P                  V4       K7  	  R# )a  Sets the emoji style

:param style: 'emoji' uses colorful emoji (emoji style).
              'text' uses monochrome emoji (text style).
              Any other value uses unqualified emoji sequences.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
z(%r, update_gsettings = %s)Nzstyle %r not in %rr}   rp   )r|   rq   rA   )r  r  r  rG   r*  r  r   r   rH  r   rk  rl  r   r"  r#  r  )r5  r,  r   rY   r:  r  r:   rN  ZSetupUI.set_emoji_style  s     	)5	D%%%--NN$t124 5:L)&1OO%%''.0   : : $ 7 7?$T%<%<=G#'(B(B(,(?(?D >r<   c                r)  )r3   error_soundr   r4   Nr  rL   rN   r:   r;   rO     s.     B BB #B /3Br<   c                r  )a  Sets the whether to play a sound on error.

:param error_sound: Whether to play a sound on error
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  rJ  r  )r5  r+  r   r  r:   r^  ZSetupUI.set_error_sound  ss     	);	J;'4?L)&1OO%%((57 ))44[Ar<   c                r  r  r  rL   rN   r:   r;   rO     s6     !B !BS/!B #!B /3!Br<   c                s   \         P                  RW4       \        V\        4      '       g   R# WP                  R,          R&   V'       d;   V P
                  P                  R\        P                  P                  V4      4       MV P                  P                  V4       \        P                  ! \        P                  P!                  V P                  R,          R,          4      V P                  R,          R,          R7      pV'       d$    VP#                  4        VP%                  4        R# R#   \&         d7   p\         P)                  RTP*                  P,                  T4        Rp?R# Rp?ii ; i)a  Sets the path of file containing the sound to play on error.

:param path: Full path of the .wav file containing the error sound.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   r>  Zaudio_backend"Playing error sound failed: %s: %s)r  r  r  rG   r   r   rH  r   rk  rl  rM  r  	itb_soundSoundObjectr9  ra   
expanduserplay	wait_done	Exceptionr  r   r  )r5  ra   r   error_sound_objectr  r  r:   r_  ZSetupUI.set_error_sound_file  s%    	)4	C$$$8<,-f5OO%% ''-/ //88>&22GGt223CDVLM--n=fEG B"'')",,.   B  !E!&!9!95B BBs    D3 3E4>+E//E4c                r  )r3   sound_backendr   r4   Nr  rL   rN   r:   r;   rO     s6     B B c?B #B /3Br<   c                s   \         P                  RW4       \        V\        4      '       g   R# WP                  R,          R&   V'       d:   V P
                  P                  R\        P                  P                  V4      4       \        P                  ! \        P                  P                  V P                  R,          R,          4      V P                  R,          R,          R7      pV'       d$    VP                  4        VP!                  4        R# R#   \"         d7   p\         P%                  RTP&                  P(                  T4        Rp?R# Rp?ii ; i)a  Sets the sound backend to use

:param sound_backend: The name of sound backend to use
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the dconf key changed
                         to avoid endless loops when the dconf
                         key is changed twice in a short time.
r  Nr>  rp   r   r,  r-  )r  r  r  rG   r   r   rH  r   rk  rl  r.  r/  r9  ra   r0  r1  r2  r3  r  r   r  )r5  r5  r   r4  r  r  r:   r`  ZSetupUI.set_sound_backend  s    	)=	L---6CN+F3OO%%''68 '22GGt223CDVLM--n=fEG B"'')",,.   B  !E!&!9!95B BBs   3 D E"+EEc                r  )r3   debug_levelr   r4   Nr  rL   rN   r:   r;   rO   :  s1     & &sCx& #& /3&r<   c                sj   \         P                  RW4       \        V4      p^ Tu;8:  d   ^8:  d   M R# WP                  R,          R&   V'       d<   V P                  P                  R\        P                  P                  V4      4       R# V P                  P                  \        V4      4       R# R# )a  Sets the debug level

:param debug_level: The debug level
                    0 <= debug_level <= 255
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)
r  r  rb   r   r   rH  r   rk  r   rP  )r5  r6  r   r  r:   ra  ZSetupUI.set_debug_level:  s     	);	J+&"s""8C-f5)) LL**;79 ,,66$& #r<   c                r  r  r  rL   rN   r:   r;   rO   U  s2     0 0c	"0 #0 /30r<   c                s.   \         P                  RW4       \        V4      pWP                  R,          R&   V P                  P                  V4       V'       d<   V P                  P                  R\        P                  P                  V4      4       R# R# )u  Sets the “Show number of candidates” mode

:param mode: Whether to show the number of candidates
             in the auxiliary text
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r  r  r   rH  r   rk  r  r  r  r:   rb  Z%SetupUI.set_show_number_of_candidatesU  sv     	)4	CDz@D45f=33>>tDOO%%(((.0 r<   c                r  r  r  rL   rN   r:   r;   rO   m  s2      c	" # /3r<   c                r  )u  Sets the “Show status info in auxiliary text” mode

:param mode: Whether to show status information in the
             auxiliary text.
             Currently the status information which can be
             displayed there is whether emoji mode and
             off-the-record mode are on or off
             and which input method is currently used for
             the preëdit text.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rc  Z.SetupUI.set_show_status_info_in_auxiliary_textm  sv    & 	)4	CDz=A126:OO%%%((.0 @@KKr<   c                r  r  r  rL   rN   r:   r;   rO     s6     K KS/K #K /3Kr<   c                r'  )u  Sets the “Show raw input” mode

:param mode: Whether to show the raw input in the auxiliary text:
             0: Never
             1: When there are candidates
             2: Always
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rb   r   r   rH  r   rk  r   r  r  r   r  r!  r  r:   rd  ZSetupUI.set_show_raw_input  s      	)4	C4y>>>:>/7))"LL**402  ))C)CDGAAw+D,I,I,0,F,FK  E r<   c                r  r  r  rL   rN   r:   r;   rO     r"  r<   c                r  )u  Sets the “Use preedit style only if lookup is enabled” mode

:param mode: Whether a preedit style like underlining should
             be enabled only when lookup is enabled.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  r   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rZ  Z*SetupUI.set_preedit_style_only_when_lookup  r#  r<   c                r  r  r  rL   rN   r:   r;   rO     s6     N NS/N #N /3Nr<   c                r  )u  Sets the “Automatically select the best candidate” mode

:param mode: Whether to automatically select the best candidate
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  ru   rp   N)r  r  rb   r   r   rH  r   rk  r   r  r  r   r  r!  r  r:   re  Z!SetupUI.set_auto_select_candidate  s     	)4	C4y=A126:OO%%%&&t,. %T%F%FG7?'(L(L(,(I(I1N Hr<   c                r  r  r  rL   rN   r:   r;   rO     r$  r<   c                r  )u  Sets the “Add a space when committing by label or mouse” mode

:param mode: Whether to add a space when committing by label or mouse
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  rv   rp   N)r  r  rf   r   r   rH  r   rk  r  r  r  r  r  r:   rG  ZSetupUI.set_add_space_on_commit  ss     	)4	CDz:>./7OO%%"((.0 11<<TBr<   c                T   < V ^8  d   QhRS[ S[S[S[,          S[3,          RS[RR/# )r3   imesr   r4   Nr   rG   r   r   rf   rL   rN   r:   r;   rO     s>     $A $AT#Y+,$A #$A /3$Ar<   c                s   \         P                  RV\        V4      V4       \        V\        4      '       d   \
        P                  ! V4      pWP                  8X  d   R# Wn        V P                  4        V'       dK   V P                  P                  R\        P                  P                  RP                  V4      4      4       R# RV n        RV n        V P"                  P%                  R4       V P&                  P%                  R4       V P(                  P%                  R4       V P*                  P%                  R4       R# )ar  Set current list of input methods

:param imes: List of input methods
             If a single string is used, it should contain
             the names of the input methods separated by commas.
             If the string is empty, the default input
             methods for the current locale are set.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
u/   imes=“%s” type(imes)=%s update_gsettings=%sNr   r   rA   Fr   )r  r  rC   r  rG   r6   r  r  r  r   rH  r   rk  rl  r   r  r  rw  r\  ry  r{  r}  )r5  r8  r   r  r:   r  ZSetupUI.set_current_imes  s    " 	F4:'7	9dC  55d;D%%%!((*OO%%''79
 =?D9=?D:--;;EB))77>++99%@++99%@r<   c                r7  )r3   rz  r   r4   Nr9  rL   rN   r:   r;   rO     s>     %@ %@#CcC$78%@ #%@ /3%@r<   c                sP   \         P                  RV\        V4      4       \        V\        4      '       d   \
        P                  ! V4      pWP                  8X  d   R# Wn        V P                  4        V'       dK   V P                  P                  R\        P                  P                  RP                  V4      4      4       R# RV n        RV n        V P"                  P%                  R4       V P&                  P%                  R4       V P(                  P%                  R4       R# )a  Set current dictionary names

:param dictionary_names: List of names of dictionaries to use
                         If a single string is used, it should contain
                         the names of the dictionaries separated
                         by commas.
                         If the string is empty, the default
                         dictionaries for the current locale are set.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
z-dictionary_names=%s type(dictionary_names)=%sNr   r   rA   Fr   )r  r  rC   r  rG   r6   re  rj  rs  r   rH  r   rk  rl  r   rh  ri  rZ  r\  r]  r_  )r5  rz  r   r  r:   r  ZSetupUI.set_dictionary_names  s    $ 	D%t,<'=	?&,,'@@  "555!1'')OO%%''1A(BCE
 CED?CED@,,::5A((66u=**88?r<   c                sj   < V ^8  d   QhRS[ S[S[S[S[S[3,          ,          S[3,          RS[RR/# )r3   r@  r   r4   N)r   r   r    rG   r   rf   rL   rN   r:   r;   rO   E  sC     / /U3S=%9 :C ?@/ #/ /3/r<   c                s   \         P                  RV4       \        V\        4      '       g   R# WP                  R,          R&   V'       d   V P                  4        \        P                  P                  \        P                  ! R4      V UUu. uFd  p\        P                  P                  \        P                  ! R4      V Uu. uF"  p\        P                  P                  V4      NK$  	  up4      NKf  	  upp4      pV P                  P                  RV4       R# \         P                  R4       RV n        V P                  4        R# u upi u uppi )	a  Set the current automatic settings

:param autosettings: The automatic settings to use
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
zautosettings=%sNr@  rp   Zasrg   z/Unselecting all rows and updating button statusr   )r  r  r  r  r   r2  r   rk  	new_arrayVariantTyperl  r   rH  r,  )r5  r@  r   Zautosettingr   variant_arrayrG  r:   r  ZSetupUI.set_autosettingsE  s    	&5,--6BN+F3,,. LL2243C3CD3I (4L (4 LL**4+;+;C+@<GCI<Gq//2KCI J'3L M
 OO%% LLJK02D-,,.CILs   7E(E.EEc                sf   < V ^8  d   QhRS[ S[S[S[S[,          3,          S[3,          RS[RR/# )r3   r   r   r4   N)r   r   rG   r   r   rf   rL   rN   r:   r;   rO   e  s@     2$ 2$tCcN3S892$ #2$ /32$r<   c           
     sH   \         P                  RW4       \        V\        4      '       g   R# \        P
                  ! V4      pV P                  R,          R,          p\        P                  ! W14       V P                  pVP                  4       pV'       dX   V F>  pVP                  V^ 4      V8X  g   K  VP                  V^\        W6,          4      4       K@  	  VP                  V4      pK_  VR,          '       d   V P                  P!                  4        MV P                  P#                  4        V'       d   \$        P&                  ! \$        P(                  ! R/ 4      4      p\+        V4       F{  p\$        P(                  P-                  \$        P.                  ! R4      W6,           Uu. uF"  p\$        P(                  P1                  V4      NK$  	  up4      p	VP3                  Wi4       K}  	  V P4                  P                  RVP7                  4       4       R# R# u upi )a"  Set current key bindings

:param keybindings: The key bindings to use
                    Commands which do not already
                    exist in the current key bindings dictionary
                    will be ignored.
:param update_gsettings: Whether to write the change to Gsettings.
                         Set this to False if this method is
                         called because the Gsettings key changed
                         to avoid endless loops when the Gsettings
                         key is changed twice in a short time.
r  Nr   rp   r   za{sv}rg   )r  r  r  Zdictr  r  r   r6   r  r  r  r  rH  r  r  r  r  r3  r   ZVariantDictrk  r  r:  r;  rl  Zinsert_valuer   Zend)
r5  r   r   Zuser_keybindingsr  r  r<  Zvariant_dictr   r<  s
   &&&       r:   r  ZSetupUI.set_keybindingse  s     	);	J+t,,mmK0..}=fE**+;I00'')+??8Q/7:OOHa$()9)B$CE , x0H 6771166811668++DLL",EFL!"23 $ 6 6$$S).797 \\,,Q/79!: ))'A 4 OO%%  "$ 
9s   -(H)r  r  r  r  r  r  r  r  r  r   r/  r3  r  rC  rB  r  r  r"  r.  r/  r0  r1  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  rP  rO  rT  rX  ro  rp  rq  rr  rf  r_  rc  ra  rn  ri  rh  rZ  rW  r]  rj  r1  r  r$  r"  r!  r#  r@  r>  r   rJ  rL  rM  r   r  r  r   r:  r;  r  r	  r  ru  r  r  r  r  r  r{  r}  r  r  r  r  r  rw  rt  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rR  r  r  r   r   rG  rE  r&  r   r  r   r  r  r  r+  r)  r(  r*  r  r  r   r   r  r  r  r  r  r  r  r  r  r5  r  r  r  r  r  r7  r  r   N)rP   )F)T)r  
__module____qualname____firstlineno____doc__r   r   r  r  rs  Zstaticmethodr  r  r2  r   r  r  r4  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  r  r  r  r   r'  r.  r0  r2  r4  r6  r9  r=  r%  rA  rD  r  r  r  r  r  r  rI  rK  rN  rQ  rD  rH  rY  r`  rY  r[  r^  r`  rb  rd  rg  r  r  r  r  rv  rx  rz  r|  r  r  Zclassmethodr  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+  rS  rU  rF  rH  rC  rD  rE  rI  rJ  rK  rM  rO  rP  rf  rg  rh  ri  rj  rk  rl  rm  rn  ro  rp  rq  rr  rs  rt  ru  rv  rw  rx  ry  rz  r{  r|  r  r}  r~  r  r  r  rQ  rR  rL  rS  rT  rU  rV  rW  rX  rY  r[  r\  r]  rN  r^  r_  r`  ra  rb  rc  rd  rZ  re  rG  r  r  r  r  __static_attributes____classdictcell__rM      @r:   rI   rI      s	    |'M |'M|O] ]~9 9v3> 3>j07 07d  8.P .P`Z+ Z+x  J J J J J J $D D* *X	8 	8B B	8 	8B B	8 	8B B	8 	8B BJ JB BN NB BN NB BJ J6 6N N6 6N N6 6M MH H6 66 66 68 8- -- -5 58 88 88 88 8
A 
A8 8- -8 88 88 88 88 88 88 88 88 88 88 88 8/ /. .6 66 6H H$K KP P# #4 47 7# #I I: :&# #+ +:< <4,1 ,1\9 963 63p6 6.D D6D D6(Q (QT? ?0
P 
P@ @2= =4D2 D2L: :53 53n3 32E E6E E6]P ]P~?H ?HB  ((& (&T	M 	M(D (DV= = @ @&A0 A0F0 0B*1 *1X9 9%3 %3N# #"+ +2+ +2C C; ;.0 0
0 0
/ 
// />!3 !3FJ J68 8
: 
:9 9<? ?  ,@ @0M M 2 2"9 "9HK KZ9 9
2 
2# #J" "H9 96% %NG G0I I0D D0< <2? ?0@ @0A A0> >2P P:L L: 6H H2O OBG G2N NBE E2L LBB B2I IB< <2C C@@ @2G G@@ @2G G@< <.< <2@ @0@ @2@ @0@ @2? ?0: :0: :2$8 $8LP P6 A  AD" "49 96: :4: :0J J8D D>? ?0N N2C C0E E4' '8U U: N  ND, ,8? ?0 D  DD"D "DHB B0!B !BFB BB& &60 00 >K K>N N2N N6C C0$A $AN%@ %@N/ /@2$ 2$ 2$r<   rI   c                   sL   a  ] tR tRt o RtR	V 3R lR lltV 3R lR ltRtV tR# )
r  i  z
A window to show help

:param parent: The parent object
:param title: Title of the help window
:param contents: Contents of the help window
Nc                sT   < V ^8  d   QhRS[ S[P                  ,          RS[RS[RR/# )r3   r  r\   r  r4   N)r   r   r   rG   rL   rN   r:   r;   HelpWindow.__annotate__  s:     * *!#**-** * )-*r<   c                sv   \         P                  P                  WR 7       V P                  R4       Ve4   V P	                  V4       V P                  R4       V P                  R4       V P                  RR4       \         P                  ! 4       V n        V P                  P                  \         P                  P                  4       V P                  P                  ^ 4       \        W P                  4       \         P                  ! 4       V n        V P                  P!                  V4       \         P"                  ! 4       V n        V P$                  P'                  V P                  4       V P$                  P)                  R4       V P$                  P+                  R4       V P$                  P-                  \         P.                  P0                  4       V P$                  P3                  \         P4                  P6                  4       \         P8                  ! 4       V n        V P:                  P=                  R4       V P:                  P?                  R4       \        V P:                  V P$                  4       \        V P                  V P:                  4       \         P@                  ! 4       V n!        \         PD                  ! 4       V n#        V PF                  PI                  \K        R4      4       \        V PB                  V PF                  4       V PB                  P=                  R4       V PB                  PM                  \         PN                  PP                  4       V PB                  PS                  RV PT                  4       \         P                  ! ^ R7      V n+        V PV                  P                  \         P                  PX                  4       V PV                  P                  ^ 4       \        V PV                  V PB                  4       \        V P                  V PV                  4       \[        V 4       R# )	r[   FNTiX  i  rm   rl   )r   ).r   r   r   Zset_destroy_with_parentZset_transient_forr   Zset_default_sizer   rp  r   r   r   r   r   r  text_bufferZinsert_at_cursorr  	text_viewr  Zset_editableZset_cursor_visibleZset_justificationZJustificationr   r  r  r  r  scrolledwindowr   r   r   r8  r   close_button_labelZset_text_with_mnemonicr/   r8  r  ZENDr   _on_close_button_clickedr  r   r   )r5  r  r\   r  r  r:   r   ZHelpWindow.__init__  s    	

D.$$U+""6* NN4 ((.c3'GGI			!!#//":":;		a $		">>+))(3!!$"2"23##E*))%0(():):)?)?@$$S\\%6%67!002''-''-$%%t~~6$))T001JJL"%))+66q{C$##T%<%<=%%d+$$SYY]]3!!)T-J-JKGGA&			!!#//"<"<=		a $))T../$))TYY'r<   c                r  r  r  rL   rN   r:   r;   rE    s      

 t r<   c                r  )zE
Close the input method help window when the close button is clicked
N)r  )r5  r  r  r:   rJ  Z#HelpWindow._on_close_button_clicked  s     	r<   )r8  rI  r  rH  rF  rG  rp  )NrA   rA   )	r  r=  r>  r?  r@  r   rJ  rA  rB  rC  rD  r:   r  r    s     * *X r<   r  c                sJ    V ^8  d   QhR\         R\        \        ,          RR/# )r3   signum_framer4   N)rb   r   r	   r7   r9   r:   r;   r;     s)     > >>%i0><@>r<   c                s   V e8    \         P                  ! V 4      P                  p\
        P                  RW4       \        e   \        P                  4        R# \        R4      h  \         d    \	        T 4      p LWi ; i)u   Signal handler for signals from Python’s signal module

:param signum: The signal number
:param _frame:  Almost never used (it’s for debugging).
Nz#Received signal %s (%s), exiting...r  )
signalZSignalsrS   r   rG   r  r  r  r  r  )rK  rL  Zsignal_namer3  r:   quit_glib_main_looprN    sl     	& ..055K 	96O!<==  	&f+K	&s    A% %A>=A>Z__main__z"~/.local/share/ibus-typing-boosterz+mkdir -p ~/.local/share/ibus-typing-boosterz2~/.local/share/ibus-typing-booster/setup-debug.logZHr]   F)ZwhenZintervalZbackupCountZencodingZdelayZutcZatTimezP%(asctime)s %(filename)s line %(lineno)d %(funcName)s %(levelname)s: %(message)sz-*** ibus-typing-booster %s setup starting ***zibus-setup-tbrA   z.IBUS-WARNING **: Using the fallback 'C' localeZCzibus is not running.rb  r  )r  rd  rf  r\   re  ZIBUS_ENGINE_NAMEzENGINE_NAME=%rrP   rR   )r@   zControl+C pressed, exiting ...c                sj    V ^8  d   Qh/ ^ \         9   d   \        \        P                  ,          ;R&   # )r3   r  )__conditional_annotations__r   r   MainLoopr7   r9   r:   r;   r;      s)      X / .' .Yr<   rW   )rO  r@  Ztypingr    r   r   r   r   r   r   r   Ztypesr	   Zsysr9  r  r  rM  rF   Zlocaler  Z	functoolsZloggingZlogging.handlersZimportlib.utilZ	importlibZtimer
   Zgir   Zgi.repositoryr   r   Zset_application_nameZset_prgnamer   r   r   ZutilZ	find_specr  ra   r  r   r:  Z__file__r  r   r6   r.  r  r   Zitb_gtkr   r   r   r   Zg_compat_helpersr   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   Z
pkginstallr-   Zdictionary_downloadr.   Zi18nr/   r0   Z	i18n_initr
  r  ZImportErrorr  Z	getLoggerr  r  Z	lru_cacher>   rH   ZPARSERZ
parse_argsZ_ARGSr   rI   r  rN  r  Zno_debugZNullHandlerZlog_handler_nullZaccessr0  ZF_OKZsystemZlogfileZhandlersZTimedRotatingFileHandlerZlog_handler_time_rotateZ	FormatterZlog_formatterZsetFormatterZsetLevelZDEBUGZ
addHandlerr  r   Zset_program_nameZ	setlocaleZLC_ALLZErrorr  Zget_addressri  rj  r  Zexitr@   ZENGINE_NAMEZenvironr   r   ZprintZ
print_helpZSETUP_UIrP  ZSIGTERMr  ZKeyboardInterruptr  r;   )rO  rD  r:   <module>rQ     s  *           
 	 	            u        6 7   , - U # #       #11+>dJ  277<< 94J K       4 4 '      : 4 A % $" 
		0	1*. .
Q!  !@ 
ls$cjj ls$^g8 8v>$ z~~~"..0		""#GH  IICD''$$@B")"2"2"K"K #L #  )) 	 ,,];&12C++-	/ o.-+ K!,-..5	
 $&##K-;jj!34
KK +.''1188EE$%;/H]]_N
MM&.."56y Wk 	~ $#$Xl << -IJ,-8  45s=   T T /U& TTTAU#"U#&)VV