public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
@ 2002-09-13 14:24 nathan
  0 siblings, 0 replies; 5+ messages in thread
From: nathan @ 2002-09-13 14:24 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nicolai, nobody

Synopsis: Internal compiler error in cp_expr_size, at cp/cp-lang.c

State-Changed-From-To: open->closed
State-Changed-By: nathan
State-Changed-When: Fri Sep 13 14:24:48 2002
State-Changed-Why:
    fixed in cvs

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7801


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
@ 2002-09-01 15:26 paolo
  0 siblings, 0 replies; 5+ messages in thread
From: paolo @ 2002-09-01 15:26 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nicolai, nobody

Synopsis: Internal compiler error in cp_expr_size, at cp/cp-lang.c

State-Changed-From-To: feedback->open
State-Changed-By: paolo
State-Changed-When: Sun Sep  1 15:26:57 2002
State-Changed-Why:
    Preprocessed source provided.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7801


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
@ 2002-09-01 13:46 Nicolai Guba
  0 siblings, 0 replies; 5+ messages in thread
From: Nicolai Guba @ 2002-09-01 13:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7801; it has been noted by GNATS.

From: Nicolai Guba <nicolai@btinternet.com>
To: paolo@gcc.gnu.org,
 gcc-bugs@gcc.gnu.org,
 gcc-prs@gcc.gnu.org,
 nicolai@btinternet.com,
 nobody@gcc.gnu.org,
 gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
Date: Sun, 1 Sep 2002 21:44:21 +0100

 --Boundary-00=_lwnc93SoOAS8svZ
 Content-Type: text/plain;
   charset="iso-8859-1"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: inline
 
 
 >     Could you please provide a self-contained preprocessed file
 >     as per the detailed bug reportting instructions at
 >     http://gcc.gnu.org/bugs.html#detailed ?
 
 Surely. =20
 
 =46iles are attached.
 
 --Boundary-00=_lwnc93SoOAS8svZ
 Content-Type: text/x-csrc;
   charset="iso-8859-1";
   name="kkeyserver_x11.ii"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename="kkeyserver_x11.ii"
 
 # 1 "kkeyserver_x11.cpp"
 # 1 "<built-in>"
 # 1 "<command line>"
 # 1 "kkeyserver_x11.cpp"
 # 1 "/opt/qt/3.0.4/include/qnamespace.h" 1
 # 42 "/opt/qt/3.0.4/include/qnamespace.h"
 # 1 "/opt/qt/3.0.4/include/qglobal.h" 1
 # 483 "/opt/qt/3.0.4/include/qglobal.h"
 typedef unsigned char uchar;
 typedef unsigned short ushort;
 typedef unsigned uint;
 typedef unsigned long ulong;
 typedef char *pchar;
 typedef uchar *puchar;
 typedef const char *pcchar;
 
 
 
 
 
 
 
 const bool FALSE = 0;
 const bool TRUE = !0;
 # 528 "/opt/qt/3.0.4/include/qglobal.h"
 inline int qRound( double d )
 {
     return int( d >= 0.0 ? d + 0.5 : d - 0.5 );
 }
 # 548 "/opt/qt/3.0.4/include/qglobal.h"
 typedef signed char Q_INT8;
 typedef unsigned char Q_UINT8;
 typedef short Q_INT16;
 typedef unsigned short Q_UINT16;
 typedef int Q_INT32;
 typedef unsigned int Q_UINT32;
 
 
 
 
 
 
 typedef long Q_LONG;
 typedef unsigned long Q_ULONG;
 # 575 "/opt/qt/3.0.4/include/qglobal.h"
 class QDataStream;
 # 606 "/opt/qt/3.0.4/include/qglobal.h"
 # 1 "/opt/qt/3.0.4/include/qconfig.h" 1
 # 607 "/opt/qt/3.0.4/include/qglobal.h" 2
 # 616 "/opt/qt/3.0.4/include/qglobal.h"
 # 1 "/opt/qt/3.0.4/include/qmodules.h" 1
 # 617 "/opt/qt/3.0.4/include/qglobal.h" 2
 # 665 "/opt/qt/3.0.4/include/qglobal.h"
 # 1 "/opt/qt/3.0.4/include/qfeatures.h" 1
 # 666 "/opt/qt/3.0.4/include/qglobal.h" 2
 # 709 "/opt/qt/3.0.4/include/qglobal.h"
  const char *qVersion();
  bool qSysInfo( int *wordSize, bool *bigEndian );
 # 789 "/opt/qt/3.0.4/include/qglobal.h"
  void qDebug( const char *, ... )
 
     __attribute__ ((format (printf, 1, 2)))
 
 ;
 
  void qWarning( const char *, ... )
 
     __attribute__ ((format (printf, 1, 2)))
 
 ;
 
  void qFatal( const char *, ... )
 
     __attribute__ ((format (printf, 1, 2)))
 
 ;
 
  void qSystemWarning( const char *, int code = -1 );
 # 855 "/opt/qt/3.0.4/include/qglobal.h"
  bool qt_check_pointer( bool c, const char *, int );
 # 871 "/opt/qt/3.0.4/include/qglobal.h"
 enum QtMsgType { QtDebugMsg, QtWarningMsg, QtFatalMsg };
 
 typedef void (*QtMsgHandler)(QtMsgType, const char *);
  QtMsgHandler qInstallMsgHandler( QtMsgHandler );
 
 
 
 
 
 
  void qSuppressObsoleteWarnings( bool = TRUE );
 
  void qObsolete( const char *obj, const char *oldfunc,
                    const char *newfunc );
  void qObsolete( const char *obj, const char *oldfunc );
  void qObsolete( const char *message );
 # 43 "/opt/qt/3.0.4/include/qnamespace.h" 2
 
 
 
 class QColor;
 class QCursor;
 
 
 class Qt {
 public:
     static const QColor & color0;
     static const QColor & color1;
     static const QColor & black;
     static const QColor & white;
     static const QColor & darkGray;
     static const QColor & gray;
     static const QColor & lightGray;
     static const QColor & red;
     static const QColor & green;
     static const QColor & blue;
     static const QColor & cyan;
     static const QColor & magenta;
     static const QColor & yellow;
     static const QColor & darkRed;
     static const QColor & darkGreen;
     static const QColor & darkBlue;
     static const QColor & darkCyan;
     static const QColor & darkMagenta;
     static const QColor & darkYellow;
 
 
     enum ButtonState {
         NoButton = 0x0000,
         LeftButton = 0x0001,
         RightButton = 0x0002,
         MidButton = 0x0004,
         MouseButtonMask = 0x00ff,
         ShiftButton = 0x0100,
         ControlButton = 0x0200,
         AltButton = 0x0400,
         MetaButton = 0x0800,
         KeyButtonMask = 0x0fff,
         Keypad = 0x4000
     };
 
 
 
     enum Orientation {
         Horizontal = 0,
         Vertical
     };
 
 
 
 
 
 
     enum AlignmentFlags {
         AlignAuto = 0x0000,
         AlignLeft = 0x0001,
         AlignRight = 0x0002,
         AlignHCenter = 0x0004,
         AlignJustify = 0x0008,
         AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify,
         AlignTop = 0x0010,
         AlignBottom = 0x0020,
         AlignVCenter = 0x0040,
         AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter,
         AlignCenter = AlignVCenter | AlignHCenter
     };
 
 
     enum TextFlags {
         SingleLine = 0x0080,
         DontClip = 0x0100,
         ExpandTabs = 0x0200,
         ShowPrefix = 0x0400,
         WordBreak = 0x0800,
         BreakAnywhere = 0x1000,
         DontPrint = 0x2000,
         NoAccel = 0x4000
     };
 
 
     typedef uint WState;
 
 
     enum WidgetState {
         WState_Created = 0x00000001,
         WState_Disabled = 0x00000002,
         WState_Visible = 0x00000004,
         WState_ForceHide = 0x00000008,
         WState_OwnCursor = 0x00000010,
         WState_MouseTracking = 0x00000020,
         WState_CompressKeys = 0x00000040,
         WState_BlockUpdates = 0x00000080,
         WState_InPaintEvent = 0x00000100,
         WState_Reparented = 0x00000200,
         WState_ConfigPending = 0x00000400,
         WState_Resized = 0x00000800,
         WState_AutoMask = 0x00001000,
         WState_Polished = 0x00002000,
         WState_DND = 0x00004000,
         WState_Reserved0 = 0x00008000,
         WState_Reserved1 = 0x00010000,
         WState_Reserved2 = 0x00020000,
         WState_Reserved3 = 0x00040000,
         WState_Maximized = 0x00080000,
         WState_Minimized = 0x00100000,
         WState_ForceDisabled = 0x00200000,
         WState_Exposed = 0x00400000,
         WState_HasMouse = 0x00800000
     };
 
 
     typedef uint WFlags;
 
 
     enum WidgetFlags {
         WType_TopLevel = 0x00000001,
         WType_Dialog = 0x00000002,
         WType_Popup = 0x00000004,
         WType_Desktop = 0x00000008,
         WType_Mask = 0x0000000f,
 
         WStyle_Customize = 0x00000010,
         WStyle_NormalBorder = 0x00000020,
         WStyle_DialogBorder = 0x00000040,
         WStyle_NoBorder = 0x00002000,
         WStyle_Title = 0x00000080,
         WStyle_SysMenu = 0x00000100,
         WStyle_Minimize = 0x00000200,
         WStyle_Maximize = 0x00000400,
         WStyle_MinMax = WStyle_Minimize | WStyle_Maximize,
         WStyle_Tool = 0x00000800,
         WStyle_StaysOnTop = 0x00001000,
         WStyle_ContextHelp = 0x00004000,
         WStyle_Reserved = 0x00008000,
         WStyle_Mask = 0x0000fff0,
 
         WDestructiveClose = 0x00010000,
         WPaintDesktop = 0x00020000,
         WPaintUnclipped = 0x00040000,
         WPaintClever = 0x00080000,
         WResizeNoErase = 0x00100000,
         WMouseNoMask = 0x00200000,
         WStaticContents = 0x00400000,
         WRepaintNoErase = 0x00800000,
 
         WX11BypassWM = 0x01000000,
         WWinOwnDC = 0x00000000,
 
 
 
 
         WGroupLeader = 0x02000000,
         WShowModal = 0x04000000,
         WNoMousePropagation = 0x08000000,
         WSubWindow = 0x10000000
 
 
 
 
 
 
 
     };
 
 
 
 
 
     enum ImageConversionFlags {
         ColorMode_Mask = 0x00000003,
         AutoColor = 0x00000000,
         ColorOnly = 0x00000003,
         MonoOnly = 0x00000002,
 
 
         AlphaDither_Mask = 0x0000000c,
         ThresholdAlphaDither = 0x00000000,
         OrderedAlphaDither = 0x00000004,
         DiffuseAlphaDither = 0x00000008,
         NoAlpha = 0x0000000c,
 
         Dither_Mask = 0x00000030,
         DiffuseDither = 0x00000000,
         OrderedDither = 0x00000010,
         ThresholdDither = 0x00000020,
 
 
         DitherMode_Mask = 0x000000c0,
         AutoDither = 0x00000000,
         PreferDither = 0x00000040,
         AvoidDither = 0x00000080
     };
 
 
     enum BGMode {
         TransparentMode,
         OpaqueMode
     };
 # 259 "/opt/qt/3.0.4/include/qnamespace.h"
     enum GUIStyle {
         WindowsStyle = 1,
         MotifStyle = 4
     };
 # 274 "/opt/qt/3.0.4/include/qnamespace.h"
     enum Modifier {
         SHIFT = 0x00200000,
         CTRL = 0x00400000,
         ALT = 0x00800000,
         MODIFIER_MASK = 0x00e00000,
         UNICODE_ACCEL = 0x10000000,
 
         ASCII_ACCEL = UNICODE_ACCEL
     };
 
 
     enum Key {
         Key_Escape = 0x1000,
         Key_Tab = 0x1001,
         Key_Backtab = 0x1002, Key_BackTab = Key_Backtab,
         Key_Backspace = 0x1003, Key_BackSpace = Key_Backspace,
         Key_Return = 0x1004,
         Key_Enter = 0x1005,
         Key_Insert = 0x1006,
         Key_Delete = 0x1007,
         Key_Pause = 0x1008,
         Key_Print = 0x1009,
         Key_SysReq = 0x100a,
         Key_Home = 0x1010,
         Key_End = 0x1011,
         Key_Left = 0x1012,
         Key_Up = 0x1013,
         Key_Right = 0x1014,
         Key_Down = 0x1015,
         Key_Prior = 0x1016, Key_PageUp = Key_Prior,
         Key_Next = 0x1017, Key_PageDown = Key_Next,
         Key_Shift = 0x1020,
         Key_Control = 0x1021,
         Key_Meta = 0x1022,
         Key_Alt = 0x1023,
         Key_CapsLock = 0x1024,
         Key_NumLock = 0x1025,
         Key_ScrollLock = 0x1026,
         Key_F1 = 0x1030,
         Key_F2 = 0x1031,
         Key_F3 = 0x1032,
         Key_F4 = 0x1033,
         Key_F5 = 0x1034,
         Key_F6 = 0x1035,
         Key_F7 = 0x1036,
         Key_F8 = 0x1037,
         Key_F9 = 0x1038,
         Key_F10 = 0x1039,
         Key_F11 = 0x103a,
         Key_F12 = 0x103b,
         Key_F13 = 0x103c,
         Key_F14 = 0x103d,
         Key_F15 = 0x103e,
         Key_F16 = 0x103f,
         Key_F17 = 0x1040,
         Key_F18 = 0x1041,
         Key_F19 = 0x1042,
         Key_F20 = 0x1043,
         Key_F21 = 0x1044,
         Key_F22 = 0x1045,
         Key_F23 = 0x1046,
         Key_F24 = 0x1047,
         Key_F25 = 0x1048,
         Key_F26 = 0x1049,
         Key_F27 = 0x104a,
         Key_F28 = 0x104b,
         Key_F29 = 0x104c,
         Key_F30 = 0x104d,
         Key_F31 = 0x104e,
         Key_F32 = 0x104f,
         Key_F33 = 0x1050,
         Key_F34 = 0x1051,
         Key_F35 = 0x1052,
         Key_Super_L = 0x1053,
         Key_Super_R = 0x1054,
         Key_Menu = 0x1055,
         Key_Hyper_L = 0x1056,
         Key_Hyper_R = 0x1057,
         Key_Help = 0x1058,
         Key_Direction_L = 0x1059,
         Key_Direction_R = 0x1060,
         Key_Space = 0x20,
         Key_Any = Key_Space,
         Key_Exclam = 0x21,
         Key_QuoteDbl = 0x22,
         Key_NumberSign = 0x23,
         Key_Dollar = 0x24,
         Key_Percent = 0x25,
         Key_Ampersand = 0x26,
         Key_Apostrophe = 0x27,
         Key_ParenLeft = 0x28,
         Key_ParenRight = 0x29,
         Key_Asterisk = 0x2a,
         Key_Plus = 0x2b,
         Key_Comma = 0x2c,
         Key_Minus = 0x2d,
         Key_Period = 0x2e,
         Key_Slash = 0x2f,
         Key_0 = 0x30,
         Key_1 = 0x31,
         Key_2 = 0x32,
         Key_3 = 0x33,
         Key_4 = 0x34,
         Key_5 = 0x35,
         Key_6 = 0x36,
         Key_7 = 0x37,
         Key_8 = 0x38,
         Key_9 = 0x39,
         Key_Colon = 0x3a,
         Key_Semicolon = 0x3b,
         Key_Less = 0x3c,
         Key_Equal = 0x3d,
         Key_Greater = 0x3e,
         Key_Question = 0x3f,
         Key_At = 0x40,
         Key_A = 0x41,
         Key_B = 0x42,
         Key_C = 0x43,
         Key_D = 0x44,
         Key_E = 0x45,
         Key_F = 0x46,
         Key_G = 0x47,
         Key_H = 0x48,
         Key_I = 0x49,
         Key_J = 0x4a,
         Key_K = 0x4b,
         Key_L = 0x4c,
         Key_M = 0x4d,
         Key_N = 0x4e,
         Key_O = 0x4f,
         Key_P = 0x50,
         Key_Q = 0x51,
         Key_R = 0x52,
         Key_S = 0x53,
         Key_T = 0x54,
         Key_U = 0x55,
         Key_V = 0x56,
         Key_W = 0x57,
         Key_X = 0x58,
         Key_Y = 0x59,
         Key_Z = 0x5a,
         Key_BracketLeft = 0x5b,
         Key_Backslash = 0x5c,
         Key_BracketRight = 0x5d,
         Key_AsciiCircum = 0x5e,
         Key_Underscore = 0x5f,
         Key_QuoteLeft = 0x60,
         Key_BraceLeft = 0x7b,
         Key_Bar = 0x7c,
         Key_BraceRight = 0x7d,
         Key_AsciiTilde = 0x7e,
 
 
 
         Key_nobreakspace = 0x0a0,
         Key_exclamdown = 0x0a1,
         Key_cent = 0x0a2,
         Key_sterling = 0x0a3,
         Key_currency = 0x0a4,
         Key_yen = 0x0a5,
         Key_brokenbar = 0x0a6,
         Key_section = 0x0a7,
         Key_diaeresis = 0x0a8,
         Key_copyright = 0x0a9,
         Key_ordfeminine = 0x0aa,
         Key_guillemotleft = 0x0ab,
         Key_notsign = 0x0ac,
         Key_hyphen = 0x0ad,
         Key_registered = 0x0ae,
         Key_macron = 0x0af,
         Key_degree = 0x0b0,
         Key_plusminus = 0x0b1,
         Key_twosuperior = 0x0b2,
         Key_threesuperior = 0x0b3,
         Key_acute = 0x0b4,
         Key_mu = 0x0b5,
         Key_paragraph = 0x0b6,
         Key_periodcentered = 0x0b7,
         Key_cedilla = 0x0b8,
         Key_onesuperior = 0x0b9,
         Key_masculine = 0x0ba,
         Key_guillemotright = 0x0bb,
         Key_onequarter = 0x0bc,
         Key_onehalf = 0x0bd,
         Key_threequarters = 0x0be,
         Key_questiondown = 0x0bf,
         Key_Agrave = 0x0c0,
         Key_Aacute = 0x0c1,
         Key_Acircumflex = 0x0c2,
         Key_Atilde = 0x0c3,
         Key_Adiaeresis = 0x0c4,
         Key_Aring = 0x0c5,
         Key_AE = 0x0c6,
         Key_Ccedilla = 0x0c7,
         Key_Egrave = 0x0c8,
         Key_Eacute = 0x0c9,
         Key_Ecircumflex = 0x0ca,
         Key_Ediaeresis = 0x0cb,
         Key_Igrave = 0x0cc,
         Key_Iacute = 0x0cd,
         Key_Icircumflex = 0x0ce,
         Key_Idiaeresis = 0x0cf,
         Key_ETH = 0x0d0,
         Key_Ntilde = 0x0d1,
         Key_Ograve = 0x0d2,
         Key_Oacute = 0x0d3,
         Key_Ocircumflex = 0x0d4,
         Key_Otilde = 0x0d5,
         Key_Odiaeresis = 0x0d6,
         Key_multiply = 0x0d7,
         Key_Ooblique = 0x0d8,
         Key_Ugrave = 0x0d9,
         Key_Uacute = 0x0da,
         Key_Ucircumflex = 0x0db,
         Key_Udiaeresis = 0x0dc,
         Key_Yacute = 0x0dd,
         Key_THORN = 0x0de,
         Key_ssharp = 0x0df,
         Key_agrave = 0x0e0,
         Key_aacute = 0x0e1,
         Key_acircumflex = 0x0e2,
         Key_atilde = 0x0e3,
         Key_adiaeresis = 0x0e4,
         Key_aring = 0x0e5,
         Key_ae = 0x0e6,
         Key_ccedilla = 0x0e7,
         Key_egrave = 0x0e8,
         Key_eacute = 0x0e9,
         Key_ecircumflex = 0x0ea,
         Key_ediaeresis = 0x0eb,
         Key_igrave = 0x0ec,
         Key_iacute = 0x0ed,
         Key_icircumflex = 0x0ee,
         Key_idiaeresis = 0x0ef,
         Key_eth = 0x0f0,
         Key_ntilde = 0x0f1,
         Key_ograve = 0x0f2,
         Key_oacute = 0x0f3,
         Key_ocircumflex = 0x0f4,
         Key_otilde = 0x0f5,
         Key_odiaeresis = 0x0f6,
         Key_division = 0x0f7,
         Key_oslash = 0x0f8,
         Key_ugrave = 0x0f9,
         Key_uacute = 0x0fa,
         Key_ucircumflex = 0x0fb,
         Key_udiaeresis = 0x0fc,
         Key_yacute = 0x0fd,
         Key_thorn = 0x0fe,
         Key_ydiaeresis = 0x0ff,
 
         Key_unknown = 0xffff
     };
 
 
     enum ArrowType {
         UpArrow,
         DownArrow,
         LeftArrow,
         RightArrow
     };
 
 
     enum RasterOp {
         CopyROP,
         OrROP,
         XorROP,
         NotAndROP, EraseROP=NotAndROP,
         NotCopyROP,
         NotOrROP,
         NotXorROP,
         AndROP, NotEraseROP=AndROP,
         NotROP,
         ClearROP,
         SetROP,
         NopROP,
         AndNotROP,
         OrNotROP,
         NandROP,
         NorROP, LastROP=NorROP
     };
 
 
     enum PenStyle {
         NoPen,
         SolidLine,
         DashLine,
         DotLine,
         DashDotLine,
         DashDotDotLine,
         MPenStyle = 0x0f
     };
 
 
     enum PenCapStyle {
         FlatCap = 0x00,
         SquareCap = 0x10,
         RoundCap = 0x20,
         MPenCapStyle = 0x30
     };
 
 
     enum PenJoinStyle {
         MiterJoin = 0x00,
         BevelJoin = 0x40,
         RoundJoin = 0x80,
         MPenJoinStyle = 0xc0
     };
 
 
     enum BrushStyle {
         NoBrush,
         SolidPattern,
         Dense1Pattern,
         Dense2Pattern,
         Dense3Pattern,
         Dense4Pattern,
         Dense5Pattern,
         Dense6Pattern,
         Dense7Pattern,
         HorPattern,
         VerPattern,
         CrossPattern,
         BDiagPattern,
         FDiagPattern,
         DiagCrossPattern,
         CustomPattern=24
     };
 
 
     enum WindowsVersion {
         WV_32s = 0x0001,
         WV_95 = 0x0002,
         WV_98 = 0x0003,
         WV_Me = 0x0004,
         WV_DOS_based = 0x000f,
 
         WV_NT = 0x0010,
         WV_2000 = 0x0020,
         WV_XP = 0x0030,
         WV_NT_based = 0x00f0
     };
 
 
     enum UIEffect {
         UI_General,
         UI_AnimateMenu,
         UI_FadeMenu,
         UI_AnimateCombo,
         UI_AnimateTooltip,
         UI_FadeTooltip
     };
 
 
     enum CursorShape {
         ArrowCursor,
         UpArrowCursor,
         CrossCursor,
         WaitCursor,
         IbeamCursor,
         SizeVerCursor,
         SizeHorCursor,
         SizeBDiagCursor,
         SizeFDiagCursor,
         SizeAllCursor,
         BlankCursor,
         SplitVCursor,
         SplitHCursor,
         PointingHandCursor,
         ForbiddenCursor,
         WhatsThisCursor,
         LastCursor = WhatsThisCursor,
         BitmapCursor = 24
     };
 
 
 
     static const QCursor & arrowCursor;
     static const QCursor & upArrowCursor;
     static const QCursor & crossCursor;
     static const QCursor & waitCursor;
     static const QCursor & ibeamCursor;
     static const QCursor & sizeVerCursor;
     static const QCursor & sizeHorCursor;
     static const QCursor & sizeBDiagCursor;
     static const QCursor & sizeFDiagCursor;
     static const QCursor & sizeAllCursor;
     static const QCursor & blankCursor;
     static const QCursor & splitVCursor;
 
     static const QCursor & splitHCursor;
 
     static const QCursor & pointingHandCursor;
     static const QCursor & forbiddenCursor;
     static const QCursor & whatsThisCursor;
 
 
     enum TextFormat {
         PlainText,
         RichText,
         AutoText
     };
 
 
     enum Dock {
         DockUnmanaged,
         DockTornOff,
         DockTop,
         DockBottom,
         DockRight,
         DockLeft,
         DockMinimized
 # 696 "/opt/qt/3.0.4/include/qnamespace.h"
     };
 
     typedef Dock ToolBarDock;
 
 
     enum DateFormat {
         TextDate,
         ISODate,
         LocalDate
     };
 
 
     enum BackgroundMode {
         FixedColor,
         FixedPixmap,
         NoBackground,
         PaletteForeground,
         PaletteButton,
         PaletteLight,
         PaletteMidlight,
         PaletteDark,
         PaletteMid,
         PaletteText,
         PaletteBrightText,
         PaletteBase,
         PaletteBackground,
         PaletteShadow,
         PaletteHighlight,
         PaletteHighlightedText,
         PaletteButtonText,
         PaletteLink,
         PaletteLinkVisited,
         X11ParentRelative
     };
 
     typedef uint ComparisonFlags;
 
 
     enum StringComparisonMode {
         CaseSensitive = 0x00001,
         BeginsWith = 0x00002,
         EndsWith = 0x00004,
         Contains = 0x00008,
         ExactMatch = 0x00010
     };
 # 749 "/opt/qt/3.0.4/include/qnamespace.h"
     typedef unsigned long HANDLE;
 
 
 
 };
 
 
 class QInternal {
 public:
     enum PaintDeviceFlags {
         UndefinedDevice = 0x00,
         Widget = 0x01,
         Pixmap = 0x02,
         Printer = 0x03,
         Picture = 0x04,
         System = 0x05,
         DeviceTypeMask = 0x0f,
         ExternalDevice = 0x10,
 
         CompatibilityMode = 0x20
     };
 };
 # 2 "kkeyserver_x11.cpp" 2
 # 1 "/opt/qt/3.0.4/include/qwindowdefs.h" 1
 # 43 "/opt/qt/3.0.4/include/qwindowdefs.h"
 # 1 "/opt/qt/3.0.4/include/qobjectdefs.h" 1
 # 71 "/opt/qt/3.0.4/include/qobjectdefs.h"
 struct QUObject;
 # 151 "/opt/qt/3.0.4/include/qobjectdefs.h"
 class QObject;
 class QMetaObject;
 class QSignal;
 class QConnection;
 class QEvent;
 struct QMetaData;
 class QConnectionList;
 class QConnectionListIt;
 class QSignalVec;
 class QObjectList;
 class QObjectListIt;
 class QMemberDict;
 # 44 "/opt/qt/3.0.4/include/qwindowdefs.h" 2
 # 1 "/opt/qt/3.0.4/include/qstring.h" 1
 # 43 "/opt/qt/3.0.4/include/qstring.h"
 # 1 "/opt/qt/3.0.4/include/qcstring.h" 1
 # 43 "/opt/qt/3.0.4/include/qcstring.h"
 # 1 "/opt/qt/3.0.4/include/qmemarray.h" 1
 # 42 "/opt/qt/3.0.4/include/qmemarray.h"
 # 1 "/opt/qt/3.0.4/include/qgarray.h" 1
 # 42 "/opt/qt/3.0.4/include/qgarray.h"
 # 1 "/opt/qt/3.0.4/include/qshared.h" 1
 # 46 "/opt/qt/3.0.4/include/qshared.h"
 struct QShared
 {
     QShared() { count = 1; }
     void ref() { count++; }
     bool deref() { return !--count; }
     uint count;
 };
 # 43 "/opt/qt/3.0.4/include/qgarray.h" 2
 
 
 
 class QGArray
 {
 friend class QBuffer;
 public:
 
     struct array_data : public QShared {
         array_data() { data=0; len=0; }
         char *data;
         uint len;
     };
     QGArray();
 protected:
     QGArray( int, int );
     QGArray( int size );
     QGArray( const QGArray &a );
     virtual ~QGArray();
 
     QGArray &operator=( const QGArray &a ) { return assign( a ); }
 
     virtual void detach() { duplicate(*this); }
 
     char *data() const { return shd->data; }
     uint nrefs() const { return shd->count; }
     uint size() const { return shd->len; }
     bool isEqual( const QGArray &a ) const;
 
     bool resize( uint newsize );
 
     bool fill( const char *d, int len, uint sz );
 
     QGArray &assign( const QGArray &a );
     QGArray &assign( const char *d, uint len );
     QGArray &duplicate( const QGArray &a );
     QGArray &duplicate( const char *d, uint len );
     void store( const char *d, uint len );
 
     array_data *sharedBlock() const { return shd; }
     void setSharedBlock( array_data *p ) { shd=(array_data*)p; }
 
     QGArray &setRawData( const char *d, uint len );
     void resetRawData( const char *d, uint len );
 
     int find( const char *d, uint index, uint sz ) const;
     int contains( const char *d, uint sz ) const;
 
     void sort( uint sz );
     int bsearch( const char *d, uint sz ) const;
 
     char *at( uint index ) const;
 
     bool setExpand( uint index, const char *d, uint sz );
 
 protected:
     virtual array_data *newData();
     virtual void deleteData( array_data *p );
 
 private:
     static void msg_index( uint );
     array_data *shd;
 };
 
 
 inline char *QGArray::at( uint index ) const
 {
 
     if ( index >= size() ) {
         msg_index( index );
         index = 0;
     }
 
     return &shd->data[index];
 }
 # 43 "/opt/qt/3.0.4/include/qmemarray.h" 2
 
 
 
 template<class type>
 class QMemArray
 : public QGArray
 {
 public:
     typedef type* Iterator;
     typedef const type* ConstIterator;
     typedef type ValueType;
 
 protected:
     QMemArray( int, int ) : QGArray( 0, 0 ) {}
 
 public:
     QMemArray() {}
     QMemArray( int size ) : QGArray(size*sizeof(type)) {}
     QMemArray( const QMemArray<type> &a ) : QGArray(a) {}
    ~QMemArray() {}
     QMemArray<type> &operator=(const QMemArray<type> &a)
                                 { return (QMemArray<type>&)QGArray::assign(a); }
     type *data() const { return (type *)QGArray::data(); }
     uint nrefs() const { return QGArray::nrefs(); }
     uint size() const { return QGArray::size()/sizeof(type); }
     uint count() const { return size(); }
     bool isEmpty() const { return QGArray::size() == 0; }
     bool isNull() const { return QGArray::data() == 0; }
     bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); }
     bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); }
     bool fill( const type &d, int size = -1 )
         { return QGArray::fill((char*)&d,size,sizeof(type) ); }
     void detach() { QGArray::detach(); }
     QMemArray<type> copy() const
         { QMemArray<type> tmp; return tmp.duplicate(*this); }
     QMemArray<type>& assign( const QMemArray<type>& a )
         { return (QMemArray<type>&)QGArray::assign(a); }
     QMemArray<type>& assign( const type *a, uint n )
         { return (QMemArray<type>&)QGArray::assign((char*)a,n*sizeof(type)); }
     QMemArray<type>& duplicate( const QMemArray<type>& a )
         { return (QMemArray<type>&)QGArray::duplicate(a); }
     QMemArray<type>& duplicate( const type *a, uint n )
         { return (QMemArray<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); }
     QMemArray<type>& setRawData( const type *a, uint n )
         { return (QMemArray<type>&)QGArray::setRawData((char*)a,
                                                      n*sizeof(type)); }
     void resetRawData( const type *a, uint n )
         { QGArray::resetRawData((char*)a,n*sizeof(type)); }
     int find( const type &d, uint i=0 ) const
         { return QGArray::find((char*)&d,i,sizeof(type)); }
     int contains( const type &d ) const
         { return QGArray::contains((char*)&d,sizeof(type)); }
     void sort() { QGArray::sort(sizeof(type)); }
     int bsearch( const type &d ) const
         { return QGArray::bsearch((const char*)&d,sizeof(type)); }
     type& operator[]( int i ) const
         { return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
     type& at( uint i ) const
         { return (type &)(*(type *)QGArray::at(i*sizeof(type))); }
          operator const type*() const { return (const type *)QGArray::data(); }
     bool operator==( const QMemArray<type> &a ) const { return isEqual(a); }
     bool operator!=( const QMemArray<type> &a ) const { return !isEqual(a); }
     Iterator begin() { return data(); }
     Iterator end() { return data() + size(); }
     ConstIterator begin() const { return data(); }
     ConstIterator end() const { return data() + size(); }
 };
 # 44 "/opt/qt/3.0.4/include/qcstring.h" 2
 
 
 # 1 "/usr/include/string.h" 1 3
 # 26 "/usr/include/string.h" 3
 # 1 "/usr/include/features.h" 1 3
 # 283 "/usr/include/features.h" 3
 # 1 "/usr/include/sys/cdefs.h" 1 3
 # 284 "/usr/include/features.h" 2 3
 # 312 "/usr/include/features.h" 3
 # 1 "/usr/include/gnu/stubs.h" 1 3
 # 313 "/usr/include/features.h" 2 3
 # 27 "/usr/include/string.h" 2 3
 
 extern "C" {
 
 
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 201 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 3
 typedef unsigned int size_t;
 # 34 "/usr/include/string.h" 2 3
 
 
 
 extern void *memcpy (void *__restrict __dest,
                      __const void *__restrict __src, size_t __n) throw ();
 
 
 extern void *memmove (void *__dest, __const void *__src, size_t __n)
      throw ();
 
 
 
 
 
 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
                       int __c, size_t __n)
      throw ();
 
 
 
 
 extern void *memset (void *__s, int __c, size_t __n) throw ();
 
 
 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
      throw () __attribute__ ((__pure__));
 
 
 extern void *memchr (__const void *__s, int __c, size_t __n)
       throw () __attribute__ ((__pure__));
 
 
 
 
 extern void *rawmemchr (__const void *__s, int __c) throw () __attribute__ ((__pure__));
 
 
 extern void *memrchr (__const void *__s, int __c, size_t __n)
       throw () __attribute__ ((__pure__));
 
 
 
 
 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
      throw ();
 
 extern char *strncpy (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) throw ();
 
 
 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
      throw ();
 
 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
                       size_t __n) throw ();
 
 
 extern int strcmp (__const char *__s1, __const char *__s2)
      throw () __attribute__ ((__pure__));
 
 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
      throw () __attribute__ ((__pure__));
 
 
 extern int strcoll (__const char *__s1, __const char *__s2)
      throw () __attribute__ ((__pure__));
 
 extern size_t strxfrm (char *__restrict __dest,
                        __const char *__restrict __src, size_t __n) throw ();
 
 
 
 
 
 # 1 "/usr/include/xlocale.h" 1 3
 # 28 "/usr/include/xlocale.h" 3
 typedef struct __locale_struct
 {
 
   struct locale_data *__locales[13];
 
 
   const unsigned short int *__ctype_b;
   const int *__ctype_tolower;
   const int *__ctype_toupper;
 } *__locale_t;
 # 109 "/usr/include/string.h" 2 3
 
 
 extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
      throw () __attribute__ ((__pure__));
 
 extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
                            __locale_t __l) throw ();
 
 
 
 
 extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__));
 
 
 
 
 
 
 extern char *strndup (__const char *__string, size_t __n)
      throw () __attribute__ ((__malloc__));
 # 155 "/usr/include/string.h" 3
 extern char *strchr (__const char *__s, int __c) throw () __attribute__ ((__pure__));
 
 extern char *strrchr (__const char *__s, int __c) throw () __attribute__ ((__pure__));
 
 
 
 
 extern char *strchrnul (__const char *__s, int __c) throw () __attribute__ ((__pure__));
 
 
 
 
 extern size_t strcspn (__const char *__s, __const char *__reject)
      throw () __attribute__ ((__pure__));
 
 
 extern size_t strspn (__const char *__s, __const char *__accept)
      throw () __attribute__ ((__pure__));
 
 extern char *strpbrk (__const char *__s, __const char *__accept)
      throw () __attribute__ ((__pure__));
 
 extern char *strstr (__const char *__haystack, __const char *__needle)
      throw () __attribute__ ((__pure__));
 
 
 
 extern char *strcasestr (__const char *__haystack, __const char *__needle)
      throw () __attribute__ ((__pure__));
 
 
 
 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
      throw ();
 
 
 
 extern char *__strtok_r (char *__restrict __s,
                          __const char *__restrict __delim,
                          char **__restrict __save_ptr) throw ();
 
 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                        char **__restrict __save_ptr) throw ();
 
 
 
 
 
 
 extern void *memmem (__const void *__haystack, size_t __haystacklen,
                      __const void *__needle, size_t __needlelen)
      throw () __attribute__ ((__pure__));
 
 
 
 extern void *__mempcpy (void *__restrict __dest,
                         __const void *__restrict __src, size_t __n) throw ();
 extern void *mempcpy (void *__restrict __dest,
                       __const void *__restrict __src, size_t __n) throw ();
 
 
 
 
 extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__));
 
 
 
 
 extern size_t strnlen (__const char *__string, size_t __maxlen)
      throw () __attribute__ ((__pure__));
 
 
 
 
 extern char *strerror (int __errnum) throw ();
 
 
 
 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw ();
 
 
 
 
 extern void __bzero (void *__s, size_t __n) throw ();
 
 
 
 extern void bcopy (__const void *__src, void *__dest, size_t __n) throw ();
 
 
 extern void bzero (void *__s, size_t __n) throw ();
 
 
 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
      throw () __attribute__ ((__pure__));
 
 
 extern char *index (__const char *__s, int __c) throw () __attribute__ ((__pure__));
 
 
 extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__));
 
 
 
 extern int ffs (int __i) throw () __attribute__ ((__const__));
 
 
 
 
 extern int ffsl (long int __l) throw () __attribute__ ((__const__));
 
 __extension__ extern int ffsll (long long int __ll)
      throw () __attribute__ ((__const__));
 
 
 
 
 extern int strcasecmp (__const char *__s1, __const char *__s2)
      throw () __attribute__ ((__pure__));
 
 
 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
      throw () __attribute__ ((__pure__));
 
 
 
 
 
 extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
                            __locale_t __loc) throw () __attribute__ ((__pure__));
 
 extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
                             size_t __n, __locale_t __loc)
      throw () __attribute__ ((__pure__));
 
 
 
 
 
 extern char *strsep (char **__restrict __stringp,
                      __const char *__restrict __delim) throw ();
 
 
 
 
 extern int strverscmp (__const char *__s1, __const char *__s2)
      throw () __attribute__ ((__pure__));
 
 
 extern char *strsignal (int __sig) throw ();
 
 
 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
      throw ();
 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
      throw ();
 
 
 
 extern char *__stpncpy (char *__restrict __dest,
                         __const char *__restrict __src, size_t __n) throw ();
 extern char *stpncpy (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) throw ();
 
 
 extern char *strfry (char *__string) throw ();
 
 
 extern void *memfrob (void *__s, size_t __n) throw ();
 
 
 
 
 
 
 extern char *basename (__const char *__filename) throw ();
 # 364 "/usr/include/string.h" 3
 }
 # 47 "/opt/qt/3.0.4/include/qcstring.h" 2
 
 
 
 
 
 
  void *qmemmove( void *dst, const void *src, uint len );
 
  char *qstrdup( const char * );
 
  inline uint qstrlen( const char *str )
 { return str ? (uint)strlen(str) : 0; }
 
  inline char *qstrcpy( char *dst, const char *src )
 { return src ? strcpy(dst, src) : 0; }
 
  char *qstrncpy( char *dst, const char *src, uint len );
 
  inline int qstrcmp( const char *str1, const char *str2 )
 {
     return ( str1 && str2 ) ? strcmp( str1, str2 )
                             : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
 }
 
  inline int qstrncmp( const char *str1, const char *str2, uint len )
 {
     return ( str1 && str2 ) ? strncmp( str1, str2, len )
                             : ( str1 ? 1 : ( str2 ? -1 : 0 ) );
 }
 
  int qstricmp( const char *, const char * );
 
  int qstrnicmp( const char *, const char *, uint len );
 # 98 "/opt/qt/3.0.4/include/qcstring.h"
  Q_UINT16 qChecksum( const char *s, uint len );
 # 120 "/opt/qt/3.0.4/include/qcstring.h"
 typedef QMemArray<char> QByteArray;
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QByteArray & );
  QDataStream &operator>>( QDataStream &, QByteArray & );
 # 137 "/opt/qt/3.0.4/include/qcstring.h"
 class QRegExp;
 
 class QCString : public QByteArray
 {
 public:
     QCString() {}
     QCString( int size );
     QCString( const QCString &s ) : QByteArray( s ) {}
     QCString( const char *str );
     QCString( const char *str, uint maxlen );
     ~QCString();
 
     QCString &operator=( const QCString &s );
     QCString &operator=( const char *str );
 
     bool isNull() const;
     bool isEmpty() const;
     uint length() const;
     bool resize( uint newlen );
     bool truncate( uint pos );
     bool fill( char c, int len = -1 );
 
     QCString copy() const;
 
     QCString &sprintf( const char *format, ... );
 
     int find( char c, int index=0, bool cs=TRUE ) const;
     int find( const char *str, int index=0, bool cs=TRUE ) const;
 
     int find( const QRegExp &, int index=0 ) const;
 
     int findRev( char c, int index=-1, bool cs=TRUE) const;
     int findRev( const char *str, int index=-1, bool cs=TRUE) const;
 
     int findRev( const QRegExp &, int index=-1 ) const;
 
     int contains( char c, bool cs=TRUE ) const;
     int contains( const char *str, bool cs=TRUE ) const;
 
     int contains( const QRegExp & ) const;
 
     QCString left( uint len ) const;
     QCString right( uint len ) const;
     QCString mid( uint index, uint len=0xffffffff) const;
 
     QCString leftJustify( uint width, char fill=' ', bool trunc=FALSE)const;
     QCString rightJustify( uint width, char fill=' ',bool trunc=FALSE)const;
 
     QCString lower() const;
     QCString upper() const;
 
     QCString stripWhiteSpace() const;
     QCString simplifyWhiteSpace() const;
 
     QCString &insert( uint index, const char * );
     QCString &insert( uint index, char );
     QCString &append( const char * );
     QCString &prepend( const char * );
     QCString &remove( uint index, uint len );
     QCString &replace( uint index, uint len, const char * );
 
     QCString &replace( const QRegExp &, const char * );
 
     short toShort( bool *ok=0 ) const;
     ushort toUShort( bool *ok=0 ) const;
     int toInt( bool *ok=0 ) const;
     uint toUInt( bool *ok=0 ) const;
     long toLong( bool *ok=0 ) const;
     ulong toULong( bool *ok=0 ) const;
     float toFloat( bool *ok=0 ) const;
     double toDouble( bool *ok=0 ) const;
 
     QCString &setStr( const char *s );
     QCString &setNum( short );
     QCString &setNum( ushort );
     QCString &setNum( int );
     QCString &setNum( uint );
     QCString &setNum( long );
     QCString &setNum( ulong );
     QCString &setNum( float, char f='g', int prec=6 );
     QCString &setNum( double, char f='g', int prec=6 );
 
     bool setExpand( uint index, char c );
 
                 operator const char *() const;
     QCString &operator+=( const char *str );
     QCString &operator+=( char c );
 };
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QCString & );
  QDataStream &operator>>( QDataStream &, QCString & );
 
 
 
 
 
 
 inline QCString &QCString::operator=( const QCString &s )
 { return (QCString&)assign( s ); }
 
 inline QCString &QCString::operator=( const char *str )
 { return (QCString&)duplicate( str, qstrlen(str)+1 ); }
 
 inline bool QCString::isNull() const
 { return data() == 0; }
 
 inline bool QCString::isEmpty() const
 { return data() == 0 || *data() == '\0'; }
 
 inline uint QCString::length() const
 { return qstrlen( data() ); }
 
 inline bool QCString::truncate( uint pos )
 { return resize(pos+1); }
 
 inline QCString QCString::copy() const
 { return QCString( data() ); }
 
 inline QCString &QCString::prepend( const char *s )
 { return insert(0,s); }
 
 inline QCString &QCString::append( const char *s )
 { return operator+=(s); }
 
 inline QCString &QCString::setNum( short n )
 { return setNum((long)n); }
 
 inline QCString &QCString::setNum( ushort n )
 { return setNum((ulong)n); }
 
 inline QCString &QCString::setNum( int n )
 { return setNum((long)n); }
 
 inline QCString &QCString::setNum( uint n )
 { return setNum((ulong)n); }
 
 inline QCString &QCString::setNum( float n, char f, int prec )
 { return setNum((double)n,f,prec); }
 
 inline QCString::operator const char *() const
 { return (const char *)data(); }
 
 
 
 
 
 
  inline bool operator==( const QCString &s1, const QCString &s2 )
 { return qstrcmp(s1.data(),s2.data()) == 0; }
 
  inline bool operator==( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) == 0; }
 
  inline bool operator==( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) == 0; }
 
  inline bool operator!=( const QCString &s1, const QCString &s2 )
 { return qstrcmp(s1.data(),s2.data()) != 0; }
 
  inline bool operator!=( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) != 0; }
 
  inline bool operator!=( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) != 0; }
 
  inline bool operator<( const QCString &s1, const QCString& s2 )
 { return qstrcmp(s1.data(),s2.data()) < 0; }
 
  inline bool operator<( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) < 0; }
 
  inline bool operator<( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) < 0; }
 
  inline bool operator<=( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) <= 0; }
 
  inline bool operator<=( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) <= 0; }
 
  inline bool operator>( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) > 0; }
 
  inline bool operator>( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) > 0; }
 
  inline bool operator>=( const QCString &s1, const char *s2 )
 { return qstrcmp(s1.data(),s2) >= 0; }
 
  inline bool operator>=( const char *s1, const QCString &s2 )
 { return qstrcmp(s1,s2.data()) >= 0; }
 
  inline const QCString operator+( const QCString &s1, const QCString &s2 )
 {
     QCString tmp( s1.data() );
     tmp += s2;
     return tmp;
 }
 
  inline const QCString operator+( const QCString &s1, const char *s2 )
 {
     QCString tmp( s1.data() );
     tmp += s2;
     return tmp;
 }
 
  inline const QCString operator+( const char *s1, const QCString &s2 )
 {
     QCString tmp( s1 );
     tmp += s2;
     return tmp;
 }
 
  inline const QCString operator+( const QCString &s1, char c2 )
 {
     QCString tmp( s1.data() );
     tmp += c2;
     return tmp;
 }
 
  inline const QCString operator+( char c1, const QCString &s2 )
 {
     QCString tmp;
     tmp += c1;
     tmp += s2;
     return tmp;
 }
 # 44 "/opt/qt/3.0.4/include/qstring.h" 2
 
 
 
 
 
 
 
 class QRegExp;
 class QString;
 class QCharRef;
 
 class QChar {
 public:
     QChar();
     QChar( char c );
     QChar( uchar c );
     QChar( uchar c, uchar r );
     QChar( const QChar& c );
     QChar( ushort rc );
     QChar( short rc );
     QChar( uint rc );
     QChar( int rc );
 
     static const QChar null;
     static const QChar replacement;
     static const QChar byteOrderMark;
     static const QChar byteOrderSwapped;
     static const QChar nbsp;
 
 
 
     enum Category
     {
         NoCategory,
 
         Mark_NonSpacing,
         Mark_SpacingCombining,
         Mark_Enclosing,
 
         Number_DecimalDigit,
         Number_Letter,
         Number_Other,
 
         Separator_Space,
         Separator_Line,
         Separator_Paragraph,
 
         Other_Control,
         Other_Format,
         Other_Surrogate,
         Other_PrivateUse,
         Other_NotAssigned,
 
         Letter_Uppercase,
         Letter_Lowercase,
         Letter_Titlecase,
         Letter_Modifier,
         Letter_Other,
 
         Punctuation_Connector,
         Punctuation_Dash,
         Punctuation_Dask = Punctuation_Dash,
         Punctuation_Open,
         Punctuation_Close,
         Punctuation_InitialQuote,
         Punctuation_FinalQuote,
         Punctuation_Other,
 
         Symbol_Math,
         Symbol_Currency,
         Symbol_Modifier,
         Symbol_Other
     };
 
     enum Direction
     {
         DirL, DirR, DirEN, DirES, DirET, DirAN, DirCS, DirB, DirS, DirWS, DirON,
         DirLRE, DirLRO, DirAL, DirRLE, DirRLO, DirPDF, DirNSM, DirBN
     };
 
     enum Decomposition
     {
         Single, Canonical, Font, NoBreak, Initial, Medial,
         Final, Isolated, Circle, Super, Sub, Vertical,
         Wide, Narrow, Small, Square, Compat, Fraction
     };
 
     enum Joining
     {
         OtherJoining, Dual, Right, Center
     };
 
     enum CombiningClass
     {
         Combining_BelowLeftAttached = 200,
         Combining_BelowAttached = 202,
         Combining_BelowRightAttached = 204,
         Combining_LeftAttached = 208,
         Combining_RightAttached = 210,
         Combining_AboveLeftAttached = 212,
         Combining_AboveAttached = 214,
         Combining_AboveRightAttached = 216,
 
         Combining_BelowLeft = 218,
         Combining_Below = 220,
         Combining_BelowRight = 222,
         Combining_Left = 224,
         Combining_Right = 226,
         Combining_AboveLeft = 228,
         Combining_Above = 230,
         Combining_AboveRight = 232,
 
         Combining_DoubleBelow = 233,
         Combining_DoubleAbove = 234,
         Combining_IotaSubscript = 240
     };
 
 
 
     int digitValue() const;
     QChar lower() const;
     QChar upper() const;
 
     Category category() const;
     Direction direction() const;
     Joining joining() const;
     bool mirrored() const;
     QChar mirroredChar() const;
     const QString &decomposition() const;
     Decomposition decompositionTag() const;
     unsigned char combiningClass() const;
 
     char latin1() const { return ucs > 0xff ? 0 : (char) ucs; }
     ushort unicode() const { return ucs; }
     ushort &unicode() { return ucs; }
 
 
     operator char() const { return latin1(); }
 
 
     bool isNull() const { return unicode()==0; }
     bool isPrint() const;
     bool isPunct() const;
     bool isSpace() const;
     bool isMark() const;
     bool isLetter() const;
     bool isNumber() const;
     bool isLetterOrNumber() const;
     bool isDigit() const;
     bool isSymbol() const;
 
     uchar cell() const { return ((uchar) ucs & 0xff); }
     uchar row() const { return ((uchar) (ucs>>8)&0xff); }
     void setCell( uchar cell ) { ucs = (ucs & 0xff00) + cell; }
     void setRow( uchar row ) { ucs = (((ushort) row)<<8) + (ucs&0xff); }
 
     static bool networkOrdered() {
         int wordSize;
         bool bigEndian = FALSE;
         qSysInfo( &wordSize, &bigEndian );
         return bigEndian;
     }
 
     friend inline bool operator==( char ch, QChar c );
     friend inline bool operator==( QChar c, char ch );
     friend inline bool operator==( QChar c1, QChar c2 );
     friend inline bool operator!=( QChar c1, QChar c2 );
     friend inline bool operator!=( char ch, QChar c );
     friend inline bool operator!=( QChar c, char ch );
     friend inline bool operator<=( QChar c, char ch );
     friend inline bool operator<=( char ch, QChar c );
     friend inline bool operator<=( QChar c1, QChar c2 );
 
 private:
     ushort ucs;
 
 
 
 } ;
 
 inline QChar::QChar()
 {
     ucs = 0;
 
 
 
 }
 inline QChar::QChar( char c )
 {
     ucs = (uchar)c;
 
 
 
 }
 inline QChar::QChar( uchar c )
 {
     ucs = c;
 
 
 
 }
 inline QChar::QChar( uchar c, uchar r )
 {
     ucs = (r << 8) | c;
 
 
 
 }
 inline QChar::QChar( const QChar& c )
 {
     ucs = c.ucs;
 
 
 
 }
 
 inline QChar::QChar( ushort rc )
 {
     ucs = rc;
 
 
 
 }
 inline QChar::QChar( short rc )
 {
     ucs = (ushort) rc;
 
 
 
 }
 inline QChar::QChar( uint rc )
 {
     ucs = (ushort ) (rc & 0xffff);
 
 
 
 }
 inline QChar::QChar( int rc )
 {
     ucs = (ushort) (rc & 0xffff);
 
 
 
 }
 
 
 inline bool operator==( char ch, QChar c )
 {
     return ((uchar) ch) == c.ucs;
 }
 
 inline bool operator==( QChar c, char ch )
 {
     return ((uchar) ch) == c.ucs;
 }
 
 inline bool operator==( QChar c1, QChar c2 )
 {
     return c1.ucs == c2.ucs;
 }
 
 inline bool operator!=( QChar c1, QChar c2 )
 {
     return c1.ucs != c2.ucs;
 }
 
 inline bool operator!=( char ch, QChar c )
 {
     return ((uchar)ch) != c.ucs;
 }
 
 inline bool operator!=( QChar c, char ch )
 {
     return ((uchar) ch) != c.ucs;
 }
 
 inline bool operator<=( QChar c, char ch )
 {
     return c.ucs <= ((uchar) ch);
 }
 
 inline bool operator<=( char ch, QChar c )
 {
     return ((uchar) ch) <= c.ucs;
 }
 
 inline bool operator<=( QChar c1, QChar c2 )
 {
     return c1.ucs <= c2.ucs;
 }
 
 inline bool operator>=( QChar c, char ch ) { return ch <= c; }
 inline bool operator>=( char ch, QChar c ) { return c <= ch; }
 inline bool operator>=( QChar c1, QChar c2 ) { return c2 <= c1; }
 inline bool operator<( QChar c, char ch ) { return !(ch<=c); }
 inline bool operator<( char ch, QChar c ) { return !(c<=ch); }
 inline bool operator<( QChar c1, QChar c2 ) { return !(c2<=c1); }
 inline bool operator>( QChar c, char ch ) { return !(ch>=c); }
 inline bool operator>( char ch, QChar c ) { return !(c>=ch); }
 inline bool operator>( QChar c1, QChar c2 ) { return !(c2>=c1); }
 
 
 struct QStringData : public QShared {
     QStringData() :
         unicode(0), ascii(0), len(0), simpletext(1), maxl(0), dirty(0) { ref(); }
     QStringData(QChar *u, uint l, uint m) :
         unicode(u), ascii(0), len(l), simpletext(1), maxl(m), dirty(1) { }
 
     ~QStringData() { if ( unicode ) delete[] ((char*)unicode);
                      if ( ascii ) delete[] ascii; }
 
     void deleteSelf();
     QChar *unicode;
     char *ascii;
     void setDirty() {
         if ( ascii ) {
             delete [] ascii;
             ascii = 0;
         }
         dirty = 1;
     }
 
 
 
     uint len : 30;
 
     uint simpletext : 1;
 
 
 
     uint maxl : 30;
 
     uint dirty : 1;
 };
 
 
 class QString
 {
 public:
     QString();
     QString( QChar );
     QString( const QString & );
     QString( const QByteArray& );
     QString( const QChar* unicode, uint length );
 
     QString( const char *str );
 
     ~QString();
 
     QString &operator=( const QString & );
 
     QString &operator=( const char * );
 
     QString &operator=( const QCString& );
     QString &operator=( QChar c );
     QString &operator=( char c );
 
     static const QString null;
 
     bool isNull() const;
     bool isEmpty() const;
     uint length() const;
     void truncate( uint pos );
 
     QString & fill( QChar c, int len = -1 );
 
     QString copy() const;
 
     QString arg( long a, int fieldwidth=0, int base=10 ) const;
     QString arg( ulong a, int fieldwidth=0, int base=10 ) const;
     QString arg( int a, int fieldwidth=0, int base=10 ) const;
     QString arg( uint a, int fieldwidth=0, int base=10 ) const;
     QString arg( short a, int fieldwidth=0, int base=10 ) const;
     QString arg( ushort a, int fieldwidth=0, int base=10 ) const;
     QString arg( char a, int fieldwidth=0 ) const;
     QString arg( QChar a, int fieldwidth=0 ) const;
     QString arg( const QString& a, int fieldwidth=0 ) const;
     QString arg( double a, int fieldwidth=0, char fmt='g', int prec=-1 ) const;
 
 
     QString &sprintf( const char* format, ... )
 
         __attribute__ ((format (printf, 2, 3)))
 
         ;
 
 
     int find( QChar c, int index=0, bool cs=TRUE ) const;
     int find( char c, int index=0, bool cs=TRUE ) const;
     int find( const QString &str, int index=0, bool cs=TRUE ) const;
 
     int find( const QRegExp &, int index=0 ) const;
 
 
     int find( const char* str, int index=0 ) const;
 
     int findRev( QChar c, int index=-1, bool cs=TRUE) const;
     int findRev( char c, int index=-1, bool cs=TRUE) const;
     int findRev( const QString &str, int index=-1, bool cs=TRUE) const;
 
     int findRev( const QRegExp &, int index=-1 ) const;
 
 
     int findRev( const char* str, int index=-1 ) const;
 
     int contains( QChar c, bool cs=TRUE ) const;
     int contains( char c, bool cs=TRUE ) const
                     { return contains(QChar(c), cs); }
 
     int contains( const char* str, bool cs=TRUE ) const;
 
     int contains( const QString &str, bool cs=TRUE ) const;
 
     int contains( const QRegExp & ) const;
 
 
     enum SectionFlags {
         SectionDefault = 0x00,
         SectionSkipEmpty = 0x01,
         SectionIncludeLeadingSep = 0x02,
         SectionIncludeTrailingSep = 0x04,
         SectionCaseInsensitiveSeps = 0x08
     };
     QString section( QChar sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
     QString section( char sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
 
     QString section( const char *in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
 
     QString section( const QString &in_sep, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
 
     QString section( const QRegExp &reg, int start, int end = 0xffffffff, int flags = SectionDefault ) const;
 
 
     QString left( uint len ) const;
     QString right( uint len ) const;
     QString mid( uint index, uint len=0xffffffff) const;
 
     QString leftJustify( uint width, QChar fill=' ', bool trunc=FALSE)const;
     QString rightJustify( uint width, QChar fill=' ',bool trunc=FALSE)const;
 
     QString lower() const;
     QString upper() const;
 
     QString stripWhiteSpace() const;
     QString simplifyWhiteSpace() const;
 
     QString &insert( uint index, const QString & );
     QString &insert( uint index, const QChar*, uint len );
     QString &insert( uint index, QChar );
     QString &insert( uint index, char c ) { return insert(index,QChar(c)); }
     QString &append( char );
     QString &append( QChar );
     QString &append( const QString & );
     QString &prepend( char );
     QString &prepend( QChar );
     QString &prepend( const QString & );
     QString &remove( uint index, uint len );
     QString &replace( uint index, uint len, const QString & );
     QString &replace( uint index, uint len, const QChar*, uint clen );
 
     QString &replace( const QRegExp &, const QString & );
 
     short toShort( bool *ok=0, int base=10 ) const;
     ushort toUShort( bool *ok=0, int base=10 ) const;
     int toInt( bool *ok=0, int base=10 ) const;
     uint toUInt( bool *ok=0, int base=10 ) const;
     long toLong( bool *ok=0, int base=10 ) const;
     ulong toULong( bool *ok=0, int base=10 ) const;
     float toFloat( bool *ok=0 ) const;
     double toDouble( bool *ok=0 ) const;
 
     QString &setNum( short, int base=10 );
     QString &setNum( ushort, int base=10 );
     QString &setNum( int, int base=10 );
     QString &setNum( uint, int base=10 );
     QString &setNum( long, int base=10 );
     QString &setNum( ulong, int base=10 );
     QString &setNum( float, char f='g', int prec=6 );
     QString &setNum( double, char f='g', int prec=6 );
 
     static QString number( long, int base=10 );
     static QString number( ulong, int base=10);
     static QString number( int, int base=10 );
     static QString number( uint, int base=10);
     static QString number( double, char f='g', int prec=6 );
 
     void setExpand( uint index, QChar c );
 
     QString &operator+=( const QString &str );
     QString &operator+=( QChar c );
     QString &operator+=( char c );
 
     QChar at( uint i ) const
         { return i < d->len ? d->unicode[i] : QChar::null; }
     QChar operator[]( int i ) const { return at((uint)i); }
     QCharRef at( uint i );
     QCharRef operator[]( int i );
 
     QChar constref(uint i) const
         { return at(i); }
     QChar& ref(uint i)
         {
             if ( d->count != 1 || i >= d->len )
                 subat( i );
             d->setDirty();
             return d->unicode[i];
         }
 
     const QChar* unicode() const { return d->unicode; }
     const char* ascii() const { return latin1(); }
     const char* latin1() const;
     static QString fromLatin1(const char*, int len=-1);
 
     QCString utf8() const;
     static QString fromUtf8(const char*, int len=-1);
 
     QCString local8Bit() const;
     static QString fromLocal8Bit(const char*, int len=-1);
     bool operator!() const;
 
 
 
 
     QString &setUnicode( const QChar* unicode, uint len );
     QString &setUnicodeCodes( const ushort* unicode_as_ushorts, uint len );
     QString &setLatin1( const char*, int len=-1 );
 
     int compare( const QString& s ) const;
     static int compare( const QString& s1, const QString& s2 )
     { return s1.compare( s2 ); }
 
     int localeAwareCompare( const QString& s ) const;
     static int localeAwareCompare( const QString& s1, const QString& s2 )
     { return s1.localeAwareCompare( s2 ); }
 
 
     friend QDataStream &operator>>( QDataStream &, QString & );
 
 
     void compose();
 
 
 
 
 
     bool startsWith( const QString& ) const;
     bool endsWith( const QString& ) const;
 
     void setLength( uint newLength );
 
     bool simpleText() const { if ( d->dirty ) checkSimpleText(); return (bool)d->simpletext; }
     bool isRightToLeft() const;
 
 private:
 # 607 "/opt/qt/3.0.4/include/qstring.h"
     QString& replace( const QString &, const QString & ) { return *this; }
 
     QString( int size, bool );
 
     void deref();
     void real_detach();
     void subat( uint );
     bool findArg(int& pos, int& len) const;
 
     void checkSimpleText() const;
 
     static QChar* asciiToUnicode( const char*, uint * len, uint maxlen=(uint)-1 );
     static QChar* asciiToUnicode( const QByteArray&, uint * len );
     static char* unicodeToAscii( const QChar*, uint len );
 
     QStringData *d;
     static QStringData* shared_null;
     static QStringData* makeSharedNull();
 
     friend class QConstString;
     friend class QTextStream;
     QString( QStringData* dd, bool ) : d(dd) { }
 };
 
 class QCharRef {
     friend class QString;
     QString& s;
     uint p;
     QCharRef(QString* str, uint pos) : s(*str), p(pos) { }
 
 public:
 
 
 
 
     ushort unicode() const { return s.constref(p).unicode(); }
     char latin1() const { return s.constref(p).latin1(); }
 
 
     QCharRef operator=(char c ) { s.ref(p)=c; return *this; }
     QCharRef operator=(uchar c ) { s.ref(p)=c; return *this; }
     QCharRef operator=(QChar c ) { s.ref(p)=c; return *this; }
     QCharRef operator=(const QCharRef& c ) { s.ref(p)=c.unicode(); return *this; }
     QCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; }
     QCharRef operator=(short rc ) { s.ref(p)=rc; return *this; }
     QCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; }
     QCharRef operator=(int rc ) { s.ref(p)=rc; return *this; }
 
     operator QChar () const { return s.constref(p); }
 
 
     bool isNull() const { return unicode()==0; }
     bool isPrint() const { return s.constref(p).isPrint(); }
     bool isPunct() const { return s.constref(p).isPunct(); }
     bool isSpace() const { return s.constref(p).isSpace(); }
     bool isMark() const { return s.constref(p).isMark(); }
     bool isLetter() const { return s.constref(p).isLetter(); }
     bool isNumber() const { return s.constref(p).isNumber(); }
     bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); }
     bool isDigit() const { return s.constref(p).isDigit(); }
 
     int digitValue() const { return s.constref(p).digitValue(); }
     QChar lower() const { return s.constref(p).lower(); }
     QChar upper() const { return s.constref(p).upper(); }
 
     QChar::Category category() const { return s.constref(p).category(); }
     QChar::Direction direction() const { return s.constref(p).direction(); }
     QChar::Joining joining() const { return s.constref(p).joining(); }
     bool mirrored() const { return s.constref(p).mirrored(); }
     QChar mirroredChar() const { return s.constref(p).mirroredChar(); }
     const QString &decomposition() const { return s.constref(p).decomposition(); }
     QChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); }
     unsigned char combiningClass() const { return s.constref(p).combiningClass(); }
 
 
     uchar cell() const { return s.constref(p).cell(); }
     uchar row() const { return s.constref(p).row(); }
 
 };
 
 inline QCharRef QString::at( uint i ) { return QCharRef(this,i); }
 inline QCharRef QString::operator[]( int i ) { return at((uint)i); }
 
 
 class QConstString : private QString {
 public:
     QConstString( const QChar* unicode, uint length );
     ~QConstString();
     const QString& string() const { return *this; }
 };
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QString & );
  QDataStream &operator>>( QDataStream &, QString & );
 # 716 "/opt/qt/3.0.4/include/qstring.h"
 inline QString::QString() :
     d(shared_null ? shared_null : makeSharedNull())
 {
     d->ref();
 }
 
 inline QString::~QString()
 {
     if ( d->deref() ) {
         if ( d == shared_null )
             shared_null = 0;
         d->deleteSelf();
     }
 }
 
 inline QString QString::section( QChar sep, int start, int end, int flags ) const
 { return section(QString(sep), start, end, flags); }
 
 inline QString QString::section( char sep, int start, int end, int flags ) const
 { return section(QChar(sep), start, end, flags); }
 
 
 inline QString QString::section( const char *in_sep, int start, int end, int flags ) const
 { return section(QString(in_sep), start, end, flags); }
 
 
 inline QString &QString::operator=( QChar c )
 { return *this = QString(c); }
 
 inline QString &QString::operator=( char c )
 { return *this = QString(QChar(c)); }
 
 inline bool QString::isNull() const
 { return unicode() == 0; }
 
 inline bool QString::operator!() const
 { return isNull(); }
 
 inline uint QString::length() const
 { return d->len; }
 
 inline bool QString::isEmpty() const
 { return length() == 0; }
 
 inline QString QString::copy() const
 { return QString( *this ); }
 
 inline QString &QString::prepend( const QString & s )
 { return insert(0,s); }
 
 inline QString &QString::prepend( QChar c )
 { return insert(0,c); }
 
 inline QString &QString::prepend( char c )
 { return insert(0,c); }
 
 inline QString &QString::append( const QString & s )
 { return operator+=(s); }
 
 inline QString &QString::append( QChar c )
 { return operator+=(c); }
 
 inline QString &QString::append( char c )
 { return operator+=(c); }
 
 inline QString &QString::setNum( short n, int base )
 { return setNum((long)n, base); }
 
 inline QString &QString::setNum( ushort n, int base )
 { return setNum((ulong)n, base); }
 
 inline QString &QString::setNum( int n, int base )
 { return setNum((long)n, base); }
 
 inline QString &QString::setNum( uint n, int base )
 { return setNum((ulong)n, base); }
 
 inline QString &QString::setNum( float n, char f, int prec )
 { return setNum((double)n,f,prec); }
 
 inline QString QString::arg(int a, int fieldwidth, int base) const
 { return arg((long)a, fieldwidth, base); }
 
 inline QString QString::arg(uint a, int fieldwidth, int base) const
 { return arg((ulong)a, fieldwidth, base); }
 
 inline QString QString::arg(short a, int fieldwidth, int base) const
 { return arg((long)a, fieldwidth, base); }
 
 inline QString QString::arg(ushort a, int fieldwidth, int base) const
 { return arg((ulong)a, fieldwidth, base); }
 
 inline int QString::find( char c, int index, bool cs ) const
 { return find(QChar(c), index, cs); }
 
 inline int QString::findRev( char c, int index, bool cs) const
 { return findRev( QChar(c), index, cs ); }
 
 
 
 inline int QString::find( const char* str, int index ) const
 { return find(QString::fromLatin1(str), index); }
 
 inline int QString::findRev( const char* str, int index ) const
 { return findRev(QString::fromLatin1(str), index); }
 
 
 
 
 
 
 
  bool operator!=( const QString &s1, const QString &s2 );
  bool operator<( const QString &s1, const QString &s2 );
  bool operator<=( const QString &s1, const QString &s2 );
  bool operator==( const QString &s1, const QString &s2 );
  bool operator>( const QString &s1, const QString &s2 );
  bool operator>=( const QString &s1, const QString &s2 );
 
  bool operator!=( const QString &s1, const char *s2 );
  bool operator<( const QString &s1, const char *s2 );
  bool operator<=( const QString &s1, const char *s2 );
  bool operator==( const QString &s1, const char *s2 );
  bool operator>( const QString &s1, const char *s2 );
  bool operator>=( const QString &s1, const char *s2 );
  bool operator!=( const char *s1, const QString &s2 );
  bool operator<( const char *s1, const QString &s2 );
  bool operator<=( const char *s1, const QString &s2 );
  bool operator==( const char *s1, const QString &s2 );
 
  bool operator>=( const char *s1, const QString &s2 );
 
 
  inline const QString operator+( const QString &s1, const QString &s2 )
 {
     QString tmp( s1 );
     tmp += s2;
     return tmp;
 }
 
 
  inline const QString operator+( const QString &s1, const char *s2 )
 {
     QString tmp( s1 );
     tmp += QString::fromLatin1(s2);
     return tmp;
 }
 
  inline const QString operator+( const char *s1, const QString &s2 )
 {
     QString tmp = QString::fromLatin1( s1 );
     tmp += s2;
     return tmp;
 }
 
 
  inline const QString operator+( const QString &s1, QChar c2 )
 {
     QString tmp( s1 );
     tmp += c2;
     return tmp;
 }
 
  inline const QString operator+( const QString &s1, char c2 )
 {
     QString tmp( s1 );
     tmp += c2;
     return tmp;
 }
 
  inline const QString operator+( QChar c1, const QString &s2 )
 {
     QString tmp;
     tmp += c1;
     tmp += s2;
     return tmp;
 }
 
  inline const QString operator+( char c1, const QString &s2 )
 {
     QString tmp;
     tmp += c1;
     tmp += s2;
     return tmp;
 }
 # 45 "/opt/qt/3.0.4/include/qwindowdefs.h" 2
 
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 1 3
 # 11 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/syslimits.h" 1 3
 
 
 
 
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 1 3
 # 132 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 3
 # 1 "/usr/include/limits.h" 1 3
 # 144 "/usr/include/limits.h" 3
 # 1 "/usr/include/bits/posix1_lim.h" 1 3
 # 126 "/usr/include/bits/posix1_lim.h" 3
 # 1 "/usr/include/bits/local_lim.h" 1 3
 # 36 "/usr/include/bits/local_lim.h" 3
 # 1 "/usr/include/linux/limits.h" 1 3
 # 37 "/usr/include/bits/local_lim.h" 2 3
 # 127 "/usr/include/bits/posix1_lim.h" 2 3
 # 145 "/usr/include/limits.h" 2 3
 
 
 
 # 1 "/usr/include/bits/posix2_lim.h" 1 3
 # 149 "/usr/include/limits.h" 2 3
 
 
 
 # 1 "/usr/include/bits/xopen_lim.h" 1 3
 # 34 "/usr/include/bits/xopen_lim.h" 3
 # 1 "/usr/include/bits/stdio_lim.h" 1 3
 # 35 "/usr/include/bits/xopen_lim.h" 2 3
 # 136 "/usr/include/bits/xopen_lim.h" 3
 # 1 "/usr/include/bits/wordsize.h" 1 3
 # 137 "/usr/include/bits/xopen_lim.h" 2 3
 # 153 "/usr/include/limits.h" 2 3
 # 133 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 2 3
 # 8 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/syslimits.h" 2 3
 # 12 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/limits.h" 2 3
 # 49 "/opt/qt/3.0.4/include/qwindowdefs.h" 2
 
 
 
 class QPaintDevice;
 class QPaintDeviceMetrics;
 class QWidget;
 class QWidgetMapper;
 class QDialog;
 class QColor;
 class QColorGroup;
 class QPalette;
 class QCursor;
 class QPoint;
 class QSize;
 class QRect;
 class QPointArray;
 class QPainter;
 class QRegion;
 class QFont;
 class QFontMetrics;
 class QFontInfo;
 class QPen;
 class QBrush;
 class QWMatrix;
 class QPixmap;
 class QBitmap;
 class QMovie;
 class QImage;
 class QImageIO;
 class QPicture;
 class QPrinter;
 class QAccel;
 class QTimer;
 class QTime;
 class QClipboard;
 
 
 
 
 class QWidgetList;
 class QWidgetListIt;
 # 139 "/opt/qt/3.0.4/include/qwindowdefs.h"
 typedef struct _XDisplay Display;
 typedef union _XEvent XEvent;
 typedef struct _XGC *GC;
 typedef struct _XRegion *Region;
 typedef unsigned long WId;
 
  Display *qt_xdisplay();
  int qt_xscreen();
  WId qt_xrootwin();
  GC qt_xget_readonly_gc( int scrn, bool monochrome );
  GC qt_xget_temp_gc( int scrn, bool monochrome );
 # 161 "/opt/qt/3.0.4/include/qwindowdefs.h"
 class QApplication;
 
 
 
 
 
 
 
 typedef Q_INT32 QCOORD;
 const QCOORD QCOORD_MAX = 2147483647;
 const QCOORD QCOORD_MIN = -QCOORD_MAX - 1;
 
 typedef unsigned int QRgb;
 
  const char *qAppName();
 
 
 
 typedef void (*QtCleanUpFunction)();
  void qAddPostRoutine( QtCleanUpFunction );
  void qRemovePostRoutine( QtCleanUpFunction );
 
 
 
 
 
 
 
  void *qt_find_obj_child( QObject *, const char *, const char * );
 # 3 "kkeyserver_x11.cpp" 2
 
 
 
 # 1 "kkeyserver_x11.h" 1
 
 
 
 # 1 "kshortcut.h" 1
 # 23 "kshortcut.h"
 # 1 "/opt/qt/3.0.4/include/qkeysequence.h" 1
 # 50 "/opt/qt/3.0.4/include/qkeysequence.h"
 class QKeySequencePrivate;
 
 class QKeySequence : public Qt
 {
 public:
     QKeySequence();
     QKeySequence( const QString& key );
     QKeySequence( int key );
 
     operator QString() const;
     operator int () const;
 
     QKeySequence( const QKeySequence& );
     QKeySequence &operator=( const QKeySequence & );
     ~QKeySequence();
     bool operator==( const QKeySequence& ) const;
     bool operator!= ( const QKeySequence& ) const;
 
 private:
     QKeySequencePrivate* d;
 
 };
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QKeySequence & );
  QDataStream &operator>>( QDataStream &, QKeySequence & );
 # 24 "kshortcut.h" 2
 
 
 class QKeyEvent;
 class KKeyNative;
 # 36 "kshortcut.h"
 class KKey
 {
  public:
         enum { MOD_FLAG_COUNT = 4 };
         enum { QtWIN = (Qt::ALT << 1) };
         enum ModFlag {
                 SHIFT = 0x01,
                 CTRL = 0x02,
                 ALT = 0x04,
                 WIN = 0x08
         };
 
         KKey();
         KKey( int keyQt );
         KKey( const QKeySequence& );
         KKey( const QKeyEvent* );
         KKey( const KKey& );
         KKey( const QString& );
 
 
 
         KKey( uint key, uint mod );
         ~KKey();
 
 
         void clear();
         bool init( int keyQt );
         bool init( const QKeySequence& );
         bool init( const QKeyEvent* );
         bool init( const KKey& );
         bool init( const QString& );
 
 
 
         bool init( uint key, uint mod );
 
         KKey& operator =( const KKey& key )
                 { init( key ); return *this; }
 
 
         bool isNull() const;
         bool isValidQt() const;
         bool isValidNative() const;
 
 
 
 
         uint sym() const;
 
 
 
         uint modFlags() const;
 
 
         int compare( const KKey& ) const;
         bool operator == ( const KKey& key ) const
                 { return compare( key ) == 0; }
         bool operator != ( const KKey& key ) const
                 { return compare( key ) != 0; }
         bool operator < ( const KKey& key ) const
                 { return compare( key ) < 0; }
 
 
         int keyCodeQt() const;
         QString toString() const;
         QString toStringInternal() const;
 
 
         void simplify();
 
         static KKey& null();
         static QString modFlagLabel( ModFlag );
 
  private:
 # 120 "kshortcut.h"
         uint m_sym;
 
 
 
         uint m_mod;
 
  private:
         friend class KKeyNative;
 };
 
 
 
 
 
 
 
 class KKeySequence
 {
  public:
         enum { MAX_KEYS = 4 };
 
         KKeySequence();
         KKeySequence( const QKeySequence& );
         KKeySequence( const KKey& );
         KKeySequence( const KKeyNative& );
         KKeySequence( const KKeySequence& );
         KKeySequence( const QString& );
         ~KKeySequence();
 
         void clear();
         bool init( const QKeySequence& );
         bool init( const KKey& );
         bool init( const KKeyNative& );
         bool init( const KKeySequence& );
         bool init( const QString& );
 
         KKeySequence& operator =( const KKeySequence& seq )
                 { init( seq ); return *this; }
 
         uint count() const;
         const KKey& key( uint i ) const;
         bool isTriggerOnRelease() const;
 
         bool setKey( uint i, const KKey& );
         void setTriggerOnRelease( bool );
 
         bool isNull() const;
         bool startsWith( const KKeySequence& ) const;
         int compare( const KKeySequence& ) const;
         bool operator == ( const KKeySequence& seq ) const
                 { return compare( seq ) == 0; }
         bool operator != ( const KKeySequence& seq ) const
                 { return compare( seq ) != 0; }
         bool operator < ( const KKeySequence& seq ) const
                 { return compare( seq ) < 0; }
 
         QKeySequence qt() const;
         int keyCodeQt() const;
         QString toString() const;
         QString toStringInternal() const;
 
         static KKeySequence& null();
 
  protected:
         uchar m_nKeys;
         uchar m_bTriggerOnRelease;
         KKey m_rgvar[MAX_KEYS];
 
  private:
         class KKeySequencePrivate* d;
         friend class KKeyNative;
 };
 # 201 "kshortcut.h"
 class KShortcut
 {
  public:
         enum { MAX_SEQUENCES = 2 };
 
         KShortcut();
         KShortcut( int keyQt );
         KShortcut( const QKeySequence& );
         KShortcut( const KKey& );
         KShortcut( const KKeySequence& );
         KShortcut( const KShortcut& );
         KShortcut( const char* );
         KShortcut( const QString& );
         ~KShortcut();
 
         void clear();
         bool init( int keyQt );
         bool init( const QKeySequence& );
         bool init( const KKey& );
         bool init( const KKeySequence& );
         bool init( const KShortcut& );
         bool init( const QString& );
 
         KShortcut& operator =( const KShortcut& cut )
                 { init( cut ); return *this; }
 
         uint count() const;
         const KKeySequence& seq( uint i ) const;
         int keyCodeQt() const;
 
         bool isNull() const;
         int compare( const KShortcut& ) const;
         bool operator == ( const KShortcut& cut ) const
                 { return compare( cut ) == 0; }
         bool operator != ( const KShortcut& cut ) const
                 { return compare( cut ) != 0; }
         bool operator < ( const KShortcut& cut ) const
                 { return compare( cut ) < 0; }
 
         bool contains( const KKey& ) const;
         bool contains( const KKeyNative& ) const;
         bool contains( const KKeySequence& ) const;
         bool setSeq( uint i, const KKeySequence& );
         bool append( const KKeySequence& );
 
         operator QKeySequence () const;
         QString toString() const;
         QString toStringInternal( const KShortcut* pcutDefault = 0 ) const;
 
         static KShortcut& null();
 
  protected:
         uint m_nSeqs;
         KKeySequence m_rgseq[MAX_SEQUENCES];
 
  private:
         class KShortcutPrivate* d;
         friend class KKeyNative;
 
 
  public:
         operator int () const { return keyCodeQt(); }
 
 };
 # 5 "kkeyserver_x11.h" 2
 # 1 "kkeynative.h" 1
 # 25 "kkeynative.h"
 typedef union _XEvent XEvent;
 
 class KKeyNativePrivate;
 
 class KKeyNative
 {
  public:
         KKeyNative();
         KKeyNative( const XEvent* );
         KKeyNative( const KKey& );
         KKeyNative( const KKeyNative& );
 
 
 
         KKeyNative( uint code, uint mod, uint sym );
         ~KKeyNative();
 
         void clear();
         bool init( const XEvent* );
         bool init( const KKey& );
         bool init( const KKeyNative& );
 
         KKeyNative& operator =( const KKeyNative& key )
                 { init( key ); return *this; }
 
         int keyCodeQt() const;
         KKey key() const;
         operator KKey() const { return key(); }
 
         uint code() const;
         uint mod() const;
         uint sym() const;
 
         bool isNull() const;
         int compare( const KKeyNative& ) const;
         bool operator == ( const KKeyNative& key ) const
                 { return compare( key ) == 0; }
         bool operator != ( const KKeyNative& key ) const
                 { return compare( key ) != 0; }
         bool operator < ( const KKeyNative& key ) const
                 { return compare( key ) < 0; }
 
         static KKeyNative& null();
 
 
         static bool keyboardHasWinKey();
         static uint modX( KKey::ModFlag modFlag );
 
 
 
 
         static uint accelModMaskX();
 
  private:
         uint m_code, m_mod, m_sym;
         KKeyNativePrivate* d;
 };
 # 6 "kkeyserver_x11.h" 2
 
 namespace KKeyServer
 {
         struct CodeMod { int code, mod; };
 
         struct Sym
         {
          public:
                 uint m_sym;
 
                 Sym()
                         { m_sym = 0; }
                 Sym( uint sym )
                         { m_sym = sym; }
                 Sym( const QString& s )
                         { init( s ); }
 
                 bool initQt( int keyQt );
                 bool init( const QString& );
 
                 int qt() const;
                 QString toStringInternal() const;
                 QString toString() const;
 
                 uint getModsRequired() const;
                 uint getSymVariation() const;
 
                 operator uint() const { return m_sym; }
                 Sym& operator =( uint sym ) { m_sym = sym; return *this; }
 
          private:
                 QString toString( bool bUserSpace ) const;
 
                 static void capitalizeKeyname( QString& );
         };
 
         struct Key
         {
                 enum { CODE_FOR_QT = 256 };
 
                 uint m_code;
                 uint m_mod;
                 uint m_sym;
 
                 bool init( const KKey& key, bool bQt );
 
                 bool isNative() const { return m_code != CODE_FOR_QT; }
 
                 uint code() const { return m_code; }
                 uint mod() const { return m_mod; }
                 uint sym() const { return m_sym; }
                 int keyCodeQt() const { return (int) m_sym; }
 
                 void setKeycodeQt( int keyQt )
                         { m_code = CODE_FOR_QT; m_sym = keyQt; }
 
                 Key& operator =( const KKeyNative& key );
                 int compare( const Key& ) const;
 
                 bool operator ==( const Key& b ) const
                         { return compare( b ) == 0; }
                 bool operator <( const Key& b ) const
                         { return compare( b ) < 0; }
 
                 KKey key() const;
         };
 
         struct Variations
         {
                 enum { MAX_VARIATIONS = 4 };
 
                 Key m_rgkey[MAX_VARIATIONS];
                 uint m_nVariations;
 
                 Variations() { m_nVariations = 0; }
 
                 void init( const KKey&, bool bQt );
 
                 uint count() const { return m_nVariations; }
                 const Key& key( uint i ) const { return m_rgkey[i]; }
         };
 
         bool initializeMods();
 
 
 
 
         uint modX( KKey::ModFlag );
 
 
 
 
         bool keyboardHasWinKey();
         uint modXShift();
         uint modXLock();
         uint modXCtrl();
         uint modXAlt();
         uint modXNumLock();
         uint modXWin();
         uint modXScrollLock();
 
 
 
 
         uint accelModMaskX();
 
         bool keyQtToSym( int keyQt, uint& sym );
         bool keyQtToMod( int keyQt, uint& mod );
         bool symToKeyQt( uint sym, int& keyQt );
 
         bool modToModQt( uint mod, int& modQt );
         bool modToModX( uint mod, uint& modX );
         bool modXToModQt( uint modX, int& modQt );
         bool modXToMod( uint modX, uint& mod );
 
         bool codeXToSym( uchar codeX, uint modX, uint& symX );
 
         QString modToStringInternal( uint mod );
         QString modToStringUser( uint mod );
 
         bool stringToSymMod( const QString&, uint& sym, uint& mod );
 
         void keyQtToKeyX( uint keyCombQt, unsigned char *pKeyCodeX, uint *pKeySymX, uint *pKeyModX );
 };
 # 7 "kkeyserver_x11.cpp" 2
 
 
 
 # 1 "kconfig.h" 1
 # 27 "kconfig.h"
 class QTimer;
 
 # 1 "kconfigbase.h" 1
 # 28 "kconfigbase.h"
 # 1 "/opt/qt/3.0.4/include/qobject.h" 1
 # 45 "/opt/qt/3.0.4/include/qobject.h"
 # 1 "/opt/qt/3.0.4/include/qevent.h" 1
 # 43 "/opt/qt/3.0.4/include/qevent.h"
 # 1 "/opt/qt/3.0.4/include/qregion.h" 1
 # 43 "/opt/qt/3.0.4/include/qregion.h"
 # 1 "/opt/qt/3.0.4/include/qrect.h" 1
 # 42 "/opt/qt/3.0.4/include/qrect.h"
 # 1 "/opt/qt/3.0.4/include/qsize.h" 1
 # 42 "/opt/qt/3.0.4/include/qsize.h"
 # 1 "/opt/qt/3.0.4/include/qpoint.h" 1
 # 46 "/opt/qt/3.0.4/include/qpoint.h"
 class QPoint
 {
 public:
     QPoint();
     QPoint( int xpos, int ypos );
 
     bool isNull() const;
 
     int x() const;
     int y() const;
     void setX( int x );
     void setY( int y );
 
     int manhattanLength() const;
 
     QCOORD &rx();
     QCOORD &ry();
 
     QPoint &operator+=( const QPoint &p );
     QPoint &operator-=( const QPoint &p );
     QPoint &operator*=( int c );
     QPoint &operator*=( double c );
     QPoint &operator/=( int c );
     QPoint &operator/=( double c );
 
     friend inline bool operator==( const QPoint &, const QPoint & );
     friend inline bool operator!=( const QPoint &, const QPoint & );
     friend inline const QPoint operator+( const QPoint &, const QPoint & );
     friend inline const QPoint operator-( const QPoint &, const QPoint & );
     friend inline const QPoint operator*( const QPoint &, int );
     friend inline const QPoint operator*( int, const QPoint & );
     friend inline const QPoint operator*( const QPoint &, double );
     friend inline const QPoint operator*( double, const QPoint & );
     friend inline const QPoint operator-( const QPoint & );
     friend inline const QPoint operator/( const QPoint &, int );
     friend inline const QPoint operator/( const QPoint &, double );
 
 private:
     static void warningDivByZero();
 
 
 
 
 
     QCOORD xp;
     QCOORD yp;
 
 };
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QPoint & );
  QDataStream &operator>>( QDataStream &, QPoint & );
 
 
 
 
 
 
 inline QPoint::QPoint()
 { xp=0; yp=0; }
 
 inline QPoint::QPoint( int xpos, int ypos )
 { xp=(QCOORD)xpos; yp=(QCOORD)ypos; }
 
 inline bool QPoint::isNull() const
 { return xp == 0 && yp == 0; }
 
 inline int QPoint::x() const
 { return xp; }
 
 inline int QPoint::y() const
 { return yp; }
 
 inline void QPoint::setX( int x )
 { xp = (QCOORD)x; }
 
 inline void QPoint::setY( int y )
 { yp = (QCOORD)y; }
 
 inline QCOORD &QPoint::rx()
 { return xp; }
 
 inline QCOORD &QPoint::ry()
 { return yp; }
 
 inline QPoint &QPoint::operator+=( const QPoint &p )
 { xp+=p.xp; yp+=p.yp; return *this; }
 
 inline QPoint &QPoint::operator-=( const QPoint &p )
 { xp-=p.xp; yp-=p.yp; return *this; }
 
 inline QPoint &QPoint::operator*=( int c )
 { xp*=(QCOORD)c; yp*=(QCOORD)c; return *this; }
 
 inline QPoint &QPoint::operator*=( double c )
 { xp=(QCOORD)(xp*c); yp=(QCOORD)(yp*c); return *this; }
 
 inline bool operator==( const QPoint &p1, const QPoint &p2 )
 { return p1.xp == p2.xp && p1.yp == p2.yp; }
 
 inline bool operator!=( const QPoint &p1, const QPoint &p2 )
 { return p1.xp != p2.xp || p1.yp != p2.yp; }
 
 inline const QPoint operator+( const QPoint &p1, const QPoint &p2 )
 { return QPoint(p1.xp+p2.xp, p1.yp+p2.yp); }
 
 inline const QPoint operator-( const QPoint &p1, const QPoint &p2 )
 { return QPoint(p1.xp-p2.xp, p1.yp-p2.yp); }
 
 inline const QPoint operator*( const QPoint &p, int c )
 { return QPoint(p.xp*c, p.yp*c); }
 
 inline const QPoint operator*( int c, const QPoint &p )
 { return QPoint(p.xp*c, p.yp*c); }
 
 inline const QPoint operator*( const QPoint &p, double c )
 { return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
 
 inline const QPoint operator*( double c, const QPoint &p )
 { return QPoint((QCOORD)(p.xp*c), (QCOORD)(p.yp*c)); }
 
 inline const QPoint operator-( const QPoint &p )
 { return QPoint(-p.xp, -p.yp); }
 
 inline QPoint &QPoint::operator/=( int c )
 {
 
     if ( c == 0 )
         warningDivByZero();
 
     xp/=(QCOORD)c;
     yp/=(QCOORD)c;
     return *this;
 }
 
 inline QPoint &QPoint::operator/=( double c )
 {
 
     if ( c == 0.0 )
         warningDivByZero();
 
     xp=(QCOORD)(xp/c);
     yp=(QCOORD)(yp/c);
     return *this;
 }
 
 inline const QPoint operator/( const QPoint &p, int c )
 {
 
     if ( c == 0 )
         QPoint::warningDivByZero();
 
     return QPoint(p.xp/c, p.yp/c);
 }
 
 inline const QPoint operator/( const QPoint &p, double c )
 {
 
     if ( c == 0.0 )
         QPoint::warningDivByZero();
 
     return QPoint((QCOORD)(p.xp/c), (QCOORD)(p.yp/c));
 }
 # 43 "/opt/qt/3.0.4/include/qsize.h" 2
 
 
 
 class QSize
 {
 public:
     QSize();
     QSize( int w, int h );
 
     bool isNull() const;
     bool isEmpty() const;
     bool isValid() const;
 
     int width() const;
     int height() const;
     void setWidth( int w );
     void setHeight( int h );
     void transpose();
 
     QSize expandedTo( const QSize & ) const;
     QSize boundedTo( const QSize & ) const;
 
     QCOORD &rwidth();
     QCOORD &rheight();
 
     QSize &operator+=( const QSize & );
     QSize &operator-=( const QSize & );
     QSize &operator*=( int c );
     QSize &operator*=( double c );
     QSize &operator/=( int c );
     QSize &operator/=( double c );
 
     friend inline bool operator==( const QSize &, const QSize & );
     friend inline bool operator!=( const QSize &, const QSize & );
     friend inline const QSize operator+( const QSize &, const QSize & );
     friend inline const QSize operator-( const QSize &, const QSize & );
     friend inline const QSize operator*( const QSize &, int );
     friend inline const QSize operator*( int, const QSize & );
     friend inline const QSize operator*( const QSize &, double );
     friend inline const QSize operator*( double, const QSize & );
     friend inline const QSize operator/( const QSize &, int );
     friend inline const QSize operator/( const QSize &, double );
 
 private:
     static void warningDivByZero();
 
     QCOORD wd;
     QCOORD ht;
 };
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QSize & );
  QDataStream &operator>>( QDataStream &, QSize & );
 
 
 
 
 
 
 inline QSize::QSize()
 { wd = ht = -1; }
 
 inline QSize::QSize( int w, int h )
 { wd=(QCOORD)w; ht=(QCOORD)h; }
 
 inline bool QSize::isNull() const
 { return wd==0 && ht==0; }
 
 inline bool QSize::isEmpty() const
 { return wd<1 || ht<1; }
 
 inline bool QSize::isValid() const
 { return wd>=0 && ht>=0; }
 
 inline int QSize::width() const
 { return wd; }
 
 inline int QSize::height() const
 { return ht; }
 
 inline void QSize::setWidth( int w )
 { wd=(QCOORD)w; }
 
 inline void QSize::setHeight( int h )
 { ht=(QCOORD)h; }
 
 inline QCOORD &QSize::rwidth()
 { return wd; }
 
 inline QCOORD &QSize::rheight()
 { return ht; }
 
 inline QSize &QSize::operator+=( const QSize &s )
 { wd+=s.wd; ht+=s.ht; return *this; }
 
 inline QSize &QSize::operator-=( const QSize &s )
 { wd-=s.wd; ht-=s.ht; return *this; }
 
 inline QSize &QSize::operator*=( int c )
 { wd*=(QCOORD)c; ht*=(QCOORD)c; return *this; }
 
 inline QSize &QSize::operator*=( double c )
 { wd=(QCOORD)(wd*c); ht=(QCOORD)(ht*c); return *this; }
 
 inline bool operator==( const QSize &s1, const QSize &s2 )
 { return s1.wd == s2.wd && s1.ht == s2.ht; }
 
 inline bool operator!=( const QSize &s1, const QSize &s2 )
 { return s1.wd != s2.wd || s1.ht != s2.ht; }
 
 inline const QSize operator+( const QSize & s1, const QSize & s2 )
 { return QSize(s1.wd+s2.wd, s1.ht+s2.ht); }
 
 inline const QSize operator-( const QSize &s1, const QSize &s2 )
 { return QSize(s1.wd-s2.wd, s1.ht-s2.ht); }
 
 inline const QSize operator*( const QSize &s, int c )
 { return QSize(s.wd*c, s.ht*c); }
 
 inline const QSize operator*( int c, const QSize &s )
 { return QSize(s.wd*c, s.ht*c); }
 
 inline const QSize operator*( const QSize &s, double c )
 { return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
 
 inline const QSize operator*( double c, const QSize &s )
 { return QSize((QCOORD)(s.wd*c), (QCOORD)(s.ht*c)); }
 
 inline QSize &QSize::operator/=( int c )
 {
 
     if ( c == 0 )
         warningDivByZero();
 
     wd/=(QCOORD)c; ht/=(QCOORD)c;
     return *this;
 }
 
 inline QSize &QSize::operator/=( double c )
 {
 
     if ( c == 0.0 )
         warningDivByZero();
 
     wd=(QCOORD)(wd/c); ht=(QCOORD)(ht/c);
     return *this;
 }
 
 inline const QSize operator/( const QSize &s, int c )
 {
 
     if ( c == 0 )
         QSize::warningDivByZero();
 
     return QSize(s.wd/c, s.ht/c);
 }
 
 inline const QSize operator/( const QSize &s, double c )
 {
 
     if ( c == 0.0 )
         QSize::warningDivByZero();
 
     return QSize((QCOORD)(s.wd/c), (QCOORD)(s.ht/c));
 }
 
 inline QSize QSize::expandedTo( const QSize & otherSize ) const
 {
     return QSize( ((otherSize.wd) < (wd) ? (wd) : (otherSize.wd)), ((otherSize.ht) < (ht) ? (ht) : (otherSize.ht)) );
 }
 
 inline QSize QSize::boundedTo( const QSize & otherSize ) const
 {
     return QSize( ((wd) < (otherSize.wd) ? (wd) : (otherSize.wd)), ((ht) < (otherSize.ht) ? (ht) : (otherSize.ht)) );
 }
 # 43 "/opt/qt/3.0.4/include/qrect.h" 2
 
 
 
 
 
 
 
 class QRect
 {
 public:
     QRect() { x1 = y1 = 0; x2 = y2 = -1; }
     QRect( const QPoint &topleft, const QPoint &bottomright );
     QRect( const QPoint &topleft, const QSize &size );
     QRect( int left, int top, int width, int height );
 
     bool isNull() const;
     bool isEmpty() const;
     bool isValid() const;
     QRect normalize() const;
 
     int left() const;
     int top() const;
     int right() const;
     int bottom() const;
 
     QCOORD &rLeft();
     QCOORD &rTop();
     QCOORD &rRight();
     QCOORD &rBottom();
 
     int x() const;
     int y() const;
     void setLeft( int pos );
     void setTop( int pos );
     void setRight( int pos );
     void setBottom( int pos );
     void setX( int x );
     void setY( int y );
 
     QPoint topLeft() const;
     QPoint bottomRight() const;
     QPoint topRight() const;
     QPoint bottomLeft() const;
     QPoint center() const;
 
     void rect( int *x, int *y, int *w, int *h ) const;
     void coords( int *x1, int *y1, int *x2, int *y2 ) const;
 
     void moveTopLeft( const QPoint &p );
     void moveBottomRight( const QPoint &p );
     void moveTopRight( const QPoint &p );
     void moveBottomLeft( const QPoint &p );
     void moveCenter( const QPoint &p );
     void moveBy( int dx, int dy );
 
     void setRect( int x, int y, int w, int h );
     void setCoords( int x1, int y1, int x2, int y2 );
     void addCoords( int x1, int y1, int x2, int y2 );
 
     QSize size() const;
     int width() const;
     int height() const;
     void setWidth( int w );
     void setHeight( int h );
     void setSize( const QSize &s );
 
     QRect operator|(const QRect &r) const;
     QRect operator&(const QRect &r) const;
     QRect& operator|=(const QRect &r);
     QRect& operator&=(const QRect &r);
 
     bool contains( const QPoint &p, bool proper=FALSE ) const;
     bool contains( int x, int y, bool proper=FALSE ) const;
     bool contains( const QRect &r, bool proper=FALSE ) const;
     QRect unite( const QRect &r ) const;
     QRect intersect( const QRect &r ) const;
     bool intersects( const QRect &r ) const;
 
     friend bool operator==( const QRect &, const QRect & );
     friend bool operator!=( const QRect &, const QRect & );
 
 private:
 
 
 
 
 
 
     QCOORD x1;
     QCOORD y1;
     QCOORD x2;
     QCOORD y2;
 
 };
 
  bool operator==( const QRect &, const QRect & );
  bool operator!=( const QRect &, const QRect & );
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QRect & );
  QDataStream &operator>>( QDataStream &, QRect & );
 
 
 
 
 
 
 inline QRect::QRect( int left, int top, int width, int height )
 {
     x1 = (QCOORD)left;
     y1 = (QCOORD)top;
     x2 = (QCOORD)(left+width-1);
     y2 = (QCOORD)(top+height-1);
 }
 
 inline bool QRect::isNull() const
 { return x2 == x1-1 && y2 == y1-1; }
 
 inline bool QRect::isEmpty() const
 { return x1 > x2 || y1 > y2; }
 
 inline bool QRect::isValid() const
 { return x1 <= x2 && y1 <= y2; }
 
 inline int QRect::left() const
 { return x1; }
 
 inline int QRect::top() const
 { return y1; }
 
 inline int QRect::right() const
 { return x2; }
 
 inline int QRect::bottom() const
 { return y2; }
 
 inline QCOORD &QRect::rLeft()
 { return x1; }
 
 inline QCOORD & QRect::rTop()
 { return y1; }
 
 inline QCOORD & QRect::rRight()
 { return x2; }
 
 inline QCOORD & QRect::rBottom()
 { return y2; }
 
 inline int QRect::x() const
 { return x1; }
 
 inline int QRect::y() const
 { return y1; }
 
 inline void QRect::setLeft( int pos )
 { x1 = (QCOORD)pos; }
 
 inline void QRect::setTop( int pos )
 { y1 = (QCOORD)pos; }
 
 inline void QRect::setRight( int pos )
 { x2 = (QCOORD)pos; }
 
 inline void QRect::setBottom( int pos )
 { y2 = (QCOORD)pos; }
 
 inline void QRect::setX( int x )
 { x1 = (QCOORD)x; }
 
 inline void QRect::setY( int y )
 { y1 = (QCOORD)y; }
 
 inline QPoint QRect::topLeft() const
 { return QPoint(x1, y1); }
 
 inline QPoint QRect::bottomRight() const
 { return QPoint(x2, y2); }
 
 inline QPoint QRect::topRight() const
 { return QPoint(x2, y1); }
 
 inline QPoint QRect::bottomLeft() const
 { return QPoint(x1, y2); }
 
 inline QPoint QRect::center() const
 { return QPoint((x1+x2)/2, (y1+y2)/2); }
 
 inline int QRect::width() const
 { return x2 - x1 + 1; }
 
 inline int QRect::height() const
 { return y2 - y1 + 1; }
 
 inline QSize QRect::size() const
 { return QSize(x2-x1+1, y2-y1+1); }
 
 inline bool QRect::contains( int x, int y, bool proper ) const
 {
     if ( proper )
         return x > x1 && x < x2 &&
                y > y1 && y < y2;
     else
         return x >= x1 && x <= x2 &&
                y >= y1 && y <= y2;
 }
 # 44 "/opt/qt/3.0.4/include/qregion.h" 2
 
 
 
 class QRegion
 {
 public:
     enum RegionType { Rectangle, Ellipse };
 
     QRegion();
     QRegion( int x, int y, int w, int h, RegionType = Rectangle );
     QRegion( const QRect &, RegionType = Rectangle );
     QRegion( const QPointArray &, bool winding=FALSE );
     QRegion( const QRegion & );
     QRegion( const QBitmap & );
    ~QRegion();
     QRegion &operator=( const QRegion & );
 
     bool isNull() const;
     bool isEmpty() const;
 
     bool contains( const QPoint &p ) const;
     bool contains( const QRect &r ) const;
 
     void translate( int dx, int dy );
 
     QRegion unite( const QRegion & ) const;
     QRegion intersect( const QRegion &) const;
     QRegion subtract( const QRegion & ) const;
     QRegion eor( const QRegion & ) const;
 
     QRect boundingRect() const;
     QMemArray<QRect> rects() const;
     void setRects( const QRect *, int );
 
     const QRegion operator|( const QRegion & ) const;
     const QRegion operator+( const QRegion & ) const;
     const QRegion operator&( const QRegion & ) const;
     const QRegion operator-( const QRegion & ) const;
     const QRegion operator^( const QRegion & ) const;
     QRegion& operator|=( const QRegion & );
     QRegion& operator+=( const QRegion & );
     QRegion& operator&=( const QRegion & );
     QRegion& operator-=( const QRegion & );
     QRegion& operator^=( const QRegion & );
 
     bool operator==( const QRegion & ) const;
     bool operator!=( const QRegion &r ) const
                         { return !(operator==(r)); }
 
 
 
 
     Region handle() const { return data->rgn; }
 # 105 "/opt/qt/3.0.4/include/qregion.h"
     friend QDataStream &operator<<( QDataStream &, const QRegion & );
     friend QDataStream &operator>>( QDataStream &, QRegion & );
 
 private:
     QRegion( bool );
     QRegion copy() const;
     void detach();
 
 
 
     void exec( const QByteArray &, int ver = 0 );
     struct QRegionData : public QShared {
 
 
 
         QRect rect;
         Region rgn;
 
 
 
 
 
 
 
         bool is_null;
     } *data;
 
 
 
 
 
 
 
 };
 # 158 "/opt/qt/3.0.4/include/qregion.h"
  QDataStream &operator<<( QDataStream &, const QRegion & );
  QDataStream &operator>>( QDataStream &, QRegion & );
 # 44 "/opt/qt/3.0.4/include/qevent.h" 2
 
 # 1 "/opt/qt/3.0.4/include/qmime.h" 1
 # 43 "/opt/qt/3.0.4/include/qmime.h"
 # 1 "/opt/qt/3.0.4/include/qmap.h" 1
 # 44 "/opt/qt/3.0.4/include/qmap.h"
 # 1 "/opt/qt/3.0.4/include/qdatastream.h" 1
 # 42 "/opt/qt/3.0.4/include/qdatastream.h"
 # 1 "/opt/qt/3.0.4/include/qiodevice.h" 1
 # 95 "/opt/qt/3.0.4/include/qiodevice.h"
 class QIODevice
 {
 public:
 
 
 
     typedef Q_ULONG Offset;
 
 
     QIODevice();
     virtual ~QIODevice();
 
     int flags() const { return ioMode; }
     int mode() const { return ioMode & 0x00ff; }
     int state() const { return ioMode & 0xf000; }
 
     bool isDirectAccess() const { return ((ioMode & 0x0100) == 0x0100); }
     bool isSequentialAccess() const { return ((ioMode & 0x0200) == 0x0200); }
     bool isCombinedAccess() const { return ((ioMode & 0x0300) == 0x0300); }
     bool isBuffered() const { return ((ioMode & 0x0040) != 0x0040); }
     bool isRaw() const { return ((ioMode & 0x0040) == 0x0040); }
     bool isSynchronous() const { return ((ioMode & 0x0080) != 0x0080); }
     bool isAsynchronous() const { return ((ioMode & 0x0080) == 0x0080); }
     bool isTranslated() const { return ((ioMode & 0x0010) == 0x0010); }
     bool isReadable() const { return ((ioMode & 0x0001) == 0x0001); }
     bool isWritable() const { return ((ioMode & 0x0002) == 0x0002); }
     bool isReadWrite() const { return ((ioMode & 0x0003) == 0x0003); }
     bool isInactive() const { return state() == 0; }
     bool isOpen() const { return state() == 0x1000; }
 
     int status() const { return ioSt; }
     void resetStatus() { ioSt = 0; }
 
     virtual bool open( int mode ) = 0;
     virtual void close() = 0;
     virtual void flush() = 0;
 
     virtual Offset size() const = 0;
     virtual Offset at() const;
     virtual bool at( Offset );
     virtual bool atEnd() const;
     bool reset() { return at(0); }
 
     virtual Q_LONG readBlock( char *data, Q_ULONG maxlen ) = 0;
     virtual Q_LONG writeBlock( const char *data, Q_ULONG len ) = 0;
     virtual Q_LONG readLine( char *data, Q_ULONG maxlen );
     Q_LONG writeBlock( const QByteArray& data );
     virtual QByteArray readAll();
 
     virtual int getch() = 0;
     virtual int putch( int ) = 0;
     virtual int ungetch( int ) = 0;
 
 protected:
     void setFlags( int f ) { ioMode = f; }
     void setType( int );
     void setMode( int );
     void setState( int );
     void setStatus( int );
     Offset ioIndex;
 
 private:
     int ioMode;
     int ioSt;
 
 private:
 
     QIODevice( const QIODevice & );
     QIODevice &operator=( const QIODevice & );
 
 };
 # 43 "/opt/qt/3.0.4/include/qdatastream.h" 2
 
 
 
 
 class QDataStream
 {
 public:
     QDataStream();
     QDataStream( QIODevice * );
     QDataStream( QByteArray, int mode );
     virtual ~QDataStream();
 
     QIODevice *device() const;
     void setDevice( QIODevice * );
     void unsetDevice();
 
     bool atEnd() const;
     bool eof() const;
 
     enum ByteOrder { BigEndian, LittleEndian };
     int byteOrder() const;
     void setByteOrder( int );
 
     bool isPrintableData() const;
     void setPrintableData( bool );
 
     int version() const;
     void setVersion( int );
 
     QDataStream &operator>>( Q_INT8 &i );
     QDataStream &operator>>( Q_UINT8 &i );
     QDataStream &operator>>( Q_INT16 &i );
     QDataStream &operator>>( Q_UINT16 &i );
     QDataStream &operator>>( Q_INT32 &i );
     QDataStream &operator>>( Q_UINT32 &i );
     QDataStream &operator>>( Q_LONG &i );
     QDataStream &operator>>( Q_ULONG &i );
 
     QDataStream &operator>>( float &f );
     QDataStream &operator>>( double &f );
     QDataStream &operator>>( char *&str );
 
     QDataStream &operator<<( Q_INT8 i );
     QDataStream &operator<<( Q_UINT8 i );
     QDataStream &operator<<( Q_INT16 i );
     QDataStream &operator<<( Q_UINT16 i );
     QDataStream &operator<<( Q_INT32 i );
     QDataStream &operator<<( Q_UINT32 i );
     QDataStream &operator<<( Q_LONG i );
     QDataStream &operator<<( Q_ULONG i );
     QDataStream &operator<<( float f );
     QDataStream &operator<<( double f );
     QDataStream &operator<<( const char *str );
 
     QDataStream &readBytes( char *&, uint &len );
     QDataStream &readRawBytes( char *, uint len );
 
     QDataStream &writeBytes( const char *, uint len );
     QDataStream &writeRawBytes( const char *, uint len );
 
 private:
     QIODevice *dev;
     bool owndev;
     int byteorder;
     bool printable;
     bool noswap;
     int ver;
 
 private:
 
     QDataStream( const QDataStream & );
     QDataStream &operator=( const QDataStream & );
 
 };
 
 
 
 
 
 
 inline QIODevice *QDataStream::device() const
 { return dev; }
 
 inline bool QDataStream::atEnd() const
 { return dev ? dev->atEnd() : TRUE; }
 
 inline bool QDataStream::eof() const
 { return atEnd(); }
 
 inline int QDataStream::byteOrder() const
 { return byteorder; }
 
 inline bool QDataStream::isPrintableData() const
 { return printable; }
 
 inline void QDataStream::setPrintableData( bool p )
 { printable = p; }
 
 inline int QDataStream::version() const
 { return ver; }
 
 inline void QDataStream::setVersion( int v )
 { ver = v; }
 
 inline QDataStream &QDataStream::operator>>( Q_UINT8 &i )
 { return *this >> (Q_INT8&)i; }
 
 inline QDataStream &QDataStream::operator>>( Q_UINT16 &i )
 { return *this >> (Q_INT16&)i; }
 
 inline QDataStream &QDataStream::operator>>( Q_UINT32 &i )
 { return *this >> (Q_INT32&)i; }
 
 inline QDataStream &QDataStream::operator>>( Q_ULONG &i )
 { return *this >> (Q_LONG&)i; }
 
 inline QDataStream &QDataStream::operator<<( Q_UINT8 i )
 { return *this << (Q_INT8)i; }
 
 inline QDataStream &QDataStream::operator<<( Q_UINT16 i )
 { return *this << (Q_INT16)i; }
 
 inline QDataStream &QDataStream::operator<<( Q_UINT32 i )
 { return *this << (Q_INT32)i; }
 
 inline QDataStream &QDataStream::operator<<( Q_ULONG i )
 { return *this << (Q_LONG)i; }
 # 45 "/opt/qt/3.0.4/include/qmap.h" 2
 # 1 "/opt/qt/3.0.4/include/qpair.h" 1
 # 43 "/opt/qt/3.0.4/include/qpair.h"
 template <class T1, class T2>
 struct QPair
 {
     typedef T1 first_type;
     typedef T2 second_type;
 
     QPair()
         : first( T1() ), second( T2() )
     {}
     QPair( const T1& t1, const T2& t2 )
         : first( t1 ), second( t2 )
     {}
 
     T1 first;
     T2 second;
 };
 
 template <class T1, class T2>
  bool operator==( const QPair<T1, T2>& x, const QPair<T1, T2>& y )
 {
     return x.first == y.first && x.second == y.second;
 }
 
 template <class T1, class T2>
  bool operator<( const QPair<T1, T2>& x, const QPair<T1, T2>& y )
 {
 
 
 
     return x.first < y.first || ( !( y.first < x.first ) && x.second < y.second );
 }
 
 template <class T1, class T2>
  QPair<T1, T2> qMakePair( const T1& x, const T2& y )
 {
     return QPair<T1, T2>( x, y );
 }
 # 46 "/opt/qt/3.0.4/include/qmap.h" 2
 # 1 "/opt/qt/3.0.4/include/qtl.h" 1
 # 43 "/opt/qt/3.0.4/include/qtl.h"
 # 1 "/opt/qt/3.0.4/include/qtextstream.h" 1
 # 44 "/opt/qt/3.0.4/include/qtextstream.h"
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 1 3
 # 39 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern "C" {
 
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 44 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 
 # 1 "/usr/include/bits/types.h" 1 3
 # 29 "/usr/include/bits/types.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 30 "/usr/include/bits/types.h" 2 3
 
 
 typedef unsigned char __u_char;
 typedef unsigned short __u_short;
 typedef unsigned int __u_int;
 typedef unsigned long __u_long;
 
 __extension__ typedef unsigned long long int __u_quad_t;
 __extension__ typedef long long int __quad_t;
 # 49 "/usr/include/bits/types.h" 3
 typedef signed char __int8_t;
 typedef unsigned char __uint8_t;
 typedef signed short int __int16_t;
 typedef unsigned short int __uint16_t;
 typedef signed int __int32_t;
 typedef unsigned int __uint32_t;
 
 __extension__ typedef signed long long int __int64_t;
 __extension__ typedef unsigned long long int __uint64_t;
 
 typedef __quad_t *__qaddr_t;
 
 typedef __u_quad_t __dev_t;
 typedef __u_int __uid_t;
 typedef __u_int __gid_t;
 typedef __u_long __ino_t;
 typedef __u_int __mode_t;
 typedef __u_int __nlink_t;
 typedef long int __off_t;
 typedef __quad_t __loff_t;
 typedef int __pid_t;
 typedef int __ssize_t;
 typedef __u_long __rlim_t;
 typedef __u_quad_t __rlim64_t;
 typedef __u_int __id_t;
 
 typedef struct
   {
     int __val[2];
   } __fsid_t;
 
 
 typedef int __daddr_t;
 typedef char *__caddr_t;
 typedef long int __time_t;
 typedef unsigned int __useconds_t;
 typedef long int __suseconds_t;
 typedef long int __swblk_t;
 
 typedef long int __clock_t;
 
 
 typedef int __clockid_t;
 
 
 typedef int __timer_t;
 
 
 
 
 
 
 typedef int __key_t;
 
 
 typedef unsigned short int __ipc_pid_t;
 
 
 
 typedef long int __blksize_t;
 
 
 
 
 typedef long int __blkcnt_t;
 typedef __quad_t __blkcnt64_t;
 
 
 typedef __u_long __fsblkcnt_t;
 typedef __u_quad_t __fsblkcnt64_t;
 
 
 typedef __u_long __fsfilcnt_t;
 typedef __u_quad_t __fsfilcnt64_t;
 
 
 typedef __u_quad_t __ino64_t;
 
 
 typedef __loff_t __off64_t;
 
 
 typedef long int __t_scalar_t;
 typedef unsigned long int __t_uscalar_t;
 
 
 typedef int __intptr_t;
 
 
 typedef unsigned int __socklen_t;
 
 
 
 
 # 1 "/usr/include/bits/pthreadtypes.h" 1 3
 # 23 "/usr/include/bits/pthreadtypes.h" 3
 # 1 "/usr/include/bits/sched.h" 1 3
 # 68 "/usr/include/bits/sched.h" 3
 struct __sched_param
   {
     int __sched_priority;
   };
 # 24 "/usr/include/bits/pthreadtypes.h" 2 3
 
 typedef int __atomic_lock_t;
 
 
 struct _pthread_fastlock
 {
   long int __status;
   __atomic_lock_t __spinlock;
 
 };
 
 
 
 typedef struct _pthread_descr_struct *_pthread_descr;
 
 
 
 
 
 typedef struct __pthread_attr_s
 {
   int __detachstate;
   int __schedpolicy;
   struct __sched_param __schedparam;
   int __inheritsched;
   int __scope;
   size_t __guardsize;
   int __stackaddr_set;
   void *__stackaddr;
   size_t __stacksize;
 } pthread_attr_t;
 
 
 
 typedef struct
 {
   struct _pthread_fastlock __c_lock;
   _pthread_descr __c_waiting;
 } pthread_cond_t;
 
 
 
 typedef struct
 {
   int __dummy;
 } pthread_condattr_t;
 
 
 typedef unsigned int pthread_key_t;
 
 
 
 
 
 typedef struct
 {
   int __m_reserved;
   int __m_count;
   _pthread_descr __m_owner;
   int __m_kind;
   struct _pthread_fastlock __m_lock;
 } pthread_mutex_t;
 
 
 
 typedef struct
 {
   int __mutexkind;
 } pthread_mutexattr_t;
 
 
 
 typedef int pthread_once_t;
 
 
 
 
 typedef struct _pthread_rwlock_t
 {
   struct _pthread_fastlock __rw_lock;
   int __rw_readers;
   _pthread_descr __rw_writer;
   _pthread_descr __rw_read_waiting;
   _pthread_descr __rw_write_waiting;
   int __rw_kind;
   int __rw_pshared;
 } pthread_rwlock_t;
 
 
 
 typedef struct
 {
   int __lockkind;
   int __pshared;
 } pthread_rwlockattr_t;
 
 
 
 
 typedef volatile int pthread_spinlock_t;
 
 
 typedef struct {
   struct _pthread_fastlock __ba_lock;
   int __ba_required;
   int __ba_present;
   _pthread_descr __ba_waiting;
 } pthread_barrier_t;
 
 
 typedef struct {
   int __pshared;
 } pthread_barrierattr_t;
 
 
 
 
 
 typedef unsigned long int pthread_t;
 # 144 "/usr/include/bits/types.h" 2 3
 # 46 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 # 54 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 typedef struct _IO_FILE FILE;
 # 64 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 typedef struct _IO_FILE __FILE;
 # 74 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 # 1 "/usr/include/libio.h" 1 3
 # 32 "/usr/include/libio.h" 3
 # 1 "/usr/include/_G_config.h" 1 3
 # 14 "/usr/include/_G_config.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 321 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 3
 typedef unsigned int wint_t;
 # 15 "/usr/include/_G_config.h" 2 3
 # 24 "/usr/include/_G_config.h" 3
 # 1 "/usr/include/wchar.h" 1 3
 # 48 "/usr/include/wchar.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 49 "/usr/include/wchar.h" 2 3
 
 # 1 "/usr/include/bits/wchar.h" 1 3
 # 51 "/usr/include/wchar.h" 2 3
 # 67 "/usr/include/wchar.h" 3
 typedef struct
 {
   int __count;
   union
   {
     wint_t __wch;
     char __wchb[4];
   } __value;
 } __mbstate_t;
 # 25 "/usr/include/_G_config.h" 2 3
 
 typedef struct
 {
   __off_t __pos;
   __mbstate_t __state;
 } _G_fpos_t;
 typedef struct
 {
   __off64_t __pos;
   __mbstate_t __state;
 } _G_fpos64_t;
 # 44 "/usr/include/_G_config.h" 3
 # 1 "/usr/include/gconv.h" 1 3
 # 28 "/usr/include/gconv.h" 3
 # 1 "/usr/include/wchar.h" 1 3
 # 48 "/usr/include/wchar.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 49 "/usr/include/wchar.h" 2 3
 # 29 "/usr/include/gconv.h" 2 3
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 32 "/usr/include/gconv.h" 2 3
 
 
 
 
 
 enum
 {
   __GCONV_OK = 0,
   __GCONV_NOCONV,
   __GCONV_NODB,
   __GCONV_NOMEM,
 
   __GCONV_EMPTY_INPUT,
   __GCONV_FULL_OUTPUT,
   __GCONV_ILLEGAL_INPUT,
   __GCONV_INCOMPLETE_INPUT,
 
   __GCONV_ILLEGAL_DESCRIPTOR,
   __GCONV_INTERNAL_ERROR
 };
 
 
 
 enum
 {
   __GCONV_IS_LAST = 0x0001,
   __GCONV_IGNORE_ERRORS = 0x0002
 };
 
 
 
 struct __gconv_step;
 struct __gconv_step_data;
 struct __gconv_loaded_object;
 struct __gconv_trans_data;
 
 
 
 typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
                             __const unsigned char **, __const unsigned char *,
                             unsigned char **, size_t *, int, int);
 
 
 typedef int (*__gconv_init_fct) (struct __gconv_step *);
 typedef void (*__gconv_end_fct) (struct __gconv_step *);
 
 
 
 typedef int (*__gconv_trans_fct) (struct __gconv_step *,
                                   struct __gconv_step_data *, void *,
                                   __const unsigned char *,
                                   __const unsigned char **,
                                   __const unsigned char *, unsigned char **,
                                   size_t *);
 
 
 typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
                                           __const unsigned char *,
                                           unsigned char *, unsigned char *);
 
 
 typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
                                         size_t *);
 
 
 typedef int (*__gconv_trans_init_fct) (void **, const char *);
 typedef void (*__gconv_trans_end_fct) (void *);
 
 struct __gconv_trans_data
 {
 
   __gconv_trans_fct __trans_fct;
   __gconv_trans_context_fct __trans_context_fct;
   __gconv_trans_end_fct __trans_end_fct;
   void *__data;
   struct __gconv_trans_data *__next;
 };
 
 
 
 struct __gconv_step
 {
   struct __gconv_loaded_object *__shlib_handle;
   __const char *__modname;
 
   int __counter;
 
   char *__from_name;
   char *__to_name;
 
   __gconv_fct __fct;
   __gconv_init_fct __init_fct;
   __gconv_end_fct __end_fct;
 
 
 
   int __min_needed_from;
   int __max_needed_from;
   int __min_needed_to;
   int __max_needed_to;
 
 
   int __stateful;
 
   void *__data;
 };
 
 
 
 struct __gconv_step_data
 {
   unsigned char *__outbuf;
   unsigned char *__outbufend;
 
 
 
   int __flags;
 
 
 
   int __invocation_counter;
 
 
 
   int __internal_use;
 
   __mbstate_t *__statep;
   __mbstate_t __state;
 
 
 
   struct __gconv_trans_data *__trans;
 };
 
 
 
 typedef struct __gconv_info
 {
   size_t __nsteps;
   struct __gconv_step *__steps;
   __extension__ struct __gconv_step_data __data [];
 } *__gconv_t;
 # 45 "/usr/include/_G_config.h" 2 3
 typedef union
 {
   struct __gconv_info __cd;
   struct
   {
     struct __gconv_info __cd;
     struct __gconv_step_data __data;
   } __combined;
 } _G_iconv_t;
 
 typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
 typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
 typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
 typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
 # 33 "/usr/include/libio.h" 2 3
 # 53 "/usr/include/libio.h" 3
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdarg.h" 1 3
 # 43 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdarg.h" 3
 typedef __builtin_va_list __gnuc_va_list;
 # 54 "/usr/include/libio.h" 2 3
 # 160 "/usr/include/libio.h" 3
 struct _IO_jump_t; struct _IO_FILE;
 # 170 "/usr/include/libio.h" 3
 typedef void _IO_lock_t;
 
 
 
 
 
 struct _IO_marker {
   struct _IO_marker *_next;
   struct _IO_FILE *_sbuf;
 
 
 
   int _pos;
 # 193 "/usr/include/libio.h" 3
 };
 
 
 enum __codecvt_result
 {
   __codecvt_ok,
   __codecvt_partial,
   __codecvt_error,
   __codecvt_noconv
 };
 # 261 "/usr/include/libio.h" 3
 struct _IO_FILE {
   int _flags;
 
 
 
 
   char* _IO_read_ptr;
   char* _IO_read_end;
   char* _IO_read_base;
   char* _IO_write_base;
   char* _IO_write_ptr;
   char* _IO_write_end;
   char* _IO_buf_base;
   char* _IO_buf_end;
 
   char *_IO_save_base;
   char *_IO_backup_base;
   char *_IO_save_end;
 
   struct _IO_marker *_markers;
 
   struct _IO_FILE *_chain;
 
   int _fileno;
   int _blksize;
   __off_t _old_offset;
 
 
 
   unsigned short _cur_column;
   signed char _vtable_offset;
   char _shortbuf[1];
 
 
 
   _IO_lock_t *_lock;
 # 305 "/usr/include/libio.h" 3
   __off64_t _offset;
 
 
 
 
 
   void *__pad1;
   void *__pad2;
 
   int _mode;
 
   char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
 
 };
 
 
 
 
 
 struct _IO_FILE_plus;
 
 extern struct _IO_FILE_plus _IO_2_1_stdin_;
 extern struct _IO_FILE_plus _IO_2_1_stdout_;
 extern struct _IO_FILE_plus _IO_2_1_stderr_;
 # 344 "/usr/include/libio.h" 3
 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
 
 
 
 
 
 
 
 typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
                                  size_t __n);
 
 
 
 
 
 
 
 typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
 
 
 typedef int __io_close_fn (void *__cookie);
 
 
 
 
 typedef __io_read_fn cookie_read_function_t;
 typedef __io_write_fn cookie_write_function_t;
 typedef __io_seek_fn cookie_seek_function_t;
 typedef __io_close_fn cookie_close_function_t;
 
 
 typedef struct
 {
   __io_read_fn *read;
   __io_write_fn *write;
   __io_seek_fn *seek;
   __io_close_fn *close;
 } _IO_cookie_io_functions_t;
 typedef _IO_cookie_io_functions_t cookie_io_functions_t;
 
 struct _IO_cookie_file;
 
 
 extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
                              void *__cookie, _IO_cookie_io_functions_t __fns);
 
 
 
 
 extern "C" {
 
 
 extern int __underflow (_IO_FILE *) throw ();
 extern int __uflow (_IO_FILE *) throw ();
 extern int __overflow (_IO_FILE *, int) throw ();
 extern wint_t __wunderflow (_IO_FILE *) throw ();
 extern wint_t __wuflow (_IO_FILE *) throw ();
 extern wint_t __woverflow (_IO_FILE *, wint_t) throw ();
 # 426 "/usr/include/libio.h" 3
 extern int _IO_getc (_IO_FILE *__fp) throw ();
 extern int _IO_putc (int __c, _IO_FILE *__fp) throw ();
 extern int _IO_feof (_IO_FILE *__fp) throw ();
 extern int _IO_ferror (_IO_FILE *__fp) throw ();
 
 extern int _IO_peekc_locked (_IO_FILE *__fp) throw ();
 
 
 
 
 
 extern void _IO_flockfile (_IO_FILE *) throw ();
 extern void _IO_funlockfile (_IO_FILE *) throw ();
 extern int _IO_ftrylockfile (_IO_FILE *) throw ();
 # 456 "/usr/include/libio.h" 3
 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
                         __gnuc_va_list, int *__restrict) throw ();
 extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
                          __gnuc_va_list) throw ();
 extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw ();
 extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw ();
 
 extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw ();
 extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw ();
 
 extern void _IO_free_backup_area (_IO_FILE *) throw ();
 # 514 "/usr/include/libio.h" 3
 }
 # 75 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 
 
 
 
 typedef __gnuc_va_list __not_va_list__;
 # 89 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 typedef _G_fpos_t fpos_t;
 
 
 
 
 typedef _G_fpos64_t fpos64_t;
 # 138 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 # 1 "/usr/include/bits/stdio_lim.h" 1 3
 # 139 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 
 
 
 extern FILE *stdin;
 extern FILE *stdout;
 extern FILE *stderr;
 
 
 
 
 
 
 extern int remove (__const char *__filename) throw ();
 
 extern int rename (__const char *__old, __const char *__new) throw ();
 
 
 
 
 extern FILE *tmpfile (void) throw ();
 # 167 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern FILE *tmpfile64 (void) throw ();
 
 
 extern char *tmpnam (char *__s) throw ();
 
 
 
 
 extern char *tmpnam_r (char *__s) throw ();
 # 187 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern char *tempnam (__const char *__dir, __const char *__pfx)
      throw () __attribute__ ((__malloc__));
 
 
 
 
 extern int fclose (FILE *__stream) throw ();
 
 extern int fflush (FILE *__stream) throw ();
 
 
 
 extern int fflush_unlocked (FILE *__stream) throw ();
 
 
 
 
 extern int fcloseall (void) throw ();
 
 
 
 
 
 extern FILE *fopen (__const char *__restrict __filename,
                     __const char *__restrict __modes) throw ();
 
 extern FILE *freopen (__const char *__restrict __filename,
                       __const char *__restrict __modes,
                       FILE *__restrict __stream) throw ();
 # 231 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern FILE *fopen64 (__const char *__restrict __filename,
                       __const char *__restrict __modes) throw ();
 extern FILE *freopen64 (__const char *__restrict __filename,
                         __const char *__restrict __modes,
                         FILE *__restrict __stream) throw ();
 
 
 
 
 extern FILE *fdopen (int __fd, __const char *__modes) throw ();
 
 
 
 
 
 extern FILE *fopencookie (void *__restrict __magic_cookie,
                           __const char *__restrict __modes,
                           _IO_cookie_io_functions_t __io_funcs) throw ();
 
 
 extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw ();
 
 
 
 
 extern FILE *open_memstream (char **__restrict __bufloc,
                              size_t *__restrict __sizeloc) throw ();
 
 
 
 
 
 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
 
 
 
 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                     int __modes, size_t __n) throw ();
 
 
 
 
 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                        size_t __size) throw ();
 
 
 extern void setlinebuf (FILE *__stream) throw ();
 
 
 
 
 extern int fprintf (FILE *__restrict __stream,
                     __const char *__restrict __format, ...) throw ();
 
 extern int printf (__const char *__restrict __format, ...) throw ();
 
 extern int sprintf (char *__restrict __s,
                     __const char *__restrict __format, ...) throw ();
 
 
 extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
                      __gnuc_va_list __arg) throw ();
 
 extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
      throw ();
 
 extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                      __gnuc_va_list __arg) throw ();
 
 
 
 extern int snprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, ...)
      throw () __attribute__ ((__format__ (__printf__, 3, 4)));
 
 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                       __const char *__restrict __format, __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__printf__, 3, 0)));
 
 
 
 
 
 extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
                       __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
 extern int __asprintf (char **__restrict __ptr,
                        __const char *__restrict __fmt, ...)
      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
 extern int asprintf (char **__restrict __ptr,
                      __const char *__restrict __fmt, ...)
      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
 
 
 extern int vdprintf (int __fd, __const char *__restrict __fmt,
                      __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
 extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
 
 
 
 
 extern int fscanf (FILE *__restrict __stream,
                    __const char *__restrict __format, ...) throw ();
 
 extern int scanf (__const char *__restrict __format, ...) throw ();
 
 extern int sscanf (__const char *__restrict __s,
                    __const char *__restrict __format, ...) throw ();
 
 
 
 extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
 
 
 extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__scanf__, 1, 0)));
 
 
 extern int vsscanf (__const char *__restrict __s,
                     __const char *__restrict __format, __gnuc_va_list __arg)
      throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
 
 
 
 
 extern int fgetc (FILE *__stream) throw ();
 extern int getc (FILE *__stream) throw ();
 
 
 extern int getchar (void) throw ();
 
 
 
 
 
 
 
 extern int getc_unlocked (FILE *__stream) throw ();
 extern int getchar_unlocked (void) throw ();
 
 
 
 
 extern int fgetc_unlocked (FILE *__stream) throw ();
 
 
 
 
 extern int fputc (int __c, FILE *__stream) throw ();
 extern int putc (int __c, FILE *__stream) throw ();
 
 
 extern int putchar (int __c) throw ();
 
 
 
 
 
 
 
 extern int fputc_unlocked (int __c, FILE *__stream) throw ();
 
 
 
 
 extern int putc_unlocked (int __c, FILE *__stream) throw ();
 extern int putchar_unlocked (int __c) throw ();
 
 
 
 
 
 extern int getw (FILE *__stream) throw ();
 
 
 extern int putw (int __w, FILE *__stream) throw ();
 
 
 
 
 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
      throw ();
 
 
 
 extern char *fgets_unlocked (char *__restrict __s, int __n,
                              FILE *__restrict __stream) throw ();
 
 
 
 
 extern char *gets (char *__s) throw ();
 # 435 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern __ssize_t __getdelim (char **__restrict __lineptr,
                                size_t *__restrict __n, int __delimiter,
                                FILE *__restrict __stream) throw ();
 extern __ssize_t getdelim (char **__restrict __lineptr,
                              size_t *__restrict __n, int __delimiter,
                              FILE *__restrict __stream) throw ();
 
 
 extern __ssize_t getline (char **__restrict __lineptr,
                             size_t *__restrict __n,
                             FILE *__restrict __stream) throw ();
 
 
 
 
 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
      throw ();
 
 
 
 extern int fputs_unlocked (__const char *__restrict __s,
                            FILE *__restrict __stream) throw ();
 
 
 
 extern int puts (__const char *__s) throw ();
 
 
 
 extern int ungetc (int __c, FILE *__stream) throw ();
 
 
 
 extern size_t fread (void *__restrict __ptr, size_t __size,
                      size_t __n, FILE *__restrict __stream) throw ();
 
 extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
                       size_t __n, FILE *__restrict __s) throw ();
 
 
 
 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
                               size_t __n, FILE *__restrict __stream) throw ();
 extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
                                size_t __n, FILE *__restrict __stream) throw ();
 
 
 
 
 extern int fseek (FILE *__stream, long int __off, int __whence) throw ();
 
 extern long int ftell (FILE *__stream) throw ();
 
 extern void rewind (FILE *__stream) throw ();
 # 498 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern int fseeko (FILE *__stream, __off_t __off, int __whence) throw ();
 
 extern __off_t ftello (FILE *__stream) throw ();
 
 
 
 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
      throw ();
 
 extern int fsetpos (FILE *__stream, __const fpos_t *__pos) throw ();
 # 532 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) throw ();
 extern __off64_t ftello64 (FILE *__stream) throw ();
 extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
      throw ();
 extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) throw ();
 
 
 
 extern void clearerr (FILE *__stream) throw ();
 
 extern int feof (FILE *__stream) throw ();
 
 extern int ferror (FILE *__stream) throw ();
 
 
 
 extern void clearerr_unlocked (FILE *__stream) throw ();
 extern int feof_unlocked (FILE *__stream) throw ();
 extern int ferror_unlocked (FILE *__stream) throw ();
 
 
 
 
 extern void perror (__const char *__s) throw ();
 
 
 
 
 
 # 1 "/usr/include/bits/sys_errlist.h" 1 3
 # 27 "/usr/include/bits/sys_errlist.h" 3
 extern int sys_nerr;
 extern __const char *__const sys_errlist[];
 
 
 extern int _sys_nerr;
 extern __const char *__const _sys_errlist[];
 # 562 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 
 
 
 
 extern int fileno (FILE *__stream) throw ();
 
 
 
 
 extern int fileno_unlocked (FILE *__stream) throw ();
 
 
 
 
 
 
 extern FILE *popen (__const char *__command, __const char *__modes) throw ();
 
 
 extern int pclose (FILE *__stream) throw ();
 
 
 
 
 
 extern char *ctermid (char *__s) throw ();
 
 
 
 
 
 extern char *cuserid (char *__s) throw ();
 
 
 
 
 struct obstack;
 
 
 extern int obstack_printf (struct obstack *__restrict __obstack,
                            __const char *__restrict __format, ...) throw ();
 extern int obstack_vprintf (struct obstack *__restrict __obstack,
                             __const char *__restrict __format,
                             __gnuc_va_list __args) throw ();
 
 
 
 
 
 
 
 extern void flockfile (FILE *__stream) throw ();
 
 
 
 extern int ftrylockfile (FILE *__stream) throw ();
 
 
 extern void funlockfile (FILE *__stream) throw ();
 # 634 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 3
 # 1 "/usr/include/bits/stdio.h" 1 3
 # 33 "/usr/include/bits/stdio.h" 3
 inline int
 vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) throw ()
 {
   return vfprintf (stdout, __fmt, __arg);
 }
 
 
 inline int
 getchar (void) throw ()
 {
   return _IO_getc (stdin);
 }
 
 
 
 
 inline int
 getc_unlocked (FILE *__fp) throw ()
 {
   return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
 }
 
 
 inline int
 getchar_unlocked (void) throw ()
 {
   return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
 }
 
 
 
 
 inline int
 putchar (int __c) throw ()
 {
   return _IO_putc (__c, stdout);
 }
 
 
 
 
 inline int
 fputc_unlocked (int __c, FILE *__stream) throw ()
 {
   return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
 }
 
 
 
 
 
 inline int
 putc_unlocked (int __c, FILE *__stream) throw ()
 {
   return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
 }
 
 
 inline int
 putchar_unlocked (int __c) throw ()
 {
   return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
 }
 
 
 
 
 
 inline __ssize_t
 getline (char **__lineptr, size_t *__n, FILE *__stream) throw ()
 {
   return __getdelim (__lineptr, __n, '\n', __stream);
 }
 
 
 
 
 
 inline int
 feof_unlocked (FILE *__stream) throw ()
 {
   return (((__stream)->_flags & 0x10) != 0);
 }
 
 
 inline int
 ferror_unlocked (FILE *__stream) throw ()
 {
   return (((__stream)->_flags & 0x20) != 0);
 }
 # 635 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stdio.h" 2 3
 
 
 }
 # 45 "/opt/qt/3.0.4/include/qtextstream.h" 2
 
 
 
 class QTextCodec;
 class QTextDecoder;
 
 class QTextStreamPrivate;
 
 class QTextStream
 {
 public:
     enum Encoding { Locale, Latin1, Unicode, UnicodeNetworkOrder,
                     UnicodeReverse, RawUnicode, UnicodeUTF8 };
 
     void setEncoding( Encoding );
 
     void setCodec( QTextCodec* );
 
 
 
 
     QTextStream();
     QTextStream( QIODevice * );
     QTextStream( QString*, int mode );
     QTextStream( QString&, int mode );
     QTextStream( QByteArray, int mode );
     QTextStream( FILE *, int mode );
     virtual ~QTextStream();
 
     QIODevice *device() const;
     void setDevice( QIODevice * );
     void unsetDevice();
 
     bool atEnd() const;
     bool eof() const;
 
     QTextStream &operator>>( QChar & );
     QTextStream &operator>>( char & );
     QTextStream &operator>>( signed short & );
     QTextStream &operator>>( unsigned short & );
     QTextStream &operator>>( signed int & );
     QTextStream &operator>>( unsigned int & );
     QTextStream &operator>>( signed long & );
     QTextStream &operator>>( unsigned long & );
     QTextStream &operator>>( float & );
     QTextStream &operator>>( double & );
     QTextStream &operator>>( char * );
     QTextStream &operator>>( QString & );
     QTextStream &operator>>( QCString & );
 
     QTextStream &operator<<( QChar );
     QTextStream &operator<<( char );
     QTextStream &operator<<( signed short );
     QTextStream &operator<<( unsigned short );
     QTextStream &operator<<( signed int );
     QTextStream &operator<<( unsigned int );
     QTextStream &operator<<( signed long );
     QTextStream &operator<<( unsigned long );
     QTextStream &operator<<( float );
     QTextStream &operator<<( double );
     QTextStream &operator<<( const char* );
     QTextStream &operator<<( const QString & );
     QTextStream &operator<<( const QCString & );
     QTextStream &operator<<( void * );
 
     QTextStream &readRawBytes( char *, uint len );
     QTextStream &writeRawBytes( const char* , uint len );
 
     QString readLine();
     QString read();
     void skipWhiteSpace();
 
     enum {
         skipws = 0x0001,
         left = 0x0002,
         right = 0x0004,
         internal = 0x0008,
         bin = 0x0010,
         oct = 0x0020,
         dec = 0x0040,
         hex = 0x0080,
         showbase = 0x0100,
         showpoint = 0x0200,
         uppercase = 0x0400,
         showpos = 0x0800,
         scientific= 0x1000,
         fixed = 0x2000
     };
 
     static const int basefield;
     static const int adjustfield;
     static const int floatfield;
 
     int flags() const;
     int flags( int f );
     int setf( int bits );
     int setf( int bits, int mask );
     int unsetf( int bits );
 
     void reset();
 
     int width() const;
     int width( int );
     int fill() const;
     int fill( int );
     int precision() const;
     int precision( int );
 
 private:
     long input_int();
     void init();
     QTextStream &output_int( int, ulong, bool );
     QIODevice *dev;
 
     int fflags;
     int fwidth;
     int fillchar;
     int fprec;
     bool doUnicodeHeader;
     bool owndev;
     QTextCodec *mapper;
     QTextStreamPrivate * d;
     QChar unused1;
     bool latin1;
     bool internalOrder;
     bool networkOrder;
     void *unused2;
 
     QChar eat_ws();
     uint ts_getline( QChar* );
     void ts_ungetc( QChar );
     QChar ts_getc();
     uint ts_getbuf( QChar*, uint );
     void ts_putc(int);
     void ts_putc(QChar);
     bool ts_isspace(QChar);
     bool ts_isdigit(QChar);
     ulong input_bin();
     ulong input_oct();
     ulong input_dec();
     ulong input_hex();
     double input_double();
     QTextStream &writeBlock( const char* p, uint len );
     QTextStream &writeBlock( const QChar* p, uint len );
 
 private:
 
     QTextStream( const QTextStream & );
     QTextStream &operator=( const QTextStream & );
 
 };
 
 typedef QTextStream QTS;
 
 class QTextIStream : public QTextStream {
 public:
     QTextIStream( const QString* s ) :
         QTextStream((QString*)s,0x0001) { }
     QTextIStream( QByteArray ba ) :
         QTextStream(ba,0x0001) { }
     QTextIStream( FILE *f ) :
         QTextStream(f,0x0001) { }
 };
 
 class QTextOStream : public QTextStream {
 public:
     QTextOStream( QString* s ) :
         QTextStream(s,0x0002) { }
     QTextOStream( QByteArray ba ) :
         QTextStream(ba,0x0002) { }
     QTextOStream( FILE *f ) :
         QTextStream(f,0x0002) { }
 };
 
 
 
 
 
 inline QIODevice *QTextStream::device() const
 { return dev; }
 
 inline bool QTextStream::atEnd() const
 { return dev ? dev->atEnd() : FALSE; }
 
 inline bool QTextStream::eof() const
 { return atEnd(); }
 
 inline int QTextStream::flags() const
 { return fflags; }
 
 inline int QTextStream::flags( int f )
 { int oldf = fflags; fflags = f; return oldf; }
 
 inline int QTextStream::setf( int bits )
 { int oldf = fflags; fflags |= bits; return oldf; }
 
 inline int QTextStream::setf( int bits, int mask )
 { int oldf = fflags; fflags = (fflags & ~mask) | (bits & mask); return oldf; }
 
 inline int QTextStream::unsetf( int bits )
 { int oldf = fflags; fflags &= ~bits; return oldf; }
 
 inline int QTextStream::width() const
 { return fwidth; }
 
 inline int QTextStream::width( int w )
 { int oldw = fwidth; fwidth = w; return oldw; }
 
 inline int QTextStream::fill() const
 { return fillchar; }
 
 inline int QTextStream::fill( int f )
 { int oldc = fillchar; fillchar = f; return oldc; }
 
 inline int QTextStream::precision() const
 { return fprec; }
 
 inline int QTextStream::precision( int p )
 { int oldp = fprec; fprec = p; return oldp; }
 
 
 
 
 inline QChar QTextStream::ts_getc()
 { QChar r; return ( ts_getbuf( &r,1 ) == 1 ? r : QChar((ushort)0xffff) ); }
 
 
 
 
 
 typedef QTextStream & (*QTSFUNC)(QTextStream &);
 typedef int (QTextStream::*QTSMFI)(int);
 
 class QTSManip {
 public:
     QTSManip( QTSMFI m, int a ) { mf=m; arg=a; }
     void exec( QTextStream &s ) { (s.*mf)(arg); }
 private:
     QTSMFI mf;
     int arg;
 };
 
  inline QTextStream &operator>>( QTextStream &s, QTSFUNC f )
 { return (*f)( s ); }
 
  inline QTextStream &operator<<( QTextStream &s, QTSFUNC f )
 { return (*f)( s ); }
 
  inline QTextStream &operator<<( QTextStream &s, QTSManip m )
 { m.exec(s); return s; }
 
  QTextStream &bin( QTextStream &s );
  QTextStream &oct( QTextStream &s );
  QTextStream &dec( QTextStream &s );
  QTextStream &hex( QTextStream &s );
  QTextStream &endl( QTextStream &s );
  QTextStream &flush( QTextStream &s );
  QTextStream &ws( QTextStream &s );
  QTextStream &reset( QTextStream &s );
 
  inline QTSManip qSetW( int w )
 {
     QTSMFI func = &QTextStream::width;
     return QTSManip(func,w);
 }
 
  inline QTSManip qSetFill( int f )
 {
     QTSMFI func = &QTextStream::fill;
     return QTSManip(func,f);
 }
 
  inline QTSManip qSetPrecision( int p )
 {
     QTSMFI func = &QTextStream::precision;
     return QTSManip(func,p);
 }
 # 44 "/opt/qt/3.0.4/include/qtl.h" 2
 
 
 
 
 template <class T>
 class QTextOStreamIterator
 {
 protected:
     QTextOStream& stream;
     QString separator;
 
 public:
     QTextOStreamIterator( QTextOStream& s) : stream( s ) {}
     QTextOStreamIterator( QTextOStream& s, const QString& sep )
         : stream( s ), separator( sep ) {}
     QTextOStreamIterator<T>& operator= ( const T& x ) {
         stream << x;
         if ( !separator.isEmpty() )
             stream << separator;
         return *this;
     }
     QTextOStreamIterator<T>& operator*() { return *this; }
     QTextOStreamIterator<T>& operator++() { return *this; }
     QTextOStreamIterator<T>& operator++(int) { return *this; }
 };
 
 
 template <class InputIterator, class OutputIterator>
 inline OutputIterator qCopy( InputIterator _begin, InputIterator _end,
                              OutputIterator _dest )
 {
     while( _begin != _end )
         *_dest++ = *_begin++;
     return _dest;
 }
 
 template <class BiIterator, class BiOutputIterator>
 inline BiOutputIterator qCopyBackward( BiIterator _begin, BiIterator _end,
                                        BiOutputIterator _dest )
 {
     while ( _begin != _end )
         *--_dest = *--_end;
     return _dest;
 }
 
 template <class InputIterator1, class InputIterator2>
 inline bool qEqual( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2 )
 {
     for ( ; first1 != last1; ++first1, ++first2 )
         if ( *first1 != *first2 )
             return FALSE;
     return TRUE;
 }
 
 template <class ForwardIterator, class T>
 inline void qFill( ForwardIterator first, ForwardIterator last, const T& val )
 {
     for ( ; first != last; ++first )
         *first = val;
 }
 # 120 "/opt/qt/3.0.4/include/qtl.h"
 template <class InputIterator, class T>
 inline InputIterator qFind( InputIterator first, InputIterator last,
                             const T& val )
 {
     while ( first != last && *first != val )
         ++first;
     return first;
 }
 
 template <class InputIterator, class T, class Size>
 inline void qCount( InputIterator first, InputIterator last, const T& value,
                     Size& n )
 {
     for ( ; first != last; ++first )
         if ( *first == value )
             ++n;
 }
 
 template <class T>
 inline void qSwap( T& _value1, T& _value2 )
 {
     T tmp = _value1;
     _value1 = _value2;
     _value2 = tmp;
 }
 
 
 template <class InputIterator>
  void qBubbleSort( InputIterator b, InputIterator e )
 {
 
     InputIterator last = e;
     --last;
 
     if ( last == b )
         return;
 
 
     while( b != last ) {
         bool swapped = FALSE;
         InputIterator swap_pos = b;
         InputIterator x = e;
         InputIterator y = x;
         y--;
         do {
             --x;
             --y;
             if ( *x < *y ) {
                 swapped = TRUE;
                 qSwap( *x, *y );
                 swap_pos = y;
             }
         } while( y != b );
         if ( !swapped )
             return;
         b = swap_pos;
         b++;
     }
 }
 
 
 template <class Container>
 inline void qBubbleSort( Container &c )
 {
   qBubbleSort( c.begin(), c.end() );
 }
 
 
 template <class Value>
  void qHeapSortPushDown( Value* heap, int first, int last )
 {
     int r = first;
     while( r <= last/2 ) {
 
         if ( last == 2*r ) {
 
             if ( heap[r] > heap[ 2*r ] )
                 qSwap( heap[r], heap[ 2*r ] );
 
             r = last;
         } else {
             if ( heap[r] > heap[ 2*r ] && heap[ 2*r ] <= heap[ 2*r+1 ] ) {
 
                 qSwap( heap[r], heap[ 2*r ] );
                 r *= 2;
             } else if ( heap[r] > heap[ 2*r+1 ] &&
                         heap[ 2*r+1 ] < heap[ 2*r ] ) {
 
                 qSwap( heap[r], heap[ 2*r+1 ] );
                 r = 2*r+1;
             } else {
 
                 r = last;
             }
         }
     }
 }
 
 
 template <class InputIterator, class Value>
  void qHeapSortHelper( InputIterator b, InputIterator e, Value, uint n )
 {
 
     InputIterator insert = b;
     Value* realheap = new Value[ n ];
 
     Value* heap = realheap - 1;
     int size = 0;
     for( ; insert != e; ++insert ) {
         heap[++size] = *insert;
         int i = size;
         while( i > 1 && heap[i] < heap[ i / 2 ] ) {
             qSwap( heap[i], heap[ i / 2 ] );
             i /= 2;
         }
     }
 
 
     for( uint i = n; i > 0; i-- ) {
         *b++ = heap[1];
         if ( i > 1 ) {
             heap[1] = heap[i];
             qHeapSortPushDown( heap, 1, (int)i - 1 );
         }
     }
 
     delete[] realheap;
 }
 
 
 template <class InputIterator>
  void qHeapSort( InputIterator b, InputIterator e )
 {
 
     if ( b == e )
         return;
 
 
     InputIterator it = b;
     uint n = 0;
     while ( it != e ) {
         ++n;
         ++it;
     }
 
 
 
     qHeapSortHelper( b, e, *b, n );
 }
 
 
 template <class Container>
  void qHeapSort( Container &c )
 {
     if ( c.begin() == c.end() )
         return;
 
 
 
     qHeapSortHelper( c.begin(), c.end(), *(c.begin()), (uint)c.count() );
 }
 # 47 "/opt/qt/3.0.4/include/qmap.h" 2
 # 1 "/opt/qt/3.0.4/include/qvaluelist.h" 1
 # 58 "/opt/qt/3.0.4/include/qvaluelist.h"
 template <class T>
 class QValueListNode
 {
 public:
     QValueListNode( const T& t ) : data( t ) { }
     QValueListNode() { }
 
 
 
 
 
     QValueListNode<T>* next;
     QValueListNode<T>* prev;
     T data;
 };
 
 template<class T>
 class QValueListIterator
 {
  public:
 
 
 
     typedef QValueListNode<T>* NodePtr;
 
 
 
     typedef T value_type;
     typedef size_t size_type;
 
 
 
     typedef int difference_type;
 
     typedef T* pointer;
     typedef T& reference;
 
 
 
 
     NodePtr node;
 
 
 
 
     QValueListIterator() : node( 0 ) {}
     QValueListIterator( NodePtr p ) : node( p ) {}
     QValueListIterator( const QValueListIterator<T>& it ) : node( it.node ) {}
 
     bool operator==( const QValueListIterator<T>& it ) const { return node == it.node; }
     bool operator!=( const QValueListIterator<T>& it ) const { return node != it.node; }
     const T& operator*() const { return node->data; }
     T& operator*() { return node->data; }
 
 
 
     QValueListIterator<T>& operator++() {
         node = node->next;
         return *this;
     }
 
     QValueListIterator<T> operator++(int) {
         QValueListIterator<T> tmp = *this;
         node = node->next;
         return tmp;
     }
 
     QValueListIterator<T>& operator--() {
         node = node->prev;
         return *this;
     }
 
     QValueListIterator<T> operator--(int) {
         QValueListIterator<T> tmp = *this;
         node = node->prev;
         return tmp;
     }
 };
 
 template<class T>
 class QValueListConstIterator
 {
  public:
 
 
 
     typedef QValueListNode<T>* NodePtr;
 
 
 
     typedef T value_type;
     typedef size_t size_type;
 
 
 
     typedef int difference_type;
 
     typedef const T* pointer;
     typedef const T& reference;
 
 
 
 
     NodePtr node;
 
 
 
 
     QValueListConstIterator() : node( 0 ) {}
     QValueListConstIterator( NodePtr p ) : node( p ) {}
     QValueListConstIterator( const QValueListConstIterator<T>& it ) : node( it.node ) {}
     QValueListConstIterator( const QValueListIterator<T>& it ) : node( it.node ) {}
 
     bool operator==( const QValueListConstIterator<T>& it ) const { return node == it.node; }
     bool operator!=( const QValueListConstIterator<T>& it ) const { return node != it.node; }
     const T& operator*() const { return node->data; }
 
 
 
     QValueListConstIterator<T>& operator++() {
         node = node->next;
         return *this;
     }
 
     QValueListConstIterator<T> operator++(int) {
         QValueListConstIterator<T> tmp = *this;
         node = node->next;
         return tmp;
     }
 
     QValueListConstIterator<T>& operator--() {
         node = node->prev;
         return *this;
     }
 
     QValueListConstIterator<T> operator--(int) {
         QValueListConstIterator<T> tmp = *this;
         node = node->prev;
         return tmp;
     }
 };
 
 template <class T>
 class QValueListPrivate
     : public QShared
 {
 public:
 
 
 
     typedef QValueListIterator<T> Iterator;
     typedef QValueListConstIterator<T> ConstIterator;
     typedef QValueListNode<T> Node;
     typedef QValueListNode<T>* NodePtr;
     typedef size_t size_type;
 
 
 
 
     QValueListPrivate();
     QValueListPrivate( const QValueListPrivate<T>& _p );
 
     void derefAndDelete()
     {
         if ( deref() )
             delete this;
     }
 
 
 
 
 
     ~QValueListPrivate();
 
     Iterator insert( Iterator it, const T& x );
     Iterator remove( Iterator it );
     NodePtr find( NodePtr start, const T& x ) const;
     int findIndex( NodePtr start, const T& x ) const;
     uint contains( const T& x ) const;
     uint remove( const T& x );
     NodePtr at( size_type i ) const;
     void clear();
 
     NodePtr node;
     size_type nodes;
 };
 
 template <class T>
  QValueListPrivate<T>::QValueListPrivate()
 {
     node = new Node; node->next = node->prev = node; nodes = 0;
 }
 
 template <class T>
  QValueListPrivate<T>::QValueListPrivate( const QValueListPrivate<T>& _p )
     : QShared()
 {
     node = new Node; node->next = node->prev = node; nodes = 0;
     Iterator b( _p.node->next );
     Iterator e( _p.node );
     Iterator i( node );
     while( b != e )
         insert( i, *b++ );
 }
 
 template <class T>
  QValueListPrivate<T>::~QValueListPrivate() {
     NodePtr p = node->next;
     while( p != node ) {
         NodePtr x = p->next;
         delete p;
         p = x;
     }
     delete node;
 }
 
 template <class T>
  typename QValueListPrivate<T>::Iterator QValueListPrivate<T>::insert( typename QValueListPrivate<T>::Iterator it, const T& x )
 {
     NodePtr p = new Node( x );
     p->next = it.node;
     p->prev = it.node->prev;
     it.node->prev->next = p;
     it.node->prev = p;
     nodes++;
     return p;
 }
 
 template <class T>
  typename QValueListPrivate<T>::Iterator QValueListPrivate<T>::remove( typename QValueListPrivate<T>::Iterator it )
 {
     ((it.node != node) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)","it.node != node","/opt/qt/3.0.4/include/qvaluelist.h",289));
     NodePtr next = it.node->next;
     NodePtr prev = it.node->prev;
     prev->next = next;
     next->prev = prev;
     delete it.node;
     nodes--;
     return Iterator( next );
 }
 
 template <class T>
  typename QValueListPrivate<T>::NodePtr QValueListPrivate<T>::find( typename QValueListPrivate<T>::NodePtr start, const T& x ) const
 {
     ConstIterator first( start );
     ConstIterator last( node );
     while( first != last) {
         if ( *first == x )
             return first.node;
         ++first;
     }
     return last.node;
 }
 
 template <class T>
  int QValueListPrivate<T>::findIndex( typename QValueListPrivate<T>::NodePtr start, const T& x ) const
 {
     ConstIterator first( start );
     ConstIterator last( node );
     int pos = 0;
     while( first != last) {
         if ( *first == x )
             return pos;
         ++first;
         ++pos;
     }
     return -1;
 }
 
 template <class T>
  uint QValueListPrivate<T>::contains( const T& x ) const
 {
     uint result = 0;
     Iterator first = Iterator( node->next );
     Iterator last = Iterator( node );
     while( first != last) {
         if ( *first == x )
             ++result;
         ++first;
     }
     return result;
 }
 
 template <class T>
  uint QValueListPrivate<T>::remove( const T& x )
 {
     uint result = 0;
     Iterator first = Iterator( node->next );
     Iterator last = Iterator( node );
     while( first != last) {
         if ( *first == x ) {
             first = remove( first );
             ++result;
         } else
             ++first;
     }
     return result;
 }
 
 template <class T>
  typename QValueListPrivate<T>::NodePtr QValueListPrivate<T>::at( size_type i ) const
 {
     ((i <= nodes) ? (void)0 : qWarning("ASSERT: \"%s\" in %s (%d)","i <= nodes","/opt/qt/3.0.4/include/qvaluelist.h",360));
     NodePtr p = node->next;
     for( size_type x = 0; x < i; ++x )
         p = p->next;
     return p;
 }
 
 template <class T>
  void QValueListPrivate<T>::clear()
 {
     nodes = 0;
     NodePtr p = node->next;
     while( p != node ) {
         NodePtr next = p->next;
         delete p;
         p = next;
     }
     node->next = node->prev = node;
 }
 # 393 "/opt/qt/3.0.4/include/qvaluelist.h"
 template <class T>
 class QValueList
 {
 public:
 
 
 
     typedef QValueListIterator<T> iterator;
     typedef QValueListConstIterator<T> const_iterator;
     typedef T value_type;
     typedef value_type* pointer;
     typedef const value_type* const_pointer;
     typedef value_type& reference;
     typedef const value_type& const_reference;
     typedef size_t size_type;
 
 
 
     typedef int difference_type;
 
 
 
 
 
     QValueList() { sh = new QValueListPrivate<T>; }
     QValueList( const QValueList<T>& l ) { sh = l.sh; sh->ref(); }
 
 
 
 
 
 
 
     ~QValueList() { sh->derefAndDelete(); }
 
     QValueList<T>& operator= ( const QValueList<T>& l )
     {
         l.sh->ref();
         sh->derefAndDelete();
         sh = l.sh;
         return *this;
     }
 # 457 "/opt/qt/3.0.4/include/qvaluelist.h"
     bool operator== ( const QValueList<T>& l ) const;
     bool operator!= ( const QValueList<T>& l ) const { return !( *this == l ); }
     iterator begin() { detach(); return iterator( sh->node->next ); }
     const_iterator begin() const { return const_iterator( sh->node->next ); }
     iterator end() { detach(); return iterator( sh->node ); }
     const_iterator end() const { return const_iterator( sh->node ); }
     iterator insert( iterator it, const T& x ) { detach(); return sh->insert( it, x ); }
     uint remove( const T& x ) { detach(); return sh->remove( x ); }
     void clear();
 
     QValueList<T>& operator<< ( const T& x )
     {
         append( x );
         return *this;
     }
 
     size_type size() const { return sh->nodes; }
     bool empty() const { return sh->nodes == 0; }
     void push_front( const T& x ) { detach(); sh->insert( begin(), x ); }
     void push_back( const T& x ) { detach(); sh->insert( end(), x ); }
     iterator erase( iterator pos ) { detach(); return sh->remove( pos ); }
     iterator erase( iterator first, iterator last );
     reference front() { ; return *begin(); }
     const_reference front() const { ; return *begin(); }
     reference back() { ; return *(--end()); }
     const_reference back() const { ; return *(--end()); }
     void pop_front() { ; erase( begin() ); }
     void pop_back() {
         ;
         iterator tmp = end();
         erase( --tmp );
     }
     void insert( iterator pos, size_type n, const T& x );
 # 500 "/opt/qt/3.0.4/include/qvaluelist.h"
     QValueList<T> operator+ ( const QValueList<T>& l ) const;
     QValueList<T>& operator+= ( const QValueList<T>& l );
 
     iterator fromLast() { detach(); return iterator( sh->node->prev ); }
     const_iterator fromLast() const { return const_iterator( sh->node->prev ); }
 
     bool isEmpty() const { return ( sh->nodes == 0 ); }
 
     iterator append( const T& x ) { detach(); return sh->insert( end(), x ); }
     iterator prepend( const T& x ) { detach(); return sh->insert( begin(), x ); }
 
     iterator remove( iterator it ) { detach(); return sh->remove( it ); }
 
     T& first() { ; detach(); return sh->node->next->data; }
     const T& first() const { ; return sh->node->next->data; }
     T& last() { ; detach(); return sh->node->prev->data; }
     const T& last() const { ; return sh->node->prev->data; }
 
     T& operator[] ( size_type i ) { ; detach(); return sh->at(i)->data; }
     const T& operator[] ( size_type i ) const { ; return sh->at(i)->data; }
     iterator at( size_type i ) { ; detach(); return iterator( sh->at(i) ); }
     const_iterator at( size_type i ) const { ; return const_iterator( sh->at(i) ); }
     iterator find ( const T& x ) { detach(); return iterator( sh->find( sh->node->next, x) ); }
     const_iterator find ( const T& x ) const { return const_iterator( sh->find( sh->node->next, x) ); }
     iterator find ( iterator it, const T& x ) { detach(); return iterator( sh->find( it.node, x ) ); }
     const_iterator find ( const_iterator it, const T& x ) const { return const_iterator( sh->find( it.node, x ) ); }
     int findIndex( const T& x ) const { return sh->findIndex( sh->node->next, x) ; }
     size_type contains( const T& x ) const { return sh->contains( x ); }
 
     size_type count() const { return sh->nodes; }
 
     QValueList<T>& operator+= ( const T& x )
     {
         append( x );
         return *this;
     }
     typedef QValueListIterator<T> Iterator;
     typedef QValueListConstIterator<T> ConstIterator;
     typedef T ValueType;
 
 protected:
 
 
 
     void detach() { if ( sh->count > 1 ) detachInternal(); }
 
 
 
 
     QValueListPrivate<T>* sh;
 
 private:
     void detachInternal();
 };
 
 template <class T>
  bool QValueList<T>::operator== ( const QValueList<T>& l ) const
 {
     if ( size() != l.size() )
         return FALSE;
     const_iterator it2 = begin();
     const_iterator it = l.begin();
     for( ; it != l.end(); ++it, ++it2 )
         if ( !( *it == *it2 ) )
             return FALSE;
     return TRUE;
 }
 
 template <class T>
  void QValueList<T>::clear()
 {
     if ( sh->count == 1 ) sh->clear(); else { sh->deref(); sh = new QValueListPrivate<T>; }
 }
 
 template <class T>
  typename QValueList<T>::iterator QValueList<T>::erase( typename QValueList<T>::iterator first, typename QValueList<T>::iterator last )
 {
     while ( first != last )
         erase( first++ );
     return last;
 }
 
 
 template <class T>
  void QValueList<T>::insert( typename QValueList<T>::iterator pos, size_type n, const T& x )
 {
     for ( ; n > 0; --n )
         insert( pos, x );
 }
 
 template <class T>
  QValueList<T> QValueList<T>::operator+ ( const QValueList<T>& l ) const
 {
     QValueList<T> l2( *this );
     for( const_iterator it = l.begin(); it != l.end(); ++it )
         l2.append( *it );
     return l2;
 }
 
 template <class T>
  QValueList<T>& QValueList<T>::operator+= ( const QValueList<T>& l )
 {
     for( const_iterator it = l.begin(); it != l.end(); ++it )
         append( *it );
     return *this;
 }
 
 template <class T>
  void QValueList<T>::detachInternal()
 {
     sh->deref(); sh = new QValueListPrivate<T>( *sh );
 }
 
 
 template <class T>
  QDataStream& operator>>( QDataStream& s, QValueList<T>& l )
 {
     l.clear();
     Q_UINT32 c;
     s >> c;
     for( Q_UINT32 i = 0; i < c; ++i )
     {
         T t;
         s >> t;
         l.append( t );
         if ( s.atEnd() )
             break;
     }
     return s;
 }
 
 template <class T>
  QDataStream& operator<<( QDataStream& s, const QValueList<T>& l )
 {
     s << (Q_UINT32)l.size();
     QValueListConstIterator<T> it = l.begin();
     for( ; it != l.end(); ++it )
         s << *it;
     return s;
 }
 # 48 "/opt/qt/3.0.4/include/qmap.h" 2
 # 57 "/opt/qt/3.0.4/include/qmap.h"
 struct QMapNodeBase
 {
     enum Color { Red, Black };
 
     QMapNodeBase* left;
     QMapNodeBase* right;
     QMapNodeBase* parent;
 
     Color color;
 
     QMapNodeBase* minimum() {
         QMapNodeBase* x = this;
         while ( x->left )
             x = x->left;
         return x;
     }
 
     QMapNodeBase* maximum() {
         QMapNodeBase* x = this;
         while ( x->right )
             x = x->right;
         return x;
     }
 };
 
 
 template <class K, class T>
 struct QMapNode : public QMapNodeBase
 {
     QMapNode( const K& _key, const T& _data ) { data = _data; key = _key; }
     QMapNode( const K& _key ) { key = _key; }
     QMapNode( const QMapNode<K,T>& _n ) { key = _n.key; data = _n.data; }
     QMapNode() { }
     T data;
     K key;
 };
 
 
 template<class K, class T>
 class QMapIterator
 {
  public:
 
 
 
     typedef QMapNode< K, T >* NodePtr;
 
 
 
     typedef T value_type;
 
 
 
     typedef int difference_type;
 
     typedef T* pointer;
     typedef T& reference;
 
 
 
 
     QMapNode<K,T>* node;
 
 
 
 
     QMapIterator() : node( 0 ) {}
     QMapIterator( QMapNode<K,T>* p ) : node( p ) {}
     QMapIterator( const QMapIterator<K,T>& it ) : node( it.node ) {}
 
     bool operator==( const QMapIterator<K,T>& it ) const { return node == it.node; }
     bool operator!=( const QMapIterator<K,T>& it ) const { return node != it.node; }
     T& operator*() { return node->data; }
     const T& operator*() const { return node->data; }
 
 
 
     const K& key() const { return node->key; }
     T& data() { return node->data; }
     const T& data() const { return node->data; }
 
 private:
     int inc();
     int dec();
 
 public:
     QMapIterator<K,T>& operator++() {
         inc();
         return *this;
     }
 
     QMapIterator<K,T> operator++(int) {
         QMapIterator<K,T> tmp = *this;
         inc();
         return tmp;
     }
 
     QMapIterator<K,T>& operator--() {
         dec();
         return *this;
     }
 
     QMapIterator<K,T> operator--(int) {
         QMapIterator<K,T> tmp = *this;
         dec();
         return tmp;
     }
 };
 
 template <class K, class T>
  int QMapIterator<K,T>::inc()
 {
     QMapNodeBase* tmp = node;
     if ( tmp->right ) {
         tmp = tmp->right;
         while ( tmp->left )
             tmp = tmp->left;
     } else {
         QMapNodeBase* y = tmp->parent;
         while (tmp == y->right) {
             tmp = y;
             y = y->parent;
         }
         if (tmp->right != y)
             tmp = y;
     }
     node = (NodePtr)tmp;
     return 0;
 }
 
 template <class K, class T>
  int QMapIterator<K,T>::dec()
 {
     QMapNodeBase* tmp = node;
     if (tmp->color == QMapNodeBase::Red &&
         tmp->parent->parent == tmp ) {
         tmp = tmp->right;
     } else if (tmp->left != 0) {
         QMapNodeBase* y = tmp->left;
         while ( y->right )
             y = y->right;
         tmp = y;
     } else {
         QMapNodeBase* y = tmp->parent;
         while (tmp == y->left) {
             tmp = y;
             y = y->parent;
         }
         tmp = y;
     }
     node = (NodePtr)tmp;
     return 0;
 }
 
 template<class K, class T>
 class QMapConstIterator
 {
  public:
 
 
 
     typedef QMapNode< K, T >* NodePtr;
 
 
 
     typedef T value_type;
 
 
 
     typedef int difference_type;
 
     typedef const T* pointer;
     typedef const T& reference;
 
 
 
 
 
     QMapNode<K,T>* node;
 
 
 
 
     QMapConstIterator() : node( 0 ) {}
     QMapConstIterator( QMapNode<K,T>* p ) : node( p ) {}
     QMapConstIterator( const QMapConstIterator<K,T>& it ) : node( it.node ) {}
     QMapConstIterator( const QMapIterator<K,T>& it ) : node( it.node ) {}
 
     bool operator==( const QMapConstIterator<K,T>& it ) const { return node == it.node; }
     bool operator!=( const QMapConstIterator<K,T>& it ) const { return node != it.node; }
     const T& operator*() const { return node->data; }
 
 
 
     const K& key() const { return node->key; }
     const T& data() const { return node->data; }
 
 private:
     int inc();
     int dec();
 
 public:
     QMapConstIterator<K,T>& operator++() {
         inc();
         return *this;
     }
 
     QMapConstIterator<K,T> operator++(int) {
         QMapConstIterator<K,T> tmp = *this;
         inc();
         return tmp;
     }
 
     QMapConstIterator<K,T>& operator--() {
         dec();
         return *this;
     }
 
     QMapConstIterator<K,T> operator--(int) {
         QMapConstIterator<K,T> tmp = *this;
         dec();
         return tmp;
     }
 };
 
 template <class K, class T>
  int QMapConstIterator<K,T>::inc()
 {
     QMapNodeBase* tmp = node;
     if ( tmp->right ) {
         tmp = tmp->right;
         while ( tmp->left )
             tmp = tmp->left;
     } else {
         QMapNodeBase* y = tmp->parent;
         while (tmp == y->right) {
             tmp = y;
             y = y->parent;
         }
         if (tmp->right != y)
             tmp = y;
     }
     node = (NodePtr)tmp;
     return 0;
 }
 
 template <class K, class T>
  int QMapConstIterator<K,T>::dec()
 {
     QMapNodeBase* tmp = node;
     if (tmp->color == QMapNodeBase::Red &&
         tmp->parent->parent == tmp ) {
         tmp = tmp->right;
     } else if (tmp->left != 0) {
         QMapNodeBase* y = tmp->left;
         while ( y->right )
             y = y->right;
         tmp = y;
     } else {
         QMapNodeBase* y = tmp->parent;
         while (tmp == y->left) {
             tmp = y;
             y = y->parent;
         }
         tmp = y;
     }
     node = (NodePtr)tmp;
     return 0;
 }
 
 class QMapPrivateBase : public QShared
 {
 public:
     QMapPrivateBase() {
         node_count = 0;
     }
     QMapPrivateBase( const QMapPrivateBase* _map) {
         node_count = _map->node_count;
     }
 
 
 
 
     void rotateLeft( QMapNodeBase* x, QMapNodeBase*& root);
     void rotateRight( QMapNodeBase* x, QMapNodeBase*& root );
     void rebalance( QMapNodeBase* x, QMapNodeBase*& root );
     QMapNodeBase* removeAndRebalance( QMapNodeBase* z, QMapNodeBase*& root,
                                       QMapNodeBase*& leftmost,
                                       QMapNodeBase*& rightmost );
 
 
 
 
     int node_count;
 };
 
 
 template <class Key, class T>
 class QMapPrivate : public QMapPrivateBase
 {
 public:
 
 
 
     typedef QMapIterator< Key, T > Iterator;
     typedef QMapConstIterator< Key, T > ConstIterator;
     typedef QMapNode< Key, T > Node;
     typedef QMapNode< Key, T >* NodePtr;
 
 
 
 
     QMapPrivate();
     QMapPrivate( const QMapPrivate< Key, T >* _map );
     ~QMapPrivate() { clear(); delete header; }
 
     NodePtr copy( NodePtr p );
     void clear();
     void clear( NodePtr p );
 
     Iterator begin() { return Iterator( (NodePtr)(header->left ) ); }
     Iterator end() { return Iterator( header ); }
     ConstIterator begin() const { return ConstIterator( (NodePtr)(header->left ) ); }
     ConstIterator end() const { return ConstIterator( header ); }
 
     ConstIterator find(const Key& k) const;
 
     void remove( Iterator it ) {
         NodePtr del = (NodePtr) removeAndRebalance( it.node, header->parent, header->left, header->right );
         delete del;
         --node_count;
     }
 # 414 "/opt/qt/3.0.4/include/qmap.h"
     Iterator insertSingle( const Key& k );
     Iterator insert( QMapNodeBase* x, QMapNodeBase* y, const Key& k );
 
 protected:
 
 
 
     const Key& key( QMapNodeBase* b ) const { return ((NodePtr)b)->key; }
 
 
 
 
     NodePtr header;
 };
 
 
 template <class Key, class T>
  QMapPrivate<Key,T>::QMapPrivate() {
     header = new Node;
     header->color = QMapNodeBase::Red;
     header->parent = 0;
     header->left = header->right = header;
 }
 template <class Key, class T>
  QMapPrivate<Key,T>::QMapPrivate( const QMapPrivate< Key, T >* _map ) : QMapPrivateBase( _map ) {
     header = new Node;
     header->color = QMapNodeBase::Red;
     if ( _map->header->parent == 0 ) {
         header->parent = 0;
         header->left = header->right = header;
     } else {
         header->parent = copy( (NodePtr)(_map->header->parent) );
         header->parent->parent = header;
         header->left = header->parent->minimum();
         header->right = header->parent->maximum();
     }
 }
 
 template <class Key, class T>
  typename QMapPrivate<Key,T>::NodePtr QMapPrivate<Key,T>::copy( typename QMapPrivate<Key,T>::NodePtr p )
 {
     if ( !p )
         return 0;
     NodePtr n = new Node( *p );
     n->color = p->color;
     if ( p->left ) {
         n->left = copy( (NodePtr)(p->left) );
         n->left->parent = n;
     } else {
         n->left = 0;
     }
     if ( p->right ) {
         n->right = copy( (NodePtr)(p->right) );
         n->right->parent = n;
     } else {
         n->right = 0;
     }
     return n;
 }
 
 template <class Key, class T>
  void QMapPrivate<Key,T>::clear()
 {
     clear( (NodePtr)(header->parent) );
     header->color = QMapNodeBase::Red;
     header->parent = 0;
     header->left = header->right = header;
     node_count = 0;
 }
 
 template <class Key, class T>
  void QMapPrivate<Key,T>::clear( typename QMapPrivate<Key,T>::NodePtr p )
 {
     while ( p != 0 ) {
         clear( (NodePtr)p->right );
         NodePtr y = (NodePtr)p->left;
         delete p;
         p = y;
     }
 }
 
 template <class Key, class T>
  typename QMapPrivate<Key,T>::ConstIterator QMapPrivate<Key,T>::find(const Key& k) const
 {
     QMapNodeBase* y = header;
     QMapNodeBase* x = header->parent;
 
     while ( x != 0 ) {
 
         if ( !( key(x) < k ) ) {
             y = x;
             x = x->left;
         } else {
             x = x->right;
         }
     }
 
 
 
     if ( y == header || k < key(y) )
         return ConstIterator( header );
     return ConstIterator( (NodePtr)y );
 }
 
 template <class Key, class T>
  typename QMapPrivate<Key,T>::Iterator QMapPrivate<Key,T>::insertSingle( const Key& k )
 {
 
     QMapNodeBase* y = header;
     QMapNodeBase* x = header->parent;
     bool result = TRUE;
     while ( x != 0 ) {
         result = ( k < key(x) );
         y = x;
         x = result ? x->left : x->right;
     }
 
     Iterator j( (NodePtr)y );
     if ( result ) {
 
         if ( j == begin() ) {
             return insert(x, y, k );
         } else {
 
             --j;
         }
     }
 
     if ( (j.node->key) < k )
         return insert(x, y, k );
 
     return j;
 }
 
 
 template <class Key, class T>
  typename QMapPrivate<Key,T>::Iterator QMapPrivate<Key,T>::insert( QMapNodeBase* x, QMapNodeBase* y, const Key& k )
 {
     NodePtr z = new Node( k );
     if (y == header || x != 0 || k < key(y) ) {
         y->left = z;
         if ( y == header ) {
             header->parent = z;
             header->right = z;
         } else if ( y == header->left )
             header->left = z;
     } else {
         y->right = z;
         if ( y == header->right )
             header->right = z;
     }
     z->parent = y;
     z->left = 0;
     z->right = 0;
     rebalance( z, header->parent );
     ++node_count;
     return Iterator(z);
 }
 # 587 "/opt/qt/3.0.4/include/qmap.h"
 template<class Key, class T>
 class QMap
 {
 public:
 
 
 
     typedef Key key_type;
     typedef T mapped_type;
     typedef QPair<const key_type, mapped_type> value_type;
     typedef value_type* pointer;
     typedef const value_type* const_pointer;
     typedef value_type& reference;
     typedef const value_type& const_reference;
 
 
 
     typedef int difference_type;
 
     typedef size_t size_type;
     typedef QMapIterator<Key,T> iterator;
     typedef QMapConstIterator<Key,T> const_iterator;
     typedef QPair<iterator,bool> insert_pair;
 
 
 
 
     QMap()
     {
         sh = new QMapPrivate< Key, T >;
     }
     QMap( const QMap<Key,T>& m )
     {
         sh = m.sh; sh->ref();
     }
 # 638 "/opt/qt/3.0.4/include/qmap.h"
     ~QMap()
     {
         if ( sh->deref() )
             delete sh;
     }
     QMap<Key,T>& operator= ( const QMap<Key,T>& m );
 # 661 "/opt/qt/3.0.4/include/qmap.h"
     iterator begin() { detach(); return sh->begin(); }
     iterator end() { detach(); return sh->end(); }
     const_iterator begin() const { return ((const Priv*)sh)->begin(); }
     const_iterator end() const { return ((const Priv*)sh)->end(); }
     iterator replace( const Key& k, const T& v )
     {
         remove( k );
         return insert( k, v );
     }
 
     size_type size() const
     {
         return sh->node_count;
     }
     bool empty() const
     {
         return sh->node_count == 0;
     }
     QPair<iterator,bool> insert( const value_type& x );
 
     void erase( iterator it )
     {
         detach();
         sh->remove( it );
     }
     void erase( const key_type& k );
     size_type count( const key_type& k ) const;
     T& operator[] ( const Key& k );
     void clear();
 
     typedef QMapIterator< Key, T > Iterator;
     typedef QMapConstIterator< Key, T > ConstIterator;
     typedef T ValueType;
     typedef QMapPrivate< Key, T > Priv;
 
     iterator find ( const Key& k )
     {
         detach();
         return iterator( sh->find( k ).node );
     }
     const_iterator find ( const Key& k ) const { return sh->find( k ); }
 
     const T& operator[] ( const Key& k ) const
         { ; return sh->find( k ).data(); }
     bool contains ( const Key& k ) const
         { return find( k ) != end(); }
 
 
     size_type count() const { return sh->node_count; }
 
     QValueList<Key> keys() const {
         QValueList<Key> r;
         for (const_iterator i=begin(); i!=end(); ++i)
             r.append(i.key());
         return r;
     }
 
     QValueList<T> values() const {
         QValueList<T> r;
         for (const_iterator i=begin(); i!=end(); ++i)
             r.append(*i);
         return r;
     }
 
     bool isEmpty() const { return sh->node_count == 0; }
 
     iterator insert( const Key& key, const T& value, bool overwrite = TRUE );
     void remove( iterator it ) { detach(); sh->remove( it ); }
     void remove( const Key& k );
 # 738 "/opt/qt/3.0.4/include/qmap.h"
 protected:
 
 
 
     void detach() { if ( sh->count > 1 ) detachInternal(); }
 
     Priv* sh;
 private:
     void detachInternal();
 };
 
 template<class Key, class T>
  QMap<Key,T>& QMap<Key,T>::operator= ( const QMap<Key,T>& m )
 {
     m.sh->ref();
     if ( sh->deref() )
         delete sh;
     sh = m.sh;
     return *this;
 }
 
 template<class Key, class T>
  typename QMap<Key,T>::insert_pair QMap<Key,T>::insert( const typename QMap<Key,T>::value_type& x )
 {
     detach();
     size_type n = size();
     iterator it = sh->insertSingle( x.first );
     bool inserted = FALSE;
     if ( n < size() ) {
         inserted = TRUE;
         it.data() = x.second;
     }
     return QPair<iterator,bool>( it, inserted );
 }
 
 template<class Key, class T>
  void QMap<Key,T>::erase( const Key& k )
 {
     detach();
     iterator it( sh->find( k ).node );
     if ( it != end() )
         sh->remove( it );
 }
 
 template<class Key, class T>
  typename QMap<Key,T>::size_type QMap<Key,T>::count( const Key& k ) const
 {
     const_iterator it( sh->find( k ).node );
     if ( it != end() ) {
         size_type c = 0;
         while ( it != end() ) {
             ++it;
             ++c;
         }
         return c;
     }
     return 0;
 }
 
 template<class Key, class T>
  T& QMap<Key,T>::operator[] ( const Key& k )
 {
     detach();
     QMapNode<Key,T>* p = sh->find( k ).node;
     if ( p != sh->end().node )
         return p->data;
     return insert( k, T() ).data();
 }
 
 template<class Key, class T>
  void QMap<Key,T>::clear()
 {
     if ( sh->count == 1 )
         sh->clear();
     else {
         sh->deref();
         sh = new QMapPrivate<Key,T>;
     }
 }
 
 template<class Key, class T>
  typename QMap<Key,T>::iterator QMap<Key,T>::insert( const Key& key, const T& value, bool overwrite )
 {
     detach();
     size_type n = size();
     iterator it = sh->insertSingle( key );
     if ( overwrite || n < size() )
         it.data() = value;
     return it;
 }
 
 template<class Key, class T>
  void QMap<Key,T>::remove( const Key& k )
 {
     detach();
     iterator it( sh->find( k ).node );
     if ( it != end() )
         sh->remove( it );
 }
 
 template<class Key, class T>
  void QMap<Key,T>::detachInternal()
 {
     sh->deref(); sh = new QMapPrivate<Key,T>( sh );
 }
 
 
 
 template<class Key, class T>
  QDataStream& operator>>( QDataStream& s, QMap<Key,T>& m ) {
     m.clear();
     Q_UINT32 c;
     s >> c;
     for( Q_UINT32 i = 0; i < c; ++i ) {
         Key k; T t;
         s >> k >> t;
         m.insert( k, t );
         if ( s.atEnd() )
             break;
     }
     return s;
 }
 
 
 template<class Key, class T>
  QDataStream& operator<<( QDataStream& s, const QMap<Key,T>& m ) {
     s << (Q_UINT32)m.size();
     QMapConstIterator<Key,T> it = m.begin();
     for( ; it != m.end(); ++it )
         s << it.key() << it.data();
     return s;
 }
 # 44 "/opt/qt/3.0.4/include/qmime.h" 2
 
 
 
 
 class QImageDrag;
 class QTextDrag;
 
 class QMimeSource
 {
     friend class QClipboardData;
 
 public:
     QMimeSource();
     virtual ~QMimeSource();
     virtual const char* format( int n = 0 ) const = 0;
     virtual bool provides( const char* ) const;
     virtual QByteArray encodedData( const char* ) const = 0;
     int serialNumber() const;
 
 private:
     int ser_no;
     enum { NoCache, Text, Graphics } cacheType;
     union
     {
         struct
         {
             QString *str;
             QCString *subtype;
         } txt;
         struct
         {
             QImage *img;
             QPixmap *pix;
         } gfx;
     } cache;
     void clearCache();
 
 
     friend class QImageDrag;
     friend class QTextDrag;
 
 };
 
 inline int QMimeSource::serialNumber() const
 { return ser_no; }
 
 class QStringList;
 class QMimeSourceFactoryData;
 
 class QMimeSourceFactory {
 public:
     QMimeSourceFactory();
     virtual ~QMimeSourceFactory();
 
     static QMimeSourceFactory* defaultFactory();
     static void setDefaultFactory( QMimeSourceFactory* );
     static QMimeSourceFactory* takeDefaultFactory();
     static void addFactory( QMimeSourceFactory *f );
     static void removeFactory( QMimeSourceFactory *f );
 
     virtual const QMimeSource* data(const QString& abs_name) const;
     virtual QString makeAbsolute(const QString& abs_or_rel_name, const QString& context) const;
     const QMimeSource* data(const QString& abs_or_rel_name, const QString& context) const;
 
     virtual void setText( const QString& abs_name, const QString& text );
     virtual void setImage( const QString& abs_name, const QImage& im );
     virtual void setPixmap( const QString& abs_name, const QPixmap& pm );
     virtual void setData( const QString& abs_name, QMimeSource* data );
     virtual void setFilePath( const QStringList& );
     virtual QStringList filePath() const;
     void addFilePath( const QString& );
     virtual void setExtensionType( const QString& ext, const char* mimetype );
 
 private:
     QMimeSource *dataInternal(const QString& abs_name, const QMap<QString, QString> &extensions ) const;
     QMimeSourceFactoryData* d;
 };
 # 46 "/opt/qt/3.0.4/include/qevent.h" 2
 
 
 
 class QEvent: public Qt
 {
 public:
     enum Type {
 
 
 
 
 
 
         None = 0,
 
 
         Timer = 1,
         MouseButtonPress = 2,
         MouseButtonRelease = 3,
         MouseButtonDblClick= 4,
         MouseMove = 5,
         KeyPress = 6,
         KeyRelease = 7,
         FocusIn = 8,
         FocusOut = 9,
         Enter = 10,
         Leave = 11,
         Paint = 12,
         Move = 13,
         Resize = 14,
         Create = 15,
         Destroy = 16,
         Show = 17,
         Hide = 18,
         Close = 19,
         Quit = 20,
         Reparent = 21,
         ShowMinimized = 22,
         ShowNormal = 23,
         WindowActivate = 24,
         WindowDeactivate = 25,
         ShowToParent = 26,
         HideToParent = 27,
         ShowMaximized = 28,
         ShowFullScreen = 29,
         Accel = 30,
         Wheel = 31,
         AccelAvailable = 32,
         CaptionChange = 33,
         IconChange = 34,
         ParentFontChange = 35,
         ApplicationFontChange = 36,
         ParentPaletteChange = 37,
         ApplicationPaletteChange = 38,
         PaletteChange = 39,
         Clipboard = 40,
         Speech = 42,
         SockAct = 50,
         AccelOverride = 51,
         DeferredDelete = 52,
         DragEnter = 60,
         DragMove = 61,
         DragLeave = 62,
         Drop = 63,
         DragResponse = 64,
         ChildInserted = 70,
         ChildRemoved = 71,
         LayoutHint = 72,
         ShowWindowRequest = 73,
         ActivateControl = 80,
         DeactivateControl = 81,
         ContextMenu = 82,
         IMStart = 83,
         IMCompose = 84,
         IMEnd = 85,
         Accessibility = 86,
         Tablet = 87,
         User = 1000,
         MaxUser = 65535
     };
 
 
     QEvent( Type type ) : t(type), posted(FALSE), spont(FALSE) {}
     virtual ~QEvent();
     Type type() const { return t; }
     bool spontaneous() const { return spont; }
 protected:
     Type t;
 private:
     uint posted : 1;
     uint spont : 1;
 
 
     friend class QApplication;
     friend class QBaseApplication;
     friend class QETWidget;
 };
 
 
 class QTimerEvent : public QEvent
 {
 public:
     QTimerEvent( int timerId )
         : QEvent(Timer), id(timerId) {}
     int timerId() const { return id; }
 protected:
     int id;
 };
 
 
 class QMouseEvent : public QEvent
 {
 public:
     QMouseEvent( Type type, const QPoint &pos, int button, int state );
 
     QMouseEvent( Type type, const QPoint &pos, const QPoint&globalPos,
                  int button, int state )
         : QEvent(type), p(pos), g(globalPos), b((ushort)button),s((ushort)state),accpt(TRUE) {};
 
     const QPoint &pos() const { return p; }
     const QPoint &globalPos() const { return g; }
     int x() const { return p.x(); }
     int y() const { return p.y(); }
     int globalX() const { return g.x(); }
     int globalY() const { return g.y(); }
     ButtonState button() const { return (ButtonState) b; }
     ButtonState state() const { return (ButtonState) s; }
     ButtonState stateAfter() const;
     bool isAccepted() const { return accpt; }
     void accept() { accpt = TRUE; }
     void ignore() { accpt = FALSE; }
 protected:
     QPoint p;
     QPoint g;
     ushort b;
     ushort s;
     uint accpt:1;
 };
 
 
 
 class QWheelEvent : public QEvent
 {
 public:
     QWheelEvent( const QPoint &pos, int delta, int state, Orientation orient = Vertical );
     QWheelEvent( const QPoint &pos, const QPoint& globalPos, int delta, int state, Orientation orient = Vertical )
         : QEvent(Wheel), p(pos), g(globalPos), d(delta), s((ushort)state),
           accpt(TRUE), o(orient) {}
     int delta() const { return d; }
     const QPoint &pos() const { return p; }
     const QPoint &globalPos() const { return g; }
     int x() const { return p.x(); }
     int y() const { return p.y(); }
     int globalX() const { return g.x(); }
     int globalY() const { return g.y(); }
     ButtonState state() const { return ButtonState(s); }
     Orientation orientation() const { return o; }
     bool isAccepted() const { return accpt; }
     void accept() { accpt = TRUE; }
     void ignore() { accpt = FALSE; }
 protected:
     QPoint p;
     QPoint g;
     int d;
     ushort s;
     bool accpt;
     Orientation o;
 };
 
 
 class QTabletEvent : public QEvent
 {
 public:
     enum TabletDevice { NoDevice = -1, Puck, Stylus, Eraser };
     QTabletEvent( const QPoint &pos, int device, int pressure, int xTilt,
                   int yTilt, const QPair<int,int> &uId )
         : QEvent( Tablet ), mPos( pos ), mDev( device ), mPress( pressure ),
           mXT( xTilt ), mYT( yTilt ), mType( uId.first ), mPhy( uId.second )
     {}
     QTabletEvent( const QPoint &pos, const QPoint &globalPos, int device,
                   int pressure, int xTilt, int yTilt, const QPair<int,int> &uId )
         : QEvent( Tablet ), mPos( pos ), mGPos( globalPos ), mDev( device ),
           mPress( pressure ), mXT( xTilt ), mYT( yTilt ), mType( uId.first ),
           mPhy( uId.second )
     {}
     int pressure() const { return mPress; }
     int xTilt() const { return mXT; }
     int yTilt() const { return mYT; }
     const QPoint &pos() const { return mPos; }
     const QPoint &globalPos() const { return mGPos; }
     int x() const { return mPos.x(); }
     int y() const { return mPos.y(); }
     int globalX() const { return mGPos.x(); }
     int globalY() const { return mGPos.y(); }
     TabletDevice device() const { return TabletDevice(mDev); }
     int isAccepted() const { return mbAcc; }
     void accept() { mbAcc = TRUE; }
     void ignore() { mbAcc = FALSE; }
     QPair<int,int> uniqueId() { return QPair<int,int>( mType, mPhy); }
 protected:
     QPoint mPos;
     QPoint mGPos;
     int mDev,
         mPress,
         mXT,
         mYT,
         mType,
         mPhy;
     bool mbAcc;
 
 };
 
 class QKeyEvent : public QEvent
 {
 public:
     QKeyEvent( Type type, int key, int ascii, int state,
                 const QString& text=QString::null, bool autorep=FALSE, ushort count=1 )
         : QEvent(type), txt(text), k((ushort)key), s((ushort)state),
             a((uchar)ascii), accpt(TRUE), autor(autorep), c(count) {}
     int key() const { return k; }
     int ascii() const { return a; }
     ButtonState state() const { return ButtonState(s); }
     ButtonState stateAfter() const;
     bool isAccepted() const { return accpt; }
     QString text() const { return txt; }
     bool isAutoRepeat() const { return autor; }
     int count() const { return int(c); }
     void accept() { accpt = TRUE; }
     void ignore() { accpt = FALSE; }
 
 protected:
     QString txt;
     ushort k, s;
     uchar a;
     uint accpt:1;
     uint autor:1;
     ushort c;
 };
 
 
 class QFocusEvent : public QEvent
 {
 public:
 
     QFocusEvent( Type type )
         : QEvent(type) {}
 
     bool gotFocus() const { return type() == FocusIn; }
     bool lostFocus() const { return type() == FocusOut; }
 
     enum Reason { Mouse, Tab, Backtab, ActiveWindow, Popup, Shortcut, Other };
     static Reason reason();
     static void setReason( Reason reason );
     static void resetReason();
 
 private:
     static Reason m_reason;
     static Reason prev_reason;
 };
 
 
 class QPaintEvent : public QEvent
 {
 public:
     QPaintEvent( const QRegion& paintRegion, bool erased = TRUE)
         : QEvent(Paint),
           rec(paintRegion.boundingRect()),
           reg(paintRegion),
           erase(erased){}
     QPaintEvent( const QRect &paintRect, bool erased = TRUE )
         : QEvent(Paint),
           rec(paintRect),
           reg(paintRect),
           erase(erased){}
     const QRect &rect() const { return rec; }
     const QRegion &region() const { return reg; }
     bool erased() const { return erase; }
 protected:
     friend class QApplication;
     friend class QBaseApplication;
     QRect rec;
     QRegion reg;
     bool erase;
 };
 
 
 class QMoveEvent : public QEvent
 {
 public:
     QMoveEvent( const QPoint &pos, const QPoint &oldPos )
         : QEvent(Move), p(pos), oldp(oldPos) {}
     const QPoint &pos() const { return p; }
     const QPoint &oldPos()const { return oldp;}
 protected:
     QPoint p, oldp;
     friend class QApplication;
     friend class QBaseApplication;
 };
 
 
 class QResizeEvent : public QEvent
 {
 public:
     QResizeEvent( const QSize &size, const QSize &oldSize )
         : QEvent(Resize), s(size), olds(oldSize) {}
     const QSize &size() const { return s; }
     const QSize &oldSize()const { return olds;}
 protected:
     QSize s, olds;
     friend class QApplication;
     friend class QBaseApplication;
 };
 
 
 class QCloseEvent : public QEvent
 {
 public:
     QCloseEvent()
         : QEvent(Close), accpt(FALSE) {}
     bool isAccepted() const { return accpt; }
     void accept() { accpt = TRUE; }
     void ignore() { accpt = FALSE; }
 protected:
     bool accpt;
 };
 
 
 class QShowEvent : public QEvent
 {
 public:
     QShowEvent()
         : QEvent(Show) {}
 };
 
 
 class QHideEvent : public QEvent
 {
 public:
     QHideEvent()
         : QEvent(Hide) {}
 };
 
 class QContextMenuEvent : public QEvent
 {
 public:
     enum Reason { Mouse, Keyboard, Other };
     QContextMenuEvent( Reason reason, const QPoint &pos, const QPoint &globalPos, int state )
         : QEvent( ContextMenu ), p( pos ), gp( globalPos ), accpt( FALSE ), consum(FALSE),
         reas( reason ), s((ushort)state) {}
     QContextMenuEvent( Reason reason, const QPoint &pos, int state );
 
     int x() const { return p.x(); }
     int y() const { return p.y(); }
     int globalX() const { return gp.x(); }
     int globalY() const { return gp.y(); }
 
     const QPoint& pos() const { return p; }
     const QPoint& globalPos() const { return gp; }
 
     ButtonState state() const { return (ButtonState) s; }
     bool isAccepted() const { return accpt; }
     bool isConsumed() const { return consum; }
     void consume() { consum = TRUE; }
     void accept() { accpt = TRUE; consum = TRUE; }
     void ignore() { accpt = FALSE; consum = FALSE; }
 
     Reason reason() const { return Reason( reas ); }
 
 protected:
     QPoint p;
     QPoint gp;
     bool accpt;
     bool consum;
     uint reas:8;
     ushort s;
 };
 
 
 class QIMEvent : public QEvent
 {
 public:
     QIMEvent( Type type, const QString &text, int cursorPosition )
         : QEvent(type), txt(text), cpos(cursorPosition), a(FALSE) {}
     const QString &text() const { return txt; }
     int cursorPos() const { return cpos; }
     bool isAccepted() const { return a; }
     void accept() { a = TRUE; }
     void ignore() { a = FALSE; }
 private:
     QString txt;
     int cpos;
     bool a;
 };
 # 447 "/opt/qt/3.0.4/include/qevent.h"
 class QDropEvent : public QEvent, public QMimeSource
 {
 public:
     QDropEvent( const QPoint& pos, Type typ=Drop )
         : QEvent(typ), p(pos),
           act(0), accpt(0), accptact(0), resv(0),
           d(0)
         {}
     const QPoint &pos() const { return p; }
     bool isAccepted() const { return accpt || accptact; }
     void accept(bool y=TRUE) { accpt = y; }
     void ignore() { accpt = FALSE; }
 
     bool isActionAccepted() const { return accptact; }
     void acceptAction(bool y=TRUE) { accptact = y; }
     enum Action { Copy, Link, Move, Private, UserAction=100 };
     void setAction( Action a ) { act = (uint)a; }
     Action action() const { return Action(act); }
 
     QWidget* source() const;
     const char* format( int n = 0 ) const;
     QByteArray encodedData( const char* ) const;
     bool provides( const char* ) const;
 
     QByteArray data(const char* f) const { return encodedData(f); }
 
     void setPoint( const QPoint& np ) { p = np; }
 
 protected:
     QPoint p;
     uint act:8;
     uint accpt:1;
     uint accptact:1;
     uint resv:5;
     void * d;
 };
 
 
 
 class QDragMoveEvent : public QDropEvent
 {
 public:
     QDragMoveEvent( const QPoint& pos, Type typ=DragMove )
         : QDropEvent(pos,typ),
           rect( pos, QSize( 1, 1 ) ) {}
     QRect answerRect() const { return rect; }
     void accept( bool y=TRUE ) { QDropEvent::accept(y); }
     void accept( const QRect & r) { accpt = TRUE; rect = r; }
     void ignore( const QRect & r) { accpt =FALSE; rect = r; }
     void ignore() { QDropEvent::ignore(); }
 
 protected:
     QRect rect;
 };
 
 
 class QDragEnterEvent : public QDragMoveEvent
 {
 public:
     QDragEnterEvent( const QPoint& pos ) :
         QDragMoveEvent(pos, DragEnter) { }
 };
 
 
 
 class QDragResponseEvent : public QEvent
 {
 public:
     QDragResponseEvent( bool accepted )
         : QEvent(DragResponse), a(accepted) {}
     bool dragAccepted() const { return a; }
 protected:
     bool a;
 };
 
 
 class QDragLeaveEvent : public QEvent
 {
 public:
     QDragLeaveEvent()
         : QEvent(DragLeave) {}
 };
 
 
 
 class QChildEvent : public QEvent
 {
 public:
     QChildEvent( Type type, QObject *child )
         : QEvent(type), c(child) {}
     QObject *child() const { return c; }
     bool inserted() const { return t == ChildInserted; }
     bool removed() const { return t == ChildRemoved; }
 protected:
     QObject *c;
 };
 
 
 class QCustomEvent : public QEvent
 {
 public:
     QCustomEvent( int type );
     QCustomEvent( Type type, void *data )
         : QEvent(type), d(data) {};
     void *data() const { return d; }
     void setData( void* data ) { d = data; }
 private:
     void *d;
 };
 # 46 "/opt/qt/3.0.4/include/qobject.h" 2
 
 
 
 
 
 
 class QMetaObject;
 class QVariant;
 class QMetaProperty;
 class QPostEventList;
 class QObjectPrivate;
 struct QUObject;
 
 class QObject: public Qt
 {
     public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj;
    
 
 public:
     QObject( QObject *parent=0, const char *name=0 );
     virtual ~QObject();
 # 75 "/opt/qt/3.0.4/include/qobject.h"
     virtual bool event( QEvent * );
     virtual bool eventFilter( QObject *, QEvent * );
 
     bool isA( const char * ) const;
     bool inherits( const char * ) const;
 
     const char *name() const;
     const char *name( const char * defaultName ) const;
 
     virtual void setName( const char *name );
     bool isWidgetType() const { return isWidget; }
     bool highPriority() const { return FALSE; }
 
     bool signalsBlocked() const { return blockSig; }
     void blockSignals( bool b );
 
     int startTimer( int interval );
     void killTimer( int id );
     void killTimers();
 
     QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE );
     const QObjectList *children() const { return childObjects; }
 
     static const QObjectList *objectTrees();
 
     QObjectList *queryList( const char *inheritsClass = 0,
                                   const char *objName = 0,
                                   bool regexpMatch = TRUE,
                                   bool recursiveSearch = TRUE ) const;
 
     virtual void insertChild( QObject * );
     virtual void removeChild( QObject * );
 
     void installEventFilter( const QObject * );
     void removeEventFilter( const QObject * );
 
     static bool connect( const QObject *sender, const char *signal,
                           const QObject *receiver, const char *member );
     bool connect( const QObject *sender, const char *signal,
                           const char *member ) const;
     static bool disconnect( const QObject *sender, const char *signal,
                              const QObject *receiver, const char *member );
     bool disconnect( const char *signal=0,
                              const QObject *receiver=0, const char *member=0 );
     bool disconnect( const QObject *receiver, const char *member=0 );
     static void connectInternal( const QObject *sender, int signal_index, const QObject *receiver,
                                   int membcode, int member_index );
 
     void dumpObjectTree();
     void dumpObjectInfo();
 
 
     virtual bool setProperty( const char *name, const QVariant& value );
     virtual QVariant property( const char *name ) const;
 
 
     static QString tr( const char *sourceText, const char * = 0);
 
     static QString trUtf8( const char *sourceText, const char * = 0);
 
 
 
 protected:
     void destroyed();
     void destroyed( QObject* obj );
 
 public:
     QObject *parent() const { return parentObj; }
 
 public :
     void deleteLater();
 
 private :
     void cleanupEventFilter( QObject* );
 
 protected:
     bool activate_filters( QEvent * );
     QConnectionList *receivers( const char* signal ) const;
     QConnectionList *receivers( int signal ) const;
     void activate_signal( int signal );
     void activate_signal( int signal, int );
     void activate_signal( int signal, double );
     void activate_signal( int signal, QString );
     void activate_signal_bool( int signal, bool );
     void activate_signal( QConnectionList *clist, QUObject *o );
 
     const QObject *sender();
 
     virtual void timerEvent( QTimerEvent * );
     virtual void childEvent( QChildEvent * );
     virtual void customEvent( QCustomEvent * );
 
     virtual void connectNotify( const char *signal );
     virtual void disconnectNotify( const char *signal );
     virtual bool checkConnectArgs( const char *signal, const QObject *receiver,
                                    const char *member );
     static QCString normalizeSignalSlot( const char *signalSlot );
 
 private:
     uint isSignal : 1;
     uint isWidget : 1;
     uint pendTimer : 1;
     uint blockSig : 1;
     uint wasDeleted : 1;
     uint isTree : 1;
 
     const char *objname;
     QObject *parentObj;
     QObjectList *childObjects;
     QSignalVec *connections;
     QObjectList *senderObjects;
     QObjectList *eventFilters;
     QPostEventList *postedEvents;
     QObjectPrivate* d;
 
     static QMetaObject* staticQtMetaObject();
 
     friend class QApplication;
     friend class QBaseApplication;
     friend class QWidget;
     friend class QSignal;
     friend class QSenderObject;
 
 private:
 
     QObject( const QObject & );
     QObject &operator=( const QObject & );
 
 };
 
 
 inline bool QObject::connect( const QObject *sender, const char *signal,
                               const char *member ) const
 {
     return connect( sender, signal, this, member );
 }
 
 
 inline bool QObject::disconnect( const char *signal,
                                  const QObject *receiver, const char *member )
 {
     return disconnect( this, signal, receiver, member );
 }
 
 
 inline bool QObject::disconnect( const QObject *receiver, const char *member )
 {
     return disconnect( this, 0, receiver, member );
 }
 
 
 class QSenderObject : public QObject
 {
 public:
     void setSender( QObject *s );
 };
 
 
 inline QString QObject::tr( const char *sourceText, const char * ) {
     return QString::fromLatin1( sourceText );
 }
 
 inline QString QObject::trUtf8( const char *sourceText, const char * ) {
     return QString::fromUtf8( sourceText );
 }
 # 29 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qcolor.h" 1
 # 45 "/opt/qt/3.0.4/include/qcolor.h"
 const QRgb RGB_MASK = 0x00ffffff;
 
  inline int qRed( QRgb rgb )
 { return (int)((rgb >> 16) & 0xff); }
 
  inline int qGreen( QRgb rgb )
 { return (int)((rgb >> 8) & 0xff); }
 
  inline int qBlue( QRgb rgb )
 { return (int)(rgb & 0xff); }
 
  inline int qAlpha( QRgb rgb )
 { return (int)((rgb >> 24) & 0xff); }
 
  inline QRgb qRgb( int r, int g, int b )
 { return (0xff << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }
 
  inline QRgb qRgba( int r, int g, int b, int a )
 { return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }
 
  inline int qGray( int r, int g, int b )
 { return (r*11+g*16+b*5)/32; }
 
  inline int qGray( QRgb rgb )
 { return qGray( qRed(rgb), qGreen(rgb), qBlue(rgb) ); }
 
 
 class QColor
 {
 public:
     enum Spec { Rgb, Hsv };
 
     QColor();
     QColor( int r, int g, int b );
     QColor( int x, int y, int z, Spec );
     QColor( QRgb rgb, uint pixel=0xffffffff);
     QColor( const QString& name );
     QColor( const char *name );
     QColor( const QColor & );
     QColor &operator=( const QColor & );
 
     bool isValid() const;
     bool isDirty() const;
 
     QString name() const;
 
     void setNamedColor( const QString& name );
 
     void rgb( int *r, int *g, int *b ) const;
     QRgb rgb() const;
     void setRgb( int r, int g, int b );
     void setRgb( QRgb rgb );
 
     int red() const;
     int green() const;
     int blue() const;
 
     void hsv( int *h, int *s, int *v ) const;
     void getHsv( int &h, int &s, int &v ) const { hsv( &h, &s, &v ); }
     void setHsv( int h, int s, int v );
 
     QColor light( int f = 150 ) const;
     QColor dark( int f = 200 ) const;
 
     bool operator==( const QColor &c ) const;
     bool operator!=( const QColor &c ) const;
 
     uint alloc();
     uint pixel() const;
 
     static int maxColors();
     static int numBitPlanes();
 
     static int enterAllocContext();
     static void leaveAllocContext();
     static int currentAllocContext();
     static void destroyAllocContext( int );
 # 131 "/opt/qt/3.0.4/include/qcolor.h"
     static void initialize();
     static void cleanup();
 
     enum { Dirt = 0x44495254, Invalid = 0x49000000 };
 
 private:
     void setSystemNamedColor( const QString& name );
     void setPixel( uint pixel );
     static void initGlobalColors();
     static uint argbToPix32(QRgb);
     static QColor* globalColors();
     static bool color_init;
     static bool globals_init;
 
 
 
     static enum ColorModel { d8, d32 } colormodel;
     union {
         QRgb argb;
         struct {
             QRgb argb;
             uchar pix;
             uchar invalid;
             uchar dirty;
             uchar direct;
         } d8;
         struct D32 {
             QRgb argb;
             uint pix;
             bool invalid() const { return argb == QColor::Invalid && pix == QColor::Dirt; }
             bool probablyDirty() const { return pix == QColor::Dirt; }
         } d32;
     } d;
 };
 
 
 inline QColor::QColor()
 { d.d32.argb = Invalid; d.d32.pix = Dirt; }
 
 inline QColor::QColor( int r, int g, int b )
 { setRgb( r, g, b ); }
 
 inline QRgb QColor::rgb() const
 { return d.argb; }
 
 inline int QColor::red() const
 { return qRed(d.argb); }
 
 inline int QColor::green() const
 { return qGreen(d.argb); }
 
 inline int QColor::blue() const
 { return qBlue(d.argb); }
 
 inline bool QColor::isValid() const
 {
     if ( colormodel == d8 )
         return !d.d8.invalid;
     else
         return !d.d32.invalid();
 }
 
 inline bool QColor::operator==( const QColor &c ) const
 {
     return d.argb == c.d.argb && isValid() == c.isValid();
 }
 
 inline bool QColor::operator!=( const QColor &c ) const
 {
     return !operator==(c);
 }
 
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QColor & );
  QDataStream &operator>>( QDataStream &, QColor & );
 # 30 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qfont.h" 1
 # 47 "/opt/qt/3.0.4/include/qfont.h"
 class QFontPrivate;
 class QStringList;
 
 class QFont
 {
 public:
     enum StyleHint {
         Helvetica, SansSerif = Helvetica,
         Times, Serif = Times,
         Courier, TypeWriter = Courier,
         OldEnglish, Decorative = OldEnglish,
         System,
         AnyStyle
     };
 
     enum StyleStrategy {
         PreferDefault = 0x0001,
         PreferBitmap = 0x0002,
         PreferDevice = 0x0004,
         PreferOutline = 0x0008,
         ForceOutline = 0x0010,
         PreferMatch = 0x0020,
         PreferQuality = 0x0040,
         PreferAntialias = 0x0080,
         NoAntialias = 0x0100
     };
 
     enum Weight {
         Light = 25,
         Normal = 50,
         DemiBold = 63,
         Bold = 75,
         Black = 87
     };
 
 
     QFont();
 
     QFont( const QString &family, int pointSize = 12, int weight = Normal,
            bool italic = FALSE );
 
     QFont( const QFont & );
 
     ~QFont();
 
     QString family() const;
     void setFamily( const QString &);
 
     int pointSize() const;
     float pointSizeFloat() const;
     void setPointSize( int );
     void setPointSizeFloat( float );
 
     int pixelSize() const;
     void setPixelSize( int );
     void setPixelSizeFloat( float );
 
     int weight() const;
     void setWeight( int );
 
     bool bold() const;
     void setBold( bool );
 
     bool italic() const;
     void setItalic( bool );
 
     bool underline() const;
     void setUnderline( bool );
 
     bool strikeOut() const;
     void setStrikeOut( bool );
 
     bool fixedPitch() const;
     void setFixedPitch( bool );
 
     StyleHint styleHint() const;
     StyleStrategy styleStrategy() const;
     void setStyleHint( StyleHint, StyleStrategy = PreferDefault );
     void setStyleStrategy( StyleStrategy s );
 
 
     bool rawMode() const;
     void setRawMode( bool );
 
 
     bool exactMatch() const;
 
     QFont &operator=( const QFont & );
     bool operator==( const QFont & ) const;
     bool operator!=( const QFont & ) const;
     bool isCopyOf( const QFont & ) const;
 
 
 
 
 
     Qt::HANDLE handle() const;
 
 
 
 
     void setRawName( const QString & );
     QString rawName() const;
 
     QString key() const;
 
 
     QString toString() const;
     bool fromString(const QString &);
 
     static QString substitute(const QString &);
     static QStringList substitutes(const QString &);
     static QStringList substitutions();
     static void insertSubstitution(const QString&, const QString &);
     static void insertSubstitutions(const QString&, const QStringList &);
     static void removeSubstitution(const QString &);
 
     static void initialize();
     static void cleanup();
     static void cacheStatistics();
 
 
 
 
 
 
 
     enum Script {
 
         Latin,
         Greek,
         Cyrillic,
         Armenian,
         Georgian,
         Runic,
         Ogham,
         SpacingModifiers,
         CombiningMarks,
 
 
         Hebrew,
         Arabic,
         Syriac,
         Thaana,
 
 
         Devanagari,
         Bengali,
         Gurmukhi,
         Gujarati,
         Oriya,
         Tamil,
         Telugu,
         Kannada,
         Malayalam,
         Sinhala,
         Thai,
         Lao,
         Tibetan,
         Myanmar,
         Khmer,
 
 
         Han,
         Hiragana,
         Katakana,
         Hangul,
         Bopomofo,
         Yi,
 
 
         Ethiopic,
         Cherokee,
         CanadianAboriginal,
         Mongolian,
 
 
         CurrencySymbols,
         LetterlikeSymbols,
         NumberForms,
         MathematicalOperators,
         TechnicalSymbols,
         GeometricSymbols,
         MiscellaneousSymbols,
         EnclosedAndSquare,
         Braille,
 
         Unicode,
 
 
         NScripts,
         UnknownScript = NScripts,
 
         NoScript,
 
 
 
 
 
 
         HanX11,
 
         LatinBasic = Latin,
         LatinExtendedA_2 = HanX11 + 1,
         LatinExtendedA_3,
         LatinExtendedA_4,
         LatinExtendedA_14,
         LatinExtendedA_15,
 
         LastPrivateScript
     };
 
     QString defaultFamily() const;
     QString lastResortFamily() const;
     QString lastResortFont() const;
 # 271 "/opt/qt/3.0.4/include/qfont.h"
 protected:
 
     bool dirty() const;
     int deciPointSize() const;
 
 
 private:
     QFont( QFontPrivate *, bool deep = TRUE );
     QFont( QFontPrivate *, QPaintDevice *pd );
 
     void detach();
 # 293 "/opt/qt/3.0.4/include/qfont.h"
     friend class QFontMetrics;
     friend class QFontInfo;
     friend class QPainter;
     friend class QPSPrinterFont;
 
 
     friend QDataStream &operator<<( QDataStream &, const QFont & );
     friend QDataStream &operator>>( QDataStream &, QFont & );
 
 
     QFontPrivate *d;
 };
 
 
 inline bool QFont::bold() const
 { return weight() > Normal; }
 
 
 inline void QFont::setBold( bool enable )
 { setWeight( enable ? Bold : Normal ); }
 # 322 "/opt/qt/3.0.4/include/qfont.h"
  QDataStream &operator<<( QDataStream &, const QFont & );
  QDataStream &operator>>( QDataStream &, QFont & );
 # 31 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qdatetime.h" 1
 # 51 "/opt/qt/3.0.4/include/qdatetime.h"
 class QDate
 {
 public:
     QDate() { jd=0; }
     QDate( int y, int m, int d );
 
     bool isNull() const { return jd == 0; }
     bool isValid() const;
 
     int year() const;
     int month() const;
     int day() const;
     int dayOfWeek() const;
     int dayOfYear() const;
     int daysInMonth() const;
     int daysInYear() const;
 
 
 
 
 
 
     static QString shortMonthName( int month );
     static QString shortDayName( int weekday );
     static QString longMonthName( int month );
     static QString longDayName( int weekday );
 
 
     QString toString( Qt::DateFormat f = Qt::TextDate ) const;
 
     QString toString( const QString& format ) const;
     bool setYMD( int y, int m, int d );
 
     QDate addDays( int days ) const;
     QDate addMonths( int months ) const;
     QDate addYears( int years ) const;
     int daysTo( const QDate & ) const;
 
     bool operator==( const QDate &d ) const { return jd == d.jd; }
     bool operator!=( const QDate &d ) const { return jd != d.jd; }
     bool operator<( const QDate &d ) const { return jd < d.jd; }
     bool operator<=( const QDate &d ) const { return jd <= d.jd; }
     bool operator>( const QDate &d ) const { return jd > d.jd; }
     bool operator>=( const QDate &d ) const { return jd >= d.jd; }
 
     static QDate currentDate();
     static QDate fromString( const QString& s, Qt::DateFormat f = Qt::TextDate );
 
     static bool isValid( int y, int m, int d );
     static bool leapYear( int year );
 
     static uint gregorianToJulian( int y, int m, int d );
     static void julianToGregorian( uint jd, int &y, int &m, int &d );
 private:
     uint jd;
     friend class QDateTime;
 
     friend QDataStream &operator<<( QDataStream &, const QDate & );
     friend QDataStream &operator>>( QDataStream &, QDate & );
 
 };
 
 
 
 
 
 
 class QTime
 {
 public:
     QTime() { ds=0; }
     QTime( int h, int m, int s=0, int ms=0 );
 
     bool isNull() const { return ds == 0; }
     bool isValid() const;
 
     int hour() const;
     int minute() const;
     int second() const;
     int msec() const;
 
 
     QString toString( Qt::DateFormat f = Qt::TextDate ) const;
 
     QString toString( const QString& format ) const;
 
     bool setHMS( int h, int m, int s, int ms=0 );
 
     QTime addSecs( int secs ) const;
     int secsTo( const QTime & ) const;
     QTime addMSecs( int ms ) const;
     int msecsTo( const QTime & ) const;
 
     bool operator==( const QTime &d ) const { return ds == d.ds; }
     bool operator!=( const QTime &d ) const { return ds != d.ds; }
     bool operator<( const QTime &d ) const { return ds < d.ds; }
     bool operator<=( const QTime &d ) const { return ds <= d.ds; }
     bool operator>( const QTime &d ) const { return ds > d.ds; }
     bool operator>=( const QTime &d ) const { return ds >= d.ds; }
 
     static QTime currentTime();
     static QTime fromString( const QString& s, Qt::DateFormat f = Qt::TextDate );
     static bool isValid( int h, int m, int s, int ms=0 );
 
     void start();
     int restart();
     int elapsed() const;
 
 private:
     static bool currentTime( QTime * );
 
     uint ds;
     friend class QDateTime;
 
     friend QDataStream &operator<<( QDataStream &, const QTime & );
     friend QDataStream &operator>>( QDataStream &, QTime & );
 
 };
 
 
 
 
 
 
 class QDateTime
 {
 public:
     QDateTime() {}
     QDateTime( const QDate & );
     QDateTime( const QDate &, const QTime & );
 
     bool isNull() const { return d.isNull() && t.isNull(); }
     bool isValid() const { return d.isValid() && t.isValid(); }
 
     QDate date() const { return d; }
     QTime time() const { return t; }
     void setDate( const QDate &date ) { d=date; }
     void setTime( const QTime &time ) { t=time; }
     void setTime_t( uint secsSince1Jan1970UTC );
 
 
     QString toString( Qt::DateFormat f = Qt::TextDate ) const;
 
     QString toString( const QString& format ) const;
 
     QDateTime addDays( int days ) const;
     QDateTime addMonths( int months ) const;
     QDateTime addYears( int years ) const;
     QDateTime addSecs( int secs ) const;
     int daysTo( const QDateTime & ) const;
     int secsTo( const QDateTime & ) const;
 
     bool operator==( const QDateTime &dt ) const;
     bool operator!=( const QDateTime &dt ) const;
     bool operator<( const QDateTime &dt ) const;
     bool operator<=( const QDateTime &dt ) const;
     bool operator>( const QDateTime &dt ) const;
     bool operator>=( const QDateTime &dt ) const;
 
     static QDateTime currentDateTime();
     static QDateTime fromString( const QString& s, Qt::DateFormat f = Qt::TextDate );
 
 private:
     QDate d;
     QTime t;
 
     friend QDataStream &operator<<( QDataStream &, const QDateTime &);
     friend QDataStream &operator>>( QDataStream &, QDateTime & );
 
 };
 
 
 
 
 
 
 
  QDataStream &operator<<( QDataStream &, const QDate & );
  QDataStream &operator>>( QDataStream &, QDate & );
  QDataStream &operator<<( QDataStream &, const QTime & );
  QDataStream &operator>>( QDataStream &, QTime & );
  QDataStream &operator<<( QDataStream &, const QDateTime & );
  QDataStream &operator>>( QDataStream &, QDateTime & );
 # 32 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qstrlist.h" 1
 # 43 "/opt/qt/3.0.4/include/qstrlist.h"
 # 1 "/opt/qt/3.0.4/include/qptrlist.h" 1
 # 42 "/opt/qt/3.0.4/include/qptrlist.h"
 # 1 "/opt/qt/3.0.4/include/qglist.h" 1
 # 42 "/opt/qt/3.0.4/include/qglist.h"
 # 1 "/opt/qt/3.0.4/include/qptrcollection.h" 1
 # 44 "/opt/qt/3.0.4/include/qptrcollection.h"
 class QGVector;
 class QGList;
 class QGDict;
 
 
 class QPtrCollection
 {
 public:
     bool autoDelete() const { return del_item; }
     void setAutoDelete( bool enable ) { del_item = enable; }
 
     virtual uint count() const = 0;
     virtual void clear() = 0;
 
     typedef void *Item;
 
 protected:
     QPtrCollection() { del_item = FALSE; }
     QPtrCollection(const QPtrCollection &) { del_item = FALSE; }
     virtual ~QPtrCollection() {}
 
     bool del_item;
 
     virtual Item newItem( Item );
     virtual void deleteItem( Item ) = 0;
 };
 # 43 "/opt/qt/3.0.4/include/qglist.h" 2
 
 
 class QLNode
 {
 friend class QGList;
 friend class QGListIterator;
 public:
     QPtrCollection::Item getData() { return data; }
 private:
     QPtrCollection::Item data;
     QLNode *prev;
     QLNode *next;
     QLNode( QPtrCollection::Item d ) { data = d; }
 };
 
 class QGListIteratorList;
 
 class QGList : public QPtrCollection
 {
 friend class QGListIterator;
 friend class QGListIteratorList;
 friend class QGVector;
 public:
     uint count() const;
 
 
     QDataStream &read( QDataStream & );
     QDataStream &write( QDataStream & ) const;
 
 protected:
     QGList();
     QGList( const QGList & );
     virtual ~QGList();
 
     QGList &operator=( const QGList & );
     bool operator==( const QGList& ) const;
 
     void inSort( QPtrCollection::Item );
     void append( QPtrCollection::Item );
     bool insertAt( uint index, QPtrCollection::Item );
     void relinkNode( QLNode * );
     bool removeNode( QLNode * );
     bool remove( QPtrCollection::Item = 0 );
     bool removeRef( QPtrCollection::Item = 0 );
     bool removeFirst();
     bool removeLast();
     bool removeAt( uint index );
     QPtrCollection::Item takeNode( QLNode * );
     QPtrCollection::Item take();
     QPtrCollection::Item takeAt( uint index );
     QPtrCollection::Item takeFirst();
     QPtrCollection::Item takeLast();
 
     void sort();
     void clear();
 
     int findRef( QPtrCollection::Item, bool = TRUE );
     int find( QPtrCollection::Item, bool = TRUE );
 
     uint containsRef( QPtrCollection::Item ) const;
     uint contains( QPtrCollection::Item ) const;
 
     QPtrCollection::Item at( uint index );
     int at() const;
     QLNode *currentNode() const;
 
     QPtrCollection::Item get() const;
 
     QPtrCollection::Item cfirst() const;
     QPtrCollection::Item clast() const;
     QPtrCollection::Item first();
     QPtrCollection::Item last();
     QPtrCollection::Item next();
     QPtrCollection::Item prev();
 
     void toVector( QGVector * ) const;
 
     virtual int compareItems( QPtrCollection::Item, QPtrCollection::Item );
 
 
     virtual QDataStream &read( QDataStream &, QPtrCollection::Item & );
     virtual QDataStream &write( QDataStream &, QPtrCollection::Item ) const;
 
 private:
     void prepend( QPtrCollection::Item );
 
     void heapSortPushDown( QPtrCollection::Item* heap, int first, int last );
 
     QLNode *firstNode;
     QLNode *lastNode;
     QLNode *curNode;
     int curIndex;
     uint numNodes;
     QGListIteratorList *iterators;
 
     QLNode *locate( uint );
     QLNode *unlink();
 };
 
 
 inline uint QGList::count() const
 {
     return numNodes;
 }
 
 inline bool QGList::removeFirst()
 {
     first();
     return remove();
 }
 
 inline bool QGList::removeLast()
 {
     last();
     return remove();
 }
 
 inline int QGList::at() const
 {
     return curIndex;
 }
 
 inline QPtrCollection::Item QGList::at( uint index )
 {
     QLNode *n = locate( index );
     return n ? n->data : 0;
 }
 
 inline QLNode *QGList::currentNode() const
 {
     return curNode;
 }
 
 inline QPtrCollection::Item QGList::get() const
 {
     return curNode ? curNode->data : 0;
 }
 
 inline QPtrCollection::Item QGList::cfirst() const
 {
     return firstNode ? firstNode->data : 0;
 }
 
 inline QPtrCollection::Item QGList::clast() const
 {
     return lastNode ? lastNode->data : 0;
 }
 
 
 
 
 
 
 
  QDataStream &operator>>( QDataStream &, QGList & );
  QDataStream &operator<<( QDataStream &, const QGList & );
 
 
 
 
 
 
 class QGListIterator
 {
 friend class QGList;
 friend class QGListIteratorList;
 protected:
     QGListIterator( const QGList & );
     QGListIterator( const QGListIterator & );
     QGListIterator &operator=( const QGListIterator & );
    ~QGListIterator();
 
     bool atFirst() const;
     bool atLast() const;
     QPtrCollection::Item toFirst();
     QPtrCollection::Item toLast();
 
     QPtrCollection::Item get() const;
     QPtrCollection::Item operator()();
     QPtrCollection::Item operator++();
     QPtrCollection::Item operator+=(uint);
     QPtrCollection::Item operator--();
     QPtrCollection::Item operator-=(uint);
 
 protected:
     QGList *list;
 
 private:
     QLNode *curNode;
 };
 
 
 inline bool QGListIterator::atFirst() const
 {
     return curNode == list->firstNode;
 }
 
 inline bool QGListIterator::atLast() const
 {
     return curNode == list->lastNode;
 }
 
 inline QPtrCollection::Item QGListIterator::get() const
 {
     return curNode ? curNode->data : 0;
 }
 # 43 "/opt/qt/3.0.4/include/qptrlist.h" 2
 
 
 
 template<class type>
 class QPtrList
 
 
 
         : public QGList
 
 {
 public:
     QPtrList() {}
     QPtrList( const QPtrList<type> &l ) : QGList(l) {}
     ~QPtrList() { clear(); }
     QPtrList<type> &operator=(const QPtrList<type> &l)
                         { return (QPtrList<type>&)QGList::operator=(l); }
     bool operator==( const QPtrList<type> &list ) const
     { return QGList::operator==( list ); }
     uint count() const { return QGList::count(); }
     bool isEmpty() const { return QGList::count() == 0; }
     bool insert( uint i, const type *d){ return QGList::insertAt(i,(QPtrCollection::Item)d); }
     void inSort( const type *d ) { QGList::inSort((QPtrCollection::Item)d); }
     void prepend( const type *d ) { QGList::insertAt(0,(QPtrCollection::Item)d); }
     void append( const type *d ) { QGList::append((QPtrCollection::Item)d); }
     bool remove( uint i ) { return QGList::removeAt(i); }
     bool remove() { return QGList::remove((QPtrCollection::Item)0); }
     bool remove( const type *d ) { return QGList::remove((QPtrCollection::Item)d); }
     bool removeRef( const type *d ) { return QGList::removeRef((QPtrCollection::Item)d); }
     void removeNode( QLNode *n ) { QGList::removeNode(n); }
     bool removeFirst() { return QGList::removeFirst(); }
     bool removeLast() { return QGList::removeLast(); }
     type *take( uint i ) { return (type *)QGList::takeAt(i); }
     type *take() { return (type *)QGList::take(); }
     type *takeNode( QLNode *n ) { return (type *)QGList::takeNode(n); }
     void clear() { QGList::clear(); }
     void sort() { QGList::sort(); }
     int find( const type *d ) { return QGList::find((QPtrCollection::Item)d); }
     int findNext( const type *d ) { return QGList::find((QPtrCollection::Item)d,FALSE); }
     int findRef( const type *d ) { return QGList::findRef((QPtrCollection::Item)d); }
     int findNextRef( const type *d ){ return QGList::findRef((QPtrCollection::Item)d,FALSE);}
     uint contains( const type *d ) const { return QGList::contains((QPtrCollection::Item)d); }
     uint containsRef( const type *d ) const
                                         { return QGList::containsRef((QPtrCollection::Item)d); }
     type *at( uint i ) { return (type *)QGList::at(i); }
     int at() const { return QGList::at(); }
     type *current() const { return (type *)QGList::get(); }
     QLNode *currentNode() const { return QGList::currentNode(); }
     type *getFirst() const { return (type *)QGList::cfirst(); }
     type *getLast() const { return (type *)QGList::clast(); }
     type *first() { return (type *)QGList::first(); }
     type *last() { return (type *)QGList::last(); }
     type *next() { return (type *)QGList::next(); }
     type *prev() { return (type *)QGList::prev(); }
     void toVector( QGVector *vec )const{ QGList::toVector(vec); }
 # 106 "/opt/qt/3.0.4/include/qptrlist.h"
 private:
     void deleteItem( Item d );
 };
 
 
 template<> inline void QPtrList<void>::deleteItem( QPtrCollection::Item )
 {
 }
 
 
 template<class type> inline void QPtrList<type>::deleteItem( QPtrCollection::Item d )
 {
     if ( del_item ) delete (type *)d;
 }
 
 template<class type>
 class QPtrListIterator
 : public QGListIterator
 {
 public:
     QPtrListIterator(const QPtrList<type> &l) :QGListIterator((QGList &)l) {}
    ~QPtrListIterator() {}
     uint count() const { return list->count(); }
     bool isEmpty() const { return list->count() == 0; }
     bool atFirst() const { return QGListIterator::atFirst(); }
     bool atLast() const { return QGListIterator::atLast(); }
     type *toFirst() { return (type *)QGListIterator::toFirst(); }
     type *toLast() { return (type *)QGListIterator::toLast(); }
     operator type *() const { return (type *)QGListIterator::get(); }
     type *operator*() { return (type *)QGListIterator::get(); }
 
 
 
 
 
 
 
     type *current() const { return (type *)QGListIterator::get(); }
     type *operator()() { return (type *)QGListIterator::operator()();}
     type *operator++() { return (type *)QGListIterator::operator++(); }
     type *operator+=(uint j) { return (type *)QGListIterator::operator+=(j);}
     type *operator--() { return (type *)QGListIterator::operator--(); }
     type *operator-=(uint j) { return (type *)QGListIterator::operator-=(j);}
     QPtrListIterator<type>& operator=(const QPtrListIterator<type>&it)
                               { QGListIterator::operator=(it); return *this; }
 };
 # 44 "/opt/qt/3.0.4/include/qstrlist.h" 2
 # 58 "/opt/qt/3.0.4/include/qstrlist.h"
 typedef QPtrListIterator<char> QStrListIterator;
 
 
 class QStrList : public QPtrList<char>
 {
 public:
     QStrList( bool deepCopies=TRUE ) { dc = deepCopies; del_item = deepCopies; }
     QStrList( const QStrList & );
     ~QStrList() { clear(); }
     QStrList& operator=( const QStrList & );
 
 private:
     QPtrCollection::Item newItem( QPtrCollection::Item d ) { return dc ? qstrdup( (const char*)d ) : d; }
     void deleteItem( QPtrCollection::Item d ) { if ( del_item ) delete[] (char*)d; }
     int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 ) { return qstrcmp((const char*)s1,
                                                          (const char*)s2); }
 
     QDataStream &read( QDataStream &s, QPtrCollection::Item &d )
                                 { s >> (char *&)d; return s; }
     QDataStream &write( QDataStream &s, QPtrCollection::Item d ) const
                                 { return s << (const char *)d; }
 
     bool dc;
 };
 
 
 class QStrIList : public QStrList
 {
 public:
     QStrIList( bool deepCopies=TRUE ) : QStrList( deepCopies ) {}
     ~QStrIList() { clear(); }
 private:
     int compareItems( QPtrCollection::Item s1, QPtrCollection::Item s2 )
                                 { return qstricmp((const char*)s1,
                                                     (const char*)s2); }
 };
 
 
 inline QStrList & QStrList::operator=( const QStrList &strList )
 {
     clear();
     dc = strList.dc;
     del_item = dc;
     QPtrList<char>::operator=( strList );
     return *this;
 }
 
 inline QStrList::QStrList( const QStrList &strList )
     : QPtrList<char>( strList )
 {
     dc = FALSE;
     operator=( strList );
 }
 # 33 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qstringlist.h" 1
 # 49 "/opt/qt/3.0.4/include/qstringlist.h"
 class QRegExp;
 
 class QStringList : public QValueList<QString>
 {
 public:
     QStringList() { }
     QStringList( const QStringList& l ) : QValueList<QString>(l) { }
     QStringList( const QValueList<QString>& l ) : QValueList<QString>(l) { }
     QStringList( const QString& i ) { append(i); }
 
     QStringList( const char* i ) { append(i); }
 
 
     static QStringList fromStrList(const QStrList&);
 
     void sort();
 
     static QStringList split( const QString &sep, const QString &str, bool allowEmptyEntries = FALSE );
     static QStringList split( const QChar &sep, const QString &str, bool allowEmptyEntries = FALSE );
     static QStringList split( const QRegExp &sep, const QString &str, bool allowEmptyEntries = FALSE );
     QString join( const QString &sep ) const;
 
     QStringList grep( const QString &str, bool cs = TRUE ) const;
     QStringList grep( const QRegExp &expr ) const;
 };
 
 
 class QDataStream;
 extern QDataStream &operator>>( QDataStream &, QStringList& );
 extern QDataStream &operator<<( QDataStream &, const QStringList& );
 # 34 "kconfigbase.h" 2
 # 1 "/opt/qt/3.0.4/include/qvariant.h" 1
 # 46 "/opt/qt/3.0.4/include/qvariant.h"
 class QString;
 class QCString;
 class QFont;
 class QPixmap;
 class QBrush;
 class QRect;
 class QPoint;
 class QImage;
 class QSize;
 class QColor;
 class QPalette;
 class QColorGroup;
 class QIconSet;
 class QDataStream;
 class QPointArray;
 class QRegion;
 class QBitmap;
 class QCursor;
 class QStringList;
 class QSizePolicy;
 class QDate;
 class QTime;
 class QDateTime;
 class QBitArray;
 class QKeySequence;
 
 class QVariant;
 
 template <class T> class QValueList;
 template <class T> class QValueListConstIterator;
 template <class T> class QValueListNode;
 template <class Key, class T> class QMap;
 template <class Key, class T> class QMapConstIterator;
 
 
 class QVariant
 {
 public:
     enum Type {
         Invalid,
         Map,
         List,
         String,
         StringList,
         Font,
         Pixmap,
         Brush,
         Rect,
         Size,
         Color,
         Palette,
         ColorGroup,
         IconSet,
         Point,
         Image,
         Int,
         UInt,
         Bool,
         Double,
         CString,
         PointArray,
         Region,
         Bitmap,
         Cursor,
         SizePolicy,
         Date,
         Time,
         DateTime,
         ByteArray,
         BitArray,
         KeySequence
     };
 
     QVariant();
     ~QVariant();
     QVariant( const QVariant& );
 
     QVariant( QDataStream& s );
 
     QVariant( const QString& );
     QVariant( const QCString& );
     QVariant( const char* );
 
     QVariant( const QStringList& );
 
     QVariant( const QFont& );
     QVariant( const QPixmap& );
     QVariant( const QImage& );
     QVariant( const QBrush& );
     QVariant( const QPoint& );
     QVariant( const QRect& );
     QVariant( const QSize& );
     QVariant( const QColor& );
     QVariant( const QPalette& );
     QVariant( const QColorGroup& );
     QVariant( const QIconSet& );
     QVariant( const QPointArray& );
     QVariant( const QRegion& );
     QVariant( const QBitmap& );
     QVariant( const QCursor& );
     QVariant( const QDate& );
     QVariant( const QTime& );
     QVariant( const QDateTime& );
     QVariant( const QByteArray& );
     QVariant( const QBitArray& );
     QVariant( const QKeySequence& );
 
     QVariant( const QValueList<QVariant>& );
     QVariant( const QMap<QString,QVariant>& );
 
     QVariant( int );
     QVariant( uint );
 
     QVariant( bool, int );
     QVariant( double );
     QVariant( QSizePolicy );
 
     QVariant& operator= ( const QVariant& );
     bool operator==( const QVariant& ) const;
     bool operator!=( const QVariant& ) const;
 
     Type type() const;
     const char* typeName() const;
 
     bool canCast( Type ) const;
     bool cast( Type );
 
     bool isValid() const;
 
     void clear();
 
     const QString toString() const;
     const QCString toCString() const;
 
     const QStringList toStringList() const;
 
     const QFont toFont() const;
     const QPixmap toPixmap() const;
     const QImage toImage() const;
     const QBrush toBrush() const;
     const QPoint toPoint() const;
     const QRect toRect() const;
     const QSize toSize() const;
     const QColor toColor() const;
     const QPalette toPalette() const;
     const QColorGroup toColorGroup() const;
     const QIconSet toIconSet() const;
     const QPointArray toPointArray() const;
     const QBitmap toBitmap() const;
     const QRegion toRegion() const;
     const QCursor toCursor() const;
     const QDate toDate() const;
     const QTime toTime() const;
     const QDateTime toDateTime() const;
     const QByteArray toByteArray() const;
     const QBitArray toBitArray() const;
     const QKeySequence toKeySequence() const;
     int toInt( bool * ok=0 ) const;
     uint toUInt( bool * ok=0 ) const;
     bool toBool() const;
     double toDouble( bool * ok=0 ) const;
 
     const QValueList<QVariant> toList() const;
     const QMap<QString,QVariant> toMap() const;
 
     QSizePolicy toSizePolicy() const;
 
 
     QValueListConstIterator<QString> stringListBegin() const;
     QValueListConstIterator<QString> stringListEnd() const;
     QValueListConstIterator<QVariant> listBegin() const;
     QValueListConstIterator<QVariant> listEnd() const;
     QMapConstIterator<QString,QVariant> mapBegin() const;
     QMapConstIterator<QString,QVariant> mapEnd() const;
     QMapConstIterator<QString,QVariant> mapFind( const QString& ) const;
 
     QString& asString();
     QCString& asCString();
 
     QStringList& asStringList();
 
     QFont& asFont();
     QPixmap& asPixmap();
     QImage& asImage();
     QBrush& asBrush();
     QPoint& asPoint();
     QRect& asRect();
     QSize& asSize();
     QColor& asColor();
     QPalette& asPalette();
     QColorGroup& asColorGroup();
     QIconSet& asIconSet();
     QPointArray& asPointArray();
     QBitmap& asBitmap();
     QRegion& asRegion();
     QCursor& asCursor();
     QDate& asDate();
     QTime& asTime();
     QDateTime& asDateTime();
     QByteArray& asByteArray();
     QBitArray& asBitArray();
 
     QKeySequence& asKeySequence();
 
     int& asInt();
     uint& asUInt();
     bool& asBool();
     double& asDouble();
 
     QValueList<QVariant>& asList();
     QMap<QString,QVariant>& asMap();
 
     QSizePolicy& asSizePolicy();
 
 
     void load( QDataStream& );
     void save( QDataStream& ) const;
 
     static const char* typeToName( Type typ );
     static Type nameToType( const char* name );
 
 private:
     void detach();
 
     class Private : public QShared
     {
     public:
         Private();
         Private( Private* );
         ~Private();
 
         void clear();
 
         Type typ;
         union
         {
             uint u;
             int i;
             bool b;
             double d;
             void *ptr;
         } value;
     };
 
     Private* d;
 };
 # 300 "/opt/qt/3.0.4/include/qvariant.h"
 inline QVariant::Type QVariant::type() const
 {
     return d->typ;
 }
 
 inline bool QVariant::isValid() const
 {
     return (d->typ != Invalid);
 }
 
 
 inline QValueListConstIterator<QString> QVariant::stringListBegin() const
 {
     if ( d->typ != StringList )
         return QValueListConstIterator<QString>();
     return ((const QStringList*)d->value.ptr)->begin();
 }
 
 inline QValueListConstIterator<QString> QVariant::stringListEnd() const
 {
     if ( d->typ != StringList )
         return QValueListConstIterator<QString>();
     return ((const QStringList*)d->value.ptr)->end();
 }
 
 inline QValueListConstIterator<QVariant> QVariant::listBegin() const
 {
     if ( d->typ != List )
         return QValueListConstIterator<QVariant>();
     return ((const QValueList<QVariant>*)d->value.ptr)->begin();
 }
 
 inline QValueListConstIterator<QVariant> QVariant::listEnd() const
 {
     if ( d->typ != List )
         return QValueListConstIterator<QVariant>();
     return ((const QValueList<QVariant>*)d->value.ptr)->end();
 }
 
 inline QMapConstIterator<QString,QVariant> QVariant::mapBegin() const
 {
     if ( d->typ != Map )
         return QMapConstIterator<QString,QVariant>();
     return ((const QMap<QString,QVariant>*)d->value.ptr)->begin();
 }
 
 inline QMapConstIterator<QString,QVariant> QVariant::mapEnd() const
 {
     if ( d->typ != Map )
         return QMapConstIterator<QString,QVariant>();
     return ((const QMap<QString,QVariant>*)d->value.ptr)->end();
 }
 
 inline QMapConstIterator<QString,QVariant> QVariant::mapFind( const QString& key ) const
 {
     if ( d->typ != Map )
         return QMapConstIterator<QString,QVariant>();
     return ((const QMap<QString,QVariant>*)d->value.ptr)->find( key );
 }
 
 
 
  QDataStream& operator>> ( QDataStream& s, QVariant& p );
  QDataStream& operator<< ( QDataStream& s, const QVariant& p );
  QDataStream& operator>> ( QDataStream& s, QVariant::Type& p );
  QDataStream& operator<< ( QDataStream& s, const QVariant::Type p );
 # 35 "kconfigbase.h" 2
 
 
 # 1 "kconfigdata.h" 1
 # 31 "kconfigdata.h"
 struct KEntry
 {
   KEntry()
     : mValue(0), bDirty(false), bNLS(false),
       bGlobal(false), bImmutable(false), bDeleted(false), bExpand(false) {}
   QCString mValue;
   bool bDirty :1;
   bool bNLS :1;
   bool bGlobal:1;
   bool bImmutable:1;
   bool bDeleted:1;
   bool bExpand:1;
 };
 
 
 
 
 
 
 struct KEntryKey
 {
   KEntryKey(const QCString& _group = 0,
             const QCString& _key = 0)
       : mGroup(_group), mKey(_key), bLocal(false), bDefault(false),
         c_key(_key.data()) {}
   QCString mGroup;
   QCString mKey;
   bool bLocal :1;
   bool bDefault:1;
 
   const char *c_key;
 };
 
 
 
 
 
 inline bool operator <(const KEntryKey &k1, const KEntryKey &k2)
 {
 
    int result=qstrcmp(k1.mGroup.data(),k2.mGroup.data());
    if (result!=0)
       return (result<0);
 
   if (!k1.c_key && k2.c_key)
     return true;
 
   result = 0;
   if (k1.c_key && k2.c_key)
      result = strcmp(k1.c_key, k2.c_key);
   if (result != 0)
      return result < 0;
   if (!k1.bLocal && k2.bLocal)
     return true;
   if (k1.bLocal && !k2.bLocal)
     return false;
   return (!k1.bDefault && k2.bDefault);
 }
 
 
 
 
 
 
 
 typedef QMap<KEntryKey, KEntry> KEntryMap;
 
 
 
 
 
 typedef QMap<KEntryKey, KEntry>::Iterator KEntryMapIterator;
 
 
 
 
 
 
 
 typedef QMap<KEntryKey, KEntry>::ConstIterator KEntryMapConstIterator;
 # 38 "kconfigbase.h" 2
 
 class KConfigBackEnd;
 class KConfigBasePrivate;
 class KConfigGroup;
 # 70 "kconfigbase.h"
 class KConfigBase : public QObject
 {
   public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj;
 
   friend class KConfigBackEnd;
   friend class KConfigINIBackEnd;
   friend class KConfigGroup;
 
 public:
 
 
 
   KConfigBase();
 
 
 
 
   virtual ~KConfigBase();
 # 99 "kconfigbase.h"
   void setGroup( const QString& group );
 
 
 
 
 
   void setDesktopGroup();
 
 
 
 
 
 
 
   QString group() const;
 
 
 
 
 
 
 
   bool hasGroup(const QString &group) const;
 
 
 
 
 
 
   virtual QStringList groupList() const = 0;
 
 
 
 
 
 
   QString locale() const;
 # 144 "kconfigbase.h"
    QString readEntry( const QString& pKey,
                      const QString& aDefault = QString::null ) const;
    QString readEntry( const char *pKey,
                      const QString& aDefault = QString::null ) const;
 # 163 "kconfigbase.h"
   QVariant readPropertyEntry( const QString& pKey, QVariant::Type ) const;
   QVariant readPropertyEntry( const char *pKey, QVariant::Type ) const;
 # 180 "kconfigbase.h"
   QVariant readPropertyEntry( const QString& pKey,
                               const QVariant &adefault) const;
   QVariant readPropertyEntry( const char *pKey,
                               const QVariant &aDefault) const;
 # 195 "kconfigbase.h"
   int readListEntry( const QString& pKey, QStrList &list, char sep = ',' ) const;
   int readListEntry( const char *pKey, QStrList &list, char sep = ',' ) const;
 # 205 "kconfigbase.h"
   QStringList readListEntry( const QString& pKey, char sep = ',' ) const;
   QStringList readListEntry( const char *pKey, char sep = ',' ) const;
 
 
 
 
 
 
 
   QValueList<int> readIntListEntry( const QString& pKey ) const;
   QValueList<int> readIntListEntry( const char *pKey ) const;
 # 228 "kconfigbase.h"
   QString readPathEntry( const QString& pKey, const QString & aDefault = QString::null ) const;
   QString readPathEntry( const char *pKey, const QString & aDefault = QString::null ) const;
 # 242 "kconfigbase.h"
   int readNumEntry( const QString& pKey, int nDefault = 0 ) const;
   int readNumEntry( const char *pKey, int nDefault = 0 ) const;
 # 256 "kconfigbase.h"
   unsigned int readUnsignedNumEntry( const QString& pKey, unsigned int nDefault = 0 ) const;
   unsigned int readUnsignedNumEntry( const char *pKey, unsigned int nDefault = 0 ) const;
 # 271 "kconfigbase.h"
   long readLongNumEntry( const QString& pKey, long nDefault = 0 ) const;
   long readLongNumEntry( const char *pKey, long nDefault = 0 ) const;
 # 285 "kconfigbase.h"
   unsigned long readUnsignedLongNumEntry( const QString& pKey, unsigned long nDefault = 0 ) const;
   unsigned long readUnsignedLongNumEntry( const char *pKey, unsigned long nDefault = 0 ) const;
 # 299 "kconfigbase.h"
   double readDoubleNumEntry( const QString& pKey, double nDefault = 0.0 ) const;
   double readDoubleNumEntry( const char *pKey, double nDefault = 0.0 ) const;
 # 313 "kconfigbase.h"
   QFont readFontEntry( const QString& pKey, const QFont* pDefault = 0L ) const;
   QFont readFontEntry( const char *pKey, const QFont* pDefault = 0L ) const;
 # 327 "kconfigbase.h"
   bool readBoolEntry( const QString& pKey, const bool bDefault = false ) const;
   bool readBoolEntry( const char *pKey, const bool bDefault = false ) const;
 # 341 "kconfigbase.h"
   QRect readRectEntry( const QString& pKey, const QRect* pDefault = 0L ) const;
   QRect readRectEntry( const char *pKey, const QRect* pDefault = 0L ) const;
 # 355 "kconfigbase.h"
   QPoint readPointEntry( const QString& pKey, const QPoint* pDefault = 0L ) const;
   QPoint readPointEntry( const char *pKey, const QPoint* pDefault = 0L ) const;
 # 369 "kconfigbase.h"
   QSize readSizeEntry( const QString& pKey, const QSize* pDefault = 0L ) const;
   QSize readSizeEntry( const char *pKey, const QSize* pDefault = 0L ) const;
 # 384 "kconfigbase.h"
   QColor readColorEntry( const QString& pKey, const QColor* pDefault = 0L ) const;
   QColor readColorEntry( const char *pKey, const QColor* pDefault = 0L ) const;
 # 399 "kconfigbase.h"
   QDateTime readDateTimeEntry( const QString& pKey, const QDateTime* pDefault = 0L ) const;
   QDateTime readDateTimeEntry( const char *pKey, const QDateTime* pDefault = 0L ) const;
 # 410 "kconfigbase.h"
    QString readEntryUntranslated( const QString& pKey,
                      const QString& aDefault = QString::null ) const;
    QString readEntryUntranslated( const char *pKey,
                      const QString& aDefault = QString::null ) const;
 # 432 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QString& pValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, const QString& pValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 458 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QVariant& rValue,
                     bool bPersistent = true, bool bGlobal = false,
                     bool bNLS = false );
   void writeEntry( const char *pKey, const QVariant& rValue,
                     bool bPersistent = true, bool bGlobal = false,
                     bool bNLS = false );
 # 484 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QStrList &rValue,
                    char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
   void writeEntry( const char *pKey, const QStrList &rValue,
                    char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
 # 508 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QStringList &rValue,
                    char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
   void writeEntry( const char *pKey, const QStringList &rValue,
                    char sep = ',', bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
 # 533 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QValueList<int>& rValue,
                    bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
   void writeEntry( const char *pKey, const QValueList<int>& rValue,
                    bool bPersistent = true, bool bGlobal = false, bool bNLS = false );
 # 555 "kconfigbase.h"
   void writeEntry( const QString& pKey, const char *pValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false )
     { writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }
   void writeEntry( const char *pKey, const char *pValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false )
     { writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }
 # 579 "kconfigbase.h"
   void writeEntry( const QString& pKey, int nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, int nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 601 "kconfigbase.h"
   void writeEntry( const QString& pKey, unsigned int nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, unsigned int nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 622 "kconfigbase.h"
   void writeEntry( const QString& pKey, long nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, long nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 643 "kconfigbase.h"
   void writeEntry( const QString& pKey, unsigned long nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, unsigned long nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 667 "kconfigbase.h"
   void writeEntry( const QString& pKey, double nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       char format = 'g', int precision = 6,
                       bool bNLS = false );
   void writeEntry( const char *pKey, double nValue,
                       bool bPersistent = true, bool bGlobal = false,
                       char format = 'g', int precision = 6,
                       bool bNLS = false );
 # 690 "kconfigbase.h"
   void writeEntry( const QString& pKey, bool bValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, bool bValue,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 711 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QFont& rFont,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
   void writeEntry( const char *pKey, const QFont& rFont,
                       bool bPersistent = true, bool bGlobal = false,
                       bool bNLS = false );
 # 735 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QColor& rColor,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
   void writeEntry( const char *pKey, const QColor& rColor,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
 # 759 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QDateTime& rDateTime,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
   void writeEntry( const char *pKey, const QDateTime& rDateTime,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
 # 784 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QRect& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
   void writeEntry( const char *pKey, const QRect& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
 # 808 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QPoint& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
   void writeEntry( const char *pKey, const QPoint& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
 # 832 "kconfigbase.h"
   void writeEntry( const QString& pKey, const QSize& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
   void writeEntry( const char *pKey, const QSize& rValue,
                    bool bPersistent = true, bool bGlobal = false,
                    bool bNLS = false );
 # 856 "kconfigbase.h"
   void writePathEntry( const QString& pKey, const QString & path,
                        bool bPersistent = true, bool bGlobal = false,
                        bool bNLS = false );
   void writePathEntry( const char *pKey, const QString & path,
                        bool bPersistent = true, bool bGlobal = false,
                        bool bNLS = false );
 # 872 "kconfigbase.h"
    void deleteEntry( const QString& pKey,
                    bool bNLS = false, bool bGlobal = false);
    void deleteEntry( const char *pKey,
                    bool bNLS = false, bool bGlobal = false);
 # 894 "kconfigbase.h"
   bool deleteGroup( const QString& group, bool bDeep = true, bool bGlobal = false );
 # 904 "kconfigbase.h"
   void setDollarExpansion( bool _bExpand = true ) { bExpand = _bExpand; }
 
 
 
 
 
 
   bool isDollarExpansion() const { return bExpand; }
 # 927 "kconfigbase.h"
   virtual void rollback( bool bDeep = true );
 # 942 "kconfigbase.h"
   virtual void sync();
 
 
 
 
   bool isDirty() const { return bDirty; }
 # 956 "kconfigbase.h"
   virtual void setReadOnly(bool _ro) { bReadOnly = _ro; }
 
 
 
 
 
 
   bool isReadOnly() const { return bReadOnly; }
 # 974 "kconfigbase.h"
   bool hasKey( const QString& key ) const;
 # 986 "kconfigbase.h"
   virtual QMap<QString, QString> entryMap(const QString &group) const = 0;
 # 1000 "kconfigbase.h"
   virtual void reparseConfiguration() = 0;
 
 
 
 
   bool isImmutable() const;
 
 
 
 
 
   bool groupIsImmutable(const QString &group) const;
 
 
 
 
 
   bool entryIsImmutable(const QString &key) const;
 
 
 
 
 
 
   enum ConfigState { NoAccess, ReadOnly, ReadWrite };
 # 1038 "kconfigbase.h"
   ConfigState getConfigState() const;
 
 protected:
 
 
 
 
 
   void setLocale();
 
 
 
 
 
 
   virtual void setDirty(bool _bDirty = true) { bDirty = _bDirty; }
 
 
 
 
 
 
   virtual void parseConfigFiles();
 # 1077 "kconfigbase.h"
   virtual KEntryMap internalEntryMap( const QString& pGroup ) const = 0;
 # 1090 "kconfigbase.h"
   virtual KEntryMap internalEntryMap() const = 0;
 # 1107 "kconfigbase.h"
   virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup = true) = 0;
 # 1123 "kconfigbase.h"
   virtual KEntry lookupData(const KEntryKey &_key) const = 0;
 
   virtual bool internalHasGroup(const QCString &group) const = 0;
 
 
 
 
   KConfigBackEnd *backEnd;
 public:
 
 
 
   void setGroup( const QCString &pGroup );
   void setGroup( const char *pGroup );
   bool hasGroup(const QCString &_pGroup) const;
   bool hasGroup(const char *_pGroup) const;
   bool hasKey( const char *pKey ) const;
 
 protected:
   QCString readEntryUtf8( const char *pKey) const;
 
 
 
   QCString mGroup;
 
 
 
   QCString aLocaleString;
 
 
 
 
   bool bDirty;
 
   bool bLocaleInitialized;
   bool bReadOnly;
   mutable bool bExpand;
 
 protected:
   virtual void virtual_hook( int id, void* data );
 private:
   KConfigBasePrivate *d;
 };
 
 class KConfigGroupSaverPrivate;
 # 1202 "kconfigbase.h"
 class KConfigGroupSaver
 {
 public:
 # 1213 "kconfigbase.h"
   KConfigGroupSaver( KConfigBase* config, QString group )
       : _config(config), _oldgroup(config->group())
         { _config->setGroup( group ); }
 
   KConfigGroupSaver( KConfigBase* config, const char *group )
       : _config(config), _oldgroup(config->group())
         { _config->setGroup( group ); }
 
   KConfigGroupSaver( KConfigBase* config, const QCString &group )
       : _config(config), _oldgroup(config->group())
         { _config->setGroup( group ); }
 
   ~KConfigGroupSaver() { _config->setGroup( _oldgroup ); }
 
     KConfigBase* config() { return _config; };
 
 private:
   KConfigBase* _config;
   QString _oldgroup;
 
   KConfigGroupSaver(const KConfigGroupSaver&);
   KConfigGroupSaver& operator=(const KConfigGroupSaver&);
 
   KConfigGroupSaverPrivate *d;
 };
 
 class KConfigGroupPrivate;
 
 class KConfigGroup: public KConfigBase
 {
 public:
 
 
 
 
    KConfigGroup(KConfigBase *master, const QCString &group);
 
 
 
 
 
 
    KConfigGroup(KConfigBase *master, const QString &group);
 
 
 
 
 
 
 
    KConfigGroup(KConfigBase *master, const char * group);
 
 
 
 
 
 
 
    void deleteGroup(bool bGlobal = false);
 
 
    virtual void setDirty(bool b);
    virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup = true);
    virtual KEntry lookupData(const KEntryKey &_key) const;
    virtual void sync();
 
 private:
 
    void setGroup() { }
    void setDesktopGroup() { }
    void group() { }
    void hasGroup() { }
    void setReadOnly(bool) { }
    void isDirty() { }
 
 
    virtual QStringList groupList() const { return QStringList(); }
    virtual void rollback(bool) { }
    virtual void reparseConfiguration() { }
    virtual QMap<QString, QString> entryMap(const QString &) const
     { return QMap<QString,QString>(); }
    virtual KEntryMap internalEntryMap( const QString&) const
     { return KEntryMap(); }
    virtual KEntryMap internalEntryMap() const
     { return KEntryMap(); }
    virtual bool internalHasGroup(const QCString &) const
     { return false; }
 
    void getConfigState() { }
 
    KConfigBase *mMaster;
 protected:
    virtual void virtual_hook( int id, void* data );
 private:
    KConfigGroupPrivate* d;
 };
 # 30 "kconfig.h" 2
 
 class KConfigPrivate;
 # 43 "kconfig.h"
 class KConfig : public KConfigBase
 {
   public: virtual QMetaObject *metaObject() const { return staticMetaObject(); } virtual const char *className() const; virtual void* qt_cast( const char* ); virtual bool qt_invoke( int, QUObject* ); virtual bool qt_emit( int, QUObject* ); virtual bool qt_property( int, int, QVariant* ); static QMetaObject* staticMetaObject(); QObject* qObject() { return (QObject*)this; } private: static QMetaObject *metaObj;
 
 public:
 # 61 "kconfig.h"
   KConfig( const QString& fileName = QString::null,
           bool bReadOnly = false, bool bUseKDEGlobals = true, const char *resType="config");
 
 
 
 
 
 
 
   virtual ~KConfig();
 # 84 "kconfig.h"
   virtual void rollback(bool bDeep = true);
 
 
 
 
 
   virtual QStringList groupList() const;
 # 103 "kconfig.h"
   virtual QMap<QString, QString> entryMap(const QString &pGroup) const;
 
 
 
 
 
   virtual void reparseConfiguration();
 
 
 
 
 
 
   void setFileWriteMode(int mode);
 
 
 
 
 
 
   void setForceGlobal( bool force ) { bForceGlobal = force; }
 
 
 
 
 
   bool forceGlobal() const { return bForceGlobal; }
 # 142 "kconfig.h"
   void checkUpdate(const QString &id, const QString &updateFile);
 
 protected:
 
 
 
 
 
 
 
   virtual bool internalHasGroup(const QCString &group) const;
 # 164 "kconfig.h"
   virtual KEntryMap internalEntryMap(const QString &pGroup) const;
 # 176 "kconfig.h"
    virtual KEntryMap internalEntryMap() const { return aEntryMap; }
 # 188 "kconfig.h"
   virtual void putData(const KEntryKey &_key, const KEntry &_data, bool _checkGroup=true);
 # 198 "kconfig.h"
   virtual KEntry lookupData(const KEntryKey &_key) const;
 # 207 "kconfig.h"
   KEntryMap aEntryMap;
 
 private:
 
 
 
 
   KConfig( const KConfig& );
 
 
 
 
   KConfig& operator= ( const KConfig& rConfig );
 
 private:
   bool bGroupImmutable : 1;
   bool bFileImmutable : 1;
   bool bForceGlobal : 1;
 protected:
   virtual void virtual_hook( int id, void* data );
 private:
   KConfigPrivate *d;
 };
 # 11 "kkeyserver_x11.cpp" 2
 # 1 "kdebug.h" 1
 # 25 "kdebug.h"
 class QWidget;
 
 class kdbgstream;
 class kndbgstream;
 typedef kdbgstream & (*KDBGFUNC)(kdbgstream &);
 typedef kndbgstream & (*KNDBGFUNC)(kndbgstream &);
 # 40 "kdebug.h"
 class kdbgstreamprivate;
 class kdbgstream {
  public:
     kdbgstream(unsigned int _area, unsigned int _level, bool _print = true) :
       area(_area), level(_level), print(_print) { }
     kdbgstream(const char * initialString, unsigned int _area, unsigned int _level, bool _print = true) :
       output(QString::fromLatin1(initialString)), area(_area), level(_level), print(_print) { }
     kdbgstream(kdbgstream &str) :
       output(str.output), area(str.area), level(str.level), print(str.print) { str.output.truncate(0); }
     kdbgstream(const kdbgstream &str) :
       output(str.output), area(str.area), level(str.level), print(str.print) {}
     ~kdbgstream();
     kdbgstream &operator<<(bool i) {
         if (!print) return *this;
         output += QString::fromLatin1(i ? "true" : "false");
         return *this;
     }
     kdbgstream &operator<<(short i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(unsigned short i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(char i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(int(i)); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(unsigned char i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(static_cast<unsigned int>(i)); output += tmp;
         return *this;
     }
 
     kdbgstream &operator<<(int i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(unsigned int i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(long i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     kdbgstream &operator<<(unsigned long i) {
         if (!print) return *this;
         QString tmp; tmp.setNum(i); output += tmp;
         return *this;
     }
     void flush();
     kdbgstream &operator<<(const QString& string) {
         if (!print) return *this;
         output += string;
         if (output.at(output.length() -1 ) == '\n')
             flush();
         return *this;
     }
     kdbgstream &operator<<(const char *string) {
         if (!print) return *this;
         output += QString::fromUtf8(string);
         if (output.at(output.length() - 1) == '\n')
             flush();
         return *this;
     }
     kdbgstream &operator<<(const QCString& string) {
         *this << string.data();
         return *this;
     }
     kdbgstream& operator<<(const void * p) {
         form("%p", p);
         return *this;
     }
     kdbgstream& operator<<(KDBGFUNC f) {
         if (!print) return *this;
         return (*f)(*this);
     }
     kdbgstream& operator<<(double d) {
       QString tmp; tmp.setNum(d); output += tmp;
       return *this;
     }
     kdbgstream &form(const char *format, ...);
 
 
 
     kdbgstream& operator << (QWidget* widget);
  private:
     QString output;
     unsigned int area, level;
     bool print;
     kdbgstreamprivate* d;
 };
 
 inline kdbgstream &endl( kdbgstream &s) { s << "\n"; return s; }
 inline kdbgstream &flush( kdbgstream &s) { s.flush(); return s; }
 kdbgstream &perror( kdbgstream &s);
 
 class kndbgstream {
  public:
     kndbgstream() {}
     ~kndbgstream() {}
     kndbgstream &operator<<(short int ) { return *this; }
     kndbgstream &operator<<(unsigned short int ) { return *this; }
     kndbgstream &operator<<(char ) { return *this; }
     kndbgstream &operator<<(unsigned char ) { return *this; }
     kndbgstream &operator<<(int ) { return *this; }
     kndbgstream &operator<<(unsigned int ) { return *this; }
     void flush() {}
     kndbgstream &operator<<(const QString& ) { return *this; }
     kndbgstream &operator<<(const QCString& ) { return *this; }
     kndbgstream &operator<<(const char *) { return *this; }
     kndbgstream& operator<<(const void *) { return *this; }
     kndbgstream& operator<<(void *) { return *this; }
     kndbgstream& operator<<(double) { return *this; }
     kndbgstream& operator<<(long) { return *this; }
     kndbgstream& operator<<(unsigned long) { return *this; }
     kndbgstream& operator<<(KNDBGFUNC) { return *this; }
     kndbgstream& operator << (QWidget*) { return *this; }
     kndbgstream &form(const char *, ...) { return *this; }
 };
 
 inline kndbgstream &endl( kndbgstream & s) { return s; }
 inline kndbgstream &flush( kndbgstream & s) { return s; }
 inline kndbgstream &perror( kndbgstream & s) { return s; }
 
 kdbgstream kdDebug(int area = 0);
 kdbgstream kdDebug(bool cond, int area = 0);
 QString kdBacktrace();
 QString kdBacktrace(int levels);
 inline kndbgstream kndDebug(int = 0) { return kndbgstream(); }
 inline kndbgstream kndDebug(bool , int = 0) { return kndbgstream(); }
 inline QString kndBacktrace() { return QString::null; }
 
 kdbgstream kdWarning(int area = 0);
 kdbgstream kdWarning(bool cond, int area = 0);
 kdbgstream kdError(int area = 0);
 kdbgstream kdError(bool cond, int area = 0);
 kdbgstream kdFatal(int area = 0);
 kdbgstream kdFatal(bool cond, int area = 0);
 # 12 "kkeyserver_x11.cpp" 2
 # 1 "kglobal.h" 1
 # 23 "kglobal.h"
 class KStandardDirs;
 class KConfig;
 class KLocale;
 class KIconLoader;
 class KCharsets;
 class QFont;
 class KInstance;
 class KStringDict;
 class KStaticDeleterBase;
 class KStaticDeleterList;
 # 1 "kinstance.h" 1
 # 21 "kinstance.h"
 class KStandardDirs;
 class KAboutData;
 class KConfig;
 class KIconLoader;
 class KCharsets;
 class QFont;
 class KInstancePrivate;
 class KMimeSourceFactory;
 # 42 "kinstance.h"
 class KInstance
 {
     friend class KStandardDirs;
 
  public:
 
 
 
 
     KInstance( const QCString& instanceName) ;
 # 64 "kinstance.h"
     KInstance( const KAboutData * aboutData );
 
 
 
 
 
 
 
     KInstance( KInstance* src );
 
 
 
 
     virtual ~KInstance();
 
 
 
 
     KStandardDirs *dirs() const;
 
 
 
 
     KConfig *config() const;
 
 
 
 
     KIconLoader *iconLoader() const;
 
 
 
 
     void newIconLoader() const;
 
     KCharsets *charsets() const;
 
 
 
 
 
     const KAboutData *aboutData() const;
 
 
 
 
     QCString instanceName() const;
 
 
 
 
 
 
     KMimeSourceFactory* mimeSourceFactory () const;
 
 protected:
 
 
 
     KInstance( const KInstance& );
 
 
 
 
     void setConfigName(const QString &);
 
 private:
     mutable KStandardDirs *_dirs;
 
     mutable KConfig *_config;
     mutable KIconLoader *_iconLoader;
 
     QCString _name;
     const KAboutData *_aboutData;
 
 protected:
     virtual void virtual_hook( int id, void* data );
 private:
     KInstancePrivate *d;
 };
 # 34 "kglobal.h" 2
 
 
 
 
 
 
 
 class KGlobal
 {
 public:
 
 
 
 
 
 
     static KInstance *instance();
 
 
 
 
     static KStandardDirs *dirs();
 
 
 
 
     static KConfig *config();
 
 
 
 
     static KIconLoader *iconLoader();
 
     static KLocale *locale();
     static KCharsets *charsets();
 # 81 "kglobal.h"
     static const QString &staticQString(const char *);
 # 94 "kglobal.h"
     static const QString &staticQString(const QString &);
 
     static void registerStaticDeleter(KStaticDeleterBase *);
     static void unregisterStaticDeleter(KStaticDeleterBase *);
 
     static void deleteStaticDeleters();
 
 
     static KStringDict *_stringDict;
     static KInstance *_instance;
     static KLocale *_locale;
     static KCharsets *_charsets;
     static KStaticDeleterList *_staticDeleters;
 
 
 
 
 
 
     static void setActiveInstance(KInstance *d);
     static KInstance *activeInstance() { return _activeInstance; }
 
     static KInstance *_activeInstance;
 };
 # 133 "kglobal.h"
 template<class T>
 inline const T& kMin (const T& a, const T& b) { return a < b ? a : b; }
 
 template<class T>
 inline const T& kMax (const T& a, const T& b) { return b < a ? a : b; }
 
 template<class T>
 inline T kAbs (const T& a) { return a < 0 ? -a : a; }
 # 13 "kkeyserver_x11.cpp" 2
 # 1 "klocale.h" 1
 # 27 "klocale.h"
 class QStringList;
 class QTextCodec;
 class QDate;
 class QTime;
 class QDateTime;
 
 class KGlobal;
 class KConfig;
 class KConfigBase;
 class KLocalePrivate;
 class KCatalogue;
 # 54 "klocale.h"
 QString i18n(const char *text);
 
 
 
 
 
 
 
 QString i18n(const char *index, const char *text);
 
 
 
 
 
 
 QString i18n(const char *singular, const char *plural, unsigned long n);
 
 
 
 
 
 
 inline QString tr2i18n(const char* message, const char* =0) {
   return i18n(message);
 }
 # 92 "klocale.h"
 class KLocale
 {
   friend class KGlobal;
 public:
 # 112 "klocale.h"
   KLocale( const QString& catalogue, KConfig *config = 0 );
 
 
 
 
   KLocale( const KLocale & rhs );
 
 
 
 
   KLocale& operator= ( const KLocale & rhs );
 
 
 
 
   ~KLocale();
 # 147 "klocale.h"
   QString translate( const char *index ) const;
 # 174 "klocale.h"
   QString translate( const char *index, const char *fallback) const;
 
   QString translate( const char *singular, const char *plural,
                      unsigned long n) const;
 # 187 "klocale.h"
   bool setCharset(const QString & charset);
 # 197 "klocale.h"
   bool setEncoding(int mibEnum);
 # 208 "klocale.h"
   bool setLanguage(const QString & language);
 # 219 "klocale.h"
   bool setLanguage(const QStringList & languages);
 # 230 "klocale.h"
   bool setCountry(const QString & country);
 
 
 
 
 
   enum SignPosition { ParensAround = 0, BeforeQuantityMoney = 1,
                       AfterQuantityMoney = 2,
                       BeforeMoney = 3, AfterMoney = 4 };
 
 
 
 
 
 
 
   QString decimalSymbol() const;
 # 255 "klocale.h"
   QString thousandsSeparator() const;
 
 
 
 
 
 
 
   QString currencySymbol() const;
 # 272 "klocale.h"
   QString monetaryDecimalSymbol() const;
 # 281 "klocale.h"
   QString monetaryThousandsSeparator() const;
 
 
 
 
 
 
 
   QString positiveSign() const;
 
 
 
 
 
 
 
   QString negativeSign() const;
 
 
 
 
 
 
 
   int fracDigits() const;
 
 
 
 
 
 
 
   bool positivePrefixCurrencySymbol() const;
 
 
 
 
 
 
 
   bool negativePrefixCurrencySymbol() const;
 # 330 "klocale.h"
   SignPosition positiveMonetarySignPosition() const;
 # 339 "klocale.h"
   SignPosition negativeMonetarySignPosition() const;
 # 353 "klocale.h"
   QString formatMoney(double num,
                       const QString & currency = QString::null,
                       int digits = -1) const;
 # 366 "klocale.h"
   QString formatMoney(const QString &numStr) const;
 # 381 "klocale.h"
   QString formatNumber(double num, int precision = -1) const;
 # 392 "klocale.h"
   QString formatNumber(const QString &numStr) const;
 # 404 "klocale.h"
   QString formatDate(const QDate &pDate, bool shortFormat = false) const;
 # 416 "klocale.h"
   QString formatTime(const QTime &pTime, bool includeSecs = false) const;
 
 
 
 
 
 
   bool use12Clock() const;
 # 434 "klocale.h"
   bool weekStartsMonday() const;
 
 
 
 
 
 
   int weekStartDay() const;
 # 451 "klocale.h"
   QString monthName(int i, bool shortName = false) const;
 # 461 "klocale.h"
   QString weekDayName(int i, bool shortName = false) const;
 # 473 "klocale.h"
   QString formatDateTime(const QDateTime &pDateTime,
                          bool shortFormat = true,
                          bool includeSecs = false) const;
 # 485 "klocale.h"
   double readMoney(const QString &numStr, bool * ok = 0) const;
 # 495 "klocale.h"
   double readNumber(const QString &numStr, bool * ok = 0) const;
 # 506 "klocale.h"
   QDate readDate(const QString &str, bool* ok = 0) const;
 
 
 
 
 
   QDate readDate( const QString &intstr, const QString &fmt, bool* ok = 0) const;
 # 523 "klocale.h"
   QTime readTime(const QString &str, bool* ok = 0) const;
 # 532 "klocale.h"
   QString language() const;
 
 
 
 
 
 
 
   QString country() const;
 
 
 
 
 
 
 
   QString languages() const;
 # 564 "klocale.h"
   QStringList languagesTwoAlpha() const;
 # 574 "klocale.h"
   QStringList languageList() const;
 # 587 "klocale.h"
   QString charset() const;
 # 598 "klocale.h"
   const char * encoding() const;
 # 608 "klocale.h"
   int encodingMib() const;
 # 617 "klocale.h"
   QTextCodec * codecForEncoding() const;
 
 
 
 
 
 
   void setDateFormat(const QString & format);
 
 
 
 
 
   void setDateFormatShort(const QString & format);
 
 
 
 
 
   void setTimeFormat(const QString & format);
 # 647 "klocale.h"
   void setWeekStartsMonday(bool start);
 
 
 
 
 
   void setWeekStartDay(int day);
 
 
 
 
 
   QString dateFormat() const;
 
 
 
 
 
   QString dateFormatShort() const;
 
 
 
 
 
   QString timeFormat() const;
 
 
 
 
 
 
   void setDecimalSymbol(const QString & symbol);
 
 
 
 
 
   void setThousandsSeparator(const QString & separator);
 
 
 
 
 
 
   void setPositiveSign(const QString & sign);
 
 
 
 
 
   void setNegativeSign(const QString & sign);
 
 
 
 
 
   void setPositiveMonetarySignPosition(SignPosition signpos);
 
 
 
 
 
   void setNegativeMonetarySignPosition(SignPosition signpos);
 
 
 
 
 
 
 
   void setPositivePrefixCurrencySymbol(bool prefix);
 
 
 
 
 
 
 
   void setNegativePrefixCurrencySymbol(bool prefix);
 
 
 
 
 
   void setFracDigits(int digits);
 
 
 
 
 
   void setMonetaryThousandsSeparator(const QString & separator);
 
 
 
 
 
 
   void setMonetaryDecimalSymbol(const QString & symbol);
 
 
 
 
 
   void setCurrencySymbol(const QString & symbol);
 
 
 
 
 
 
   int pageSize() const;
 
 
 
 
 
 
   void setPageSize(int paperFormat);
 
 
 
 
 
   enum MeasureSystem { Metric, Imperial };
 
 
 
 
 
 
   MeasureSystem measureSystem() const;
 
 
 
 
 
 
   void setMeasureSystem(MeasureSystem value);
 # 796 "klocale.h"
   void insertCatalogue(const QString& catalogue);
 
   void removeCatalogue(const QString &catalogue);
 
   void setActiveCatalogue(const QString &catalogue);
 
 
 
 
 
 
   QString translateQt(const char *context,
                       const char *sourceText,
                       const char *message) const;
 # 820 "klocale.h"
   static void splitLocale(const QString & str,
                           QString & language,
                           QString & country,
                           QString & charset);
 # 834 "klocale.h"
   static void setMainCatalogue(const char *catalogue);
 
 
 
 
 
 
 
   static QString langLookup(const QString &fname, const char *rtype = "html");
 
 
 
 
 
 
   static QString defaultLanguage();
 
 
 
 
 
 
   static QString defaultCountry();
 
 
 
 
   static QString _initLanguage(KConfigBase *config);
 
 protected:
 
 
 
 
   static void initInstance();
 
 private:
 
 
 
 
 
 
   void initFormat(KConfig *config);
 # 886 "klocale.h"
   void initLanguage(KConfig * config, bool useEnv);
 
 
 
 
 
 
   void initEncoding(KConfig * config);
 
 
 
 
 
 
   void initCatalogue(const QString & catalogue);
 
 
 
 
 
   void initFileNameEncoding(KConfig *config);
 
 
 
 
   static QCString encodeFileNameUTF8( const QString & fileName );
 
 
 
 
   static QString decodeFileNameUTF8( const QCString & localFileName );
 
 
 
 
   QTime readTime(const QString &str, bool seconds, bool *ok) const;
 
 
 
 
   QDate readDate(const QString &str, bool shortFormat, bool *ok) const;
 
 
 
 
 
   void initCatalogue( KCatalogue & catalogue );
 
 
 
 
   void doBindInit();
 
 
 
 
   void doFormatInit() const;
 
 
 
 
   void initFormat();
 
 
 
 
   QString translate_priv(const char *index,
                          const char *text,
                          const char ** original = 0) const;
 
 
 
 
   bool useDefaultLanguage() const;
 
 
 
 
   bool isLanguageInstalled(const QString & language) const;
 
 
 
 
 
   static QString catalogueFileName(const QString & language,
                                    const KCatalogue & catalogue);
 
 private:
 
   QString m_decimalSymbol;
   QString m_thousandsSeparator;
   QString m_currencySymbol;
   QString m_monetaryDecimalSymbol;
   QString m_monetaryThousandsSeparator;
   QString m_positiveSign;
   QString m_negativeSign;
   int m_fracDigits;
   SignPosition m_positiveMonetarySignPosition;
   SignPosition m_negativeMonetarySignPosition;
 
 
   QString m_timeFormat;
   QString m_dateFormat;
   QString m_dateFormatShort;
 
   QString m_language;
   QString m_country;
 
   bool m_weekStartsMonday;
   bool m_positivePrefixCurrencySymbol;
   bool m_negativePrefixCurrencySymbol;
 
   KLocalePrivate *d;
 };
 # 14 "kkeyserver_x11.cpp" 2
 
 
 
 # 1 "/usr/X11R6/include/X11/X.h" 1
 # 67 "/usr/X11R6/include/X11/X.h"
 typedef unsigned long XID;
 
 
 
 typedef unsigned long Mask;
 
 
 
 typedef unsigned long Atom;
 
 typedef unsigned long VisualID;
 typedef unsigned long Time;
 # 97 "/usr/X11R6/include/X11/X.h"
 typedef XID Window;
 typedef XID Drawable;
 
 
 typedef XID Font;
 
 typedef XID Pixmap;
 typedef XID Cursor;
 typedef XID Colormap;
 typedef XID GContext;
 typedef XID KeySym;
 
 typedef unsigned char KeyCode;
 # 18 "kkeyserver_x11.cpp" 2
 # 1 "/usr/X11R6/include/X11/Xlib.h" 1
 # 47 "/usr/X11R6/include/X11/Xlib.h"
 # 1 "/usr/include/sys/types.h" 1 3
 # 28 "/usr/include/sys/types.h" 3
 extern "C" {
 
 
 
 
 
 typedef __u_char u_char;
 typedef __u_short u_short;
 typedef __u_int u_int;
 typedef __u_long u_long;
 typedef __quad_t quad_t;
 typedef __u_quad_t u_quad_t;
 typedef __fsid_t fsid_t;
 
 
 
 
 typedef __loff_t loff_t;
 
 
 
 typedef __ino_t ino_t;
 
 
 
 
 
 
 typedef __ino64_t ino64_t;
 
 
 
 
 typedef __dev_t dev_t;
 
 
 
 
 typedef __gid_t gid_t;
 
 
 
 
 typedef __mode_t mode_t;
 
 
 
 
 typedef __nlink_t nlink_t;
 
 
 
 
 typedef __uid_t uid_t;
 
 
 
 
 
 typedef __off_t off_t;
 
 
 
 
 
 
 typedef __off64_t off64_t;
 
 
 
 
 typedef __pid_t pid_t;
 
 
 
 
 typedef __id_t id_t;
 
 
 
 
 typedef __ssize_t ssize_t;
 
 
 
 
 
 typedef __daddr_t daddr_t;
 typedef __caddr_t caddr_t;
 
 
 
 
 
 typedef __key_t key_t;
 # 132 "/usr/include/sys/types.h" 3
 # 1 "/usr/include/time.h" 1 3
 # 59 "/usr/include/time.h" 3
 typedef __clock_t clock_t;
 # 70 "/usr/include/time.h" 3
 typedef __time_t time_t;
 # 82 "/usr/include/time.h" 3
 typedef __clockid_t clockid_t;
 # 94 "/usr/include/time.h" 3
 typedef __timer_t timer_t;
 # 133 "/usr/include/sys/types.h" 2 3
 
 
 
 typedef __useconds_t useconds_t;
 
 
 
 typedef __suseconds_t suseconds_t;
 
 
 
 
 
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 147 "/usr/include/sys/types.h" 2 3
 
 
 
 typedef unsigned long int ulong;
 typedef unsigned short int ushort;
 typedef unsigned int uint;
 # 190 "/usr/include/sys/types.h" 3
 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
 
 
 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
 
 typedef int register_t __attribute__ ((__mode__ (__word__)));
 # 212 "/usr/include/sys/types.h" 3
 # 1 "/usr/include/endian.h" 1 3
 # 37 "/usr/include/endian.h" 3
 # 1 "/usr/include/bits/endian.h" 1 3
 # 38 "/usr/include/endian.h" 2 3
 # 213 "/usr/include/sys/types.h" 2 3
 
 
 # 1 "/usr/include/sys/select.h" 1 3
 # 31 "/usr/include/sys/select.h" 3
 # 1 "/usr/include/bits/select.h" 1 3
 # 32 "/usr/include/sys/select.h" 2 3
 
 
 # 1 "/usr/include/bits/sigset.h" 1 3
 # 23 "/usr/include/bits/sigset.h" 3
 typedef int __sig_atomic_t;
 
 
 
 
 typedef struct
   {
     unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
   } __sigset_t;
 # 35 "/usr/include/sys/select.h" 2 3
 
 
 
 typedef __sigset_t sigset_t;
 
 
 
 
 
 # 1 "/usr/include/time.h" 1 3
 # 106 "/usr/include/time.h" 3
 struct timespec
   {
     __time_t tv_sec;
     long int tv_nsec;
   };
 # 45 "/usr/include/sys/select.h" 2 3
 
 # 1 "/usr/include/bits/time.h" 1 3
 # 67 "/usr/include/bits/time.h" 3
 struct timeval
   {
     __time_t tv_sec;
     __suseconds_t tv_usec;
   };
 # 47 "/usr/include/sys/select.h" 2 3
 # 55 "/usr/include/sys/select.h" 3
 typedef long int __fd_mask;
 
 
 
 
 
 
 
 typedef struct
   {
 
 
 
     __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
 
 
 
 
 
   } fd_set;
 
 
 
 
 
 
 typedef __fd_mask fd_mask;
 # 95 "/usr/include/sys/select.h" 3
 extern "C" {
 
 
 
 
 
 
 extern int select (int __nfds, fd_set *__restrict __readfds,
                    fd_set *__restrict __writefds,
                    fd_set *__restrict __exceptfds,
                    struct timeval *__restrict __timeout) throw ();
 
 
 
 
 
 extern int pselect (int __nfds, fd_set *__restrict __readfds,
                     fd_set *__restrict __writefds,
                     fd_set *__restrict __exceptfds,
                     const struct timespec *__restrict __timeout,
                     const __sigset_t *__restrict __sigmask) throw ();
 
 
 }
 # 216 "/usr/include/sys/types.h" 2 3
 
 
 # 1 "/usr/include/sys/sysmacros.h" 1 3
 # 219 "/usr/include/sys/types.h" 2 3
 
 
 
 
 typedef __blksize_t blksize_t;
 
 
 
 
 
 
 typedef __blkcnt_t blkcnt_t;
 
 
 
 typedef __fsblkcnt_t fsblkcnt_t;
 
 
 
 typedef __fsfilcnt_t fsfilcnt_t;
 # 257 "/usr/include/sys/types.h" 3
 typedef __blkcnt64_t blkcnt64_t;
 typedef __fsblkcnt64_t fsblkcnt64_t;
 typedef __fsfilcnt64_t fsfilcnt64_t;
 
 
 }
 # 48 "/usr/X11R6/include/X11/Xlib.h" 2
 
 
 
 
 
 
 # 1 "/usr/X11R6/include/X11/Xfuncproto.h" 1
 # 55 "/usr/X11R6/include/X11/Xlib.h" 2
 # 1 "/usr/X11R6/include/X11/Xosdefs.h" 1
 # 56 "/usr/X11R6/include/X11/Xlib.h" 2
 # 68 "/usr/X11R6/include/X11/Xlib.h"
 # 1 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 1 3
 # 147 "/usr/lib/gcc-lib/i386-linux/3.2.1/include/stddef.h" 3
 typedef int ptrdiff_t;
 # 69 "/usr/X11R6/include/X11/Xlib.h" 2
 # 90 "/usr/X11R6/include/X11/Xlib.h"
 typedef char *XPointer;
 # 162 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct _XExtData {
         int number;
         struct _XExtData *next;
         int (*free_private)(
 
         struct _XExtData *extension
 
         );
         XPointer private_data;
 } XExtData;
 
 
 
 
 typedef struct {
         int extension;
         int major_opcode;
         int first_event;
         int first_error;
 } XExtCodes;
 
 
 
 
 
 typedef struct {
     int depth;
     int bits_per_pixel;
     int scanline_pad;
 } XPixmapFormatValues;
 
 
 
 
 
 typedef struct {
         int function;
         unsigned long plane_mask;
         unsigned long foreground;
         unsigned long background;
         int line_width;
         int line_style;
         int cap_style;
 
         int join_style;
         int fill_style;
 
         int fill_rule;
         int arc_mode;
         Pixmap tile;
         Pixmap stipple;
         int ts_x_origin;
         int ts_y_origin;
         Font font;
         int subwindow_mode;
         int graphics_exposures;
         int clip_x_origin;
         int clip_y_origin;
         Pixmap clip_mask;
         int dash_offset;
         char dashes;
 } XGCValues;
 
 
 
 
 
 
 typedef struct _XGC
 
 
 
 
 
 
 
 *GC;
 
 
 
 
 typedef struct {
         XExtData *ext_data;
         VisualID visualid;
 
         int c_class;
 
 
 
         unsigned long red_mask, green_mask, blue_mask;
         int bits_per_rgb;
         int map_entries;
 } Visual;
 
 
 
 
 typedef struct {
         int depth;
         int nvisuals;
         Visual *visuals;
 } Depth;
 
 
 
 
 
 
 
 struct _XDisplay;
 
 typedef struct {
         XExtData *ext_data;
         struct _XDisplay *display;
         Window root;
         int width, height;
         int mwidth, mheight;
         int ndepths;
         Depth *depths;
         int root_depth;
         Visual *root_visual;
         GC default_gc;
         Colormap cmap;
         unsigned long white_pixel;
         unsigned long black_pixel;
         int max_maps, min_maps;
         int backing_store;
         int save_unders;
         long root_input_mask;
 } Screen;
 
 
 
 
 typedef struct {
         XExtData *ext_data;
         int depth;
         int bits_per_pixel;
         int scanline_pad;
 } ScreenFormat;
 
 
 
 
 typedef struct {
     Pixmap background_pixmap;
     unsigned long background_pixel;
     Pixmap border_pixmap;
     unsigned long border_pixel;
     int bit_gravity;
     int win_gravity;
     int backing_store;
     unsigned long backing_planes;
     unsigned long backing_pixel;
     int save_under;
     long event_mask;
     long do_not_propagate_mask;
     int override_redirect;
     Colormap colormap;
     Cursor cursor;
 } XSetWindowAttributes;
 
 typedef struct {
     int x, y;
     int width, height;
     int border_width;
     int depth;
     Visual *visual;
     Window root;
 
     int c_class;
 
 
 
     int bit_gravity;
     int win_gravity;
     int backing_store;
     unsigned long backing_planes;
     unsigned long backing_pixel;
     int save_under;
     Colormap colormap;
     int map_installed;
     int map_state;
     long all_event_masks;
     long your_event_mask;
     long do_not_propagate_mask;
     int override_redirect;
     Screen *screen;
 } XWindowAttributes;
 
 
 
 
 
 
 typedef struct {
         int family;
         int length;
         char *address;
 } XHostAddress;
 
 
 
 
 typedef struct _XImage {
     int width, height;
     int xoffset;
     int format;
     char *data;
     int byte_order;
     int bitmap_unit;
     int bitmap_bit_order;
     int bitmap_pad;
     int depth;
     int bytes_per_line;
     int bits_per_pixel;
     unsigned long red_mask;
     unsigned long green_mask;
     unsigned long blue_mask;
     XPointer obdata;
     struct funcs {
 
         struct _XImage *(*create_image)(
                 struct _XDisplay* ,
                 Visual* ,
                 unsigned int ,
                 int ,
                 int ,
                 char* ,
                 unsigned int ,
                 unsigned int ,
                 int ,
                 int );
         int (*destroy_image) (struct _XImage *);
         unsigned long (*get_pixel) (struct _XImage *, int, int);
         int (*put_pixel) (struct _XImage *, int, int, unsigned long);
         struct _XImage *(*sub_image)(struct _XImage *, int, int, unsigned int, unsigned int);
         int (*add_pixel) (struct _XImage *, long);
 # 408 "/usr/X11R6/include/X11/Xlib.h"
         } f;
 } XImage;
 
 
 
 
 typedef struct {
     int x, y;
     int width, height;
     int border_width;
     Window sibling;
     int stack_mode;
 } XWindowChanges;
 
 
 
 
 typedef struct {
         unsigned long pixel;
         unsigned short red, green, blue;
         char flags;
         char pad;
 } XColor;
 
 
 
 
 
 
 typedef struct {
     short x1, y1, x2, y2;
 } XSegment;
 
 typedef struct {
     short x, y;
 } XPoint;
 
 typedef struct {
     short x, y;
     unsigned short width, height;
 } XRectangle;
 
 typedef struct {
     short x, y;
     unsigned short width, height;
     short angle1, angle2;
 } XArc;
 
 
 
 
 typedef struct {
         int key_click_percent;
         int bell_percent;
         int bell_pitch;
         int bell_duration;
         int led;
         int led_mode;
         int key;
         int auto_repeat_mode;
 } XKeyboardControl;
 
 
 
 typedef struct {
         int key_click_percent;
         int bell_percent;
         unsigned int bell_pitch, bell_duration;
         unsigned long led_mask;
         int global_auto_repeat;
         char auto_repeats[32];
 } XKeyboardState;
 
 
 
 typedef struct {
         Time time;
         short x, y;
 } XTimeCoord;
 
 
 
 typedef struct {
         int max_keypermod;
         KeyCode *modifiermap;
 } XModifierKeymap;
 # 502 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct _XDisplay Display;
 
 
 struct _XPrivate;
 struct _XrmHashBucketRec;
 
 typedef struct
 
 
 
 {
         XExtData *ext_data;
         struct _XPrivate *private1;
         int fd;
         int private2;
         int proto_major_version;
         int proto_minor_version;
         char *vendor;
         XID private3;
         XID private4;
         XID private5;
         int private6;
         XID (*resource_alloc)(
 
                 struct _XDisplay*
 
         );
         int byte_order;
         int bitmap_unit;
         int bitmap_pad;
         int bitmap_bit_order;
         int nformats;
         ScreenFormat *pixmap_format;
         int private8;
         int release;
         struct _XPrivate *private9, *private10;
         int qlen;
         unsigned long last_request_read;
         unsigned long request;
         XPointer private11;
         XPointer private12;
         XPointer private13;
         XPointer private14;
         unsigned max_request_size;
         struct _XrmHashBucketRec *db;
         int (*private15)(
 
                 struct _XDisplay*
 
                 );
         char *display_name;
         int default_screen;
         int nscreens;
         Screen *screens;
         unsigned long motion_buffer;
         unsigned long private16;
         int min_keycode;
         int max_keycode;
         XPointer private17;
         XPointer private18;
         int private19;
         char *xdefaults;
 
 }
 
 
 
 *_XPrivDisplay;
 # 578 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Window root;
         Window subwindow;
         Time time;
         int x, y;
         int x_root, y_root;
         unsigned int state;
         unsigned int keycode;
         int same_screen;
 } XKeyEvent;
 typedef XKeyEvent XKeyPressedEvent;
 typedef XKeyEvent XKeyReleasedEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Window root;
         Window subwindow;
         Time time;
         int x, y;
         int x_root, y_root;
         unsigned int state;
         unsigned int button;
         int same_screen;
 } XButtonEvent;
 typedef XButtonEvent XButtonPressedEvent;
 typedef XButtonEvent XButtonReleasedEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Window root;
         Window subwindow;
         Time time;
         int x, y;
         int x_root, y_root;
         unsigned int state;
         char is_hint;
         int same_screen;
 } XMotionEvent;
 typedef XMotionEvent XPointerMovedEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Window root;
         Window subwindow;
         Time time;
         int x, y;
         int x_root, y_root;
         int mode;
         int detail;
 
 
 
 
         int same_screen;
         int focus;
         unsigned int state;
 } XCrossingEvent;
 typedef XCrossingEvent XEnterWindowEvent;
 typedef XCrossingEvent XLeaveWindowEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         int mode;
         int detail;
 
 
 
 
 
 } XFocusChangeEvent;
 typedef XFocusChangeEvent XFocusInEvent;
 typedef XFocusChangeEvent XFocusOutEvent;
 
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         char key_vector[32];
 } XKeymapEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         int x, y;
         int width, height;
         int count;
 } XExposeEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Drawable drawable;
         int x, y;
         int width, height;
         int count;
         int major_code;
         int minor_code;
 } XGraphicsExposeEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Drawable drawable;
         int major_code;
         int minor_code;
 } XNoExposeEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         int state;
 } XVisibilityEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window parent;
         Window window;
         int x, y;
         int width, height;
         int border_width;
         int override_redirect;
 } XCreateWindowEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
 } XDestroyWindowEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         int from_configure;
 } XUnmapEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         int override_redirect;
 } XMapEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window parent;
         Window window;
 } XMapRequestEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         Window parent;
         int x, y;
         int override_redirect;
 } XReparentEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         int x, y;
         int width, height;
         int border_width;
         Window above;
         int override_redirect;
 } XConfigureEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         int x, y;
 } XGravityEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         int width, height;
 } XResizeRequestEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window parent;
         Window window;
         int x, y;
         int width, height;
         int border_width;
         Window above;
         int detail;
         unsigned long value_mask;
 } XConfigureRequestEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window event;
         Window window;
         int place;
 } XCirculateEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window parent;
         Window window;
         int place;
 } XCirculateRequestEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Atom atom;
         Time time;
         int state;
 } XPropertyEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Atom selection;
         Time time;
 } XSelectionClearEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window owner;
         Window requestor;
         Atom selection;
         Atom target;
         Atom property;
         Time time;
 } XSelectionRequestEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window requestor;
         Atom selection;
         Atom target;
         Atom property;
         Time time;
 } XSelectionEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Colormap colormap;
 
         int c_new;
 
 
 
         int state;
 } XColormapEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         Atom message_type;
         int format;
         union {
                 char b[20];
                 short s[10];
                 long l[5];
                 } data;
 } XClientMessageEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
         int request;
 
         int first_keycode;
         int count;
 } XMappingEvent;
 
 typedef struct {
         int type;
         Display *display;
         XID resourceid;
         unsigned long serial;
         unsigned char error_code;
         unsigned char request_code;
         unsigned char minor_code;
 } XErrorEvent;
 
 typedef struct {
         int type;
         unsigned long serial;
         int send_event;
         Display *display;
         Window window;
 } XAnyEvent;
 
 
 
 
 
 typedef union _XEvent {
         int type;
         XAnyEvent xany;
         XKeyEvent xkey;
         XButtonEvent xbutton;
         XMotionEvent xmotion;
         XCrossingEvent xcrossing;
         XFocusChangeEvent xfocus;
         XExposeEvent xexpose;
         XGraphicsExposeEvent xgraphicsexpose;
         XNoExposeEvent xnoexpose;
         XVisibilityEvent xvisibility;
         XCreateWindowEvent xcreatewindow;
         XDestroyWindowEvent xdestroywindow;
         XUnmapEvent xunmap;
         XMapEvent xmap;
         XMapRequestEvent xmaprequest;
         XReparentEvent xreparent;
         XConfigureEvent xconfigure;
         XGravityEvent xgravity;
         XResizeRequestEvent xresizerequest;
         XConfigureRequestEvent xconfigurerequest;
         XCirculateEvent xcirculate;
         XCirculateRequestEvent xcirculaterequest;
         XPropertyEvent xproperty;
         XSelectionClearEvent xselectionclear;
         XSelectionRequestEvent xselectionrequest;
         XSelectionEvent xselection;
         XColormapEvent xcolormap;
         XClientMessageEvent xclient;
         XMappingEvent xmapping;
         XErrorEvent xerror;
         XKeymapEvent xkeymap;
         long pad[24];
 } XEvent;
 
 
 
 
 
 
 
 typedef struct {
     short lbearing;
     short rbearing;
     short width;
     short ascent;
     short descent;
     unsigned short attributes;
 } XCharStruct;
 
 
 
 
 
 typedef struct {
     Atom name;
     unsigned long card32;
 } XFontProp;
 
 typedef struct {
     XExtData *ext_data;
     Font fid;
     unsigned direction;
     unsigned min_char_or_byte2;
     unsigned max_char_or_byte2;
     unsigned min_byte1;
     unsigned max_byte1;
     int all_chars_exist;
     unsigned default_char;
     int n_properties;
     XFontProp *properties;
     XCharStruct min_bounds;
     XCharStruct max_bounds;
     XCharStruct *per_char;
     int ascent;
     int descent;
 } XFontStruct;
 
 
 
 
 typedef struct {
     char *chars;
     int nchars;
     int delta;
     Font font;
 } XTextItem;
 
 typedef struct {
     unsigned char byte1;
     unsigned char byte2;
 } XChar2b;
 
 typedef struct {
     XChar2b *chars;
     int nchars;
     int delta;
     Font font;
 } XTextItem16;
 
 
 typedef union { Display *display;
                 GC gc;
                 Visual *visual;
                 Screen *screen;
                 ScreenFormat *pixmap_format;
                 XFontStruct *font; } XEDataObject;
 
 typedef struct {
     XRectangle max_ink_extent;
     XRectangle max_logical_extent;
 } XFontSetExtents;
 
 
 
 
 
 typedef struct _XOM *XOM;
 typedef struct _XOC *XOC, *XFontSet;
 
 typedef struct {
     char *chars;
     int nchars;
     int delta;
     XFontSet font_set;
 } XmbTextItem;
 
 typedef struct {
     wchar_t *chars;
     int nchars;
     int delta;
     XFontSet font_set;
 } XwcTextItem;
 # 1112 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct {
     int charset_count;
     char **charset_list;
 } XOMCharSetList;
 
 typedef enum {
     XOMOrientation_LTR_TTB,
     XOMOrientation_RTL_TTB,
     XOMOrientation_TTB_LTR,
     XOMOrientation_TTB_RTL,
     XOMOrientation_Context
 } XOrientation;
 
 typedef struct {
     int num_orientation;
     XOrientation *orientation;
 } XOMOrientation;
 
 typedef struct {
     int num_font;
     XFontStruct **font_struct_list;
     char **font_name_list;
 } XOMFontInfo;
 
 typedef struct _XIM *XIM;
 typedef struct _XIC *XIC;
 
 typedef void (*XIMProc)(
 
     XIM,
     XPointer,
     XPointer
 
 );
 
 typedef int (*XICProc)(
 
     XIC,
     XPointer,
     XPointer
 
 );
 
 typedef void (*XIDProc)(
 
     Display*,
     XPointer,
     XPointer
 
 );
 
 typedef unsigned long XIMStyle;
 
 typedef struct {
     unsigned short count_styles;
     XIMStyle *supported_styles;
 } XIMStyles;
 # 1231 "/usr/X11R6/include/X11/Xlib.h"
 typedef void *XVaNestedList;
 
 
 
 
 typedef struct {
     XPointer client_data;
     XIMProc callback;
 } XIMCallback;
 
 typedef struct {
     XPointer client_data;
     XICProc callback;
 } XICCallback;
 
 typedef unsigned long XIMFeedback;
 # 1258 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct _XIMText {
     unsigned short length;
     XIMFeedback *feedback;
     int encoding_is_wchar;
     union {
         char *multi_byte;
         wchar_t *wide_char;
     } string;
 } XIMText;
 
 typedef unsigned long XIMPreeditState;
 
 
 
 
 
 typedef struct _XIMPreeditStateNotifyCallbackStruct {
     XIMPreeditState state;
 } XIMPreeditStateNotifyCallbackStruct;
 
 typedef unsigned long XIMResetState;
 
 
 
 
 typedef unsigned long XIMStringConversionFeedback;
 # 1292 "/usr/X11R6/include/X11/Xlib.h"
 typedef struct _XIMStringConversionText {
     unsigned short length;
     XIMStringConversionFeedback *feedback;
     int encoding_is_wchar;
     union {
         char *mbs;
         wchar_t *wcs;
     } string;
 } XIMStringConversionText;
 
 typedef unsigned short XIMStringConversionPosition;
 
 typedef unsigned short XIMStringConversionType;
 
 
 
 
 
 
 typedef unsigned short XIMStringConversionOperation;
 
 
 
 
 typedef enum {
     XIMForwardChar, XIMBackwardChar,
     XIMForwardWord, XIMBackwardWord,
     XIMCaretUp, XIMCaretDown,
     XIMNextLine, XIMPreviousLine,
     XIMLineStart, XIMLineEnd,
     XIMAbsolutePosition,
     XIMDontChange
 } XIMCaretDirection;
 
 typedef struct _XIMStringConversionCallbackStruct {
     XIMStringConversionPosition position;
     XIMCaretDirection direction;
     XIMStringConversionOperation operation;
     unsigned short factor;
     XIMStringConversionText *text;
 } XIMStringConversionCallbackStruct;
 
 typedef struct _XIMPreeditDrawCallbackStruct {
     int caret;
     int chg_first;
     int chg_length;
     XIMText *text;
 } XIMPreeditDrawCallbackStruct;
 
 typedef enum {
     XIMIsInvisible,
     XIMIsPrimary,
     XIMIsSecondary
 } XIMCaretStyle;
 
 typedef struct _XIMPreeditCaretCallbackStruct {
     int position;
     XIMCaretDirection direction;
     XIMCaretStyle style;
 } XIMPreeditCaretCallbackStruct;
 
 typedef enum {
     XIMTextType,
     XIMBitmapType
 } XIMStatusDataType;
 
 typedef struct _XIMStatusDrawCallbackStruct {
     XIMStatusDataType type;
     union {
         XIMText *text;
         Pixmap bitmap;
     } data;
 } XIMStatusDrawCallbackStruct;
 
 typedef struct _XIMHotKeyTrigger {
     KeySym keysym;
     int modifier;
     int modifier_mask;
 } XIMHotKeyTrigger;
 
 typedef struct _XIMHotKeyTriggers {
     int num_hot_key;
     XIMHotKeyTrigger *key;
 } XIMHotKeyTriggers;
 
 typedef unsigned long XIMHotKeyState;
 
 
 
 
 typedef struct {
     unsigned short count_values;
     char **supported_values;
 } XIMValuesList;
 
 extern "C" {
 
 
 
 
 
 extern int _Xdebug;
 
 extern XFontStruct *XLoadQueryFont(
 
     Display* ,
     const char*
 
 );
 
 extern XFontStruct *XQueryFont(
 
     Display* ,
     XID
 
 );
 
 
 extern XTimeCoord *XGetMotionEvents(
 
     Display* ,
     Window ,
     Time ,
     Time ,
     int*
 
 );
 
 extern XModifierKeymap *XDeleteModifiermapEntry(
 
     XModifierKeymap* ,
 
     unsigned int ,
 
 
 
     int
 
 );
 
 extern XModifierKeymap *XGetModifierMapping(
 
     Display*
 
 );
 
 extern XModifierKeymap *XInsertModifiermapEntry(
 
     XModifierKeymap* ,
 
     unsigned int ,
 
 
 
     int
 
 );
 
 extern XModifierKeymap *XNewModifiermap(
 
     int
 
 );
 
 extern XImage *XCreateImage(
 
     Display* ,
     Visual* ,
     unsigned int ,
     int ,
     int ,
     char* ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 extern int XInitImage(
 
     XImage*
 
 );
 extern XImage *XGetImage(
 
     Display* ,
     Drawable ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     unsigned long ,
     int
 
 );
 extern XImage *XGetSubImage(
 
     Display* ,
     Drawable ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     unsigned long ,
     int ,
     XImage* ,
     int ,
     int
 
 );
 
 
 
 
 extern Display *XOpenDisplay(
 
     const char*
 
 );
 
 extern void XrmInitialize(
 
     void
 
 );
 
 extern char *XFetchBytes(
 
     Display* ,
     int*
 
 );
 extern char *XFetchBuffer(
 
     Display* ,
     int* ,
     int
 
 );
 extern char *XGetAtomName(
 
     Display* ,
     Atom
 
 );
 extern int XGetAtomNames(
 
     Display* ,
     Atom* ,
     int ,
     char**
 
 );
 extern char *XGetDefault(
 
     Display* ,
     const char* ,
     const char*
 
 );
 extern char *XDisplayName(
 
     const char*
 
 );
 extern char *XKeysymToString(
 
     KeySym
 
 );
 
 extern int (*XSynchronize(
 
     Display* ,
     int
 
 ))(
 
     Display*
 
 );
 extern int (*XSetAfterFunction(
 
     Display* ,
     int (*) (
 
              Display*
 
             )
 
 ))(
 
     Display*
 
 );
 extern Atom XInternAtom(
 
     Display* ,
     const char* ,
     int
 
 );
 extern int XInternAtoms(
 
     Display* ,
     char** ,
     int ,
     int ,
     Atom*
 
 );
 extern Colormap XCopyColormapAndFree(
 
     Display* ,
     Colormap
 
 );
 extern Colormap XCreateColormap(
 
     Display* ,
     Window ,
     Visual* ,
     int
 
 );
 extern Cursor XCreatePixmapCursor(
 
     Display* ,
     Pixmap ,
     Pixmap ,
     XColor* ,
     XColor* ,
     unsigned int ,
     unsigned int
 
 );
 extern Cursor XCreateGlyphCursor(
 
     Display* ,
     Font ,
     Font ,
     unsigned int ,
     unsigned int ,
     XColor const * ,
     XColor const *
 
 );
 extern Cursor XCreateFontCursor(
 
     Display* ,
     unsigned int
 
 );
 extern Font XLoadFont(
 
     Display* ,
     const char*
 
 );
 extern GC XCreateGC(
 
     Display* ,
     Drawable ,
     unsigned long ,
     XGCValues*
 
 );
 extern GContext XGContextFromGC(
 
     GC
 
 );
 extern void XFlushGC(
 
     Display* ,
     GC
 
 );
 extern Pixmap XCreatePixmap(
 
     Display* ,
     Drawable ,
     unsigned int ,
     unsigned int ,
     unsigned int
 
 );
 extern Pixmap XCreateBitmapFromData(
 
     Display* ,
     Drawable ,
     const char* ,
     unsigned int ,
     unsigned int
 
 );
 extern Pixmap XCreatePixmapFromBitmapData(
 
     Display* ,
     Drawable ,
     char* ,
     unsigned int ,
     unsigned int ,
     unsigned long ,
     unsigned long ,
     unsigned int
 
 );
 extern Window XCreateSimpleWindow(
 
     Display* ,
     Window ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     unsigned int ,
     unsigned long ,
     unsigned long
 
 );
 extern Window XGetSelectionOwner(
 
     Display* ,
     Atom
 
 );
 extern Window XCreateWindow(
 
     Display* ,
     Window ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     unsigned int ,
     int ,
     unsigned int ,
     Visual* ,
     unsigned long ,
     XSetWindowAttributes*
 
 );
 extern Colormap *XListInstalledColormaps(
 
     Display* ,
     Window ,
     int*
 
 );
 extern char **XListFonts(
 
     Display* ,
     const char* ,
     int ,
     int*
 
 );
 extern char **XListFontsWithInfo(
 
     Display* ,
     const char* ,
     int ,
     int* ,
     XFontStruct**
 
 );
 extern char **XGetFontPath(
 
     Display* ,
     int*
 
 );
 extern char **XListExtensions(
 
     Display* ,
     int*
 
 );
 extern Atom *XListProperties(
 
     Display* ,
     Window ,
     int*
 
 );
 extern XHostAddress *XListHosts(
 
     Display* ,
     int* ,
     int*
 
 );
 extern KeySym XKeycodeToKeysym(
 
     Display* ,
 
     unsigned int ,
 
 
 
     int
 
 );
 extern KeySym XLookupKeysym(
 
     XKeyEvent* ,
     int
 
 );
 extern KeySym *XGetKeyboardMapping(
 
     Display* ,
 
     unsigned int ,
 
 
 
     int ,
     int*
 
 );
 extern KeySym XStringToKeysym(
 
     const char*
 
 );
 extern long XMaxRequestSize(
 
     Display*
 
 );
 extern long XExtendedMaxRequestSize(
 
     Display*
 
 );
 extern char *XResourceManagerString(
 
     Display*
 
 );
 extern char *XScreenResourceString(
 
         Screen*
 
 );
 extern unsigned long XDisplayMotionBufferSize(
 
     Display*
 
 );
 extern VisualID XVisualIDFromVisual(
 
     Visual*
 
 );
 
 
 
 extern int XInitThreads(
 
     void
 
 );
 
 extern void XLockDisplay(
 
     Display*
 
 );
 
 extern void XUnlockDisplay(
 
     Display*
 
 );
 
 
 
 extern XExtCodes *XInitExtension(
 
     Display* ,
     const char*
 
 );
 
 extern XExtCodes *XAddExtension(
 
     Display*
 
 );
 extern XExtData *XFindOnExtensionList(
 
     XExtData** ,
     int
 
 );
 extern XExtData **XEHeadOfExtensionList(
 
     XEDataObject
 
 );
 
 
 extern Window XRootWindow(
 
     Display* ,
     int
 
 );
 extern Window XDefaultRootWindow(
 
     Display*
 
 );
 extern Window XRootWindowOfScreen(
 
     Screen*
 
 );
 extern Visual *XDefaultVisual(
 
     Display* ,
     int
 
 );
 extern Visual *XDefaultVisualOfScreen(
 
     Screen*
 
 );
 extern GC XDefaultGC(
 
     Display* ,
     int
 
 );
 extern GC XDefaultGCOfScreen(
 
     Screen*
 
 );
 extern unsigned long XBlackPixel(
 
     Display* ,
     int
 
 );
 extern unsigned long XWhitePixel(
 
     Display* ,
     int
 
 );
 extern unsigned long XAllPlanes(
 
     void
 
 );
 extern unsigned long XBlackPixelOfScreen(
 
     Screen*
 
 );
 extern unsigned long XWhitePixelOfScreen(
 
     Screen*
 
 );
 extern unsigned long XNextRequest(
 
     Display*
 
 );
 extern unsigned long XLastKnownRequestProcessed(
 
     Display*
 
 );
 extern char *XServerVendor(
 
     Display*
 
 );
 extern char *XDisplayString(
 
     Display*
 
 );
 extern Colormap XDefaultColormap(
 
     Display* ,
     int
 
 );
 extern Colormap XDefaultColormapOfScreen(
 
     Screen*
 
 );
 extern Display *XDisplayOfScreen(
 
     Screen*
 
 );
 extern Screen *XScreenOfDisplay(
 
     Display* ,
     int
 
 );
 extern Screen *XDefaultScreenOfDisplay(
 
     Display*
 
 );
 extern long XEventMaskOfScreen(
 
     Screen*
 
 );
 
 extern int XScreenNumberOfScreen(
 
     Screen*
 
 );
 
 typedef int (*XErrorHandler) (
 
     Display* ,
     XErrorEvent*
 
 );
 
 extern XErrorHandler XSetErrorHandler (
 
     XErrorHandler
 
 );
 
 
 typedef int (*XIOErrorHandler) (
 
     Display*
 
 );
 
 extern XIOErrorHandler XSetIOErrorHandler (
 
     XIOErrorHandler
 
 );
 
 
 extern XPixmapFormatValues *XListPixmapFormats(
 
     Display* ,
     int*
 
 );
 extern int *XListDepths(
 
     Display* ,
     int ,
     int*
 
 );
 
 
 
 extern int XReconfigureWMWindow(
 
     Display* ,
     Window ,
     int ,
     unsigned int ,
     XWindowChanges*
 
 );
 
 extern int XGetWMProtocols(
 
     Display* ,
     Window ,
     Atom** ,
     int*
 
 );
 extern int XSetWMProtocols(
 
     Display* ,
     Window ,
     Atom* ,
     int
 
 );
 extern int XIconifyWindow(
 
     Display* ,
     Window ,
     int
 
 );
 extern int XWithdrawWindow(
 
     Display* ,
     Window ,
     int
 
 );
 extern int XGetCommand(
 
     Display* ,
     Window ,
     char*** ,
     int*
 
 );
 extern int XGetWMColormapWindows(
 
     Display* ,
     Window ,
     Window** ,
     int*
 
 );
 extern int XSetWMColormapWindows(
 
     Display* ,
     Window ,
     Window* ,
     int
 
 );
 extern void XFreeStringList(
 
     char**
 
 );
 extern int XSetTransientForHint(
 
     Display* ,
     Window ,
     Window
 
 );
 
 
 
 extern int XActivateScreenSaver(
 
     Display*
 
 );
 
 extern int XAddHost(
 
     Display* ,
     XHostAddress*
 
 );
 
 extern int XAddHosts(
 
     Display* ,
     XHostAddress* ,
     int
 
 );
 
 extern int XAddToExtensionList(
 
     struct _XExtData** ,
     XExtData*
 
 );
 
 extern int XAddToSaveSet(
 
     Display* ,
     Window
 
 );
 
 extern int XAllocColor(
 
     Display* ,
     Colormap ,
     XColor*
 
 );
 
 extern int XAllocColorCells(
 
     Display* ,
     Colormap ,
     int ,
     unsigned long* ,
     unsigned int ,
     unsigned long* ,
     unsigned int
 
 );
 
 extern int XAllocColorPlanes(
 
     Display* ,
     Colormap ,
     int ,
     unsigned long* ,
     int ,
     int ,
     int ,
     int ,
     unsigned long* ,
     unsigned long* ,
     unsigned long*
 
 );
 
 extern int XAllocNamedColor(
 
     Display* ,
     Colormap ,
     const char* ,
     XColor* ,
     XColor*
 
 );
 
 extern int XAllowEvents(
 
     Display* ,
     int ,
     Time
 
 );
 
 extern int XAutoRepeatOff(
 
     Display*
 
 );
 
 extern int XAutoRepeatOn(
 
     Display*
 
 );
 
 extern int XBell(
 
     Display* ,
     int
 
 );
 
 extern int XBitmapBitOrder(
 
     Display*
 
 );
 
 extern int XBitmapPad(
 
     Display*
 
 );
 
 extern int XBitmapUnit(
 
     Display*
 
 );
 
 extern int XCellsOfScreen(
 
     Screen*
 
 );
 
 extern int XChangeActivePointerGrab(
 
     Display* ,
     unsigned int ,
     Cursor ,
     Time
 
 );
 
 extern int XChangeGC(
 
     Display* ,
     GC ,
     unsigned long ,
     XGCValues*
 
 );
 
 extern int XChangeKeyboardControl(
 
     Display* ,
     unsigned long ,
     XKeyboardControl*
 
 );
 
 extern int XChangeKeyboardMapping(
 
     Display* ,
     int ,
     int ,
     KeySym* ,
     int
 
 );
 
 extern int XChangePointerControl(
 
     Display* ,
     int ,
     int ,
     int ,
     int ,
     int
 
 );
 
 extern int XChangeProperty(
 
     Display* ,
     Window ,
     Atom ,
     Atom ,
     int ,
     int ,
     const unsigned char* ,
     int
 
 );
 
 extern int XChangeSaveSet(
 
     Display* ,
     Window ,
     int
 
 );
 
 extern int XChangeWindowAttributes(
 
     Display* ,
     Window ,
     unsigned long ,
     XSetWindowAttributes*
 
 );
 
 extern int XCheckIfEvent(
 
     Display* ,
     XEvent* ,
     int (*) (
 
                Display* ,
                XEvent* ,
                XPointer
 
              ) ,
     XPointer
 
 );
 
 extern int XCheckMaskEvent(
 
     Display* ,
     long ,
     XEvent*
 
 );
 
 extern int XCheckTypedEvent(
 
     Display* ,
     int ,
     XEvent*
 
 );
 
 extern int XCheckTypedWindowEvent(
 
     Display* ,
     Window ,
     int ,
     XEvent*
 
 );
 
 extern int XCheckWindowEvent(
 
     Display* ,
     Window ,
     long ,
     XEvent*
 
 );
 
 extern int XCirculateSubwindows(
 
     Display* ,
     Window ,
     int
 
 );
 
 extern int XCirculateSubwindowsDown(
 
     Display* ,
     Window
 
 );
 
 extern int XCirculateSubwindowsUp(
 
     Display* ,
     Window
 
 );
 
 extern int XClearArea(
 
     Display* ,
     Window ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int
 
 );
 
 extern int XClearWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XCloseDisplay(
 
     Display*
 
 );
 
 extern int XConfigureWindow(
 
     Display* ,
     Window ,
     unsigned int ,
     XWindowChanges*
 
 );
 
 extern int XConnectionNumber(
 
     Display*
 
 );
 
 extern int XConvertSelection(
 
     Display* ,
     Atom ,
     Atom ,
     Atom ,
     Window ,
     Time
 
 );
 
 extern int XCopyArea(
 
     Display* ,
     Drawable ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 
 extern int XCopyGC(
 
     Display* ,
     GC ,
     unsigned long ,
     GC
 
 );
 
 extern int XCopyPlane(
 
     Display* ,
     Drawable ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int ,
     int ,
     unsigned long
 
 );
 
 extern int XDefaultDepth(
 
     Display* ,
     int
 
 );
 
 extern int XDefaultDepthOfScreen(
 
     Screen*
 
 );
 
 extern int XDefaultScreen(
 
     Display*
 
 );
 
 extern int XDefineCursor(
 
     Display* ,
     Window ,
     Cursor
 
 );
 
 extern int XDeleteProperty(
 
     Display* ,
     Window ,
     Atom
 
 );
 
 extern int XDestroyWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XDestroySubwindows(
 
     Display* ,
     Window
 
 );
 
 extern int XDoesBackingStore(
 
     Screen*
 
 );
 
 extern int XDoesSaveUnders(
 
     Screen*
 
 );
 
 extern int XDisableAccessControl(
 
     Display*
 
 );
 
 
 extern int XDisplayCells(
 
     Display* ,
     int
 
 );
 
 extern int XDisplayHeight(
 
     Display* ,
     int
 
 );
 
 extern int XDisplayHeightMM(
 
     Display* ,
     int
 
 );
 
 extern int XDisplayKeycodes(
 
     Display* ,
     int* ,
     int*
 
 );
 
 extern int XDisplayPlanes(
 
     Display* ,
     int
 
 );
 
 extern int XDisplayWidth(
 
     Display* ,
     int
 
 );
 
 extern int XDisplayWidthMM(
 
     Display* ,
     int
 
 );
 
 extern int XDrawArc(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 
 extern int XDrawArcs(
 
     Display* ,
     Drawable ,
     GC ,
     XArc* ,
     int
 
 );
 
 extern int XDrawImageString(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern int XDrawImageString16(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     const XChar2b* ,
     int
 
 );
 
 extern int XDrawLine(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     int ,
     int
 
 );
 
 extern int XDrawLines(
 
     Display* ,
     Drawable ,
     GC ,
     XPoint* ,
     int ,
     int
 
 );
 
 extern int XDrawPoint(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int
 
 );
 
 extern int XDrawPoints(
 
     Display* ,
     Drawable ,
     GC ,
     XPoint* ,
     int ,
     int
 
 );
 
 extern int XDrawRectangle(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XDrawRectangles(
 
     Display* ,
     Drawable ,
     GC ,
     XRectangle* ,
     int
 
 );
 
 extern int XDrawSegments(
 
     Display* ,
     Drawable ,
     GC ,
     XSegment* ,
     int
 
 );
 
 extern int XDrawString(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern int XDrawString16(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     const XChar2b* ,
     int
 
 );
 
 extern int XDrawText(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     XTextItem* ,
     int
 
 );
 
 extern int XDrawText16(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     XTextItem16* ,
     int
 
 );
 
 extern int XEnableAccessControl(
 
     Display*
 
 );
 
 extern int XEventsQueued(
 
     Display* ,
     int
 
 );
 
 extern int XFetchName(
 
     Display* ,
     Window ,
     char**
 
 );
 
 extern int XFillArc(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 
 extern int XFillArcs(
 
     Display* ,
     Drawable ,
     GC ,
     XArc* ,
     int
 
 );
 
 extern int XFillPolygon(
 
     Display* ,
     Drawable ,
     GC ,
     XPoint* ,
     int ,
     int ,
     int
 
 );
 
 extern int XFillRectangle(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XFillRectangles(
 
     Display* ,
     Drawable ,
     GC ,
     XRectangle* ,
     int
 
 );
 
 extern int XFlush(
 
     Display*
 
 );
 
 extern int XForceScreenSaver(
 
     Display* ,
     int
 
 );
 
 extern int XFree(
 
     void*
 
 );
 
 extern int XFreeColormap(
 
     Display* ,
     Colormap
 
 );
 
 extern int XFreeColors(
 
     Display* ,
     Colormap ,
     unsigned long* ,
     int ,
     unsigned long
 
 );
 
 extern int XFreeCursor(
 
     Display* ,
     Cursor
 
 );
 
 extern int XFreeExtensionList(
 
     char**
 
 );
 
 extern int XFreeFont(
 
     Display* ,
     XFontStruct*
 
 );
 
 extern int XFreeFontInfo(
 
     char** ,
     XFontStruct* ,
     int
 
 );
 
 extern int XFreeFontNames(
 
     char**
 
 );
 
 extern int XFreeFontPath(
 
     char**
 
 );
 
 extern int XFreeGC(
 
     Display* ,
     GC
 
 );
 
 extern int XFreeModifiermap(
 
     XModifierKeymap*
 
 );
 
 extern int XFreePixmap(
 
     Display* ,
     Pixmap
 
 );
 
 extern int XGeometry(
 
     Display* ,
     int ,
     const char* ,
     const char* ,
     unsigned int ,
     unsigned int ,
     unsigned int ,
     int ,
     int ,
     int* ,
     int* ,
     int* ,
     int*
 
 );
 
 extern int XGetErrorDatabaseText(
 
     Display* ,
     const char* ,
     const char* ,
     const char* ,
     char* ,
     int
 
 );
 
 extern int XGetErrorText(
 
     Display* ,
     int ,
     char* ,
     int
 
 );
 
 extern int XGetFontProperty(
 
     XFontStruct* ,
     Atom ,
     unsigned long*
 
 );
 
 extern int XGetGCValues(
 
     Display* ,
     GC ,
     unsigned long ,
     XGCValues*
 
 );
 
 extern int XGetGeometry(
 
     Display* ,
     Drawable ,
     Window* ,
     int* ,
     int* ,
     unsigned int* ,
     unsigned int* ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XGetIconName(
 
     Display* ,
     Window ,
     char**
 
 );
 
 extern int XGetInputFocus(
 
     Display* ,
     Window* ,
     int*
 
 );
 
 extern int XGetKeyboardControl(
 
     Display* ,
     XKeyboardState*
 
 );
 
 extern int XGetPointerControl(
 
     Display* ,
     int* ,
     int* ,
     int*
 
 );
 
 extern int XGetPointerMapping(
 
     Display* ,
     unsigned char* ,
     int
 
 );
 
 extern int XGetScreenSaver(
 
     Display* ,
     int* ,
     int* ,
     int* ,
     int*
 
 );
 
 extern int XGetTransientForHint(
 
     Display* ,
     Window ,
     Window*
 
 );
 
 extern int XGetWindowProperty(
 
     Display* ,
     Window ,
     Atom ,
     long ,
     long ,
     int ,
     Atom ,
     Atom* ,
     int* ,
     unsigned long* ,
     unsigned long* ,
     unsigned char**
 
 );
 
 extern int XGetWindowAttributes(
 
     Display* ,
     Window ,
     XWindowAttributes*
 
 );
 
 extern int XGrabButton(
 
     Display* ,
     unsigned int ,
     unsigned int ,
     Window ,
     int ,
     unsigned int ,
     int ,
     int ,
     Window ,
     Cursor
 
 );
 
 extern int XGrabKey(
 
     Display* ,
     int ,
     unsigned int ,
     Window ,
     int ,
     int ,
     int
 
 );
 
 extern int XGrabKeyboard(
 
     Display* ,
     Window ,
     int ,
     int ,
     int ,
     Time
 
 );
 
 extern int XGrabPointer(
 
     Display* ,
     Window ,
     int ,
     unsigned int ,
     int ,
     int ,
     Window ,
     Cursor ,
     Time
 
 );
 
 extern int XGrabServer(
 
     Display*
 
 );
 
 extern int XHeightMMOfScreen(
 
     Screen*
 
 );
 
 extern int XHeightOfScreen(
 
     Screen*
 
 );
 
 extern int XIfEvent(
 
     Display* ,
     XEvent* ,
     int (*) (
 
                Display* ,
                XEvent* ,
                XPointer
 
              ) ,
     XPointer
 
 );
 
 extern int XImageByteOrder(
 
     Display*
 
 );
 
 extern int XInstallColormap(
 
     Display* ,
     Colormap
 
 );
 
 extern KeyCode XKeysymToKeycode(
 
     Display* ,
     KeySym
 
 );
 
 extern int XKillClient(
 
     Display* ,
     XID
 
 );
 
 extern int XLookupColor(
 
     Display* ,
     Colormap ,
     const char* ,
     XColor* ,
     XColor*
 
 );
 
 extern int XLowerWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XMapRaised(
 
     Display* ,
     Window
 
 );
 
 extern int XMapSubwindows(
 
     Display* ,
     Window
 
 );
 
 extern int XMapWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XMaskEvent(
 
     Display* ,
     long ,
     XEvent*
 
 );
 
 extern int XMaxCmapsOfScreen(
 
     Screen*
 
 );
 
 extern int XMinCmapsOfScreen(
 
     Screen*
 
 );
 
 extern int XMoveResizeWindow(
 
     Display* ,
     Window ,
     int ,
     int ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XMoveWindow(
 
     Display* ,
     Window ,
     int ,
     int
 
 );
 
 extern int XNextEvent(
 
     Display* ,
     XEvent*
 
 );
 
 extern int XNoOp(
 
     Display*
 
 );
 
 extern int XParseColor(
 
     Display* ,
     Colormap ,
     const char* ,
     XColor*
 
 );
 
 extern int XParseGeometry(
 
     const char* ,
     int* ,
     int* ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XPeekEvent(
 
     Display* ,
     XEvent*
 
 );
 
 extern int XPeekIfEvent(
 
     Display* ,
     XEvent* ,
     int (*) (
 
                Display* ,
                XEvent* ,
                XPointer
 
              ) ,
     XPointer
 
 );
 
 extern int XPending(
 
     Display*
 
 );
 
 extern int XPlanesOfScreen(
 
     Screen*
 
 
 );
 
 extern int XProtocolRevision(
 
     Display*
 
 );
 
 extern int XProtocolVersion(
 
     Display*
 
 );
 
 
 extern int XPutBackEvent(
 
     Display* ,
     XEvent*
 
 );
 
 extern int XPutImage(
 
     Display* ,
     Drawable ,
     GC ,
     XImage* ,
     int ,
     int ,
     int ,
     int ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XQLength(
 
     Display*
 
 );
 
 extern int XQueryBestCursor(
 
     Display* ,
     Drawable ,
     unsigned int ,
     unsigned int ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XQueryBestSize(
 
     Display* ,
     int ,
     Drawable ,
     unsigned int ,
     unsigned int ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XQueryBestStipple(
 
     Display* ,
     Drawable ,
     unsigned int ,
     unsigned int ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XQueryBestTile(
 
     Display* ,
     Drawable ,
     unsigned int ,
     unsigned int ,
     unsigned int* ,
     unsigned int*
 
 );
 
 extern int XQueryColor(
 
     Display* ,
     Colormap ,
     XColor*
 
 );
 
 extern int XQueryColors(
 
     Display* ,
     Colormap ,
     XColor* ,
     int
 
 );
 
 extern int XQueryExtension(
 
     Display* ,
     const char* ,
     int* ,
     int* ,
     int*
 
 );
 
 extern int XQueryKeymap(
 
     Display* ,
     char [32]
 
 );
 
 extern int XQueryPointer(
 
     Display* ,
     Window ,
     Window* ,
     Window* ,
     int* ,
     int* ,
     int* ,
     int* ,
     unsigned int*
 
 );
 
 extern int XQueryTextExtents(
 
     Display* ,
     XID ,
     const char* ,
     int ,
     int* ,
     int* ,
     int* ,
     XCharStruct*
 
 );
 
 extern int XQueryTextExtents16(
 
     Display* ,
     XID ,
     const XChar2b* ,
     int ,
     int* ,
     int* ,
     int* ,
     XCharStruct*
 
 );
 
 extern int XQueryTree(
 
     Display* ,
     Window ,
     Window* ,
     Window* ,
     Window** ,
     unsigned int*
 
 );
 
 extern int XRaiseWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XReadBitmapFile(
 
     Display* ,
     Drawable ,
     const char* ,
     unsigned int* ,
     unsigned int* ,
     Pixmap* ,
     int* ,
     int*
 
 );
 
 extern int XReadBitmapFileData(
 
     const char* ,
     unsigned int* ,
     unsigned int* ,
     unsigned char** ,
     int* ,
     int*
 
 );
 
 extern int XRebindKeysym(
 
     Display* ,
     KeySym ,
     KeySym* ,
     int ,
     const unsigned char* ,
     int
 
 );
 
 extern int XRecolorCursor(
 
     Display* ,
     Cursor ,
     XColor* ,
     XColor*
 
 );
 
 extern int XRefreshKeyboardMapping(
 
     XMappingEvent*
 
 );
 
 extern int XRemoveFromSaveSet(
 
     Display* ,
     Window
 
 );
 
 extern int XRemoveHost(
 
     Display* ,
     XHostAddress*
 
 );
 
 extern int XRemoveHosts(
 
     Display* ,
     XHostAddress* ,
     int
 
 );
 
 extern int XReparentWindow(
 
     Display* ,
     Window ,
     Window ,
     int ,
     int
 
 );
 
 extern int XResetScreenSaver(
 
     Display*
 
 );
 
 extern int XResizeWindow(
 
     Display* ,
     Window ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XRestackWindows(
 
     Display* ,
     Window* ,
     int
 
 );
 
 extern int XRotateBuffers(
 
     Display* ,
     int
 
 );
 
 extern int XRotateWindowProperties(
 
     Display* ,
     Window ,
     Atom* ,
     int ,
     int
 
 );
 
 extern int XScreenCount(
 
     Display*
 
 );
 
 extern int XSelectInput(
 
     Display* ,
     Window ,
     long
 
 );
 
 extern int XSendEvent(
 
     Display* ,
     Window ,
     int ,
     long ,
     XEvent*
 
 );
 
 extern int XSetAccessControl(
 
     Display* ,
     int
 
 );
 
 extern int XSetArcMode(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetBackground(
 
     Display* ,
     GC ,
     unsigned long
 
 );
 
 extern int XSetClipMask(
 
     Display* ,
     GC ,
     Pixmap
 
 );
 
 extern int XSetClipOrigin(
 
     Display* ,
     GC ,
     int ,
     int
 
 );
 
 extern int XSetClipRectangles(
 
     Display* ,
     GC ,
     int ,
     int ,
     XRectangle* ,
     int ,
     int
 
 );
 
 extern int XSetCloseDownMode(
 
     Display* ,
     int
 
 );
 
 extern int XSetCommand(
 
     Display* ,
     Window ,
     char** ,
     int
 
 );
 
 extern int XSetDashes(
 
     Display* ,
     GC ,
     int ,
     const char* ,
     int
 
 );
 
 extern int XSetFillRule(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetFillStyle(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetFont(
 
     Display* ,
     GC ,
     Font
 
 );
 
 extern int XSetFontPath(
 
     Display* ,
     char** ,
     int
 
 );
 
 extern int XSetForeground(
 
     Display* ,
     GC ,
     unsigned long
 
 );
 
 extern int XSetFunction(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetGraphicsExposures(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetIconName(
 
     Display* ,
     Window ,
     const char*
 
 );
 
 extern int XSetInputFocus(
 
     Display* ,
     Window ,
     int ,
     Time
 
 );
 
 extern int XSetLineAttributes(
 
     Display* ,
     GC ,
     unsigned int ,
     int ,
     int ,
     int
 
 );
 
 extern int XSetModifierMapping(
 
     Display* ,
     XModifierKeymap*
 
 );
 
 extern int XSetPlaneMask(
 
     Display* ,
     GC ,
     unsigned long
 
 );
 
 extern int XSetPointerMapping(
 
     Display* ,
     const unsigned char* ,
     int
 
 );
 
 extern int XSetScreenSaver(
 
     Display* ,
     int ,
     int ,
     int ,
     int
 
 );
 
 extern int XSetSelectionOwner(
 
     Display* ,
     Atom ,
     Window ,
     Time
 
 );
 
 extern int XSetState(
 
     Display* ,
     GC ,
     unsigned long ,
     unsigned long ,
     int ,
     unsigned long
 
 );
 
 extern int XSetStipple(
 
     Display* ,
     GC ,
     Pixmap
 
 );
 
 extern int XSetSubwindowMode(
 
     Display* ,
     GC ,
     int
 
 );
 
 extern int XSetTSOrigin(
 
     Display* ,
     GC ,
     int ,
     int
 
 );
 
 extern int XSetTile(
 
     Display* ,
     GC ,
     Pixmap
 
 );
 
 extern int XSetWindowBackground(
 
     Display* ,
     Window ,
     unsigned long
 
 );
 
 extern int XSetWindowBackgroundPixmap(
 
     Display* ,
     Window ,
     Pixmap
 
 );
 
 extern int XSetWindowBorder(
 
     Display* ,
     Window ,
     unsigned long
 
 );
 
 extern int XSetWindowBorderPixmap(
 
     Display* ,
     Window ,
     Pixmap
 
 );
 
 extern int XSetWindowBorderWidth(
 
     Display* ,
     Window ,
     unsigned int
 
 );
 
 extern int XSetWindowColormap(
 
     Display* ,
     Window ,
     Colormap
 
 );
 
 extern int XStoreBuffer(
 
     Display* ,
     const char* ,
     int ,
     int
 
 );
 
 extern int XStoreBytes(
 
     Display* ,
     const char* ,
     int
 
 );
 
 extern int XStoreColor(
 
     Display* ,
     Colormap ,
     XColor*
 
 );
 
 extern int XStoreColors(
 
     Display* ,
     Colormap ,
     XColor* ,
     int
 
 );
 
 extern int XStoreName(
 
     Display* ,
     Window ,
     const char*
 
 );
 
 extern int XStoreNamedColor(
 
     Display* ,
     Colormap ,
     const char* ,
     unsigned long ,
     int
 
 );
 
 extern int XSync(
 
     Display* ,
     int
 
 );
 
 extern int XTextExtents(
 
     XFontStruct* ,
     const char* ,
     int ,
     int* ,
     int* ,
     int* ,
     XCharStruct*
 
 );
 
 extern int XTextExtents16(
 
     XFontStruct* ,
     const XChar2b* ,
     int ,
     int* ,
     int* ,
     int* ,
     XCharStruct*
 
 );
 
 extern int XTextWidth(
 
     XFontStruct* ,
     const char* ,
     int
 
 );
 
 extern int XTextWidth16(
 
     XFontStruct* ,
     const XChar2b* ,
     int
 
 );
 
 extern int XTranslateCoordinates(
 
     Display* ,
     Window ,
     Window ,
     int ,
     int ,
     int* ,
     int* ,
     Window*
 
 );
 
 extern int XUndefineCursor(
 
     Display* ,
     Window
 
 );
 
 extern int XUngrabButton(
 
     Display* ,
     unsigned int ,
     unsigned int ,
     Window
 
 );
 
 extern int XUngrabKey(
 
     Display* ,
     int ,
     unsigned int ,
     Window
 
 );
 
 extern int XUngrabKeyboard(
 
     Display* ,
     Time
 
 );
 
 extern int XUngrabPointer(
 
     Display* ,
     Time
 
 );
 
 extern int XUngrabServer(
 
     Display*
 
 );
 
 extern int XUninstallColormap(
 
     Display* ,
     Colormap
 
 );
 
 extern int XUnloadFont(
 
     Display* ,
     Font
 
 );
 
 extern int XUnmapSubwindows(
 
     Display* ,
     Window
 
 );
 
 extern int XUnmapWindow(
 
     Display* ,
     Window
 
 );
 
 extern int XVendorRelease(
 
     Display*
 
 );
 
 extern int XWarpPointer(
 
     Display* ,
     Window ,
     Window ,
     int ,
     int ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 
 extern int XWidthMMOfScreen(
 
     Screen*
 
 );
 
 extern int XWidthOfScreen(
 
     Screen*
 
 );
 
 extern int XWindowEvent(
 
     Display* ,
     Window ,
     long ,
     XEvent*
 
 );
 
 extern int XWriteBitmapFile(
 
     Display* ,
     const char* ,
     Pixmap ,
     unsigned int ,
     unsigned int ,
     int ,
     int
 
 );
 
 extern int XSupportsLocale (void);
 
 extern char *XSetLocaleModifiers(
     const char*
 );
 
 extern XOM XOpenOM(
 
     Display* ,
     struct _XrmHashBucketRec* ,
     const char* ,
     const char*
 
 );
 
 extern int XCloseOM(
 
     XOM
 
 );
 
 extern char *XSetOMValues(
 
     XOM ,
     ...
 
 );
 
 extern char *XGetOMValues(
 
     XOM ,
     ...
 
 );
 
 extern Display *XDisplayOfOM(
 
     XOM
 
 );
 
 extern char *XLocaleOfOM(
 
     XOM
 
 );
 
 extern XOC XCreateOC(
 
     XOM ,
     ...
 
 );
 
 extern void XDestroyOC(
 
     XOC
 
 );
 
 extern XOM XOMOfOC(
 
     XOC
 
 );
 
 extern char *XSetOCValues(
 
     XOC ,
     ...
 
 );
 
 extern char *XGetOCValues(
 
     XOC ,
     ...
 
 );
 
 extern XFontSet XCreateFontSet(
 
     Display* ,
     const char* ,
     char*** ,
     int* ,
     char**
 
 );
 
 extern void XFreeFontSet(
 
     Display* ,
     XFontSet
 
 );
 
 extern int XFontsOfFontSet(
 
     XFontSet ,
     XFontStruct*** ,
     char***
 
 );
 
 extern char *XBaseFontNameListOfFontSet(
 
     XFontSet
 
 );
 
 extern char *XLocaleOfFontSet(
 
     XFontSet
 
 );
 
 extern int XContextDependentDrawing(
 
     XFontSet
 
 );
 
 extern int XDirectionalDependentDrawing(
 
     XFontSet
 
 );
 
 extern int XContextualDrawing(
 
     XFontSet
 
 );
 
 extern XFontSetExtents *XExtentsOfFontSet(
 
     XFontSet
 
 );
 
 extern int XmbTextEscapement(
 
     XFontSet ,
     const char* ,
     int
 
 );
 
 extern int XwcTextEscapement(
 
     XFontSet ,
     const wchar_t* ,
     int
 
 );
 
 extern int Xutf8TextEscapement(
 
     XFontSet ,
     const char* ,
     int
 
 );
 
 extern int XmbTextExtents(
 
     XFontSet ,
     const char* ,
     int ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern int XwcTextExtents(
 
     XFontSet ,
     const wchar_t* ,
     int ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern int Xutf8TextExtents(
 
     XFontSet ,
     const char* ,
     int ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern int XmbTextPerCharExtents(
 
     XFontSet ,
     const char* ,
     int ,
     XRectangle* ,
     XRectangle* ,
     int ,
     int* ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern int XwcTextPerCharExtents(
 
     XFontSet ,
     const wchar_t* ,
     int ,
     XRectangle* ,
     XRectangle* ,
     int ,
     int* ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern int Xutf8TextPerCharExtents(
 
     XFontSet ,
     const char* ,
     int ,
     XRectangle* ,
     XRectangle* ,
     int ,
     int* ,
     XRectangle* ,
     XRectangle*
 
 );
 
 extern void XmbDrawText(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     XmbTextItem* ,
     int
 
 );
 
 extern void XwcDrawText(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     XwcTextItem* ,
     int
 
 );
 
 extern void Xutf8DrawText(
 
     Display* ,
     Drawable ,
     GC ,
     int ,
     int ,
     XmbTextItem* ,
     int
 
 );
 
 extern void XmbDrawString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern void XwcDrawString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const wchar_t* ,
     int
 
 );
 
 extern void Xutf8DrawString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern void XmbDrawImageString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern void XwcDrawImageString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const wchar_t* ,
     int
 
 );
 
 extern void Xutf8DrawImageString(
 
     Display* ,
     Drawable ,
     XFontSet ,
     GC ,
     int ,
     int ,
     const char* ,
     int
 
 );
 
 extern XIM XOpenIM(
 
     Display* ,
     struct _XrmHashBucketRec* ,
     char* ,
     char*
 
 );
 
 extern int XCloseIM(
 
     XIM
 
 );
 
 extern char *XGetIMValues(
 
     XIM , ...
 
 );
 
 extern Display *XDisplayOfIM(
 
     XIM
 
 );
 
 extern char *XLocaleOfIM(
 
     XIM
 
 );
 
 extern XIC XCreateIC(
 
     XIM , ...
 
 );
 
 extern void XDestroyIC(
 
     XIC
 
 );
 
 extern void XSetICFocus(
 
     XIC
 
 );
 
 extern void XUnsetICFocus(
 
     XIC
 
 );
 
 extern wchar_t *XwcResetIC(
 
     XIC
 
 );
 
 extern char *XmbResetIC(
 
     XIC
 
 );
 
 extern char *Xutf8ResetIC(
 
     XIC
 
 );
 
 extern char *XSetICValues(
 
     XIC , ...
 
 );
 
 extern char *XGetICValues(
 
     XIC , ...
 
 );
 
 extern XIM XIMOfIC(
 
     XIC
 
 );
 
 extern int XFilterEvent(
 
     XEvent* ,
     Window
 
 );
 
 extern int XmbLookupString(
 
     XIC ,
     XKeyPressedEvent* ,
     char* ,
     int ,
     KeySym* ,
     int*
 
 );
 
 extern int XwcLookupString(
 
     XIC ,
     XKeyPressedEvent* ,
     wchar_t* ,
     int ,
     KeySym* ,
     int*
 
 );
 
 extern int Xutf8LookupString(
 
     XIC ,
     XKeyPressedEvent* ,
     char* ,
     int ,
     KeySym* ,
     int*
 
 );
 
 extern XVaNestedList XVaCreateNestedList(
 
     int , ...
 
 );
 
 
 
 extern int XRegisterIMInstantiateCallback(
 
     Display* ,
     struct _XrmHashBucketRec* ,
     char* ,
     char* ,
     XIDProc ,
     XPointer
 
 );
 
 extern int XUnregisterIMInstantiateCallback(
 
     Display* ,
     struct _XrmHashBucketRec* ,
     char* ,
     char* ,
     XIDProc ,
     XPointer
 
 );
 
 typedef void (*XConnectionWatchProc)(
 
     Display* ,
     XPointer ,
     int ,
     int ,
     XPointer*
 
 );
 
 
 extern int XInternalConnectionNumbers(
 
     Display* ,
     int** ,
     int*
 
 );
 
 extern void XProcessInternalConnection(
 
     Display* ,
     int
 
 );
 
 extern int XAddConnectionWatch(
 
     Display* ,
     XConnectionWatchProc ,
     XPointer
 
 );
 
 extern void XRemoveConnectionWatch(
 
     Display* ,
     XConnectionWatchProc ,
     XPointer
 
 );
 
 extern void XSetAuthorization(
 
     char * ,
     int ,
     char * ,
     int
 
 );
 
 }
 # 19 "kkeyserver_x11.cpp" 2
 # 1 "/usr/X11R6/include/X11/Xutil.h" 1
 # 70 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct {
         long flags;
         int x, y;
         int width, height;
         int min_width, min_height;
         int max_width, max_height;
         int width_inc, height_inc;
         struct {
                 int x;
                 int y;
         } min_aspect, max_aspect;
         int base_width, base_height;
         int win_gravity;
 } XSizeHints;
 # 108 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct {
         long flags;
         int input;
 
         int initial_state;
         Pixmap icon_pixmap;
         Window icon_window;
         int icon_x, icon_y;
         Pixmap icon_mask;
         XID window_group;
 
 } XWMHints;
 # 152 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct {
     unsigned char *value;
     Atom encoding;
     int format;
     unsigned long nitems;
 } XTextProperty;
 
 
 
 
 
 typedef enum {
     XStringStyle,
     XCompoundTextStyle,
     XTextStyle,
     XStdICCTextStyle,
 
     XUTF8StringStyle
 } XICCEncodingStyle;
 
 typedef struct {
         int min_width, min_height;
         int max_width, max_height;
         int width_inc, height_inc;
 } XIconSize;
 
 typedef struct {
         char *res_name;
         char *res_class;
 } XClassHint;
 # 201 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct _XComposeStatus {
     XPointer compose_ptr;
     int chars_matched;
 } XComposeStatus;
 # 234 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct _XRegion *Region;
 # 248 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct {
   Visual *visual;
   VisualID visualid;
   int screen;
   int depth;
 
   int c_class;
 
 
 
   unsigned long red_mask;
   unsigned long green_mask;
   unsigned long blue_mask;
   int colormap_size;
   int bits_per_rgb;
 } XVisualInfo;
 # 281 "/usr/X11R6/include/X11/Xutil.h"
 typedef struct {
         Colormap colormap;
         unsigned long red_max;
         unsigned long red_mult;
         unsigned long green_max;
         unsigned long green_mult;
         unsigned long blue_max;
         unsigned long blue_mult;
         unsigned long base_pixel;
         VisualID visualid;
         XID killid;
 } XStandardColormap;
 # 318 "/usr/X11R6/include/X11/Xutil.h"
 typedef int XContext;
 
 
 
 
 extern "C" {
 
 
 
 extern XClassHint *XAllocClassHint (
 
     void
 
 );
 
 extern XIconSize *XAllocIconSize (
 
     void
 
 );
 
 extern XSizeHints *XAllocSizeHints (
 
     void
 
 );
 
 extern XStandardColormap *XAllocStandardColormap (
 
     void
 
 );
 
 extern XWMHints *XAllocWMHints (
 
     void
 
 );
 
 extern int XClipBox(
 
     Region ,
     XRectangle*
 
 );
 
 extern Region XCreateRegion(
 
     void
 
 );
 
 extern const char *XDefaultString (void);
 
 extern int XDeleteContext(
 
     Display* ,
     XID ,
     XContext
 
 );
 
 extern int XDestroyRegion(
 
     Region
 
 );
 
 extern int XEmptyRegion(
 
     Region
 
 );
 
 extern int XEqualRegion(
 
     Region ,
     Region
 
 );
 
 extern int XFindContext(
 
     Display* ,
     XID ,
     XContext ,
     XPointer*
 
 );
 
 extern int XGetClassHint(
 
     Display* ,
     Window ,
     XClassHint*
 
 );
 
 extern int XGetIconSizes(
 
     Display* ,
     Window ,
     XIconSize** ,
     int*
 
 );
 
 extern int XGetNormalHints(
 
     Display* ,
     Window ,
     XSizeHints*
 
 );
 
 extern int XGetRGBColormaps(
 
     Display* ,
     Window ,
     XStandardColormap** ,
     int* ,
     Atom
 
 );
 
 extern int XGetSizeHints(
 
     Display* ,
     Window ,
     XSizeHints* ,
     Atom
 
 );
 
 extern int XGetStandardColormap(
 
     Display* ,
     Window ,
     XStandardColormap* ,
     Atom
 
 );
 
 extern int XGetTextProperty(
 
     Display* ,
     Window ,
     XTextProperty* ,
     Atom
 
 );
 
 extern XVisualInfo *XGetVisualInfo(
 
     Display* ,
     long ,
     XVisualInfo* ,
     int*
 
 );
 
 extern int XGetWMClientMachine(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern XWMHints *XGetWMHints(
 
     Display* ,
     Window
 
 );
 
 extern int XGetWMIconName(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern int XGetWMName(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern int XGetWMNormalHints(
 
     Display* ,
     Window ,
     XSizeHints* ,
     long*
 
 );
 
 extern int XGetWMSizeHints(
 
     Display* ,
     Window ,
     XSizeHints* ,
     long* ,
     Atom
 
 );
 
 extern int XGetZoomHints(
 
     Display* ,
     Window ,
     XSizeHints*
 
 );
 
 extern int XIntersectRegion(
 
     Region ,
     Region ,
     Region
 
 );
 
 extern void XConvertCase(
 
     KeySym ,
     KeySym* ,
     KeySym*
 
 );
 
 extern int XLookupString(
 
     XKeyEvent* ,
     char* ,
     int ,
     KeySym* ,
     XComposeStatus*
 
 );
 
 extern int XMatchVisualInfo(
 
     Display* ,
     int ,
     int ,
     int ,
     XVisualInfo*
 
 );
 
 extern int XOffsetRegion(
 
     Region ,
     int ,
     int
 
 );
 
 extern int XPointInRegion(
 
     Region ,
     int ,
     int
 
 );
 
 extern Region XPolygonRegion(
 
     XPoint* ,
     int ,
     int
 
 );
 
 extern int XRectInRegion(
 
     Region ,
     int ,
     int ,
     unsigned int ,
     unsigned int
 
 );
 
 extern int XSaveContext(
 
     Display* ,
     XID ,
     XContext ,
     const char*
 
 );
 
 extern int XSetClassHint(
 
     Display* ,
     Window ,
     XClassHint*
 
 );
 
 extern int XSetIconSizes(
 
     Display* ,
     Window ,
     XIconSize* ,
     int
 
 );
 
 extern int XSetNormalHints(
 
     Display* ,
     Window ,
     XSizeHints*
 
 );
 
 extern void XSetRGBColormaps(
 
     Display* ,
     Window ,
     XStandardColormap* ,
     int ,
     Atom
 
 );
 
 extern int XSetSizeHints(
 
     Display* ,
     Window ,
     XSizeHints* ,
     Atom
 
 );
 
 extern int XSetStandardProperties(
 
     Display* ,
     Window ,
     const char* ,
     const char* ,
     Pixmap ,
     char** ,
     int ,
     XSizeHints*
 
 );
 
 extern void XSetTextProperty(
 
     Display* ,
     Window ,
     XTextProperty* ,
     Atom
 
 );
 
 extern void XSetWMClientMachine(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern int XSetWMHints(
 
     Display* ,
     Window ,
     XWMHints*
 
 );
 
 extern void XSetWMIconName(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern void XSetWMName(
 
     Display* ,
     Window ,
     XTextProperty*
 
 );
 
 extern void XSetWMNormalHints(
 
     Display* ,
     Window ,
     XSizeHints*
 
 );
 
 extern void XSetWMProperties(
 
     Display* ,
     Window ,
     XTextProperty* ,
     XTextProperty* ,
     char** ,
     int ,
     XSizeHints* ,
     XWMHints* ,
     XClassHint*
 
 );
 
 extern void XmbSetWMProperties(
 
     Display* ,
     Window ,
     const char* ,
     const char* ,
     char** ,
     int ,
     XSizeHints* ,
     XWMHints* ,
     XClassHint*
 
 );
 
 extern void Xutf8SetWMProperties(
 
     Display* ,
     Window ,
     const char* ,
     const char* ,
     char** ,
     int ,
     XSizeHints* ,
     XWMHints* ,
     XClassHint*
 
 );
 
 extern void XSetWMSizeHints(
 
     Display* ,
     Window ,
     XSizeHints* ,
     Atom
 
 );
 
 extern int XSetRegion(
 
     Display* ,
     GC ,
     Region
 
 );
 
 extern void XSetStandardColormap(
 
     Display* ,
     Window ,
     XStandardColormap* ,
     Atom
 
 );
 
 extern int XSetZoomHints(
 
     Display* ,
     Window ,
     XSizeHints*
 
 );
 
 extern int XShrinkRegion(
 
     Region ,
     int ,
     int
 
 );
 
 extern int XStringListToTextProperty(
 
     char** ,
     int ,
     XTextProperty*
 
 );
 
 extern int XSubtractRegion(
 
     Region ,
     Region ,
     Region
 
 );
 
 extern int XmbTextListToTextProperty(
     Display* display,
     char** list,
     int count,
     XICCEncodingStyle style,
     XTextProperty* text_prop_return
 );
 
 extern int XwcTextListToTextProperty(
     Display* display,
     wchar_t** list,
     int count,
     XICCEncodingStyle style,
     XTextProperty* text_prop_return
 );
 
 extern int Xutf8TextListToTextProperty(
     Display* display,
     char** list,
     int count,
     XICCEncodingStyle style,
     XTextProperty* text_prop_return
 );
 
 extern void XwcFreeStringList(
     wchar_t** list
 );
 
 extern int XTextPropertyToStringList(
 
     XTextProperty* ,
     char*** ,
     int*
 
 );
 
 extern int XmbTextPropertyToTextList(
     Display* display,
     const XTextProperty* text_prop,
     char*** list_return,
     int* count_return
 );
 
 extern int XwcTextPropertyToTextList(
     Display* display,
     const XTextProperty* text_prop,
     wchar_t*** list_return,
     int* count_return
 );
 
 extern int Xutf8TextPropertyToTextList(
     Display* display,
     const XTextProperty* text_prop,
     char*** list_return,
     int* count_return
 );
 
 extern int XUnionRectWithRegion(
 
     XRectangle* ,
     Region ,
     Region
 
 );
 
 extern int XUnionRegion(
 
     Region ,
     Region ,
     Region
 
 );
 
 extern int XWMGeometry(
 
     Display* ,
     int ,
     const char* ,
     const char* ,
     unsigned int ,
     XSizeHints* ,
     int* ,
     int* ,
     int* ,
     int* ,
     int*
 
 );
 
 extern int XXorRegion(
 
     Region ,
     Region ,
     Region
 
 );
 
 }
 # 20 "kkeyserver_x11.cpp" 2
 # 1 "/usr/X11R6/include/X11/keysymdef.h" 1
 # 21 "kkeyserver_x11.cpp" 2
 
 
 
 
 
 
 namespace KKeyServer
 {
 
 
 
 
 
 struct Mod
 {
         int m_mod;
 };
 
 
 
 
 
 struct ModInfo
 {
         KKey::ModFlag mod;
         int modQt;
         uint modX;
         const char* psName;
         QString sLabel;
 };
 
 struct SymVariation
 {
         uint sym, symVariation;
         bool bActive;
 };
 
 struct SymName
 {
         uint sym;
         const char* psName;
 };
 
 struct TransKey {
         int keySymQt;
         uint keySymX;
 };
 
 
 
 
 
 static ModInfo g_rgModInfo[KKey::MOD_FLAG_COUNT] =
 {
         { KKey::SHIFT, Qt::SHIFT, (1<<0), ("Shift"), QString() },
         { KKey::CTRL, Qt::CTRL, (1<<2), ("Ctrl"), QString() },
         { KKey::ALT, Qt::ALT, (1<<3), ("Alt"), QString() },
         { KKey::WIN, KKey::QtWIN, (1<<6), ("Win"), QString() }
 };
 
 static SymVariation g_rgSymVariation[] =
 {
         { '/', 0xFFAF, false },
         { '*', 0xFFAA, false },
         { '-', 0xFFAD, false },
         { '+', 0xFFAB, false },
         { 0xFF0D, 0xFF8D, false },
         { 0, 0, false }
 };
 
 
 static const SymName g_rgSymNames[] = {
         { 0xFE20, "Backtab" },
         { 0xFF08, ("Backspace") },
         { 0xFF15, ("SysReq") },
         { 0xFFE5, ("CapsLock") },
         { 0xFF7F, ("NumLock") },
         { 0xFF14, ("ScrollLock") },
         { 0xFF55, ("PageUp") },
         { 0xFF56, ("PageDown") },
         { 0, 0 }
 };
 
 
 
 
 static const TransKey g_rgQtToSymX[] =
 {
         { Qt::Key_Escape, 0xFF1B },
         { Qt::Key_Tab, 0xFF09 },
         { Qt::Key_Backtab, 0xFE20 },
         { Qt::Key_Backspace, 0xFF08 },
         { Qt::Key_Return, 0xFF0D },
         { Qt::Key_Enter, 0xFF8D },
         { Qt::Key_Insert, 0xFF63 },
         { Qt::Key_Delete, 0xFFFF },
         { Qt::Key_Pause, 0xFF13 },
         { Qt::Key_Print, 0xFF61 },
         { Qt::Key_SysReq, 0xFF15 },
         { Qt::Key_Home, 0xFF50 },
         { Qt::Key_End, 0xFF57 },
         { Qt::Key_Left, 0xFF51 },
         { Qt::Key_Up, 0xFF52 },
         { Qt::Key_Right, 0xFF53 },
         { Qt::Key_Down, 0xFF54 },
         { Qt::Key_Prior, 0xFF55 },
         { Qt::Key_Next, 0xFF56 },
 
 
 
 
         { Qt::Key_CapsLock, 0xFFE5 },
         { Qt::Key_NumLock, 0xFF7F },
         { Qt::Key_ScrollLock, 0xFF14 },
         { Qt::Key_F1, 0xFFBE },
         { Qt::Key_F2, 0xFFBF },
         { Qt::Key_F3, 0xFFC0 },
         { Qt::Key_F4, 0xFFC1 },
         { Qt::Key_F5, 0xFFC2 },
         { Qt::Key_F6, 0xFFC3 },
         { Qt::Key_F7, 0xFFC4 },
         { Qt::Key_F8, 0xFFC5 },
         { Qt::Key_F9, 0xFFC6 },
         { Qt::Key_F10, 0xFFC7 },
         { Qt::Key_F11, 0xFFC8 },
         { Qt::Key_F12, 0xFFC9 },
         { Qt::Key_F13, 0xFFCA },
         { Qt::Key_F14, 0xFFCB },
         { Qt::Key_F15, 0xFFCC },
         { Qt::Key_F16, 0xFFCD },
         { Qt::Key_F17, 0xFFCE },
         { Qt::Key_F18, 0xFFCF },
         { Qt::Key_F19, 0xFFD0 },
         { Qt::Key_F20, 0xFFD1 },
         { Qt::Key_F21, 0xFFD2 },
         { Qt::Key_F22, 0xFFD3 },
         { Qt::Key_F23, 0xFFD4 },
         { Qt::Key_F24, 0xFFD5 },
         { Qt::Key_F25, 0xFFD6 },
         { Qt::Key_F26, 0xFFD7 },
         { Qt::Key_F27, 0xFFD8 },
         { Qt::Key_F28, 0xFFD9 },
         { Qt::Key_F29, 0xFFDA },
         { Qt::Key_F30, 0xFFDB },
         { Qt::Key_F31, 0xFFDC },
         { Qt::Key_F32, 0xFFDD },
         { Qt::Key_F33, 0xFFDE },
         { Qt::Key_F34, 0xFFDF },
         { Qt::Key_F35, 0xFFE0 },
         { Qt::Key_Super_L, 0xFFEB },
         { Qt::Key_Super_R, 0xFFEC },
         { Qt::Key_Menu, 0xFF67 },
         { Qt::Key_Hyper_L, 0xFFED },
         { Qt::Key_Hyper_R, 0xFFEE },
         { Qt::Key_Help, 0xFF6A },
 
 
 
         { '/', 0xFFAF },
         { '*', 0xFFAA },
         { '-', 0xFFAD },
         { '+', 0xFFAB },
         { Qt::Key_Return, 0xFF8D }
 };
 
 
 
 
 static bool g_bInitializedMods, g_bInitializedVariations, g_bInitializedKKeyLabels;
 static bool g_bMacLabels;
 static uint g_modXNumLock, g_modXScrollLock;
 
 bool initializeMods()
 {
         XModifierKeymap* xmk = XGetModifierMapping( qt_xdisplay() );
 
         g_rgModInfo[3].modX = g_modXNumLock = g_modXScrollLock = 0;
 
 
         for( int i = 4; i < 8; i++ ) {
                 uint mask = (1 << i);
                 uint keySymX = XKeycodeToKeysym( qt_xdisplay(), xmk->modifiermap[xmk->max_keypermod * i], 0 );
                 switch( keySymX ) {
                         case 0xFF7F: g_modXNumLock = mask; break;
                         case 0xFFEB:
                         case 0xFFEC: g_rgModInfo[3].modX = mask; break;
                         case 0xFFE7:
                         case 0xFFE8: if( !g_rgModInfo[3].modX ) g_rgModInfo[3].modX = mask; break;
                         case 0xFF14: g_modXScrollLock = mask; break;
                 }
         }
 
         XFreeModifiermap( xmk );
 
 
 
 
         g_bInitializedMods = true;
 
         kndDebug(125) << "KKeyServer::initializeMods(): Win Mod = 0x" << QString::number(g_rgModInfo[3].modX, 16) << endl;
         return true;
 }
 
 static void initializeVariations()
 {
         for( int i = 0; g_rgSymVariation[i].sym != 0; i++ )
                 g_rgSymVariation[i].bActive = (XKeysymToKeycode( qt_xdisplay(), g_rgSymVariation[i].symVariation ) != 0);
         g_bInitializedVariations = true;
 }
 
 static void intializeKKeyLabels()
 {
         KConfigGroupSaver cgs( KGlobal::config(), "Keyboard" );
         g_rgModInfo[0].sLabel = KGlobal::config()->readEntry( "Label Shift", i18n(g_rgModInfo[0].psName) );
         g_rgModInfo[1].sLabel = KGlobal::config()->readEntry( "Label Ctrl", i18n(g_rgModInfo[1].psName) );
         g_rgModInfo[2].sLabel = KGlobal::config()->readEntry( "Label Alt", i18n(g_rgModInfo[2].psName) );
         g_rgModInfo[3].sLabel = KGlobal::config()->readEntry( "Label Win", i18n(g_rgModInfo[3].psName) );
         g_bMacLabels = (g_rgModInfo[2].sLabel == "Command");
         g_bInitializedKKeyLabels = true;
 }
 # 255 "kkeyserver_x11.cpp"
 bool Sym::initQt( int keyQt )
 {
         int symQt = keyQt & 0xffff;
 
         if( (keyQt & Qt::UNICODE_ACCEL) || symQt < 0x1000 ) {
                 m_sym = QChar(symQt).lower();
                 return true;
         }
 
         for( uint i = 0; i < sizeof(g_rgQtToSymX)/sizeof(TransKey); i++ ) {
                 if( g_rgQtToSymX[i].keySymQt == symQt ) {
                         m_sym = g_rgQtToSymX[i].keySymX;
                         return true;
                 }
         }
 
         m_sym = 0;
         if( symQt != Qt::Key_Shift && symQt != Qt::Key_Control && symQt != Qt::Key_Alt &&
             symQt != Qt::Key_Meta && symQt != Qt::Key_Direction_L && symQt != Qt::Key_Direction_R )
                 kdWarning(125) << "Sym::initQt( " << QString::number(keyQt,16) << " ): failed to convert key." << endl;
         return false;
 }
 
 bool Sym::init( const QString& s )
 {
         if( s.length() == 1 ) {
                 m_sym = s[0].lower().unicode();
                 return true;
         }
 
 
         for( int i = 0; g_rgSymNames[i].sym != 0; i++ ) {
                 if( qstricmp( s.latin1(), g_rgSymNames[i].psName ) == 0 ) {
                         m_sym = g_rgSymNames[i].sym;
                         return true;
                 }
         }
 
 
         m_sym = XStringToKeysym( s.latin1() );
         if( !m_sym ) {
                 m_sym = XStringToKeysym( s.lower().latin1() );
                 if( !m_sym ) {
                         QString s2 = s;
                         s2[0] = s2[0].upper();
                         m_sym = XStringToKeysym( s2.latin1() );
                 }
         }
 
         return m_sym != 0;
 }
 
 int Sym::qt() const
 {
         if( m_sym < 0x1000 ) {
                 if( m_sym >= 'a' && m_sym <= 'z' )
                         return QChar(m_sym).upper();
                 return m_sym;
         }
         if( m_sym < 0x3000 )
                 return m_sym | Qt::UNICODE_ACCEL;
 
         for( uint i = 0; i < sizeof(g_rgQtToSymX)/sizeof(TransKey); i++ )
                 if( g_rgQtToSymX[i].keySymX == m_sym )
                         return g_rgQtToSymX[i].keySymQt;
         return Qt::Key_unknown;
 }
 
 QString Sym::toString( bool bUserSpace ) const
 {
 
         if( m_sym < 0x3000 ) {
                 QChar c = QChar(m_sym).upper();
 
 
                 if( (c.latin1() && c.isLetterOrNumber())
                     || (bUserSpace && !c.isSpace()) )
                                 return c;
         }
 
 
         for( int i = 0; g_rgSymNames[i].sym != 0; i++ ) {
                 if( m_sym == g_rgSymNames[i].sym )
                         return bUserSpace ? i18n(g_rgSymNames[i].psName) : QString(g_rgSymNames[i].psName);
         }
 
 
         QString s = XKeysymToString( m_sym );
         capitalizeKeyname( s );
         return bUserSpace ? i18n("QAccel", s.latin1()) : s;
 }
 
 QString Sym::toStringInternal() const { return toString( false ); }
 QString Sym::toString() const { return toString( true ); }
 
 uint Sym::getModsRequired() const
 {
 
         if( m_sym == 0xFF15 ) return KKey::ALT;
         if( m_sym == 0xFF6B ) return KKey::CTRL;
 
         if( m_sym < 0x3000 ) {
                 QChar c(m_sym);
                 if( c.isLetter() && c.lower() != c.upper() && m_sym == c.upper().unicode() )
                         return KKey::SHIFT;
         }
 
         uchar code = XKeysymToKeycode( qt_xdisplay(), m_sym );
         if( !code
             || m_sym == XKeycodeToKeysym( qt_xdisplay(), code, 0 )
             || m_sym == XKeycodeToKeysym( qt_xdisplay(), code, 2 ) )
                 return 0;
         else
                 return KKey::SHIFT;
 }
 
 uint Sym::getSymVariation() const
 {
         if( !g_bInitializedVariations )
                 initializeVariations();
 
         for( int i = 0; g_rgSymVariation[i].sym != 0; i++ )
                 if( g_rgSymVariation[i].sym == m_sym && g_rgSymVariation[i].bActive )
                         return g_rgSymVariation[i].symVariation;
         return 0;
 }
 
 void Sym::capitalizeKeyname( QString& s )
 {
         s[0] = s[0].upper();
         int len = s.length();
         if( s.endsWith( "left" ) ) s[len-4] = 'L';
         else if( s.endsWith( "right" ) ) s[len-5] = 'R';
         else if( s == "Sysreq" ) s[len-3] = 'R';
 }
 
 
 
 
 
 uint modX( KKey::ModFlag mod )
 {
         if( mod == KKey::WIN && !g_bInitializedMods )
                 initializeMods();
 
         for( uint i = 0; i < KKey::MOD_FLAG_COUNT; i++ ) {
                 if( g_rgModInfo[i].mod == mod )
                         return g_rgModInfo[i].modX;
         }
         return 0;
 }
 
 bool keyboardHasWinKey() { if( !g_bInitializedMods ) { initializeMods(); } return g_rgModInfo[3].modX != 0; }
 uint modXShift() { return (1<<0); }
 uint modXLock() { return (1<<1); }
 uint modXCtrl() { return (1<<2); }
 uint modXAlt() { return (1<<3); }
 uint modXNumLock() { if( !g_bInitializedMods ) { initializeMods(); } return g_modXNumLock; }
 uint modXWin() { if( !g_bInitializedMods ) { initializeMods(); } return g_rgModInfo[3].modX; }
 uint modXScrollLock() { if( !g_bInitializedMods ) { initializeMods(); } return g_modXScrollLock; }
 
 uint accelModMaskX()
 {
         if( !g_bInitializedMods )
                 initializeMods();
         return (1<<0) | (1<<2) | (1<<3) | g_rgModInfo[3].modX;
 }
 
 bool keyQtToSym( int keyQt, uint& keySym )
 {
         Sym sym;
         if( sym.initQt( keyQt ) ) {
                 keySym = sym.m_sym;
                 return true;
         } else
                 return false;
 }
 
 bool keyQtToMod( int keyQt, uint& mod )
 {
         mod = 0;
 
         if( keyQt & Qt::SHIFT ) mod |= KKey::SHIFT;
         if( keyQt & Qt::CTRL ) mod |= KKey::CTRL;
         if( keyQt & Qt::ALT ) mod |= KKey::ALT;
         if( keyQt & (Qt::ALT<<1) ) mod |= KKey::WIN;
 
         return true;
 }
 
 bool symToKeyQt( uint keySym, int& keyQt )
 {
         Sym sym( keySym );
         keyQt = sym.qt();
         return (keyQt != Qt::Key_unknown);
 }
 
 bool modToModQt( uint mod, int& modQt )
 {
         modQt = 0;
         for( int i = 0; i < KKey::MOD_FLAG_COUNT; i++ ) {
                 if( mod & g_rgModInfo[i].mod ) {
                         if( !g_rgModInfo[i].modQt ) {
                                 modQt = 0;
                                 return false;
                         }
                         modQt |= g_rgModInfo[i].modQt;
                 }
         }
         return true;
 }
 
 bool modToModX( uint mod, uint& modX )
 {
         if( !g_bInitializedMods )
                 initializeMods();
 
         modX = 0;
         for( int i = 0; i < KKey::MOD_FLAG_COUNT; i++ ) {
                 if( mod & g_rgModInfo[i].mod ) {
                         if( !g_rgModInfo[i].modX ) {
                                 kndDebug(125) << "Invalid modifier flag." << endl;
                                 modX = 0;
                                 return false;
                         }
                         modX |= g_rgModInfo[i].modX;
                 }
         }
         return true;
 }
 
 bool modXToModQt( uint modX, int& modQt )
 {
         if( !g_bInitializedMods )
                 initializeMods();
 
         modQt = 0;
         for( int i = 0; i < KKey::MOD_FLAG_COUNT; i++ ) {
                 if( modX & g_rgModInfo[i].modX ) {
                         if( !g_rgModInfo[i].modQt ) {
                                 modQt = 0;
                                 return false;
                         }
                         modQt |= g_rgModInfo[i].modQt;
                 }
         }
         return true;
 }
 
 bool modXToMod( uint modX, uint& mod )
 {
         if( !g_bInitializedMods )
                 initializeMods();
 
         mod = 0;
         for( int i = 0; i < KKey::MOD_FLAG_COUNT; i++ ) {
                 if( modX & g_rgModInfo[i].modX )
                         mod |= g_rgModInfo[i].mod;
         }
         return true;
 }
 
 bool codeXToSym( uchar codeX, uint modX, uint& sym )
 {
         XKeyPressedEvent event;
 
         event.type = 2;
         event.display = qt_xdisplay();
         event.state = modX;
         event.keycode = codeX;
 
         XLookupString( &event, 0, 0, (KeySym*) &sym, 0 );
         return true;
 }
 
 static QString modToString( uint mod, bool bUserSpace )
 {
         if( bUserSpace && !g_bInitializedKKeyLabels )
                 intializeKKeyLabels();
 
         QString s;
         for( int i = KKey::MOD_FLAG_COUNT-1; i >= 0; i-- ) {
                 if( mod & g_rgModInfo[i].mod ) {
                         if( !s.isEmpty() )
                                 s += '+';
                         s += (bUserSpace)
                                   ? g_rgModInfo[i].sLabel
                                   : QString(g_rgModInfo[i].psName);
                 }
         }
         return s;
 }
 
 QString modToStringInternal( uint mod ) { return modToString( mod, false ); }
 QString modToStringUser( uint mod ) { return modToString( mod, true ); }
 # 667 "kkeyserver_x11.cpp"
 bool Key::init( const KKey& key, bool bQt )
 {
         if( bQt ) {
                 m_code = CODE_FOR_QT;
                 m_sym = key.keyCodeQt();
         } else {
                 KKeyNative keyNative( key );
                 *this = keyNative;
         }
         return true;
 }
 
 KKey Key::key() const
 {
         if( m_code == CODE_FOR_QT )
                 return KKey( keyCodeQt() );
         else {
                 uint mod;
                 modXToMod( m_mod, mod );
                 return KKey( m_sym, mod );
         }
 }
 
 Key& Key::operator =( const KKeyNative& key )
 {
         m_code = key.code(); m_mod = key.mod(); m_sym = key.sym();
         return *this;
 }
 
 int Key::compare( const Key& b ) const
 {
         if( m_code == CODE_FOR_QT )
                 return m_sym - b.m_sym;
         if( m_sym != b.m_sym ) return m_sym - b.m_sym;
         if( m_mod != b.m_mod ) return m_mod - b.m_mod;
         return m_code - b.m_code;
 }
 
 
 
 
 
 
 void Variations::init( const KKey& key, bool bQt )
 {
         if( key.isNull() ) {
                 m_nVariations = 0;
                 return;
         }
 
         m_nVariations = 1;
         m_rgkey[0] = KKeyNative(key);
         uint symVar = Sym(key.sym()).getSymVariation();
         if( symVar ) {
                 uint modReq = Sym(m_rgkey[0].sym()).getModsRequired();
                 uint modReqVar = Sym(symVar).getModsRequired();
 
 
                 if( (key.modFlags() & modReq) == (key.modFlags() & modReqVar) ) {
                         m_rgkey[1] = KKeyNative(KKey(symVar, key.modFlags()));
                         m_nVariations = 2;
                 }
         }
 
         if( bQt ) {
                 uint nVariations = 0;
                 for( uint i = 0; i < m_nVariations; i++ ) {
                         int keyQt = KKeyNative( m_rgkey[i].code(), m_rgkey[i].mod(), m_rgkey[i].sym() ).keyCodeQt();
                         if( keyQt )
                                 m_rgkey[nVariations++].setKeycodeQt( keyQt );
                 }
                 m_nVariations = nVariations;
 
 
 
                 for( uint i = 1; i < m_nVariations; i++ ) {
                         for( uint j = 0; j < i; j++ ) {
 
                                 if( m_rgkey[i].keyCodeQt() == m_rgkey[j].keyCodeQt() ) {
                                         for( uint k = i; k < m_nVariations - 1; k++ )
                                                 m_rgkey[k].setKeycodeQt( m_rgkey[k+1].keyCodeQt() );
                                         m_nVariations--;
                                         i--;
                                         break;
                                 }
                         }
                 }
         }
 }
 
 };
 # 766 "kkeyserver_x11.cpp"
 void KKey::simplify()
 {
         if( m_sym == 0xFF15 ) {
                 m_sym = 0xFF61;
                 m_mod |= ALT;
         } else if( m_sym == 0xFE20 ) {
                 m_sym = 0xFF09;
                 m_mod |= SHIFT;
         } else {
 
                 m_sym = KKeyNative(*this).sym();
         }
 
 
         if( m_sym < 0x3000 && QChar(m_sym).isLetter() )
                 m_sym = QChar(m_sym).lower();
 
 
 
         m_mod &= ~KKeyServer::Sym(m_sym).getModsRequired();
 }
 
 --Boundary-00=_lwnc93SoOAS8svZ
 Content-Type: application/octet-stream;
   name="kkeyserver_x11.s"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment; filename="kkeyserver_x11.s"
 
 	.file	"kkeyserver_x11.cpp"
 	.local	_ZN10KKeyServer11g_rgModInfoE
 	.comm	_ZN10KKeyServer11g_rgModInfoE,80,32
 	.data
 	.align 32
 	.type	_ZN10KKeyServer16g_rgSymVariationE,@object
 	.size	_ZN10KKeyServer16g_rgSymVariationE,72
 _ZN10KKeyServer16g_rgSymVariationE:
 	.long	47
 	.long	65455
 	.byte	0
 	.zero	3
 	.long	42
 	.long	65450
 	.byte	0
 	.zero	3
 	.long	45
 	.long	65453
 	.byte	0
 	.zero	3
 	.long	43
 	.long	65451
 	.byte	0
 	.zero	3
 	.long	65293
 	.long	65421
 	.byte	0
 	.zero	3
 	.long	0
 	.long	0
 	.byte	0
 	.zero	3
 	.local	_ZN10KKeyServer18g_bInitializedModsE
 	.comm	_ZN10KKeyServer18g_bInitializedModsE,1,1
 	.local	_ZN10KKeyServer24g_bInitializedVariationsE
 	.comm	_ZN10KKeyServer24g_bInitializedVariationsE,1,1
 	.local	_ZN10KKeyServer24g_bInitializedKKeyLabelsE
 	.comm	_ZN10KKeyServer24g_bInitializedKKeyLabelsE,1,1
 	.local	_ZN10KKeyServer12g_bMacLabelsE
 	.comm	_ZN10KKeyServer12g_bMacLabelsE,1,1
 	.local	_ZN10KKeyServer13g_modXNumLockE
 	.comm	_ZN10KKeyServer13g_modXNumLockE,4,4
 	.local	_ZN10KKeyServer16g_modXScrollLockE
 	.comm	_ZN10KKeyServer16g_modXScrollLockE,4,4
 	.text
 	.align 2
 .globl _ZN10KKeyServer14initializeModsEv
 	.type	_ZN10KKeyServer14initializeModsEv,@function
 _ZN10KKeyServer14initializeModsEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	movl	$4, %ebx
 	subl	$60, %esp
 	call	_Z11qt_xdisplayv
 	movl	%eax, (%esp)
 	call	XGetModifierMapping
 	movl	$0, _ZN10KKeyServer11g_rgModInfoE+68
 	movl	%eax, %esi
 	movl	$0, _ZN10KKeyServer16g_modXScrollLockE
 	movl	$0, _ZN10KKeyServer13g_modXNumLockE
 .L17:
 	movl	%ebx, %ecx
 	movl	$1, %edi
 	sall	%cl, %edi
 	call	_Z11qt_xdisplayv
 	movl	%eax, (%esp)
 	movl	(%esi), %edx
 	movl	4(%esi), %eax
 	imull	%ebx, %edx
 	movzbl	(%edx,%eax), %eax
 	movl	$0, 8(%esp)
 	movl	%eax, 4(%esp)
 	call	XKeycodeToKeysym
 	cmpl	$65512, %eax
 	ja	.L16
 	cmpl	$65511, %eax
 	jae	.L11
 	cmpl	$65300, %eax
 	je	.L13
 	cmpl	$65407, %eax
 	je	.L7
 .L4:
 	addl	$1, %ebx
 	cmpl	$7, %ebx
 	jle	.L17
 	movl	%esi, (%esp)
 	call	XFreeModifiermap
 	movl	$16, 8(%esp)
 	leal	-56(%ebp), %eax
 	movb	$1, _ZN10KKeyServer18g_bInitializedModsE
 	movl	%eax, (%esp)
 	movl	_ZN10KKeyServer11g_rgModInfoE+68, %eax
 	movl	%eax, 4(%esp)
 	call	_ZN7QString6numberEji
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$4, %esp
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L28
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L35
 .L26:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L28:
 	leal	-12(%ebp), %esp
 	movl	$1, %eax
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L35:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L26
 .L7:
 	movl	%edi, _ZN10KKeyServer13g_modXNumLockE
 	jmp	.L4
 .L13:
 	movl	%edi, _ZN10KKeyServer16g_modXScrollLockE
 	jmp	.L4
 .L11:
 	movl	_ZN10KKeyServer11g_rgModInfoE+68, %eax
 	testl	%eax, %eax
 	jne	.L4
 .L34:
 	movl	%edi, _ZN10KKeyServer11g_rgModInfoE+68
 	jmp	.L4
 .L16:
 	subl	$65515, %eax
 	cmpl	$1, %eax
 	ja	.L4
 	jmp	.L34
 .Lfe1:
 	.size	_ZN10KKeyServer14initializeModsEv,.Lfe1-_ZN10KKeyServer14initializeModsEv
 	.align 2
 	.type	_ZN10KKeyServer20initializeVariationsEv,@function
 _ZN10KKeyServer20initializeVariationsEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%ebx
 	subl	$20, %esp
 	movl	_ZN10KKeyServer16g_rgSymVariationE, %ecx
 	testl	%ecx, %ecx
 	je	.L43
 	xorl	%ebx, %ebx
 .L41:
 	call	_Z11qt_xdisplayv
 	movl	%eax, (%esp)
 	movl	_ZN10KKeyServer16g_rgSymVariationE+4(%ebx), %eax
 	movl	%eax, 4(%esp)
 	call	XKeysymToKeycode
 	testb	%al, %al
 	setne	_ZN10KKeyServer16g_rgSymVariationE+8(%ebx)
 	addl	$12, %ebx
 	movl	_ZN10KKeyServer16g_rgSymVariationE(%ebx), %edx
 	testl	%edx, %edx
 	jne	.L41
 .L43:
 	movb	$1, _ZN10KKeyServer24g_bInitializedVariationsE
 	addl	$20, %esp
 	popl	%ebx
 	popl	%ebp
 	ret
 .Lfe2:
 	.size	_ZN10KKeyServer20initializeVariationsEv,.Lfe2-_ZN10KKeyServer20initializeVariationsEv
 	.section	.rodata.str1.1,"aMS",@progbits,1
 .LC1:
 	.string	"Keyboard"
 .LC2:
 	.string	"Label Shift"
 .LC3:
 	.string	"Label Ctrl"
 .LC4:
 	.string	"Label Alt"
 .LC5:
 	.string	"Label Win"
 .LC6:
 	.string	"Command"
 	.text
 	.align 2
 	.type	_ZN10KKeyServer19intializeKKeyLabelsEv,@function
 _ZN10KKeyServer19intializeKKeyLabelsEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	leal	-72(%ebp), %edi
 	leal	-56(%ebp), %esi
 	pushl	%ebx
 	subl	$76, %esp
 	call	_ZN7KGlobal6configEv
 	leal	-36(%ebp), %edx
 	movl	%edx, (%esp)
 	movl	%eax, -40(%ebp)
 	movl	%eax, 4(%esp)
 	call	_ZNK11KConfigBase5groupEv
 	movl	-40(%ebp), %eax
 	subl	$4, %esp
 	movl	%eax, (%esp)
 	movl	$.LC1, 4(%esp)
 	call	_ZN11KConfigBase8setGroupEPKc
 	call	_ZN7KGlobal6configEv
 	movl	%edi, (%esp)
 	movl	%eax, %ebx
 	movl	_ZN10KKeyServer11g_rgModInfoE+12, %eax
 	movl	%eax, 4(%esp)
 	call	_Z4i18nPKc
 	subl	$4, %esp
 	movl	%esi, (%esp)
 	movl	%ebx, 4(%esp)
 	movl	$.LC2, 8(%esp)
 	movl	%edi, 12(%esp)
 	call	_ZNK11KConfigBase9readEntryEPKcRK7QString
 	subl	$4, %esp
 	movl	$_ZN10KKeyServer11g_rgModInfoE+16, (%esp)
 	movl	%esi, 4(%esp)
 	call	_ZN7QStringaSERKS_
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L51
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L103
 .L49:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L51:
 	movl	-72(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L57
 	movl	-72(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L104
 .L55:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L57:
 	call	_ZN7KGlobal6configEv
 	movl	%esi, (%esp)
 	movl	%eax, %ebx
 	movl	_ZN10KKeyServer11g_rgModInfoE+32, %eax
 	movl	%eax, 4(%esp)
 	call	_Z4i18nPKc
 	subl	$4, %esp
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	movl	$.LC3, 8(%esp)
 	movl	%esi, 12(%esp)
 	call	_ZNK11KConfigBase9readEntryEPKcRK7QString
 	subl	$4, %esp
 	movl	$_ZN10KKeyServer11g_rgModInfoE+36, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QStringaSERKS_
 	movl	-72(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L63
 	movl	-72(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L105
 .L61:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L63:
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L69
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L106
 .L67:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L69:
 	call	_ZN7KGlobal6configEv
 	movl	%esi, (%esp)
 	movl	%eax, %ebx
 	movl	_ZN10KKeyServer11g_rgModInfoE+52, %eax
 	movl	%eax, 4(%esp)
 	call	_Z4i18nPKc
 	subl	$4, %esp
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	movl	$.LC4, 8(%esp)
 	movl	%esi, 12(%esp)
 	call	_ZNK11KConfigBase9readEntryEPKcRK7QString
 	subl	$4, %esp
 	movl	$_ZN10KKeyServer11g_rgModInfoE+56, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QStringaSERKS_
 	movl	-72(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L75
 	movl	-72(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L107
 .L73:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L75:
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L81
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L108
 .L79:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L81:
 	call	_ZN7KGlobal6configEv
 	movl	%esi, (%esp)
 	movl	%eax, %ebx
 	movl	_ZN10KKeyServer11g_rgModInfoE+72, %eax
 	movl	%eax, 4(%esp)
 	call	_Z4i18nPKc
 	subl	$4, %esp
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	movl	$.LC5, 8(%esp)
 	movl	%esi, 12(%esp)
 	call	_ZNK11KConfigBase9readEntryEPKcRK7QString
 	subl	$4, %esp
 	movl	$_ZN10KKeyServer11g_rgModInfoE+76, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QStringaSERKS_
 	movl	-72(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L87
 	movl	-72(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L109
 .L85:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L87:
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L93
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L110
 .L91:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L93:
 	movl	$_ZN10KKeyServer11g_rgModInfoE+56, (%esp)
 	movl	$.LC6, 4(%esp)
 	call	_ZeqRK7QStringPKc
 	movb	%al, _ZN10KKeyServer12g_bMacLabelsE
 	movb	$1, _ZN10KKeyServer24g_bInitializedKKeyLabelsE
 	movl	-40(%ebp), %eax
 	movl	%eax, (%esp)
 	leal	-36(%ebp), %eax
 	movl	%eax, 4(%esp)
 	call	_ZN11KConfigBase8setGroupERK7QString
 	movl	-36(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L44
 	movl	-36(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L111
 .L99:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L44:
 	leal	-12(%ebp), %esp
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L111:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L99
 .L110:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L91
 .L109:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L85
 .L108:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L79
 .L107:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L73
 .L106:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L67
 .L105:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L61
 .L104:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L55
 .L103:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L49
 .Lfe3:
 	.size	_ZN10KKeyServer19intializeKKeyLabelsEv,.Lfe3-_ZN10KKeyServer19intializeKKeyLabelsEv
 	.section	.rodata.str1.1
 .LC8:
 	.string	" ): failed to convert key."
 .LC7:
 	.string	"Sym::initQt( "
 	.text
 	.align 2
 .globl _ZN10KKeyServer3Sym6initQtEi
 	.type	_ZN10KKeyServer3Sym6initQtEi,@function
 _ZN10KKeyServer3Sym6initQtEi:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	subl	$124, %esp
 	movl	12(%ebp), %esi
 	movl	8(%ebp), %ebx
 	movl	%esi, %ecx
 	andl	$65535, %ecx
 	testl	$268435456, %esi
 	jne	.L114
 	cmpl	$4095, %ecx
 	jg	.L113
 .L114:
 	leal	-40(%ebp), %eax
 	leal	-56(%ebp), %edx
 	movw	%cx, -56(%ebp)
 	movl	%eax, (%esp)
 	movl	%edx, 4(%esp)
 	call	_ZNK5QChar5lowerEv
 	subl	$4, %esp
 	cmpw	$255, -40(%ebp)
 	ja	.L116
 	movsbl	-40(%ebp),%eax
 .L189:
 	movl	%eax, (%ebx)
 	movl	$1, %eax
 .L112:
 	leal	-12(%ebp), %esp
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L116:
 	xorl	%eax, %eax
 	jmp	.L189
 .L113:
 	xorl	%eax, %eax
 	movl	$_ZN10KKeyServer12g_rgQtToSymXE, %edx
 .L125:
 	cmpl	%ecx, (%edx,%eax,8)
 	je	.L188
 	addl	$1, %eax
 	cmpl	$67, %eax
 	jbe	.L125
 	leal	-4128(%ecx), %eax
 	movl	$0, (%ebx)
 	cmpl	$1, %eax
 	jbe	.L126
 	cmpl	$4131, %ecx
 	je	.L126
 	cmpl	$4130, %ecx
 	je	.L126
 	cmpl	$4185, %ecx
 	je	.L126
 	cmpl	$4192, %ecx
 	je	.L126
 	leal	-88(%ebp), %ebx
 	movl	$125, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_Z9kdWarningi
 	subl	$4, %esp
 	cmpb	$0, -76(%ebp)
 	jne	.L127
 	leal	-56(%ebp), %edi
 .L128:
 	movl	%edi, (%esp)
 	movl	%esi, 4(%esp)
 	movl	$16, 8(%esp)
 	call	_ZN7QString6numberEii
 	subl	$4, %esp
 	cmpb	$0, 12(%ebx)
 	jne	.L190
 .L147:
 	cmpb	$0, 12(%ebx)
 	jne	.L191
 .L160:
 	cmpb	$0, 12(%ebx)
 	jne	.L192
 .L179:
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L185
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L193
 .L183:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L185:
 	movl	%ebx, (%esp)
 	call	_ZN10kdbgstreamD1Ev
 .L126:
 	xorl	%eax, %eax
 	jmp	.L112
 .L193:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L183
 .L192:
 	movl	%ebx, (%esp)
 	call	_Z4endlR10kdbgstream
 	jmp	.L179
 .L191:
 	leal	-40(%ebp), %esi
 	movl	$.LC8, 4(%esp)
 	movl	$-1, 8(%esp)
 	movl	%esi, (%esp)
 	call	_ZN7QString8fromUtf8EPKci
 	subl	$4, %esp
 	movl	%ebx, (%esp)
 	movl	%esi, 4(%esp)
 	call	_ZN7QStringpLERKS_
 	movl	-40(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L166
 	movl	-40(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L194
 .L164:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L166:
 	movl	(%ebx), %edx
 	movl	%ebx, -112(%ebp)
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	subl	$1, %eax
 	movl	%eax, -108(%ebp)
 	movl	%eax, %ecx
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jae	.L171
 	movl	4(%edx), %eax
 	leal	(%eax,%ecx,2), %eax
 .L172:
 	movzwl	(%eax), %eax
 	movw	%ax, (%esi)
 	cmpw	$10, -40(%ebp)
 	jne	.L160
 	movl	%ebx, (%esp)
 	call	_ZN10kdbgstream5flushEv
 	jmp	.L160
 .L171:
 	movl	$_ZN5QChar4nullE, %eax
 	jmp	.L172
 .L194:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L164
 .L190:
 	movl	%ebx, (%esp)
 	movl	%edi, 4(%esp)
 	leal	-40(%ebp), %esi
 	call	_ZN7QStringpLERKS_
 	movl	%ebx, -104(%ebp)
 	movl	(%ebx), %edx
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	subl	$1, %eax
 	movl	%eax, -100(%ebp)
 	movl	%eax, %ecx
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jae	.L152
 	movl	4(%edx), %eax
 	leal	(%eax,%ecx,2), %eax
 .L153:
 	movzwl	(%eax), %eax
 	movw	%ax, (%esi)
 	cmpw	$10, -40(%ebp)
 	jne	.L147
 	movl	%ebx, (%esp)
 	call	_ZN10kdbgstream5flushEv
 	jmp	.L147
 .L152:
 	movl	$_ZN5QChar4nullE, %eax
 	jmp	.L153
 .L127:
 	leal	-56(%ebp), %edi
 	movl	$.LC7, 4(%esp)
 	movl	$-1, 8(%esp)
 	movl	%edi, (%esp)
 	call	_ZN7QString8fromUtf8EPKci
 	subl	$4, %esp
 	movl	%ebx, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QStringpLERKS_
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L134
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L195
 .L132:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L134:
 	movl	(%ebx), %edx
 	movl	%ebx, -96(%ebp)
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	subl	$1, %eax
 	movl	%eax, -92(%ebp)
 	movl	%eax, %ecx
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jae	.L139
 	movl	4(%edx), %eax
 	leal	(%eax,%ecx,2), %eax
 .L140:
 	movzwl	(%eax), %eax
 	cmpw	$10, %ax
 	movw	%ax, -56(%ebp)
 	jne	.L128
 	movl	%ebx, (%esp)
 	call	_ZN10kdbgstream5flushEv
 	jmp	.L128
 .L139:
 	movl	$_ZN5QChar4nullE, %eax
 	jmp	.L140
 .L195:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L132
 .L188:
 	movl	_ZN10KKeyServer12g_rgQtToSymXE+4(,%eax,8), %eax
 	jmp	.L189
 .Lfe4:
 	.size	_ZN10KKeyServer3Sym6initQtEi,.Lfe4-_ZN10KKeyServer3Sym6initQtEi
 	.align 2
 .globl _ZN10KKeyServer3Sym4initERK7QString
 	.type	_ZN10KKeyServer3Sym4initERK7QString,@function
 _ZN10KKeyServer3Sym4initERK7QString:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	subl	$108, %esp
 	movl	12(%ebp), %esi
 	movl	8(%ebp), %edi
 	movl	(%esi), %ebx
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	$1, %eax
 	je	.L251
 	movl	_ZN10KKeyServer12g_rgSymNamesE, %eax
 	xorl	%ebx, %ebx
 	testl	%eax, %eax
 	je	.L246
 .L210:
 	movl	%esi, (%esp)
 	call	_ZNK7QString6latin1Ev
 	movl	%eax, (%esp)
 	movl	_ZN10KKeyServer12g_rgSymNamesE+4(,%ebx,8), %eax
 	movl	%eax, 4(%esp)
 	call	_Z8qstricmpPKcS0_
 	testl	%eax, %eax
 	je	.L249
 	addl	$1, %ebx
 	movl	_ZN10KKeyServer12g_rgSymNamesE(,%ebx,8), %eax
 	testl	%eax, %eax
 	jne	.L210
 .L246:
 	movl	%esi, (%esp)
 	call	_ZNK7QString6latin1Ev
 	movl	%eax, (%esp)
 	call	XStringToKeysym
 	testl	%eax, %eax
 	movl	%eax, (%edi)
 	je	.L252
 .L211:
 	testl	%eax, %eax
 	setne	%al
 	movzbl	%al, %eax
 .L196:
 	leal	-12(%ebp), %esp
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L252:
 	leal	-56(%ebp), %eax
 	movl	%esi, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZNK7QString5lowerEv
 	leal	-56(%ebp), %ecx
 	subl	$4, %esp
 	movl	%ecx, (%esp)
 	call	_ZNK7QString6latin1Ev
 	movl	%eax, (%esp)
 	call	XStringToKeysym
 	movl	%eax, (%edi)
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L217
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L253
 .L215:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L217:
 	movl	(%edi), %eax
 	testl	%eax, %eax
 	jne	.L211
 	leal	-56(%ebp), %eax
 	movl	%esi, 4(%esp)
 	leal	-72(%ebp), %ebx
 	movl	%eax, (%esp)
 	leal	-40(%ebp), %esi
 	call	_ZN7QStringC1ERKS_
 	leal	-56(%ebp), %ecx
 	movl	$0, -76(%ebp)
 	movl	$0, -84(%ebp)
 	movl	%ecx, -80(%ebp)
 	movl	%ecx, -88(%ebp)
 	movl	-56(%ebp), %edx
 	movl	12(%edx), %eax
 	xorl	%ecx, %ecx
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jae	.L225
 	movl	4(%edx), %eax
 	leal	(%eax,%ecx,2), %eax
 .L226:
 	movzwl	(%eax), %eax
 	movw	%ax, (%ebx)
 	movl	%ebx, 4(%esp)
 	movl	%esi, (%esp)
 	call	_ZNK5QChar5upperEv
 	movl	-76(%ebp), %ecx
 	movl	-80(%ebp), %esi
 	movl	%ecx, -92(%ebp)
 	subl	$4, %esp
 	movl	(%esi), %ebx
 	cmpl	$1, (%ebx)
 	je	.L254
 .L232:
 	movl	-92(%ebp), %eax
 	movl	%esi, (%esp)
 	movl	%eax, 4(%esp)
 	call	_ZN7QString5subatEj
 	movl	(%esi), %ebx
 .L231:
 	movl	8(%ebx), %eax
 	testl	%eax, %eax
 	jne	.L255
 .L233:
 	orb	$64, 19(%ebx)
 	movl	(%esi), %eax
 	movl	-92(%ebp), %ecx
 	movl	4(%eax), %edx
 	movl	-40(%ebp), %eax
 	movw	%ax, (%edx,%ecx,2)
 	leal	-56(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK7QString6latin1Ev
 	movl	%eax, (%esp)
 	call	XStringToKeysym
 	movl	%eax, (%edi)
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L248
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L256
 .L242:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L248:
 	movl	(%edi), %eax
 	jmp	.L211
 .L256:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L242
 .L255:
 	movl	%eax, (%esp)
 	call	_ZdaPv
 	movl	$0, 8(%ebx)
 	jmp	.L233
 .L254:
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jb	.L231
 	jmp	.L232
 .L225:
 	movl	$_ZN5QChar4nullE, %eax
 	jmp	.L226
 .L253:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L215
 .L249:
 	movl	_ZN10KKeyServer12g_rgSymNamesE(,%ebx,8), %eax
 .L250:
 	movl	%eax, (%edi)
 	movl	$1, %eax
 	jmp	.L196
 .L251:
 	movl	4(%ebx), %eax
 	leal	-40(%ebp), %edx
 	leal	-56(%ebp), %ecx
 	movzwl	(%eax), %eax
 	movl	%ecx, 4(%esp)
 	movl	%edx, (%esp)
 	movw	%ax, -56(%ebp)
 	call	_ZNK5QChar5lowerEv
 	movzwl	-40(%ebp), %eax
 	subl	$4, %esp
 	jmp	.L250
 .Lfe5:
 	.size	_ZN10KKeyServer3Sym4initERK7QString,.Lfe5-_ZN10KKeyServer3Sym4initERK7QString
 	.align 2
 .globl _ZNK10KKeyServer3Sym2qtEv
 	.type	_ZNK10KKeyServer3Sym2qtEv,@function
 _ZNK10KKeyServer3Sym2qtEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$56, %esp
 	movl	8(%ebp), %eax
 	movl	(%eax), %ecx
 	cmpl	$4095, %ecx
 	ja	.L258
 	leal	-97(%ecx), %eax
 	cmpl	$25, %eax
 	jbe	.L275
 	movl	%ecx, %eax
 .L257:
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L275:
 	leal	-24(%ebp), %eax
 	leal	-40(%ebp), %edx
 	movw	%cx, -40(%ebp)
 	movl	%eax, (%esp)
 	movl	%edx, 4(%esp)
 	call	_ZNK5QChar5upperEv
 	subl	$4, %esp
 	cmpw	$255, -24(%ebp)
 	ja	.L261
 	movsbl	-24(%ebp),%eax
 	jmp	.L257
 .L261:
 	xorl	%eax, %eax
 	jmp	.L257
 .L258:
 	xorl	%eax, %eax
 	movl	$_ZN10KKeyServer12g_rgQtToSymXE+4, %edx
 	cmpl	$12287, %ecx
 	ja	.L271
 	movl	%ecx, %eax
 	orl	$268435456, %eax
 	jmp	.L257
 .L271:
 	cmpl	%ecx, (%edx,%eax,8)
 	je	.L274
 	addl	$1, %eax
 	cmpl	$67, %eax
 	jbe	.L271
 	movl	$65535, %eax
 	jmp	.L257
 .L274:
 	movl	_ZN10KKeyServer12g_rgQtToSymXE(,%eax,8), %eax
 	jmp	.L257
 .Lfe6:
 	.size	_ZNK10KKeyServer3Sym2qtEv,.Lfe6-_ZNK10KKeyServer3Sym2qtEv
 	.section	.rodata.str1.1
 .LC9:
 	.string	"QAccel"
 	.text
 	.align 2
 .globl _ZNK10KKeyServer3Sym8toStringEb
 	.type	_ZNK10KKeyServer3Sym8toStringEb,@function
 _ZNK10KKeyServer3Sym8toStringEb:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	subl	$60, %esp
 	movl	12(%ebp), %ebx
 	movl	8(%ebp), %edi
 	movzbl	16(%ebp), %esi
 	movl	(%ebx), %edx
 	cmpl	$12287, %edx
 	jbe	.L307
 .L277:
 	movl	_ZN10KKeyServer12g_rgSymNamesE, %ebx
 	xorl	%eax, %eax
 	testl	%ebx, %ebx
 	je	.L303
 .L293:
 	cmpl	_ZN10KKeyServer12g_rgSymNamesE(,%eax,8), %edx
 	je	.L308
 	addl	$1, %eax
 	movl	_ZN10KKeyServer12g_rgSymNamesE(,%eax,8), %ecx
 	testl	%ecx, %ecx
 	jne	.L293
 .L303:
 	movl	%edx, (%esp)
 	leal	-56(%ebp), %ebx
 	call	XKeysymToString
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN7QStringC1EPKc
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyServer3Sym17capitalizeKeynameER7QString
 	movl	%esi, %eax
 	testb	%al, %al
 	je	.L294
 	movl	%ebx, (%esp)
 	call	_ZNK7QString6latin1Ev
 	movl	$.LC9, 4(%esp)
 	movl	%edi, (%esp)
 	movl	%eax, 8(%esp)
 	call	_Z4i18nPKcS0_
 	subl	$4, %esp
 .L295:
 	movl	-56(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L276
 	movl	-56(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L309
 .L299:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L276:
 	leal	-12(%ebp), %esp
 	movl	%edi, %eax
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret	$4
 .L309:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L299
 .L294:
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	call	_ZN7QStringC1ERKS_
 	jmp	.L295
 .L308:
 	movl	%esi, %edx
 	testb	%dl, %dl
 	jne	.L306
 	movl	_ZN10KKeyServer12g_rgSymNamesE+4(,%eax,8), %eax
 	movl	%edi, (%esp)
 	movl	%eax, 4(%esp)
 	call	_ZN7QStringC1EPKc
 	jmp	.L276
 .L306:
 	movl	_ZN10KKeyServer12g_rgSymNamesE+4(,%eax,8), %eax
 	movl	%edi, (%esp)
 	movl	%eax, 4(%esp)
 	call	_Z4i18nPKc
 	subl	$4, %esp
 	jmp	.L276
 .L307:
 	movw	%dx, -56(%ebp)
 	leal	-40(%ebp), %eax
 	leal	-56(%ebp), %edx
 	movl	%eax, (%esp)
 	movl	%edx, 4(%esp)
 	call	_ZNK5QChar5upperEv
 	subl	$4, %esp
 	cmpw	$255, -40(%ebp)
 	ja	.L282
 	movsbl	-40(%ebp),%eax
 .L284:
 	testb	%al, %al
 	jne	.L310
 .L281:
 	movl	%esi, %edx
 	testb	%dl, %dl
 	jne	.L311
 .L305:
 	movl	(%ebx), %edx
 	jmp	.L277
 .L311:
 	leal	-40(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK5QChar7isSpaceEv
 	testb	%al, %al
 	jne	.L305
 .L280:
 	movl	-40(%ebp), %eax
 	leal	-56(%ebp), %edx
 	movl	%edi, (%esp)
 	movw	%ax, -56(%ebp)
 	movl	%edx, 4(%esp)
 	call	_ZN7QStringC1E5QChar
 	jmp	.L276
 .L310:
 	leal	-40(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK5QChar16isLetterOrNumberEv
 	testb	%al, %al
 	jne	.L280
 	jmp	.L281
 .L282:
 	xorl	%eax, %eax
 	jmp	.L284
 .Lfe7:
 	.size	_ZNK10KKeyServer3Sym8toStringEb,.Lfe7-_ZNK10KKeyServer3Sym8toStringEb
 	.align 2
 .globl _ZNK10KKeyServer3Sym16toStringInternalEv
 	.type	_ZNK10KKeyServer3Sym16toStringInternalEv,@function
 _ZNK10KKeyServer3Sym16toStringInternalEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	12(%ebp), %eax
 	movl	%ebx, -4(%ebp)
 	movl	$0, 8(%esp)
 	movl	8(%ebp), %ebx
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyServer3Sym8toStringEb
 	movl	%ebx, %eax
 	subl	$4, %esp
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	popl	%ebp
 	ret	$4
 .Lfe8:
 	.size	_ZNK10KKeyServer3Sym16toStringInternalEv,.Lfe8-_ZNK10KKeyServer3Sym16toStringInternalEv
 	.align 2
 .globl _ZNK10KKeyServer3Sym8toStringEv
 	.type	_ZNK10KKeyServer3Sym8toStringEv,@function
 _ZNK10KKeyServer3Sym8toStringEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	12(%ebp), %eax
 	movl	%ebx, -4(%ebp)
 	movl	$1, 8(%esp)
 	movl	8(%ebp), %ebx
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyServer3Sym8toStringEb
 	movl	%ebx, %eax
 	subl	$4, %esp
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	popl	%ebp
 	ret	$4
 .Lfe9:
 	.size	_ZNK10KKeyServer3Sym8toStringEv,.Lfe9-_ZNK10KKeyServer3Sym8toStringEv
 	.align 2
 .globl _ZNK10KKeyServer3Sym15getModsRequiredEv
 	.type	_ZNK10KKeyServer3Sym15getModsRequiredEv,@function
 _ZNK10KKeyServer3Sym15getModsRequiredEv:
 	pushl	%ebp
 	movl	$4, %eax
 	movl	%esp, %ebp
 	subl	$104, %esp
 	movl	%esi, -8(%ebp)
 	movl	%ebx, -12(%ebp)
 	movl	%edi, -4(%ebp)
 	movl	8(%ebp), %esi
 	movl	(%esi), %edx
 	cmpl	$65301, %edx
 	je	.L314
 	cmpl	$65387, %edx
 	movl	$2, %eax
 	je	.L314
 	cmpl	$12287, %edx
 	ja	.L317
 	leal	-40(%ebp), %ebx
 	movw	%dx, -40(%ebp)
 	movb	$0, -73(%ebp)
 	movl	%ebx, (%esp)
 	call	_ZNK5QChar8isLetterEv
 	testb	%al, %al
 	jne	.L326
 .L320:
 	cmpb	$0, -73(%ebp)
 	movl	$1, %eax
 	jne	.L314
 .L317:
 	call	_Z11qt_xdisplayv
 	movl	%eax, (%esp)
 	movl	(%esi), %eax
 	movl	%eax, 4(%esp)
 	call	XKeysymToKeycode
 	testb	%al, %al
 	movl	%eax, %ebx
 	jne	.L327
 .L324:
 	xorl	%eax, %eax
 .L314:
 	movl	-12(%ebp), %ebx
 	movl	-8(%ebp), %esi
 	movl	-4(%ebp), %edi
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L327:
 	call	_Z11qt_xdisplayv
 	movzbl	%bl, %ebx
 	movl	$0, 8(%esp)
 	movl	%eax, (%esp)
 	movl	%ebx, 4(%esp)
 	call	XKeycodeToKeysym
 	cmpl	%eax, (%esi)
 	je	.L324
 	call	_Z11qt_xdisplayv
 	movl	$2, 8(%esp)
 	movl	%ebx, 4(%esp)
 	movl	%eax, (%esp)
 	call	XKeycodeToKeysym
 	cmpl	%eax, (%esi)
 	cs ; je	.L324
 	movl	$1, %eax
 	jmp	.L314
 .L326:
 	leal	-56(%ebp), %eax
 	movl	%ebx, 4(%esp)
 	leal	-72(%ebp), %edi
 	movl	%eax, (%esp)
 	call	_ZNK5QChar5lowerEv
 	subl	$4, %esp
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	call	_ZNK5QChar5upperEv
 	movl	-72(%ebp), %eax
 	subl	$4, %esp
 	cmpw	%ax, -56(%ebp)
 	je	.L320
 	movl	%edi, (%esp)
 	movl	%ebx, 4(%esp)
 	call	_ZNK5QChar5upperEv
 	movzwl	-72(%ebp), %eax
 	subl	$4, %esp
 	cmpl	%eax, (%esi)
 	jne	.L320
 	movb	$1, -73(%ebp)
 	jmp	.L320
 .Lfe10:
 	.size	_ZNK10KKeyServer3Sym15getModsRequiredEv,.Lfe10-_ZNK10KKeyServer3Sym15getModsRequiredEv
 	.align 2
 .globl _ZNK10KKeyServer3Sym15getSymVariationEv
 	.type	_ZNK10KKeyServer3Sym15getSymVariationEv,@function
 _ZNK10KKeyServer3Sym15getSymVariationEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer24g_bInitializedVariationsE
 	je	.L338
 .L329:
 	movl	_ZN10KKeyServer16g_rgSymVariationE, %eax
 	testl	%eax, %eax
 	je	.L337
 	movl	8(%ebp), %eax
 	movl	(%eax), %edx
 	xorl	%eax, %eax
 .L335:
 	cmpl	%edx, _ZN10KKeyServer16g_rgSymVariationE(%eax)
 	je	.L339
 .L332:
 	addl	$12, %eax
 	movl	_ZN10KKeyServer16g_rgSymVariationE(%eax), %ecx
 	testl	%ecx, %ecx
 	jne	.L335
 .L337:
 	xorl	%eax, %eax
 .L328:
 	leave
 	ret
 .L339:
 	cmpb	$0, _ZN10KKeyServer16g_rgSymVariationE+8(%eax)
 	je	.L332
 	movl	_ZN10KKeyServer16g_rgSymVariationE+4(%eax), %eax
 	jmp	.L328
 .L338:
 	call	_ZN10KKeyServer20initializeVariationsEv
 	jmp	.L329
 .Lfe11:
 	.size	_ZNK10KKeyServer3Sym15getSymVariationEv,.Lfe11-_ZNK10KKeyServer3Sym15getSymVariationEv
 	.section	.rodata.str1.1
 .LC10:
 	.string	"left"
 .LC11:
 	.string	"right"
 .LC12:
 	.string	"Sysreq"
 	.text
 	.align 2
 .globl _ZN10KKeyServer3Sym17capitalizeKeynameER7QString
 	.type	_ZN10KKeyServer3Sym17capitalizeKeynameER7QString,@function
 _ZN10KKeyServer3Sym17capitalizeKeynameER7QString:
 	pushl	%ebp
 	xorl	%ecx, %ecx
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	leal	-144(%ebp), %edi
 	leal	-40(%ebp), %esi
 	pushl	%ebx
 	leal	-56(%ebp), %ebx
 	subl	$188, %esp
 	movl	$0, -148(%ebp)
 	movl	$0, -140(%ebp)
 	movl	8(%ebp), %eax
 	movl	%eax, -144(%ebp)
 	movl	%eax, -152(%ebp)
 	movl	(%eax), %edx
 	movl	12(%edx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %ecx
 	jae	.L347
 	movl	4(%edx), %eax
 	leal	(%eax,%ecx,2), %eax
 .L348:
 	movzwl	(%eax), %eax
 	movw	%ax, (%ebx)
 	movl	%ebx, 4(%esp)
 	movl	%esi, (%esp)
 	call	_ZNK5QChar5upperEv
 	movl	(%edi), %esi
 	movl	4(%edi), %edi
 	movl	(%esi), %ebx
 	subl	$4, %esp
 	cmpl	$1, (%ebx)
 	je	.L415
 .L354:
 	movl	%esi, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QString5subatEj
 	movl	(%esi), %ebx
 .L353:
 	movl	8(%ebx), %eax
 	testl	%eax, %eax
 	jne	.L416
 .L355:
 	orb	$64, 19(%ebx)
 	leal	-72(%ebp), %ebx
 	movl	(%esi), %eax
 	movl	4(%eax), %edx
 	movl	-40(%ebp), %eax
 	movw	%ax, (%edx,%edi,2)
 	movl	8(%ebp), %edx
 	movl	(%edx), %eax
 	movl	12(%eax), %esi
 	movl	$.LC10, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN7QStringC1EPKc
 	andl	$1073741823, %esi
 	movl	%ebx, 4(%esp)
 	movl	8(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK7QString8endsWithERKS_
 	movl	%eax, %ebx
 	movl	-72(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L368
 	movl	-72(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L417
 .L366:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L368:
 	testb	%bl, %bl
 	je	.L362
 	movl	8(%ebp), %edx
 	leal	-4(%esi), %eax
 	movl	%edx, -160(%ebp)
 	movl	%eax, -156(%ebp)
 	movl	%edx, %edi
 	movl	(%edx), %ebx
 	movl	%eax, %esi
 	cmpl	$1, (%ebx)
 	je	.L418
 .L373:
 	movl	8(%ebp), %eax
 	movl	%esi, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZN7QString5subatEj
 	movl	8(%ebp), %edx
 	movl	(%edx), %ebx
 .L372:
 	movl	8(%ebx), %eax
 	testl	%eax, %eax
 	jne	.L419
 .L374:
 	orb	$64, 19(%ebx)
 	movl	(%edi), %eax
 	movl	4(%eax), %eax
 	movw	$76, -88(%ebp)
 	movw	$76, (%eax,%esi,2)
 .L340:
 	leal	-12(%ebp), %esp
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L419:
 	movl	%eax, (%esp)
 	call	_ZdaPv
 	movl	$0, 8(%ebx)
 	jmp	.L374
 .L418:
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %esi
 	jb	.L372
 	jmp	.L373
 .L362:
 	leal	-104(%ebp), %ebx
 	movl	$.LC11, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN7QStringC1EPKc
 	movl	%ebx, 4(%esp)
 	movl	8(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK7QString8endsWithERKS_
 	movl	%eax, %ebx
 	movl	-104(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L388
 	movl	-104(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L420
 .L386:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L388:
 	testb	%bl, %bl
 	je	.L382
 	movl	8(%ebp), %edx
 	leal	-5(%esi), %eax
 	movl	%edx, -168(%ebp)
 	movl	%eax, -164(%ebp)
 	movl	%edx, %edi
 	movl	(%edx), %ebx
 	movl	%eax, %esi
 	cmpl	$1, (%ebx)
 	je	.L421
 .L393:
 	movl	8(%ebp), %eax
 	movl	%esi, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZN7QString5subatEj
 	movl	8(%ebp), %edx
 	movl	(%edx), %ebx
 .L392:
 	movl	8(%ebx), %eax
 	testl	%eax, %eax
 	jne	.L422
 .L394:
 	orb	$64, 19(%ebx)
 	movl	(%edi), %eax
 	movl	4(%eax), %eax
 	movw	$82, -120(%ebp)
 	movw	$82, (%eax,%esi,2)
 	jmp	.L340
 .L422:
 	movl	%eax, (%esp)
 	call	_ZdaPv
 	movl	$0, 8(%ebx)
 	jmp	.L394
 .L421:
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %esi
 	jb	.L392
 	jmp	.L393
 .L382:
 	movl	8(%ebp), %eax
 	movl	$.LC12, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZeqRK7QStringPKc
 	testb	%al, %al
 	je	.L340
 	leal	-3(%esi), %eax
 	movl	8(%ebp), %edx
 	movl	%edx, -176(%ebp)
 	movl	%eax, -172(%ebp)
 	movl	%edx, %esi
 	movl	(%edx), %ebx
 	movl	%eax, %edi
 	cmpl	$1, (%ebx)
 	je	.L423
 .L407:
 	movl	%esi, (%esp)
 	movl	%edi, 4(%esp)
 	call	_ZN7QString5subatEj
 	movl	(%esi), %ebx
 .L406:
 	movl	8(%ebx), %eax
 	testl	%eax, %eax
 	jne	.L424
 .L408:
 	orb	$64, 19(%ebx)
 	movl	(%esi), %eax
 	movl	4(%eax), %eax
 	movw	$82, -136(%ebp)
 	movw	$82, (%eax,%edi,2)
 	jmp	.L340
 .L424:
 	movl	%eax, (%esp)
 	call	_ZdaPv
 	movl	$0, 8(%ebx)
 	jmp	.L408
 .L423:
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %edi
 	jb	.L406
 	jmp	.L407
 .L420:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L386
 .L417:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L366
 .L416:
 	movl	%eax, (%esp)
 	call	_ZdaPv
 	movl	$0, 8(%ebx)
 	jmp	.L355
 .L415:
 	movl	12(%ebx), %eax
 	andl	$1073741823, %eax
 	cmpl	%eax, %edi
 	jb	.L353
 	jmp	.L354
 .L347:
 	movl	$_ZN5QChar4nullE, %eax
 	jmp	.L348
 .Lfe12:
 	.size	_ZN10KKeyServer3Sym17capitalizeKeynameER7QString,.Lfe12-_ZN10KKeyServer3Sym17capitalizeKeynameER7QString
 	.align 2
 .globl _ZN10KKeyServer4modXEN4KKey7ModFlagE
 	.type	_ZN10KKeyServer4modXEN4KKey7ModFlagE,@function
 _ZN10KKeyServer4modXEN4KKey7ModFlagE:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	movl	%ebx, -4(%ebp)
 	movl	8(%ebp), %ebx
 	cmpl	$8, %ebx
 	je	.L435
 .L426:
 	xorl	%edx, %edx
 	xorl	%eax, %eax
 .L432:
 	cmpl	%ebx, _ZN10KKeyServer11g_rgModInfoE(%eax)
 	je	.L436
 	addl	$1, %edx
 	addl	$20, %eax
 	cmpl	$3, %edx
 	jbe	.L432
 	xorl	%eax, %eax
 .L425:
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L436:
 	movl	_ZN10KKeyServer11g_rgModInfoE+8(%eax), %eax
 	jmp	.L425
 .L435:
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	jne	.L426
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L426
 .Lfe13:
 	.size	_ZN10KKeyServer4modXEN4KKey7ModFlagE,.Lfe13-_ZN10KKeyServer4modXEN4KKey7ModFlagE
 	.align 2
 .globl _ZN10KKeyServer17keyboardHasWinKeyEv
 	.type	_ZN10KKeyServer17keyboardHasWinKeyEv,@function
 _ZN10KKeyServer17keyboardHasWinKeyEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	je	.L439
 .L438:
 	xorl	%eax, %eax
 	cmpl	$0, _ZN10KKeyServer11g_rgModInfoE+68
 	setne	%al
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L439:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L438
 .Lfe14:
 	.size	_ZN10KKeyServer17keyboardHasWinKeyEv,.Lfe14-_ZN10KKeyServer17keyboardHasWinKeyEv
 	.align 2
 .globl _ZN10KKeyServer9modXShiftEv
 	.type	_ZN10KKeyServer9modXShiftEv,@function
 _ZN10KKeyServer9modXShiftEv:
 	pushl	%ebp
 	movl	$1, %eax
 	movl	%esp, %ebp
 	popl	%ebp
 	ret
 .Lfe15:
 	.size	_ZN10KKeyServer9modXShiftEv,.Lfe15-_ZN10KKeyServer9modXShiftEv
 	.align 2
 .globl _ZN10KKeyServer8modXLockEv
 	.type	_ZN10KKeyServer8modXLockEv,@function
 _ZN10KKeyServer8modXLockEv:
 	pushl	%ebp
 	movl	$2, %eax
 	movl	%esp, %ebp
 	popl	%ebp
 	ret
 .Lfe16:
 	.size	_ZN10KKeyServer8modXLockEv,.Lfe16-_ZN10KKeyServer8modXLockEv
 	.align 2
 .globl _ZN10KKeyServer8modXCtrlEv
 	.type	_ZN10KKeyServer8modXCtrlEv,@function
 _ZN10KKeyServer8modXCtrlEv:
 	pushl	%ebp
 	movl	$4, %eax
 	movl	%esp, %ebp
 	popl	%ebp
 	ret
 .Lfe17:
 	.size	_ZN10KKeyServer8modXCtrlEv,.Lfe17-_ZN10KKeyServer8modXCtrlEv
 	.align 2
 .globl _ZN10KKeyServer7modXAltEv
 	.type	_ZN10KKeyServer7modXAltEv,@function
 _ZN10KKeyServer7modXAltEv:
 	pushl	%ebp
 	movl	$8, %eax
 	movl	%esp, %ebp
 	popl	%ebp
 	ret
 .Lfe18:
 	.size	_ZN10KKeyServer7modXAltEv,.Lfe18-_ZN10KKeyServer7modXAltEv
 	.align 2
 .globl _ZN10KKeyServer11modXNumLockEv
 	.type	_ZN10KKeyServer11modXNumLockEv,@function
 _ZN10KKeyServer11modXNumLockEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	je	.L446
 .L445:
 	movl	_ZN10KKeyServer13g_modXNumLockE, %eax
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L446:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L445
 .Lfe19:
 	.size	_ZN10KKeyServer11modXNumLockEv,.Lfe19-_ZN10KKeyServer11modXNumLockEv
 	.align 2
 .globl _ZN10KKeyServer7modXWinEv
 	.type	_ZN10KKeyServer7modXWinEv,@function
 _ZN10KKeyServer7modXWinEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	je	.L449
 .L448:
 	movl	_ZN10KKeyServer11g_rgModInfoE+68, %eax
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L449:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L448
 .Lfe20:
 	.size	_ZN10KKeyServer7modXWinEv,.Lfe20-_ZN10KKeyServer7modXWinEv
 	.align 2
 .globl _ZN10KKeyServer14modXScrollLockEv
 	.type	_ZN10KKeyServer14modXScrollLockEv,@function
 _ZN10KKeyServer14modXScrollLockEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	je	.L452
 .L451:
 	movl	_ZN10KKeyServer16g_modXScrollLockE, %eax
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L452:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L451
 .Lfe21:
 	.size	_ZN10KKeyServer14modXScrollLockEv,.Lfe21-_ZN10KKeyServer14modXScrollLockEv
 	.align 2
 .globl _ZN10KKeyServer13accelModMaskXEv
 	.type	_ZN10KKeyServer13accelModMaskXEv,@function
 _ZN10KKeyServer13accelModMaskXEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	je	.L455
 .L454:
 	movl	_ZN10KKeyServer11g_rgModInfoE+68, %eax
 	movl	%ebp, %esp
 	orl	$13, %eax
 	popl	%ebp
 	ret
 .L455:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L454
 .Lfe22:
 	.size	_ZN10KKeyServer13accelModMaskXEv,.Lfe22-_ZN10KKeyServer13accelModMaskXEv
 	.align 2
 .globl _ZN10KKeyServer10keyQtToSymEiRj
 	.type	_ZN10KKeyServer10keyQtToSymEiRj,@function
 _ZN10KKeyServer10keyQtToSymEiRj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	leal	-4(%ebp), %eax
 	movl	$0, -4(%ebp)
 	movl	%eax, (%esp)
 	movl	8(%ebp), %eax
 	movl	%eax, 4(%esp)
 	call	_ZN10KKeyServer3Sym6initQtEi
 	testb	%al, %al
 	je	.L458
 	movl	12(%ebp), %eax
 	movl	-4(%ebp), %edx
 	movl	%edx, (%eax)
 	movl	$1, %eax
 .L456:
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L458:
 	xorl	%eax, %eax
 	jmp	.L456
 .Lfe23:
 	.size	_ZN10KKeyServer10keyQtToSymEiRj,.Lfe23-_ZN10KKeyServer10keyQtToSymEiRj
 	.align 2
 .globl _ZN10KKeyServer10keyQtToModEiRj
 	.type	_ZN10KKeyServer10keyQtToModEiRj,@function
 _ZN10KKeyServer10keyQtToModEiRj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	movl	8(%ebp), %edx
 	movl	12(%ebp), %eax
 	testl	$2097152, %edx
 	movl	$0, (%eax)
 	je	.L461
 	movl	$1, (%eax)
 .L461:
 	testl	$4194304, %edx
 	je	.L462
 	orl	$2, (%eax)
 .L462:
 	testl	$8388608, %edx
 	je	.L463
 	orl	$4, (%eax)
 .L463:
 	andl	$16777216, %edx
 	je	.L464
 	orl	$8, (%eax)
 .L464:
 	movl	$1, %eax
 	popl	%ebp
 	ret
 .Lfe24:
 	.size	_ZN10KKeyServer10keyQtToModEiRj,.Lfe24-_ZN10KKeyServer10keyQtToModEiRj
 	.align 2
 .globl _ZN10KKeyServer10symToKeyQtEjRi
 	.type	_ZN10KKeyServer10symToKeyQtEjRi,@function
 _ZN10KKeyServer10symToKeyQtEjRi:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	movl	8(%ebp), %eax
 	movl	%eax, -4(%ebp)
 	leal	-4(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK10KKeyServer3Sym2qtEv
 	movl	12(%ebp), %edx
 	cmpl	$65535, %eax
 	movl	%eax, (%edx)
 	setne	%al
 	movl	%ebp, %esp
 	movzbl	%al, %eax
 	popl	%ebp
 	ret
 .Lfe25:
 	.size	_ZN10KKeyServer10symToKeyQtEjRi,.Lfe25-_ZN10KKeyServer10symToKeyQtEjRi
 	.align 2
 .globl _ZN10KKeyServer10modToModQtEjRi
 	.type	_ZN10KKeyServer10modToModQtEjRi,@function
 _ZN10KKeyServer10modToModQtEjRi:
 	pushl	%ebp
 	xorl	%ecx, %ecx
 	xorl	%edx, %edx
 	movl	%esp, %ebp
 	pushl	%esi
 	pushl	%ebx
 	movl	8(%ebp), %esi
 	movl	12(%ebp), %ebx
 	movl	$0, (%ebx)
 .L474:
 	movl	%esi, %eax
 	andl	_ZN10KKeyServer11g_rgModInfoE(%edx), %eax
 	testl	%eax, %eax
 	je	.L470
 	movl	_ZN10KKeyServer11g_rgModInfoE+4(%edx), %eax
 	testl	%eax, %eax
 	je	.L477
 	orl	%eax, (%ebx)
 .L470:
 	addl	$1, %ecx
 	addl	$20, %edx
 	cmpl	$3, %ecx
 	jle	.L474
 	movl	$1, %eax
 .L467:
 	popl	%ebx
 	popl	%esi
 	popl	%ebp
 	ret
 .L477:
 	xorl	%eax, %eax
 	movl	$0, (%ebx)
 	jmp	.L467
 .Lfe26:
 	.size	_ZN10KKeyServer10modToModQtEjRi,.Lfe26-_ZN10KKeyServer10modToModQtEjRi
 	.align 2
 .globl _ZN10KKeyServer9modToModXEjRj
 	.type	_ZN10KKeyServer9modToModXEjRj,@function
 _ZN10KKeyServer9modToModXEjRj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%esi
 	pushl	%ebx
 	subl	$16, %esp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	movl	8(%ebp), %esi
 	movl	12(%ebp), %ebx
 	je	.L496
 .L479:
 	movl	$0, (%ebx)
 	xorl	%ecx, %ecx
 	xorl	%edx, %edx
 .L493:
 	movl	%esi, %eax
 	andl	_ZN10KKeyServer11g_rgModInfoE(%edx), %eax
 	testl	%eax, %eax
 	je	.L482
 	movl	_ZN10KKeyServer11g_rgModInfoE+8(%edx), %eax
 	testl	%eax, %eax
 	je	.L497
 	orl	%eax, (%ebx)
 .L482:
 	addl	$1, %ecx
 	addl	$20, %edx
 	cmpl	$3, %ecx
 	jle	.L493
 	movl	$1, %eax
 .L478:
 	addl	$16, %esp
 	popl	%ebx
 	popl	%esi
 	popl	%ebp
 	ret
 .L497:
 	xorl	%eax, %eax
 	movl	$0, (%ebx)
 	jmp	.L478
 .L496:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L479
 .Lfe27:
 	.size	_ZN10KKeyServer9modToModXEjRj,.Lfe27-_ZN10KKeyServer9modToModXEjRj
 	.align 2
 .globl _ZN10KKeyServer11modXToModQtEjRi
 	.type	_ZN10KKeyServer11modXToModQtEjRi,@function
 _ZN10KKeyServer11modXToModQtEjRi:
 	pushl	%ebp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	movl	%esp, %ebp
 	pushl	%esi
 	pushl	%ebx
 	movl	8(%ebp), %esi
 	movl	12(%ebp), %ebx
 	je	.L509
 .L499:
 	movl	$0, (%ebx)
 	xorl	%ecx, %ecx
 	xorl	%edx, %edx
 .L506:
 	movl	%esi, %eax
 	andl	_ZN10KKeyServer11g_rgModInfoE+8(%edx), %eax
 	testl	%eax, %eax
 	je	.L502
 	movl	_ZN10KKeyServer11g_rgModInfoE+4(%edx), %eax
 	testl	%eax, %eax
 	je	.L510
 	orl	%eax, (%ebx)
 .L502:
 	addl	$1, %ecx
 	addl	$20, %edx
 	cmpl	$3, %ecx
 	jle	.L506
 	movl	$1, %eax
 .L498:
 	popl	%ebx
 	popl	%esi
 	popl	%ebp
 	ret
 .L510:
 	xorl	%eax, %eax
 	movl	$0, (%ebx)
 	jmp	.L498
 .L509:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L499
 .Lfe28:
 	.size	_ZN10KKeyServer11modXToModQtEjRi,.Lfe28-_ZN10KKeyServer11modXToModQtEjRi
 	.align 2
 .globl _ZN10KKeyServer9modXToModEjRj
 	.type	_ZN10KKeyServer9modXToModEjRj,@function
 _ZN10KKeyServer9modXToModEjRj:
 	pushl	%ebp
 	cmpb	$0, _ZN10KKeyServer18g_bInitializedModsE
 	movl	%esp, %ebp
 	pushl	%esi
 	pushl	%ebx
 	movl	8(%ebp), %esi
 	movl	12(%ebp), %ebx
 	je	.L521
 .L512:
 	movl	$0, (%ebx)
 	xorl	%edx, %edx
 	movl	$3, %ecx
 .L518:
 	movl	%esi, %eax
 	andl	_ZN10KKeyServer11g_rgModInfoE+8(%edx), %eax
 	testl	%eax, %eax
 	je	.L515
 	movl	_ZN10KKeyServer11g_rgModInfoE(%edx), %eax
 	orl	%eax, (%ebx)
 .L515:
 	addl	$20, %edx
 	subl	$1, %ecx
 	jns	.L518
 	popl	%ebx
 	movl	$1, %eax
 	popl	%esi
 	popl	%ebp
 	ret
 .L521:
 	call	_ZN10KKeyServer14initializeModsEv
 	jmp	.L512
 .Lfe29:
 	.size	_ZN10KKeyServer9modXToModEjRj,.Lfe29-_ZN10KKeyServer9modXToModEjRj
 	.align 2
 .globl _ZN10KKeyServer10codeXToSymEhjRj
 	.type	_ZN10KKeyServer10codeXToSymEhjRj,@function
 _ZN10KKeyServer10codeXToSymEhjRj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$104, %esp
 	movl	%ebx, -4(%ebp)
 	movl	$2, -72(%ebp)
 	movzbl	8(%ebp), %ebx
 	call	_Z11qt_xdisplayv
 	movzbl	%bl, %ebx
 	movl	$0, 16(%esp)
 	movl	%eax, -60(%ebp)
 	movl	%ebx, -20(%ebp)
 	movl	$0, 4(%esp)
 	movl	12(%ebp), %eax
 	movl	$0, 8(%esp)
 	movl	%eax, -24(%ebp)
 	leal	-72(%ebp), %eax
 	movl	%eax, (%esp)
 	movl	16(%ebp), %eax
 	movl	%eax, 12(%esp)
 	call	XLookupString
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	movl	$1, %eax
 	popl	%ebp
 	ret
 .Lfe30:
 	.size	_ZN10KKeyServer10codeXToSymEhjRj,.Lfe30-_ZN10KKeyServer10codeXToSymEhjRj
 	.align 2
 	.type	_ZN10KKeyServer11modToStringEjb,@function
 _ZN10KKeyServer11modToStringEjb:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	subl	$60, %esp
 	movzbl	16(%ebp), %eax
 	movl	8(%ebp), %edi
 	testb	%al, %al
 	movb	%al, -41(%ebp)
 	je	.L524
 	cmpb	$0, _ZN10KKeyServer24g_bInitializedKKeyLabelsE
 	je	.L547
 .L524:
 	movl	_ZN7QString11shared_nullE, %eax
 	testl	%eax, %eax
 	je	.L548
 .L525:
 	movl	%eax, (%edi)
 	movl	$3, %esi
 	movl	$60, %ebx
 	addl	$1, (%eax)
 .L544:
 	movl	12(%ebp), %eax
 	andl	_ZN10KKeyServer11g_rgModInfoE(%ebx), %eax
 	testl	%eax, %eax
 	je	.L530
 	movl	(%edi), %eax
 	testl	$1073741823, 12(%eax)
 	jne	.L549
 .L533:
 	cmpb	$0, -41(%ebp)
 	je	.L536
 	leal	-40(%ebp), %eax
 	movl	%eax, (%esp)
 	leal	_ZN10KKeyServer11g_rgModInfoE+16(%ebx), %eax
 	movl	%eax, 4(%esp)
 	call	_ZN7QStringC1ERKS_
 .L537:
 	leal	-40(%ebp), %eax
 	movl	%edi, (%esp)
 	movl	%eax, 4(%esp)
 	call	_ZN7QStringpLERKS_
 	movl	-40(%ebp), %eax
 	movl	(%eax), %edx
 	subl	$1, %edx
 	testl	%edx, %edx
 	movl	%edx, (%eax)
 	jne	.L530
 	movl	-40(%ebp), %eax
 	cmpl	_ZN7QString11shared_nullE, %eax
 	je	.L550
 .L541:
 	movl	%eax, (%esp)
 	call	_ZN11QStringData10deleteSelfEv
 .L530:
 	subl	$20, %ebx
 	subl	$1, %esi
 	jns	.L544
 	addl	$60, %esp
 	movl	%edi, %eax
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret	$4
 .L550:
 	movl	$0, _ZN7QString11shared_nullE
 	jmp	.L541
 .L536:
 	leal	-40(%ebp), %eax
 	movl	%eax, (%esp)
 	movl	_ZN10KKeyServer11g_rgModInfoE+12(%ebx), %eax
 	movl	%eax, 4(%esp)
 	call	_ZN7QStringC1EPKc
 	jmp	.L537
 .L549:
 	movl	%edi, (%esp)
 	movl	$43, 4(%esp)
 	call	_ZN7QStringpLEc
 	jmp	.L533
 .L548:
 	call	_ZN7QString14makeSharedNullEv
 	jmp	.L525
 .L547:
 	call	_ZN10KKeyServer19intializeKKeyLabelsEv
 	jmp	.L524
 .Lfe31:
 	.size	_ZN10KKeyServer11modToStringEjb,.Lfe31-_ZN10KKeyServer11modToStringEjb
 	.align 2
 .globl _ZN10KKeyServer19modToStringInternalEj
 	.type	_ZN10KKeyServer19modToStringInternalEj,@function
 _ZN10KKeyServer19modToStringInternalEj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	12(%ebp), %eax
 	movl	%ebx, -4(%ebp)
 	movl	$0, 8(%esp)
 	movl	8(%ebp), %ebx
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyServer11modToStringEjb
 	movl	%ebx, %eax
 	subl	$4, %esp
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	popl	%ebp
 	ret	$4
 .Lfe32:
 	.size	_ZN10KKeyServer19modToStringInternalEj,.Lfe32-_ZN10KKeyServer19modToStringInternalEj
 	.align 2
 .globl _ZN10KKeyServer15modToStringUserEj
 	.type	_ZN10KKeyServer15modToStringUserEj,@function
 _ZN10KKeyServer15modToStringUserEj:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	12(%ebp), %eax
 	movl	%ebx, -4(%ebp)
 	movl	$1, 8(%esp)
 	movl	8(%ebp), %ebx
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyServer11modToStringEjb
 	movl	%ebx, %eax
 	subl	$4, %esp
 	movl	-4(%ebp), %ebx
 	movl	%ebp, %esp
 	popl	%ebp
 	ret	$4
 .Lfe33:
 	.size	_ZN10KKeyServer15modToStringUserEj,.Lfe33-_ZN10KKeyServer15modToStringUserEj
 	.align 2
 .globl _ZN10KKeyServer3Key4initERK4KKeyb
 	.type	_ZN10KKeyServer3Key4initERK4KKeyb,@function
 _ZN10KKeyServer3Key4initERK4KKeyb:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$40, %esp
 	cmpb	$0, 16(%ebp)
 	movl	12(%ebp), %eax
 	movl	%esi, -4(%ebp)
 	movl	%ebx, -8(%ebp)
 	movl	8(%ebp), %esi
 	je	.L554
 	movl	$256, (%esi)
 	movl	%eax, (%esp)
 	call	_ZNK4KKey9keyCodeQtEv
 	movl	%eax, 8(%esi)
 .L555:
 	movl	-8(%ebp), %ebx
 	movl	-4(%ebp), %esi
 	movl	$1, %eax
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L554:
 	leal	-24(%ebp), %ebx
 	movl	%eax, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyNativeC1ERK4KKey
 	movl	%ebx, 4(%esp)
 	movl	%esi, (%esp)
 	call	_ZN10KKeyServer3KeyaSERK10KKeyNative
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyNativeD1Ev
 	jmp	.L555
 .Lfe34:
 	.size	_ZN10KKeyServer3Key4initERK4KKeyb,.Lfe34-_ZN10KKeyServer3Key4initERK4KKeyb
 	.align 2
 .globl _ZNK10KKeyServer3Key3keyEv
 	.type	_ZNK10KKeyServer3Key3keyEv,@function
 _ZNK10KKeyServer3Key3keyEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	%ebx, -8(%ebp)
 	movl	%esi, -4(%ebp)
 	movl	12(%ebp), %ebx
 	cmpl	$256, (%ebx)
 	movl	8(%ebp), %esi
 	je	.L560
 	movl	4(%ebx), %eax
 	movl	%eax, (%esp)
 	leal	-12(%ebp), %eax
 	movl	%eax, 4(%esp)
 	call	_ZN10KKeyServer9modXToModEjRj
 	movl	%esi, (%esp)
 	movl	8(%ebx), %eax
 	movl	%eax, 4(%esp)
 	movl	-12(%ebp), %eax
 	movl	%eax, 8(%esp)
 	call	_ZN4KKeyC1Ejj
 .L556:
 	movl	%esi, %eax
 	movl	-8(%ebp), %ebx
 	movl	-4(%ebp), %esi
 	movl	%ebp, %esp
 	popl	%ebp
 	ret	$4
 .L560:
 	movl	8(%ebx), %eax
 	movl	%esi, (%esp)
 	movl	%eax, 4(%esp)
 	call	_ZN4KKeyC1Ei
 	jmp	.L556
 .Lfe35:
 	.size	_ZNK10KKeyServer3Key3keyEv,.Lfe35-_ZNK10KKeyServer3Key3keyEv
 	.align 2
 .globl _ZN10KKeyServer3KeyaSERK10KKeyNative
 	.type	_ZN10KKeyServer3KeyaSERK10KKeyNative,@function
 _ZN10KKeyServer3KeyaSERK10KKeyNative:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$24, %esp
 	movl	%ebx, -8(%ebp)
 	movl	%esi, -4(%ebp)
 	movl	12(%ebp), %ebx
 	movl	8(%ebp), %esi
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyNative4codeEv
 	movl	%eax, (%esi)
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyNative3modEv
 	movl	%eax, 4(%esi)
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyNative3symEv
 	movl	%eax, 8(%esi)
 	movl	%esi, %eax
 	movl	-8(%ebp), %ebx
 	movl	-4(%ebp), %esi
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .Lfe36:
 	.size	_ZN10KKeyServer3KeyaSERK10KKeyNative,.Lfe36-_ZN10KKeyServer3KeyaSERK10KKeyNative
 	.align 2
 .globl _ZNK10KKeyServer3Key7compareERKS0_
 	.type	_ZNK10KKeyServer3Key7compareERKS0_,@function
 _ZNK10KKeyServer3Key7compareERKS0_:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$8, %esp
 	movl	%esi, 4(%esp)
 	movl	%ebx, (%esp)
 	movl	8(%ebp), %ecx
 	movl	(%ecx), %ebx
 	movl	12(%ebp), %esi
 	cmpl	$256, %ebx
 	je	.L567
 	movl	8(%ecx), %edx
 	movl	8(%esi), %eax
 	cmpl	%eax, %edx
 	je	.L568
 .L566:
 	subl	%eax, %edx
 	movl	%edx, %eax
 .L562:
 	movl	(%esp), %ebx
 	movl	4(%esp), %esi
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L568:
 	movl	4(%ecx), %edx
 	movl	4(%esi), %eax
 	cmpl	%eax, %edx
 	jne	.L566
 	movl	%ebx, %eax
 	subl	(%esi), %eax
 	jmp	.L562
 .L567:
 	movl	8(%ecx), %eax
 	subl	8(%esi), %eax
 	jmp	.L562
 .Lfe37:
 	.size	_ZNK10KKeyServer3Key7compareERKS0_,.Lfe37-_ZNK10KKeyServer3Key7compareERKS0_
 	.align 2
 .globl _ZN10KKeyServer10Variations4initERK4KKeyb
 	.type	_ZN10KKeyServer10Variations4initERK4KKeyb,@function
 _ZN10KKeyServer10Variations4initERK4KKeyb:
 	pushl	%ebp
 	movl	%esp, %ebp
 	pushl	%edi
 	pushl	%esi
 	pushl	%ebx
 	subl	$108, %esp
 	movl	12(%ebp), %edi
 	movzbl	16(%ebp), %eax
 	movb	%al, -69(%ebp)
 	movl	%edi, (%esp)
 	call	_ZNK4KKey6isNullEv
 	testb	%al, %al
 	je	.L570
 	movl	8(%ebp), %edx
 	movl	$0, 48(%edx)
 .L569:
 	addl	$108, %esp
 	popl	%ebx
 	popl	%esi
 	popl	%edi
 	popl	%ebp
 	ret
 .L570:
 	movl	8(%ebp), %esi
 	leal	-40(%ebp), %eax
 	movl	$1, 48(%esi)
 	movl	%edi, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZN10KKeyNativeC1ERK4KKey
 	leal	-40(%ebp), %edx
 	movl	%esi, (%esp)
 	leal	-40(%ebp), %esi
 	movl	%edx, 4(%esp)
 	call	_ZN10KKeyServer3KeyaSERK10KKeyNative
 	movl	%esi, (%esp)
 	call	_ZN10KKeyNativeD1Ev
 	movl	%edi, (%esp)
 	call	_ZNK4KKey3symEv
 	movl	%eax, -60(%ebp)
 	leal	-60(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK10KKeyServer3Sym15getSymVariationEv
 	testl	%eax, %eax
 	movl	%eax, -76(%ebp)
 	jne	.L614
 .L572:
 	cmpb	$0, -69(%ebp)
 	je	.L569
 	movl	$0, -80(%ebp)
 	movl	$0, -84(%ebp)
 	xorl	%edx, %edx
 	movl	8(%ebp), %eax
 	cmpl	48(%eax), %edx
 	jae	.L609
 	movl	%eax, %ebx
 	movl	%eax, %edi
 .L587:
 	movl	4(%ebx), %edx
 	movl	8(%ebx), %ecx
 	movl	(%ebx), %eax
 	leal	-56(%ebp), %esi
 	movl	%eax, 4(%esp)
 	movl	%edx, 8(%esp)
 	movl	%ecx, 12(%esp)
 	movl	%esi, (%esp)
 	call	_ZN10KKeyNativeC1Ejjj
 	movl	%esi, (%esp)
 	call	_ZNK10KKeyNative9keyCodeQtEv
 	leal	-56(%ebp), %edx
 	movl	%eax, %esi
 	movl	%edx, (%esp)
 	call	_ZN10KKeyNativeD1Ev
 	testl	%esi, %esi
 	je	.L580
 	addl	$12, %edi
 	addl	$1, -80(%ebp)
 	movl	$256, -12(%edi)
 	movl	%esi, -4(%edi)
 .L580:
 	addl	$1, -84(%ebp)
 	movl	8(%ebp), %esi
 	addl	$12, %ebx
 	movl	-84(%ebp), %eax
 	cmpl	48(%esi), %eax
 	jb	.L587
 .L609:
 	movl	-80(%ebp), %esi
 	movl	8(%ebp), %edx
 	movl	%esi, 48(%edx)
 	movl	$1, %esi
 	cmpl	-80(%ebp), %esi
 	cs ; jae	.L569
 	addl	$12, %edx
 	movl	-80(%ebp), %edi
 	movl	%edx, -92(%ebp)
 .L607:
 	xorl	%ecx, %ecx
 	cmpl	%esi, %ecx
 	jae	.L590
 	leal	(%esi,%esi,2), %eax
 	movl	8(%ebp), %edx
 	movl	-92(%ebp), %ebx
 	sall	$2, %eax
 	addl	$8, %edx
 	addl	$8, %ebx
 	movl	%eax, -88(%ebp)
 .L606:
 	movl	(%edx), %eax
 	cmpl	%eax, (%ebx)
 	je	.L615
 	addl	$1, %ecx
 	addl	$12, %edx
 	cmpl	%esi, %ecx
 	jb	.L606
 .L590:
 	addl	$1, %esi
 	addl	$12, -92(%ebp)
 	cmpl	%edi, %esi
 	jb	.L607
 	jmp	.L569
 .L615:
 	leal	-1(%edi), %eax
 	movl	%esi, %ecx
 	cmpl	%eax, %esi
 	jae	.L613
 	movl	-88(%ebp), %edx
 	addl	8(%ebp), %edx
 .L605:
 	movl	20(%edx), %eax
 	movl	$256, (%edx)
 	addl	$1, %ecx
 	movl	%eax, 8(%edx)
 	movl	8(%ebp), %eax
 	addl	$12, %edx
 	movl	48(%eax), %edi
 	leal	-1(%edi), %eax
 	cmpl	%eax, %ecx
 	jb	.L605
 .L613:
 	leal	-1(%edi), %eax
 	movl	8(%ebp), %edx
 	subl	$1, %esi
 	movl	%eax, 48(%edx)
 	movl	%eax, %edi
 	subl	$12, -92(%ebp)
 	jmp	.L590
 .L614:
 	movl	8(%ebp), %edx
 	movl	8(%edx), %eax
 	movl	%eax, -64(%ebp)
 	leal	-64(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK10KKeyServer3Sym15getModsRequiredEv
 	movl	-76(%ebp), %esi
 	movl	%eax, %ebx
 	movl	%esi, -68(%ebp)
 	leal	-68(%ebp), %eax
 	movl	%eax, (%esp)
 	call	_ZNK10KKeyServer3Sym15getModsRequiredEv
 	movl	%edi, (%esp)
 	movl	%eax, %esi
 	call	_ZNK4KKey8modFlagsEv
 	movl	%edi, (%esp)
 	andl	%eax, %ebx
 	call	_ZNK4KKey8modFlagsEv
 	andl	%esi, %eax
 	cmpl	%eax, %ebx
 	jne	.L572
 	movl	%edi, (%esp)
 	call	_ZNK4KKey8modFlagsEv
 	movl	-76(%ebp), %esi
 	leal	-40(%ebp), %edx
 	movl	%esi, 4(%esp)
 	movl	%eax, 8(%esp)
 	movl	%edx, (%esp)
 	leal	-56(%ebp), %esi
 	call	_ZN4KKeyC1Ejj
 	leal	-40(%ebp), %edx
 	leal	-56(%ebp), %eax
 	movl	%edx, 4(%esp)
 	movl	%eax, (%esp)
 	call	_ZN10KKeyNativeC1ERK4KKey
 	movl	8(%ebp), %eax
 	movl	%esi, 4(%esp)
 	addl	$12, %eax
 	movl	%eax, (%esp)
 	call	_ZN10KKeyServer3KeyaSERK10KKeyNative
 	movl	%esi, (%esp)
 	call	_ZN10KKeyNativeD1Ev
 	leal	-40(%ebp), %edx
 	movl	%edx, (%esp)
 	call	_ZN4KKeyD1Ev
 	movl	8(%ebp), %esi
 	movl	$2, 48(%esi)
 	jmp	.L572
 .Lfe38:
 	.size	_ZN10KKeyServer10Variations4initERK4KKeyb,.Lfe38-_ZN10KKeyServer10Variations4initERK4KKeyb
 	.align 2
 .globl _ZN4KKey8simplifyEv
 	.type	_ZN4KKey8simplifyEv,@function
 _ZN4KKey8simplifyEv:
 	pushl	%ebp
 	movl	%esp, %ebp
 	subl	$88, %esp
 	movl	%esi, -4(%ebp)
 	movl	%ebx, -8(%ebp)
 	movl	8(%ebp), %esi
 	movl	(%esi), %eax
 	cmpl	$65301, %eax
 	je	.L630
 	cmpl	$65056, %eax
 	je	.L631
 	leal	-24(%ebp), %ebx
 	movl	%esi, 4(%esp)
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyNativeC1ERK4KKey
 	movl	%ebx, (%esp)
 	call	_ZNK10KKeyNative3symEv
 	movl	%eax, (%esi)
 	movl	%ebx, (%esp)
 	call	_ZN10KKeyNativeD1Ev
 .L618:
 	movl	(%esi), %edx
 	cmpl	$12287, %edx
 	jbe	.L632
 .L621:
 	leal	-60(%ebp), %eax
 	movl	%edx, -60(%ebp)
 	movl	%eax, (%esp)
 	call	_ZNK10KKeyServer3Sym15getModsRequiredEv
 	notl	%eax
 	andl	%eax, 4(%esi)
 	movl	-8(%ebp), %ebx
 	movl	-4(%ebp), %esi
 	movl	%ebp, %esp
 	popl	%ebp
 	ret
 .L632:
 	leal	-24(%ebp), %eax
 	movw	%dx, -24(%ebp)
 	movl	%eax, (%esp)
 	call	_ZNK5QChar8isLetterEv
 	testb	%al, %al
 	jne	.L633
 	movl	(%esi), %edx
 	jmp	.L621
 .L633:
 	movl	(%esi), %edx
 	leal	-40(%ebp), %eax
 	leal	-56(%ebp), %ecx
 	movw	%dx, -56(%ebp)
 	movl	%eax, (%esp)
 	movl	%ecx, 4(%esp)
 	call	_ZNK5QChar5lowerEv
 	subl	$4, %esp
 	cmpw	$255, -40(%ebp)
 	ja	.L624
 	movsbl	-40(%ebp),%eax
 .L626:
 	movl	%eax, %edx
 	movl	%eax, (%esi)
 	jmp	.L621
 .L624:
 	xorl	%eax, %eax
 	jmp	.L626
 .L631:
 	orl	$1, 4(%esi)
 	movl	$65289, (%esi)
 	jmp	.L618
 .L630:
 	orl	$4, 4(%esi)
 	movl	$65377, (%esi)
 	jmp	.L618
 .Lfe39:
 	.size	_ZN4KKey8simplifyEv,.Lfe39-_ZN4KKey8simplifyEv
 
 --Boundary-00=_lwnc93SoOAS8svZ--


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
@ 2002-09-01 11:45 paolo
  0 siblings, 0 replies; 5+ messages in thread
From: paolo @ 2002-09-01 11:45 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nicolai, nobody

Synopsis: Internal compiler error in cp_expr_size, at cp/cp-lang.c

State-Changed-From-To: open->feedback
State-Changed-By: paolo
State-Changed-When: Sun Sep  1 11:45:33 2002
State-Changed-Why:
    Could you please provide a self-contained preprocessed file
    as per the detailed bug reportting instructions at
    http://gcc.gnu.org/bugs.html#detailed ?
    Specifically, I suggest moving to the
    /usr/local/src/kde/3.1/kdelibs/kdecore dir and invoking
    by hand the compiler with the appropriate command line
    switches *plus* -save-temps.
    Thanks, Paolo.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7801


^ permalink raw reply	[flat|nested] 5+ messages in thread

* c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c
@ 2002-09-01 11:16 nicolai
  0 siblings, 0 replies; 5+ messages in thread
From: nicolai @ 2002-09-01 11:16 UTC (permalink / raw)
  To: gcc-gnats


>Number:         7801
>Category:       c++
>Synopsis:       Internal compiler error in cp_expr_size, at cp/cp-lang.c
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Sep 01 11:16:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Nicolai P Guba
>Release:        gcc-3.2.1
>Organization:
>Environment:
npg@eurotrash:/usr/local/src/kde/3.1/kdelibs$ gcc-3.2 -v
Reading specs from /usr/lib/gcc-lib/i386-linux/3.2.1/specs
Configured with: /mnt/data/gcc-3.1/gcc-3.2-3.2.1ds0/src/configure -v --enable-languages=c,c++,java,f77,proto,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-java-gc=boehm --enable-objc-gc i386-linux
Thread model: posix
gcc version 3.2.1 20020830 (Debian prerelease)

autoconf environment for i686 Debian GNU/Linux

xport KDEDIR=/opt/kde/3.0.6
export QTDIR=/opt/qt/3.0.4
export LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib
export PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
export CC=gcc-3.2
export CXX=g++-3.2
export CFLAGS="-march=pentium4"
export CXXFLAGS="$CFLAGS"

alias kdeconfigure="CC=$CC CXX=$CXX CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS ./configure --prefix=$KDEDIR --disable-debug"

export CVSROOT=:pserver:anonymous@anoncvs.kde.org:/home/kde

>Description:
On compiling the latest kdelibs cvs snapshot from kde.org, I
got the following error and request to file a report.

make[3]: Entering directory `/usr/local/src/kde/3.1/kdelibs/kdecore'
source='kkeyserver_x11.cpp' object='kkeyserver_x11.lo' libtool=yes \
depfile='.deps/kkeyserver_x11.Plo' tmpdepfile='.deps/kkeyserver_x11.TPlo' \
depmode=gcc3 /bin/sh ../admin/depcomp \
/bin/sh ../libtool --silent --mode=compile --tag=CXX g++-3.2 -DHAVE_CONFIG_H -I. -I. -I.. -I../dcop -I../libltdl -I../kdecore -I../kdeui -I../kio -I../kio/kio -I../kio/kfile -I.. -I/opt/qt/3.0.4/include -I/usr/X11R6/include -I/opt/kde/3.0.6/include  -I/usr/include/libart-2.0   -DQT_THREAD_SUPPORT  -D_REENTRANT   -Wnon-virtual-dtor -Wno-long-long -Wbad-function-cast -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -march=pentium4 -fno-exceptions -fno-check-new  -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_COMPAT  -c -o kkeyserver_x11.lo `test -f 'kkeyserver_x11.cpp' || echo './'`kkeyserver_x11.cpp

kkeyserver_x11.cpp: In function `void
   __static_initialization_and_destruction_0(int, int)':
kkeyserver_x11.cpp:73: Internal compiler error in cp_expr_size, at cp/cp-lang.c
   :130
Please submit a full bug report,
>How-To-Repeat:

autoconf arts with g++-3.2, compile and install.

cvs -d :pserver:anonymous@anoncvs.kde.org:/home/kde co kdelibs
autoconf with g++-3.2, compile and install.

error should just appear as stated above.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="kkeynative_x11.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="kkeynative_x11.cpp"

LyoKICAgIENvcHlyaWdodCAoQykgMjAwMSBFbGxpcyBXaGl0ZWhlYWQgPGVsbGlzQGtkZS5vcmc+
CgogICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCiAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KCiAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwogICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUg
MzMwLAogICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiovCgojaW5jbHVkZSA8cW5hbWVz
cGFjZS5oPgojaW5jbHVkZSA8cXdpbmRvd2RlZnMuaD4KCiNpZmRlZiBRX1dTX1gxMQkvLyBPbmx5
IGNvbXBpbGUgdGhpcyBtb2R1bGUgaWYgd2UncmUgY29tcGlsaW5nIGZvciBYMTEKCiNpbmNsdWRl
ICJra2V5bmF0aXZlLmgiCiNpbmNsdWRlICJra2V5c2VydmVyX3gxMS5oIgoKI2luY2x1ZGUgPHFt
YXAuaD4KI2luY2x1ZGUgPHFzdHJpbmdsaXN0Lmg+CiNpbmNsdWRlIDxrY2tleS5oPgojaW5jbHVk
ZSA8a2RlYnVnLmg+CiNpbmNsdWRlIDxrbG9jYWxlLmg+CgojZGVmaW5lIFhLX01JU0NFTExBTlkK
I2RlZmluZSBYS19YS0JfS0VZUwojaW5jbHVkZSA8WDExL1guaD4KI2luY2x1ZGUgPFgxMS9YbGli
Lmg+CiNpbmNsdWRlIDxYMTEvWHV0aWwuaD4KI2luY2x1ZGUgPFgxMS9rZXlzeW1kZWYuaD4KI2lu
Y2x1ZGUgPGN0eXBlLmg+CiN1bmRlZiBOT05FCgojaWZkZWYgUV9XU19YMTEKI2lmbmRlZiBLREVf
VVNFX0ZJTkFMCi8vIGRlZmluZWQgYnkgWDExIGhlYWRlcnMKY29uc3QgaW50IFhLZXlQcmVzcyA9
IEtleVByZXNzOwpjb25zdCBpbnQgWEtleVJlbGVhc2UgPSBLZXlSZWxlYXNlOwojdW5kZWYgS2V5
UHJlc3MKI2VuZGlmCiNlbmRpZgoKLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnN0YXRpYyBLS2V5TmF0aXZlKiBn
eF9wa2V5ID0gMDsKCi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi8vIEtLZXlOYXRpdmUKLy8tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
CktLZXlOYXRpdmU6OktLZXlOYXRpdmUoKSAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgY2xl
YXIoKTsgfQpLS2V5TmF0aXZlOjpLS2V5TmF0aXZlKCBjb25zdCBLS2V5JiBrZXkgKSAgICAgICAg
ICB7IGluaXQoIGtleSApOyB9CktLZXlOYXRpdmU6OktLZXlOYXRpdmUoIGNvbnN0IEtLZXlOYXRp
dmUmIGtleSApICAgIHsgaW5pdCgga2V5ICk7IH0KS0tleU5hdGl2ZTo6S0tleU5hdGl2ZSggY29u
c3QgWEV2ZW50KiBwRXZlbnQgKSAgICAgeyBpbml0KCBwRXZlbnQgKTsgfQoKS0tleU5hdGl2ZTo6
S0tleU5hdGl2ZSggdWludCBjb2RlLCB1aW50IG1vZCwgdWludCBzeW0gKQp7CgltX2NvZGUgPSBj
b2RlOwoJbV9tb2QgPSBtb2Q7CgltX3N5bSA9IHN5bTsKfQoKS0tleU5hdGl2ZTo6fktLZXlOYXRp
dmUoKQoJeyB9Cgp2b2lkIEtLZXlOYXRpdmU6OmNsZWFyKCkKewoJbV9jb2RlID0gMDsKCW1fbW9k
ID0gMDsKCW1fc3ltID0gMDsKfQoKYm9vbCBLS2V5TmF0aXZlOjppbml0KCBjb25zdCBYRXZlbnQq
IHBFdmVudCApCnsKCW1fY29kZSA9IHBFdmVudC0+eGtleS5rZXljb2RlOwoJbV9tb2QgPSBwRXZl
bnQtPnhrZXkuc3RhdGUgJiBLS2V5U2VydmVyOjphY2NlbE1vZE1hc2tYKCk7CglYTG9va3VwU3Ry
aW5nKCAoWEtleUV2ZW50KikgcEV2ZW50LCAwLCAwLCAoS2V5U3ltKikgJm1fc3ltLCAwICk7Cgly
ZXR1cm4gdHJ1ZTsKfQoKLy8gVE9ETzogQXZvaWQgY2FsbCB0byBYS2V5c3ltVG9LZXljb2RlIGhl
cmUgYnkgY3JlYXRpbmcgYSBtZXRob2QgaW4gS0tleVNlcnZlci4KYm9vbCBLS2V5TmF0aXZlOjpp
bml0KCBjb25zdCBLS2V5JiBrZXkgKQp7CgkvLyBHZXQgYW55IGV4dHJhIG1vZHMgcmVxdWlyZWQg
YnkgdGhlIHN5bS4KCS8vICBFLmcuLCBYS19QbHVzIHJlcXVpcmVzIFNISUZUIG9uIHRoZSBlbiBs
YXlvdXQuCgltX3N5bSA9IGtleS5zeW0oKTsKCXVpbnQgbW9kRXh0cmEgPSBLS2V5U2VydmVyOjpT
eW0obV9zeW0pLmdldE1vZHNSZXF1aXJlZCgpOwoJLy8gR2V0IHRoZSBYIG1vZGlmaWVyIGVxdWl2
YWxlbnQuCglpZiggIUtLZXlTZXJ2ZXI6Om1vZFRvTW9kWCgga2V5Lm1vZEZsYWdzKCkgfCBtb2RF
eHRyYSwgbV9tb2QgKSApIHsKCQltX3N5bSA9IG1fbW9kID0gMDsKCQltX2NvZGUgPSAwOwoJCXJl
dHVybiBmYWxzZTsKCX0KCgkvLyBUT0RPOiBjcmVhdGUgYSBrZXlzeW0gdG8ga2V5Y29kZSBmdW5j
dGlvbiBpbiBLS2V5U2VydmVyCgkvLyBGSVhNRTogQWNjb21hZGF0ZSBub24tc3RhbmRhcmQgbGF5
b3V0cwoJLy8gWEtleXN5bVRvS2V5Y29kZSByZXR1cm5zIHRoZSB3cm9uZyBrZXljb2RlIGZvciBY
S19QcmludCBhbmQgWEtfQnJlYWsuCgkvLyBTcGVjaWZpY2FsbHksIGl0IHJldHVybnMgdGhlIGNv
ZGUgZm9yIFN5c1JlcSBpbnN0ZWFkIG9mIFByaW50CglpZiggbV9zeW0gPT0gWEtfUHJpbnQgJiYg
IShtX21vZCAmIE1vZDFNYXNrKSApCgkJbV9jb2RlID0gMTExOyAvLyBjb2RlIGZvciBQcmludAoJ
ZWxzZSBpZiggbV9zeW0gPT0gWEtfQnJlYWsgfHwgKG1fc3ltID09IFhLX1BhdXNlICYmIChtX21v
ZCAmIENvbnRyb2xNYXNrKSkgKQoJCW1fY29kZSA9IDExNDsKCWVsc2UKCQltX2NvZGUgPSBYS2V5
c3ltVG9LZXljb2RlKCBxdF94ZGlzcGxheSgpLCBtX3N5bSApOwoKCWlmKCAhbV9jb2RlICYmIG1f
c3ltICkKCQlrZERlYnVnKDEyNSkgPDwgIkNvdWxkbid0IGdldCBjb2RlIGZvciBzeW0iIDw8IGVu
ZGw7CgkvLyBOb3cgZ2V0IHRoZSB0cnVlIHN5bSBmb3JtZWQgYnkgdGhlIG1vZGlmaWVycwoJLy8g
IEUuZy4sIFNoaWZ0K0VxdWFsID0+IFBsdXMgb24gdGhlIGVuIGxheW91dC4KCWlmKCBrZXkubW9k
RmxhZ3MoKSApCgkJS0tleVNlcnZlcjo6Y29kZVhUb1N5bSggbV9jb2RlLCBtX21vZCwgbV9zeW0g
KTsKCglyZXR1cm4gdHJ1ZTsKfQoKYm9vbCBLS2V5TmF0aXZlOjppbml0KCBjb25zdCBLS2V5TmF0
aXZlJiBrZXkgKQp7CgltX2NvZGUgPSBrZXkubV9jb2RlOwoJbV9tb2QgPSBrZXkubV9tb2Q7Cglt
X3N5bSA9IGtleS5tX3N5bTsKCXJldHVybiB0cnVlOwp9Cgp1aW50IEtLZXlOYXRpdmU6OmNvZGUo
KSBjb25zdCB7IHJldHVybiBtX2NvZGU7IH0KdWludCBLS2V5TmF0aXZlOjptb2QoKSBjb25zdCAg
eyByZXR1cm4gbV9tb2Q7IH0KdWludCBLS2V5TmF0aXZlOjpzeW0oKSBjb25zdCAgeyByZXR1cm4g
bV9zeW07IH0KCmJvb2wgS0tleU5hdGl2ZTo6aXNOdWxsKCkgY29uc3QKewoJcmV0dXJuIG1fc3lt
ID09IDA7Cn0KCmludCBLS2V5TmF0aXZlOjpjb21wYXJlKCBjb25zdCBLS2V5TmF0aXZlJiBrZXkg
KSBjb25zdAp7CglpZiggbV9zeW0gIT0ga2V5Lm1fc3ltICkgICByZXR1cm4gbV9zeW0gLSBrZXku
bV9zeW07CglpZiggbV9tb2QgIT0ga2V5Lm1fbW9kICkgICByZXR1cm4gbV9tb2QgLSBrZXkubV9t
b2Q7CglpZiggbV9jb2RlICE9IGtleS5tX2NvZGUgKSByZXR1cm4gbV9jb2RlIC0ga2V5Lm1fY29k
ZTsKCXJldHVybiAwOwp9CgpLS2V5TmF0aXZlJiBLS2V5TmF0aXZlOjpudWxsKCkKewoJaWYoICFn
eF9wa2V5ICkKCQlneF9wa2V5ID0gbmV3IEtLZXlOYXRpdmU7CglpZiggIWd4X3BrZXktPmlzTnVs
bCgpICkKCQlneF9wa2V5LT5jbGVhcigpOwoJcmV0dXJuICpneF9wa2V5Owp9CgpLS2V5IEtLZXlO
YXRpdmU6OmtleSgpIGNvbnN0CnsKCXVpbnQgbW9kU3BlYzsKCWlmKCBLS2V5U2VydmVyOjptb2RY
VG9Nb2QoIG1fbW9kLCBtb2RTcGVjICkgKQoJCXJldHVybiBLS2V5KCBtX3N5bSwgbW9kU3BlYyAp
OwoJZWxzZQoJCXJldHVybiBLS2V5KCk7Cn0KCmludCBLS2V5TmF0aXZlOjprZXlDb2RlUXQoKSBj
b25zdAp7CglpbnQga2V5UXQgPSBLS2V5U2VydmVyOjpTeW0obV9zeW0pLnF0KCksIG1vZFF0OwoK
CWlmKCBrZXlRdCAhPSBRdDo6S2V5X3Vua25vd24gJiYgS0tleVNlcnZlcjo6bW9kWFRvTW9kUXQo
IG1fbW9kLCBtb2RRdCApICkKCQlyZXR1cm4ga2V5UXQgfCBtb2RRdDsKCglyZXR1cm4gMDsKfQoK
dWludCBLS2V5TmF0aXZlOjptb2RYKCBLS2V5OjpNb2RGbGFnIG1vZEZsYWcgKSB7IHJldHVybiBL
S2V5U2VydmVyOjptb2RYKCBtb2RGbGFnICk7IH0KYm9vbCBLS2V5TmF0aXZlOjprZXlib2FyZEhh
c1dpbktleSgpICAgICAgICAgICB7IHJldHVybiBLS2V5U2VydmVyOjprZXlib2FyZEhhc1dpbktl
eSgpOyB9CnVpbnQgS0tleU5hdGl2ZTo6YWNjZWxNb2RNYXNrWCgpICAgICAgICAgICAgICAgeyBy
ZXR1cm4gS0tleVNlcnZlcjo6YWNjZWxNb2RNYXNrWCgpOyB9CgojZW5kaWYgLy8gUV9XU19YMTEK


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2002-09-13 21:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-13 14:24 c++/7801: Internal compiler error in cp_expr_size, at cp/cp-lang.c nathan
  -- strict thread matches above, loose matches on Subject: below --
2002-09-01 15:26 paolo
2002-09-01 13:46 Nicolai Guba
2002-09-01 11:45 paolo
2002-09-01 11:16 nicolai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).