summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--applewmproto/.gitignore78
-rw-r--r--applewmproto/COPYING27
-rw-r--r--applewmproto/Makefile.am19
-rw-r--r--applewmproto/README31
-rw-r--r--applewmproto/applewmconst.h107
-rw-r--r--applewmproto/applewmproto.h293
-rw-r--r--applewmproto/applewmproto.pc.in9
-rwxr-xr-xapplewmproto/autogen.sh12
-rw-r--r--applewmproto/configure.ac13
-rw-r--r--bigreqsproto/.gitignore78
-rw-r--r--bigreqsproto/COPYING21
-rw-r--r--bigreqsproto/Makefile.am20
-rw-r--r--bigreqsproto/README30
-rwxr-xr-xbigreqsproto/autogen.sh12
-rw-r--r--bigreqsproto/bigreqsproto.h67
-rw-r--r--bigreqsproto/bigreqsproto.pc.in9
-rw-r--r--bigreqsproto/bigreqstr.h3
-rw-r--r--bigreqsproto/configure.ac13
-rw-r--r--calibrateproto/Makefile.am39
-rwxr-xr-xcalibrateproto/autogen.sh12
-rw-r--r--calibrateproto/configure.ac6
-rw-r--r--calibrateproto/xcalibrateproto.h120
-rw-r--r--calibrateproto/xcalibrateproto.pc.in9
-rw-r--r--calibrateproto/xcalibratewire.h44
-rw-r--r--compositeproto/.gitignore78
-rw-r--r--compositeproto/AUTHORS1
-rw-r--r--compositeproto/COPYING41
-rw-r--r--compositeproto/Makefile.am43
-rw-r--r--compositeproto/README33
-rwxr-xr-xcompositeproto/autogen.sh12
-rw-r--r--compositeproto/composite.h71
-rw-r--r--compositeproto/compositeproto.h192
-rw-r--r--compositeproto/compositeproto.pc.in9
-rw-r--r--compositeproto/compositeproto.txt339
-rw-r--r--compositeproto/configure.ac37
-rw-r--r--damageproto/.gitignore78
-rw-r--r--damageproto/AUTHORS2
-rw-r--r--damageproto/COPYING23
-rw-r--r--damageproto/Makefile.am43
-rw-r--r--damageproto/NEWS2
-rw-r--r--damageproto/README34
-rwxr-xr-xdamageproto/autogen.sh12
-rw-r--r--damageproto/configure.ac37
-rw-r--r--damageproto/damageproto.h158
-rw-r--r--damageproto/damageproto.pc.in9
-rw-r--r--damageproto/damageproto.txt222
-rw-r--r--damageproto/damagewire.h56
-rw-r--r--dmxproto/.gitignore78
-rw-r--r--dmxproto/COPYING24
-rw-r--r--dmxproto/Makefile.am20
-rw-r--r--dmxproto/README31
-rwxr-xr-xdmxproto/autogen.sh12
-rw-r--r--dmxproto/configure.ac13
-rw-r--r--dmxproto/dmx.h68
-rw-r--r--dmxproto/dmxproto.h445
-rw-r--r--dmxproto/dmxproto.pc.in9
-rw-r--r--dri2proto/.gitignore78
-rw-r--r--dri2proto/COPYING29
-rw-r--r--dri2proto/Makefile.am20
-rw-r--r--dri2proto/README30
-rwxr-xr-xdri2proto/autogen.sh12
-rw-r--r--dri2proto/configure.ac13
-rw-r--r--dri2proto/dri2proto.h317
-rw-r--r--dri2proto/dri2proto.pc.in9
-rw-r--r--dri2proto/dri2proto.txt873
-rw-r--r--dri2proto/dri2tokens.h55
-rw-r--r--evieproto/.gitignore78
-rw-r--r--evieproto/COPYING20
-rw-r--r--evieproto/Makefile.am21
-rw-r--r--evieproto/README31
-rw-r--r--evieproto/Xeviestr.h3
-rwxr-xr-xevieproto/autogen.sh12
-rw-r--r--evieproto/configure.ac13
-rw-r--r--evieproto/evieproto.h156
-rw-r--r--evieproto/evieproto.pc.in9
-rw-r--r--fixesproto/.gitignore78
-rw-r--r--fixesproto/AUTHORS1
-rw-r--r--fixesproto/COPYING41
-rw-r--r--fixesproto/Makefile.am43
-rw-r--r--fixesproto/README31
-rwxr-xr-xfixesproto/autogen.sh12
-rw-r--r--fixesproto/configure.ac37
-rw-r--r--fixesproto/fixesproto.pc.in10
-rw-r--r--fixesproto/fixesproto.txt577
-rw-r--r--fixesproto/xfixesproto.h518
-rw-r--r--fixesproto/xfixeswire.h127
-rw-r--r--fontcacheproto/.gitignore78
-rw-r--r--fontcacheproto/COPYING24
-rw-r--r--fontcacheproto/Makefile.am22
-rw-r--r--fontcacheproto/README30
-rwxr-xr-xfontcacheproto/autogen.sh12
-rw-r--r--fontcacheproto/configure.ac13
-rw-r--r--fontcacheproto/fontcache.h106
-rw-r--r--fontcacheproto/fontcacheP.h40
-rw-r--r--fontcacheproto/fontcacheproto.pc.in9
-rw-r--r--fontcacheproto/fontcachstr.h130
-rw-r--r--fontsproto/.gitignore78
-rw-r--r--fontsproto/COPYING86
-rw-r--r--fontsproto/FS.h129
-rw-r--r--fontsproto/FSproto.h814
-rw-r--r--fontsproto/Makefile.am24
-rw-r--r--fontsproto/README25
-rwxr-xr-xfontsproto/autogen.sh12
-rw-r--r--fontsproto/configure.ac13
-rw-r--r--fontsproto/font.h166
-rw-r--r--fontsproto/fontproto.h91
-rw-r--r--fontsproto/fontsproto.pc.in9
-rw-r--r--fontsproto/fontstruct.h293
-rw-r--r--fontsproto/fsmasks.h97
-rw-r--r--glproto/.gitignore78
-rw-r--r--glproto/COPYING27
-rw-r--r--glproto/Makefile.am26
-rw-r--r--glproto/README30
-rwxr-xr-xglproto/autogen.sh12
-rw-r--r--glproto/configure.ac13
-rw-r--r--glproto/glcore.h181
-rw-r--r--glproto/glproto.pc.in9
-rw-r--r--glproto/glxint.h137
-rw-r--r--glproto/glxmd.h54
-rw-r--r--glproto/glxproto.h2613
-rw-r--r--glproto/glxtokens.h285
-rw-r--r--inputproto/.gitignore78
-rw-r--r--inputproto/COPYING63
-rw-r--r--inputproto/Makefile.am24
-rw-r--r--inputproto/README30
-rw-r--r--inputproto/XI.h308
-rw-r--r--inputproto/XI2.h181
-rw-r--r--inputproto/XI2proto.h976
-rw-r--r--inputproto/XI2proto.txt1677
-rw-r--r--inputproto/XIproto.h1756
-rw-r--r--inputproto/XIproto.txt2542
-rwxr-xr-xinputproto/autogen.sh12
-rw-r--r--inputproto/configure.ac13
-rw-r--r--inputproto/inputproto.pc.in9
-rw-r--r--kbproto/.gitignore78
-rw-r--r--kbproto/COPYING22
-rw-r--r--kbproto/Makefile.am23
-rw-r--r--kbproto/README30
-rw-r--r--kbproto/XKB.h788
-rw-r--r--kbproto/XKBgeom.h659
-rw-r--r--kbproto/XKBproto.h1282
-rw-r--r--kbproto/XKBsrv.h1187
-rw-r--r--kbproto/XKBstr.h614
-rwxr-xr-xkbproto/autogen.sh12
-rw-r--r--kbproto/configure.ac13
-rw-r--r--kbproto/kbproto.pc.in9
-rw-r--r--lg3dproto/AUTHORS1
-rw-r--r--lg3dproto/COPYING22
-rw-r--r--lg3dproto/CVS/Entries11
-rw-r--r--lg3dproto/CVS/Repository1
-rw-r--r--lg3dproto/CVS/Root1
-rw-r--r--lg3dproto/CVS/Template0
-rw-r--r--lg3dproto/INSTALL8
-rw-r--r--lg3dproto/Makefile482
-rw-r--r--lg3dproto/Makefile.am39
-rw-r--r--lg3dproto/Makefile.in482
-rw-r--r--lg3dproto/README9
-rw-r--r--lg3dproto/aclocal.m4585
-rwxr-xr-xlg3dproto/autogen.sh12
-rw-r--r--lg3dproto/autom4te.cache/output.02612
-rw-r--r--lg3dproto/autom4te.cache/output.12626
-rw-r--r--lg3dproto/autom4te.cache/output.22626
-rw-r--r--lg3dproto/autom4te.cache/requests418
-rw-r--r--lg3dproto/autom4te.cache/traces.0128
-rw-r--r--lg3dproto/autom4te.cache/traces.197
-rw-r--r--lg3dproto/autom4te.cache/traces.2630
-rw-r--r--lg3dproto/config.log169
-rwxr-xr-xlg3dproto/config.status726
-rwxr-xr-xlg3dproto/configure2626
-rw-r--r--lg3dproto/configure.ac30
-rwxr-xr-xlg3dproto/install-sh316
-rw-r--r--lg3dproto/lg3dproto.pc9
-rw-r--r--lg3dproto/lg3dproto.pc.in9
-rw-r--r--lg3dproto/lgewire.h120
-rwxr-xr-xlg3dproto/missing360
-rw-r--r--pmproto/.gitignore14
-rw-r--r--pmproto/COPYING24
-rw-r--r--pmproto/Makefile.am21
-rw-r--r--pmproto/PM.h54
-rw-r--r--pmproto/PM_spec153
-rw-r--r--pmproto/PMproto.h74
-rw-r--r--pmproto/README26
-rwxr-xr-xpmproto/autogen.sh12
-rw-r--r--pmproto/configure.ac12
-rw-r--r--pmproto/xproxymngproto.pc.in9
-rw-r--r--printproto/.gitignore14
-rw-r--r--printproto/COPYING29
-rw-r--r--printproto/Makefile.am53
-rw-r--r--printproto/Print.h552
-rw-r--r--printproto/Printstr.h781
-rwxr-xr-xprintproto/autogen.sh12
-rw-r--r--printproto/configure.ac12
-rw-r--r--printproto/man/Xprint.man421
-rw-r--r--printproto/man/Xprint.sgml627
-rw-r--r--printproto/printproto.pc.in10
-rw-r--r--printproto/specs/xp_proto.bookbin0 -> 22528 bytes
-rw-r--r--printproto/specs/xp_proto.mif73304
-rw-r--r--printproto/specs/xp_proto.ps10422
-rw-r--r--printproto/specs/xp_protoIX.docbin0 -> 34816 bytes
-rw-r--r--printproto/specs/xp_protoTOC.docbin0 -> 19456 bytes
-rw-r--r--printproto/specs/xp_proto_cov.mif3467
-rw-r--r--randrproto/.gitignore78
-rw-r--r--randrproto/COPYING21
-rw-r--r--randrproto/Makefile.am22
-rw-r--r--randrproto/README30
-rwxr-xr-xrandrproto/autogen.sh12
-rw-r--r--randrproto/configure.ac36
-rw-r--r--randrproto/randr.h163
-rw-r--r--randrproto/randrproto.h802
-rw-r--r--randrproto/randrproto.pc.in9
-rw-r--r--randrproto/randrproto.txt2379
-rw-r--r--recordproto/.gitignore78
-rw-r--r--recordproto/COPYING17
-rw-r--r--recordproto/Makefile.am21
-rw-r--r--recordproto/README30
-rwxr-xr-xrecordproto/autogen.sh12
-rw-r--r--recordproto/configure.ac13
-rw-r--r--recordproto/recordconst.h54
-rw-r--r--recordproto/recordproto.h306
-rw-r--r--recordproto/recordproto.pc.in9
-rw-r--r--recordproto/recordstr.h4
-rw-r--r--renderproto/.gitignore78
-rw-r--r--renderproto/COPYING20
-rw-r--r--renderproto/Makefile.am22
-rw-r--r--renderproto/README30
-rwxr-xr-xrenderproto/autogen.sh12
-rw-r--r--renderproto/configure.ac13
-rw-r--r--renderproto/render.h210
-rw-r--r--renderproto/renderproto.h663
-rw-r--r--renderproto/renderproto.pc.in9
-rw-r--r--renderproto/renderproto.txt1207
-rw-r--r--resourceproto/.gitignore78
-rw-r--r--resourceproto/COPYING20
-rw-r--r--resourceproto/Makefile.am19
-rw-r--r--resourceproto/README30
-rw-r--r--resourceproto/XResproto.h129
-rwxr-xr-xresourceproto/autogen.sh12
-rw-r--r--resourceproto/configure.ac13
-rw-r--r--resourceproto/resourceproto.pc.in9
-rw-r--r--scrnsaverproto/.gitignore78
-rw-r--r--scrnsaverproto/COPYING24
-rw-r--r--scrnsaverproto/Makefile.am20
-rw-r--r--scrnsaverproto/README30
-rwxr-xr-xscrnsaverproto/autogen.sh12
-rw-r--r--scrnsaverproto/configure.ac13
-rw-r--r--scrnsaverproto/saver.h52
-rw-r--r--scrnsaverproto/saverproto.h175
-rw-r--r--scrnsaverproto/scrnsaverproto.pc.in9
-rw-r--r--trapproto/.gitignore14
-rw-r--r--trapproto/COPYING18
-rw-r--r--trapproto/Makefile.am24
-rw-r--r--trapproto/README6
-rwxr-xr-xtrapproto/autogen.sh12
-rw-r--r--trapproto/configure.ac12
-rw-r--r--trapproto/trapproto.pc.in10
-rw-r--r--trapproto/xtrapbits.h83
-rw-r--r--trapproto/xtrapddmi.h115
-rw-r--r--trapproto/xtrapdi.h501
-rw-r--r--trapproto/xtrapemacros.h387
-rw-r--r--trapproto/xtraplib.h133
-rw-r--r--trapproto/xtraplibp.h151
-rw-r--r--trapproto/xtrapproto.h168
-rw-r--r--videoproto/.gitignore78
-rw-r--r--videoproto/COPYING63
-rw-r--r--videoproto/Makefile.am25
-rw-r--r--videoproto/README30
-rw-r--r--videoproto/Xv.h128
-rw-r--r--videoproto/XvMC.h138
-rw-r--r--videoproto/XvMCproto.h226
-rw-r--r--videoproto/Xvproto.h603
-rwxr-xr-xvideoproto/autogen.sh12
-rw-r--r--videoproto/configure.ac13
-rw-r--r--videoproto/videoproto.pc.in9
-rw-r--r--videoproto/vldXvMC.h174
-rw-r--r--videoproto/xv-protocol-v2.txt654
-rw-r--r--windowswmproto/.gitignore78
-rw-r--r--windowswmproto/COPYING23
-rw-r--r--windowswmproto/Makefile.am20
-rw-r--r--windowswmproto/README34
-rwxr-xr-xwindowswmproto/autogen.sh12
-rw-r--r--windowswmproto/configure.ac13
-rw-r--r--windowswmproto/windowswm.h195
-rw-r--r--windowswmproto/windowswmproto.pc.in9
-rw-r--r--windowswmproto/windowswmstr.h169
-rw-r--r--x11proto/.gitignore82
-rw-r--r--x11proto/AUTHORS23
-rw-r--r--x11proto/COPYING64
-rw-r--r--x11proto/DECkeysym.h65
-rw-r--r--x11proto/HPkeysym.h164
-rw-r--r--x11proto/Makefile.am47
-rw-r--r--x11proto/README25
-rw-r--r--x11proto/Sunkeysym.h106
-rw-r--r--x11proto/X.h717
-rw-r--r--x11proto/XF86keysym.h230
-rw-r--r--x11proto/XWDFile.h113
-rw-r--r--x11proto/Xalloca.h121
-rw-r--r--x11proto/Xarch.h93
-rw-r--r--x11proto/Xatom.h79
-rw-r--r--x11proto/Xdefs.h108
-rw-r--r--x11proto/Xfuncproto.h.in126
-rw-r--r--x11proto/Xfuncs.h69
-rw-r--r--x11proto/Xmd.h185
-rw-r--r--x11proto/Xos.h148
-rw-r--r--x11proto/Xos_r.h1095
-rw-r--r--x11proto/Xosdefs.h116
-rw-r--r--x11proto/Xpoll.h.in218
-rw-r--r--x11proto/Xproto.h2157
-rw-r--r--x11proto/Xprotostr.h77
-rw-r--r--x11proto/Xthreads.h313
-rw-r--r--x11proto/Xw32defs.h79
-rw-r--r--x11proto/Xwindows.h91
-rw-r--r--x11proto/Xwinsock.h65
-rw-r--r--x11proto/ap_keysym.h51
-rwxr-xr-xx11proto/autogen.sh12
-rw-r--r--x11proto/configure.ac209
-rw-r--r--x11proto/keysym.h73
-rw-r--r--x11proto/keysymdef.h2389
-rw-r--r--x11proto/xproto.pc.in10
-rw-r--r--xcmiscproto/.gitignore78
-rw-r--r--xcmiscproto/COPYING21
-rw-r--r--xcmiscproto/Makefile.am20
-rw-r--r--xcmiscproto/README30
-rwxr-xr-xxcmiscproto/autogen.sh12
-rw-r--r--xcmiscproto/configure.ac13
-rw-r--r--xcmiscproto/xcmiscproto.h110
-rw-r--r--xcmiscproto/xcmiscproto.pc.in9
-rw-r--r--xcmiscproto/xcmiscstr.h3
-rw-r--r--xextproto/.gitignore78
-rw-r--r--xextproto/COPYING201
-rw-r--r--xextproto/EVI.h36
-rw-r--r--xextproto/EVIproto.h96
-rw-r--r--xextproto/Makefile.am60
-rw-r--r--xextproto/README42
-rw-r--r--xextproto/ag.h52
-rw-r--r--xextproto/agproto.h178
-rwxr-xr-xxextproto/autogen.sh12
-rw-r--r--xextproto/configure.ac13
-rw-r--r--xextproto/cup.h38
-rw-r--r--xextproto/cupproto.h105
-rw-r--r--xextproto/dbe.h57
-rw-r--r--xextproto/dbeproto.h224
-rw-r--r--xextproto/dpmsconst.h43
-rw-r--r--xextproto/dpmsproto.h175
-rw-r--r--xextproto/ge.h62
-rw-r--r--xextproto/geproto.h85
-rw-r--r--xextproto/geproto.txt83
-rw-r--r--xextproto/lbx.h73
-rw-r--r--xextproto/lbxproto.h975
-rw-r--r--xextproto/mitmiscconst.h38
-rw-r--r--xextproto/mitmiscproto.h68
-rw-r--r--xextproto/multibufconst.h83
-rw-r--r--xextproto/multibufproto.h295
-rw-r--r--xextproto/secur.h61
-rw-r--r--xextproto/securproto.h110
-rw-r--r--xextproto/shapeconst.h55
-rw-r--r--xextproto/shapeproto.h237
-rw-r--r--xextproto/shapestr.h8
-rw-r--r--xextproto/shm.h44
-rw-r--r--xextproto/shmproto.h187
-rw-r--r--xextproto/shmstr.h66
-rw-r--r--xextproto/syncconst.h179
-rw-r--r--xextproto/syncproto.h378
-rw-r--r--xextproto/syncstr.h184
-rw-r--r--xextproto/xextproto.pc.in9
-rw-r--r--xextproto/xtestconst.h41
-rw-r--r--xextproto/xtestext1const.h160
-rw-r--r--xextproto/xtestext1proto.h221
-rw-r--r--xextproto/xtestproto.h124
-rw-r--r--xf86bigfontproto/.gitignore78
-rw-r--r--xf86bigfontproto/COPYING20
-rw-r--r--xf86bigfontproto/Makefile.am21
-rw-r--r--xf86bigfontproto/README27
-rwxr-xr-xxf86bigfontproto/autogen.sh12
-rw-r--r--xf86bigfontproto/configure.ac13
-rw-r--r--xf86bigfontproto/xf86bigfont.h20
-rw-r--r--xf86bigfontproto/xf86bigfontproto.pc.in9
-rw-r--r--xf86bigfontproto/xf86bigfproto.h92
-rw-r--r--xf86bigfontproto/xf86bigfstr.h3
-rw-r--r--xf86dgaproto/.gitignore78
-rw-r--r--xf86dgaproto/COPYING20
-rw-r--r--xf86dgaproto/Makefile.am25
-rw-r--r--xf86dgaproto/README29
-rwxr-xr-xxf86dgaproto/autogen.sh12
-rw-r--r--xf86dgaproto/configure.ac13
-rw-r--r--xf86dgaproto/xf86dga.h13
-rw-r--r--xf86dgaproto/xf86dga1const.h36
-rw-r--r--xf86dgaproto/xf86dga1proto.h195
-rw-r--r--xf86dgaproto/xf86dga1str.h3
-rw-r--r--xf86dgaproto/xf86dgaconst.h96
-rw-r--r--xf86dgaproto/xf86dgaproto.h344
-rw-r--r--xf86dgaproto/xf86dgaproto.pc.in9
-rw-r--r--xf86dgaproto/xf86dgastr.h3
-rw-r--r--xf86driproto/.gitignore78
-rw-r--r--xf86driproto/COPYING24
-rw-r--r--xf86driproto/Makefile.am18
-rw-r--r--xf86driproto/README30
-rwxr-xr-xxf86driproto/autogen.sh12
-rw-r--r--xf86driproto/configure.ac13
-rw-r--r--xf86driproto/xf86dri.h65
-rw-r--r--xf86driproto/xf86driproto.h342
-rw-r--r--xf86driproto/xf86driproto.pc.in9
-rw-r--r--xf86driproto/xf86dristr.h3
-rw-r--r--xf86miscproto/.gitignore78
-rw-r--r--xf86miscproto/COPYING20
-rw-r--r--xf86miscproto/Makefile.am21
-rw-r--r--xf86miscproto/README28
-rwxr-xr-xxf86miscproto/autogen.sh12
-rw-r--r--xf86miscproto/configure.ac13
-rw-r--r--xf86miscproto/xf86misc.h172
-rw-r--r--xf86miscproto/xf86miscproto.pc.in9
-rw-r--r--xf86miscproto/xf86mscstr.h238
411 files changed, 158799 insertions, 0 deletions
diff --git a/applewmproto/.gitignore b/applewmproto/.gitignore
new file mode 100644
index 0000000..f18e437
--- /dev/null
+++ b/applewmproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for applewmproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/applewmproto/COPYING b/applewmproto/COPYING
new file mode 100644
index 0000000..be403fd
--- /dev/null
+++ b/applewmproto/COPYING
@@ -0,0 +1,27 @@
+/**************************************************************************
+
+Copyright (c) 2002-2009 Apple, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
diff --git a/applewmproto/Makefile.am b/applewmproto/Makefile.am
new file mode 100644
index 0000000..63db4c7
--- /dev/null
+++ b/applewmproto/Makefile.am
@@ -0,0 +1,19 @@
+applewmdir = $(includedir)/X11/extensions
+applewm_HEADERS = \
+ applewmconst.h \
+ applewmproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = applewmproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+INSTALL:
+ $(INSTALL_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/applewmproto/README b/applewmproto/README
new file mode 100644
index 0000000..78e3c08
--- /dev/null
+++ b/applewmproto/README
@@ -0,0 +1,31 @@
+ Apple Rootless Window Management Extension
+
+This extension defines a protcol that allows X window managers
+to better interact with the Mac OS X Aqua user interface when
+running X11 in a rootless mode.
+
+Extension name: Apple-WM
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/applewmproto
+
+ http://cgit.freedesktop.org/xorg/proto/applewmproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/applewmproto/applewmconst.h b/applewmproto/applewmconst.h
new file mode 100644
index 0000000..5088804
--- /dev/null
+++ b/applewmproto/applewmconst.h
@@ -0,0 +1,107 @@
+/**************************************************************************
+
+Copyright (c) 2002 Apple Computer, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+#ifndef _APPLEWMCONST_H_
+#define _APPLEWMCONST_H_
+
+/* Events */
+#define AppleWMControllerNotify 0
+#define AppleWMActivationNotify 1
+#define AppleWMPasteboardNotify 2
+#define AppleWMNumberEvents 3
+
+#define AppleWMControllerNotifyMask (1L << 0)
+#define AppleWMActivationNotifyMask (1L << 1)
+#define AppleWMPasteboardNotifyMask (1L << 2)
+
+/* "Kinds" of ControllerNotify events */
+#define AppleWMMinimizeWindow 0
+#define AppleWMZoomWindow 1
+#define AppleWMCloseWindow 2
+#define AppleWMBringAllToFront 3
+#define AppleWMHideWindow 4
+#define AppleWMHideAll 5
+#define AppleWMShowAll 6
+#define AppleWMWindowMenuItem 9
+#define AppleWMWindowMenuNotify 10
+#define AppleWMNextWindow 11
+#define AppleWMPreviousWindow 12
+
+/* "Kinds" of ActivationNotify events */
+#define AppleWMIsActive 0
+#define AppleWMIsInactive 1
+#define AppleWMReloadPreferences 2
+
+/* "Kinds" of PasteboardNotify events */
+#define AppleWMCopyToPasteboard 0
+
+/* Errors */
+#define AppleWMClientNotLocal 0
+#define AppleWMOperationNotSupported 1
+#define AppleWMNumberErrors (AppleWMOperationNotSupported + 1)
+
+/* Window level ids */
+#define AppleWMWindowLevelNormal 0
+#define AppleWMWindowLevelFloating 1
+#define AppleWMWindowLevelTornOff 2
+#define AppleWMWindowLevelDock 3
+#define AppleWMWindowLevelDesktop 4
+#define AppleWMNumWindowLevels 5
+
+/* Possible value for frame_rect argument to XAppleWMFrameGetRect() */
+#define AppleWMFrameRectTitleBar 1
+#define AppleWMFrameRectTracking 2
+#define AppleWMFrameRectGrowBox 3
+
+/* Window frame classes */
+#define AppleWMFrameClassDocument 1 << 0
+#define AppleWMFrameClassDialog 1 << 1
+#define AppleWMFrameClassModalDialog 1 << 2
+#define AppleWMFrameClassSystemModalDialog 1 << 3
+#define AppleWMFrameClassUtility 1 << 4
+#define AppleWMFrameClassToolbar 1 << 5
+#define AppleWMFrameClassMenu 1 << 6
+#define AppleWMFrameClassSplash 1 << 7
+#define AppleWMFrameClassBorderless 1 << 8
+
+/* Window frame attributes */
+#define AppleWMFrameActive 0x0001
+#define AppleWMFrameUrgent 0x0002
+#define AppleWMFrameTitle 0x0004
+#define AppleWMFramePrelight 0x0008
+#define AppleWMFrameShaded 0x0010
+#define AppleWMFrameCloseBox 0x0100
+#define AppleWMFrameCollapseBox 0x0200
+#define AppleWMFrameZoomBox 0x0400
+#define AppleWMFrameAnyBox 0x0700
+#define AppleWMFrameCloseBoxClicked 0x0800
+#define AppleWMFrameCollapseBoxClicked 0x1000
+#define AppleWMFrameZoomBoxClicked 0x2000
+#define AppleWMFrameAnyBoxClicked 0x3800
+#define AppleWMFrameGrowBox 0x4000
+
+#endif /* _APPLEWMCONST_H_ */
diff --git a/applewmproto/applewmproto.h b/applewmproto/applewmproto.h
new file mode 100644
index 0000000..d8be4e6
--- /dev/null
+++ b/applewmproto/applewmproto.h
@@ -0,0 +1,293 @@
+/**************************************************************************
+
+Copyright (c) 2002 Apple Computer, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+#ifndef _APPLEWMPROTO_H_
+#define _APPLEWMPROTO_H_
+
+#include <X11/extensions/applewmconst.h>
+#include <X11/X.h>
+#include <X11/Xmd.h>
+
+#define APPLEWMNAME "Apple-WM"
+
+#define APPLE_WM_MAJOR_VERSION 1 /* current version numbers */
+#define APPLE_WM_MINOR_VERSION 3
+#define APPLE_WM_PATCH_VERSION 0
+
+#define X_AppleWMQueryVersion 0
+#define X_AppleWMFrameGetRect 1
+#define X_AppleWMFrameHitTest 2
+#define X_AppleWMFrameDraw 3
+#define X_AppleWMDisableUpdate 4
+#define X_AppleWMReenableUpdate 5
+#define X_AppleWMSelectInput 6
+#define X_AppleWMSetWindowMenuCheck 7
+#define X_AppleWMSetFrontProcess 8
+#define X_AppleWMSetWindowLevel 9
+#define X_AppleWMSetCanQuit 10
+#define X_AppleWMSetWindowMenu 11
+#define X_AppleWMSendPSN 12
+#define X_AppleWMAttachTransient 13
+
+/* For the purpose of the structure definitions in this file,
+we must redefine the following types in terms of Xmd.h's types, which may
+include bit fields. All of these are #undef'd at the end of this file,
+restoring the definitions in X.h. */
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+typedef struct _AppleWMQueryVersion {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMQueryVersion */
+ CARD16 length B16;
+} xAppleWMQueryVersionReq;
+#define sz_xAppleWMQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of WM protocol */
+ CARD16 minorVersion B16; /* minor version of WM protocol */
+ CARD32 patchVersion B32; /* patch version of WM protocol */
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleWMQueryVersionReply;
+#define sz_xAppleWMQueryVersionReply 32
+
+typedef struct _AppleWMDisableUpdate {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMDisableUpdate */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xAppleWMDisableUpdateReq;
+#define sz_xAppleWMDisableUpdateReq 8
+
+typedef struct _AppleWMReenableUpdate {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMReenableUpdate */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xAppleWMReenableUpdateReq;
+#define sz_xAppleWMReenableUpdateReq 8
+
+typedef struct _AppleWMSelectInput {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSelectInput */
+ CARD16 length B16;
+ CARD32 mask B32;
+} xAppleWMSelectInputReq;
+#define sz_xAppleWMSelectInputReq 8
+
+typedef struct _AppleWMNotify {
+ BYTE type; /* always eventBase + event type */
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ Time time B32; /* time of change */
+ CARD16 pad1 B16;
+ CARD32 arg B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleWMNotifyEvent;
+#define sz_xAppleWMNotifyEvent 32
+
+typedef struct _AppleWMSetWindowMenu {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSetWindowMenu */
+ CARD16 length B16;
+ CARD16 nitems B16;
+ CARD16 pad1 B16;
+} xAppleWMSetWindowMenuReq;
+#define sz_xAppleWMSetWindowMenuReq 8
+
+typedef struct _AppleWMSetWindowMenuCheck {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSetWindowMenuCheck */
+ CARD16 length B16;
+ CARD32 index;
+} xAppleWMSetWindowMenuCheckReq;
+#define sz_xAppleWMSetWindowMenuCheckReq 8
+
+typedef struct _AppleWMSetFrontProcess {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSetFrontProcess */
+ CARD16 length B16;
+} xAppleWMSetFrontProcessReq;
+#define sz_xAppleWMSetFrontProcessReq 4
+
+typedef struct _AppleWMSetWindowLevel {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSetWindowLevel */
+ CARD16 length B16;
+ CARD32 window;
+ CARD32 level;
+} xAppleWMSetWindowLevelReq;
+#define sz_xAppleWMSetWindowLevelReq 12
+
+typedef struct _AppleWMSendPSN {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSendPSN */
+ CARD16 length B16;
+ CARD32 psn_hi;
+ CARD32 psn_lo;
+} xAppleWMSendPSNReq;
+#define sz_xAppleWMSendPSNReq 12
+
+typedef struct _AppleWMAttachTransient {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMAttachTransient */
+ CARD16 length B16;
+ CARD32 child;
+ CARD32 parent;
+} xAppleWMAttachTransientReq;
+#define sz_xAppleWMAttachTransientReq 12
+
+typedef struct _AppleWMSetCanQuit {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMSetCanQuit */
+ CARD16 length B16;
+ CARD32 state;
+} xAppleWMSetCanQuitReq;
+#define sz_xAppleWMSetCanQuitReq 8
+
+typedef struct _AppleWMFrameGetRect {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMFrameGetRect */
+ CARD16 length B16;
+ CARD16 frame_class B16;
+ CARD16 frame_rect B16;
+ CARD16 ix B16;
+ CARD16 iy B16;
+ CARD16 iw B16;
+ CARD16 ih B16;
+ CARD16 ox B16;
+ CARD16 oy B16;
+ CARD16 ow B16;
+ CARD16 oh B16;
+} xAppleWMFrameGetRectReq;
+#define sz_xAppleWMFrameGetRectReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD16 w B16;
+ CARD16 h B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleWMFrameGetRectReply;
+#define sz_xAppleWMFrameGetRectReply 32
+
+typedef struct _AppleWMFrameHitTest {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMFrameHitTest */
+ CARD16 length B16;
+ CARD16 frame_class B16;
+ CARD16 pad1 B16;
+ CARD16 px B16;
+ CARD16 py B16;
+ CARD16 ix B16;
+ CARD16 iy B16;
+ CARD16 iw B16;
+ CARD16 ih B16;
+ CARD16 ox B16;
+ CARD16 oy B16;
+ CARD16 ow B16;
+ CARD16 oh B16;
+} xAppleWMFrameHitTestReq;
+#define sz_xAppleWMFrameHitTestReq 28
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 ret B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xAppleWMFrameHitTestReply;
+#define sz_xAppleWMFrameHitTestReply 32
+
+typedef struct _AppleWMFrameDraw {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_AppleWMFrameDraw */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 window B32;
+ CARD16 frame_class B16;
+ CARD16 frame_attr B16;
+ CARD16 ix B16;
+ CARD16 iy B16;
+ CARD16 iw B16;
+ CARD16 ih B16;
+ CARD16 ox B16;
+ CARD16 oy B16;
+ CARD16 ow B16;
+ CARD16 oh B16;
+ CARD32 title_length B32;
+} xAppleWMFrameDrawReq;
+#define sz_xAppleWMFrameDrawReq 36
+
+/* restore these definitions back to the typedefs in X.h */
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _APPLEWMPROTO_H_ */
diff --git a/applewmproto/applewmproto.pc.in b/applewmproto/applewmproto.pc.in
new file mode 100644
index 0000000..6ec1c48
--- /dev/null
+++ b/applewmproto/applewmproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: AppleWMProto
+Description: AppleWM extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/applewmproto/autogen.sh b/applewmproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/applewmproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/applewmproto/configure.ac b/applewmproto/configure.ac
new file mode 100644
index 0000000..84be89b
--- /dev/null
+++ b/applewmproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([AppleWMProto], [1.4.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ applewmproto.pc])
diff --git a/bigreqsproto/.gitignore b/bigreqsproto/.gitignore
new file mode 100644
index 0000000..9edb463
--- /dev/null
+++ b/bigreqsproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for bigreqsproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/bigreqsproto/COPYING b/bigreqsproto/COPYING
new file mode 100644
index 0000000..142f2fa
--- /dev/null
+++ b/bigreqsproto/COPYING
@@ -0,0 +1,21 @@
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
diff --git a/bigreqsproto/Makefile.am b/bigreqsproto/Makefile.am
new file mode 100644
index 0000000..45960ba
--- /dev/null
+++ b/bigreqsproto/Makefile.am
@@ -0,0 +1,20 @@
+bigreqsdir = $(includedir)/X11/extensions
+bigreqs_HEADERS = \
+ bigreqsproto.h \
+ bigreqstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = bigreqsproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/bigreqsproto/README b/bigreqsproto/README
new file mode 100644
index 0000000..f8b14de
--- /dev/null
+++ b/bigreqsproto/README
@@ -0,0 +1,30 @@
+ Big Requests Extension
+
+This extension defines a protocol to enable the use of requests
+that exceed 262140 bytes in length.
+
+Extension name: BIG-REQUESTS
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/bigreqsproto
+
+ http://cgit.freedesktop.org/xorg/proto/bigreqsproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/bigreqsproto/autogen.sh b/bigreqsproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/bigreqsproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/bigreqsproto/bigreqsproto.h b/bigreqsproto/bigreqsproto.h
new file mode 100644
index 0000000..bd0f8e5
--- /dev/null
+++ b/bigreqsproto/bigreqsproto.h
@@ -0,0 +1,67 @@
+/*
+
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _BIGREQSPROTO_H_
+#define _BIGREQSPROTO_H_
+
+#define X_BigReqEnable 0
+
+#define XBigReqNumberEvents 0
+
+#define XBigReqNumberErrors 0
+
+#define XBigReqExtensionName "BIG-REQUESTS"
+
+typedef struct {
+ CARD8 reqType; /* always XBigReqCode */
+ CARD8 brReqType; /* always X_BigReqEnable */
+ CARD16 length B16;
+} xBigReqEnableReq;
+#define sz_xBigReqEnableReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 max_request_size B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xBigReqEnableReply;
+#define sz_xBigReqEnableReply 32
+
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 data;
+ CARD16 zero B16;
+ CARD32 length B32;
+} xBigReq;
+
+#endif /* _BIGREQSPROTO_H_ */
diff --git a/bigreqsproto/bigreqsproto.pc.in b/bigreqsproto/bigreqsproto.pc.in
new file mode 100644
index 0000000..e3adbfd
--- /dev/null
+++ b/bigreqsproto/bigreqsproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: BigReqsProto
+Description: BigReqs extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/bigreqsproto/bigreqstr.h b/bigreqsproto/bigreqstr.h
new file mode 100644
index 0000000..0a023db
--- /dev/null
+++ b/bigreqsproto/bigreqstr.h
@@ -0,0 +1,3 @@
+#warning "bigreqstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/bigreqsproto.h> for the protocol defines."
+#include <X11/extensions/bigreqsproto.h>
diff --git a/bigreqsproto/configure.ac b/bigreqsproto/configure.ac
new file mode 100644
index 0000000..9c1cf55
--- /dev/null
+++ b/bigreqsproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([BigReqsProto], [1.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ bigreqsproto.pc])
diff --git a/calibrateproto/Makefile.am b/calibrateproto/Makefile.am
new file mode 100644
index 0000000..2e7dee2
--- /dev/null
+++ b/calibrateproto/Makefile.am
@@ -0,0 +1,39 @@
+#
+# Copyright © 2003 Philip Blundell
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Philip Blundell not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Philip Blundell makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+#
+
+XCalibrateincludedir = $(includedir)/X11/extensions
+XCalibrateinclude_HEADERS = xcalibrateproto.h xcalibratewire.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xcalibrateproto.pc
+
+EXTRA_DIST = autogen.sh xcalibrateproto.pc.in
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
diff --git a/calibrateproto/autogen.sh b/calibrateproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/calibrateproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/calibrateproto/configure.ac b/calibrateproto/configure.ac
new file mode 100644
index 0000000..eb41072
--- /dev/null
+++ b/calibrateproto/configure.ac
@@ -0,0 +1,6 @@
+AC_PREREQ([2.59])
+AC_INIT([xcalibrateproto], [0.1.0], [pb@nexus.co.uk])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+AC_OUTPUT([Makefile
+ xcalibrateproto.pc])
diff --git a/calibrateproto/xcalibrateproto.h b/calibrateproto/xcalibrateproto.h
new file mode 100644
index 0000000..feded32
--- /dev/null
+++ b/calibrateproto/xcalibrateproto.h
@@ -0,0 +1,120 @@
+/*
+ * $Id: xcalibrateproto.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $
+ *
+ * Copyright © 2003 Philip Blundell
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Philip Blundell not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Philip Blundell makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef XCALIBRATEPROTO_H
+#define XCALIBRATEPROTO_H
+
+/*
+ * requests and replies
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 xCalibrateReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xXCalibrateQueryVersionReq;
+
+#define sz_xXCalibrateQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXCalibrateQueryVersionReply;
+
+#define sz_xXCalibrateQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xCalibrateReqType;
+ CARD16 length B16;
+ CARD16 on B16;
+ CARD16 pad B16;
+} xXCalibrateRawModeReq;
+
+#define sz_xXCalibrateRawModeReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 status;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXCalibrateRawModeReply;
+
+#define sz_xXCalibrateRawModeReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xCalibrateReqType;
+ CARD16 length B16;
+ CARD32 x B32;
+ CARD32 y B32;
+} xXCalibrateScreenToCoordReq;
+
+#define sz_xXCalibrateScreenToCoordReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 x;
+ CARD32 y;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXCalibrateScreenToCoordReply;
+
+#define sz_xXCalibrateScreenToCoordReply 32
+
+/* Events */
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD16 x;
+ CARD16 y;
+ CARD16 pressure;
+ CARD16 pad2;
+} xXCalibrateRawTouchscreenEvent;
+
+#define sz_xXCalibrateRawTouchscreenEvent 12
+
+#endif
diff --git a/calibrateproto/xcalibrateproto.pc.in b/calibrateproto/xcalibrateproto.pc.in
new file mode 100644
index 0000000..f17f8d7
--- /dev/null
+++ b/calibrateproto/xcalibrateproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XCalibrate
+Description: XCalibrate extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/calibrateproto/xcalibratewire.h b/calibrateproto/xcalibratewire.h
new file mode 100644
index 0000000..0a1c904
--- /dev/null
+++ b/calibrateproto/xcalibratewire.h
@@ -0,0 +1,44 @@
+/*
+ * $Id: xcalibratewire.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $
+ *
+ * Copyright © 2003 Philip Blundell
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Philip Blundell not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Philip Blundell makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef XCALIBRATEWIRE_H
+#define XCALIBRATEWIRE_H
+
+#define XCALIBRATE_MAJOR_VERSION 0
+#define XCALIBRATE_MINOR_VERSION 1
+#define XCALIBRATE_NAME "XCALIBRATE"
+
+#define X_XCalibrateQueryVersion 0
+#define X_XCalibrateRawMode 1
+#define X_XCalibrateScreenToCoord 2
+
+#define XCalibrateNumberRequests (X_XCalibrateScreenToCoord + 1)
+
+#define X_XCalibrateRawTouchscreen 0
+
+#define XCalibrateNumberEvents (X_XCalibrateRawTouchscreen + 1)
+
+#define XCalibrateNumberErrors 0
+
+#endif
diff --git a/compositeproto/.gitignore b/compositeproto/.gitignore
new file mode 100644
index 0000000..896b3f5
--- /dev/null
+++ b/compositeproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for compositeproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/compositeproto/AUTHORS b/compositeproto/AUTHORS
new file mode 100644
index 0000000..8e18f9b
--- /dev/null
+++ b/compositeproto/AUTHORS
@@ -0,0 +1 @@
+Keith Packard, HP
diff --git a/compositeproto/COPYING b/compositeproto/COPYING
new file mode 100644
index 0000000..23c1a6c
--- /dev/null
+++ b/compositeproto/COPYING
@@ -0,0 +1,41 @@
+Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright © 2003 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Keith Packard makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/compositeproto/Makefile.am b/compositeproto/Makefile.am
new file mode 100644
index 0000000..5a14884
--- /dev/null
+++ b/compositeproto/Makefile.am
@@ -0,0 +1,43 @@
+#
+# Copyright © 2003 Keith Packard, Noah Levitt
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Keith Packard not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Keith Packard makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+compositedir = $(includedir)/X11/extensions
+composite_HEADERS = \
+ composite.h \
+ compositeproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = compositeproto.pc
+
+dist_doc_DATA = compositeproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/compositeproto/README b/compositeproto/README
new file mode 100644
index 0000000..66b40a4
--- /dev/null
+++ b/compositeproto/README
@@ -0,0 +1,33 @@
+ Composite Extension
+ Version 0.1
+ 2003-11-04
+
+This package contains header files and documentation for the composite
+extension. Library and server implementations are separate.
+
+Keith Packard
+keithp@keithp.com
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/compositeproto
+
+ http://cgit.freedesktop.org/xorg/proto/compositeproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/compositeproto/autogen.sh b/compositeproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/compositeproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/compositeproto/composite.h b/compositeproto/composite.h
new file mode 100644
index 0000000..7725321
--- /dev/null
+++ b/compositeproto/composite.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _COMPOSITE_H_
+#define _COMPOSITE_H_
+
+#include <X11/extensions/xfixeswire.h>
+
+#define COMPOSITE_NAME "Composite"
+#define COMPOSITE_MAJOR 0
+#define COMPOSITE_MINOR 4
+
+#define CompositeRedirectAutomatic 0
+#define CompositeRedirectManual 1
+
+#define X_CompositeQueryVersion 0
+#define X_CompositeRedirectWindow 1
+#define X_CompositeRedirectSubwindows 2
+#define X_CompositeUnredirectWindow 3
+#define X_CompositeUnredirectSubwindows 4
+#define X_CompositeCreateRegionFromBorderClip 5
+#define X_CompositeNameWindowPixmap 6
+#define X_CompositeGetOverlayWindow 7
+#define X_CompositeReleaseOverlayWindow 8
+
+#define CompositeNumberRequests (X_CompositeReleaseOverlayWindow + 1)
+
+#define CompositeNumberEvents 0
+
+#endif /* _COMPOSITE_H_ */
diff --git a/compositeproto/compositeproto.h b/compositeproto/compositeproto.h
new file mode 100644
index 0000000..aa6cd8a
--- /dev/null
+++ b/compositeproto/compositeproto.h
@@ -0,0 +1,192 @@
+/*
+ * Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _COMPOSITEPROTO_H_
+#define _COMPOSITEPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/composite.h>
+
+#define Window CARD32
+#define Region CARD32
+#define Pixmap CARD32
+
+/*
+ * requests and replies
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xCompositeQueryVersionReq;
+
+#define sz_xCompositeQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xCompositeQueryVersionReply;
+
+#define sz_xCompositeQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD8 update;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xCompositeRedirectWindowReq;
+
+#define sz_xCompositeRedirectWindowReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD8 update;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xCompositeRedirectSubwindowsReq;
+
+#define sz_xCompositeRedirectSubwindowsReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD8 update;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xCompositeUnredirectWindowReq;
+
+#define sz_xCompositeUnredirectWindowReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD8 update;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xCompositeUnredirectSubwindowsReq;
+
+#define sz_xCompositeUnredirectSubwindowsReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Region region B32;
+ Window window B32;
+} xCompositeCreateRegionFromBorderClipReq;
+
+#define sz_xCompositeCreateRegionFromBorderClipReq 12
+
+/* Version 0.2 additions */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length;
+ Window window B32;
+ Pixmap pixmap B32;
+} xCompositeNameWindowPixmapReq;
+
+#define sz_xCompositeNameWindowPixmapReq 12
+
+/* Version 0.3 additions */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+} xCompositeGetOverlayWindowReq;
+
+#define sz_xCompositeGetOverlayWindowReq sizeof(xCompositeGetOverlayWindowReq)
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window overlayWin B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xCompositeGetOverlayWindowReply;
+
+#define sz_xCompositeGetOverlayWindowReply sizeof(xCompositeGetOverlayWindowReply)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 compositeReqType;
+ CARD16 length B16;
+ Window window B32;
+} xCompositeReleaseOverlayWindowReq;
+
+#define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq)
+
+#undef Window
+#undef Region
+#undef Pixmap
+
+#endif /* _COMPOSITEPROTO_H_ */
diff --git a/compositeproto/compositeproto.pc.in b/compositeproto/compositeproto.pc.in
new file mode 100644
index 0000000..6348022
--- /dev/null
+++ b/compositeproto/compositeproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: CompositeExt
+Description: Composite extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/compositeproto/compositeproto.txt b/compositeproto/compositeproto.txt
new file mode 100644
index 0000000..4b86621
--- /dev/null
+++ b/compositeproto/compositeproto.txt
@@ -0,0 +1,339 @@
+ Composite Extension
+ Version 0.4
+ 2007-7-3
+ Keith Packard
+ keithp@keithp.com
+ Deron Johnson
+ deron.johnson@sun.com
+
+1. Introduction
+
+Many user interface operations would benefit from having pixel contents of
+window hierarchies available without respect to sibling and antecedent
+clipping. In addition, placing control over the composition of these pixel
+contents into a final screen image in an external application will enable
+a flexible system for dynamic application content presentation.
+
+2. Acknowledgements
+
+This small extension has been brewing for several years, contributors to
+both early prototypes and the final design include:
+
+ + Bill Haneman for motivating the ability to magnify occluded windows
+ with his work on accessibility
+
+ + Carsten Haitzler for Enlightenment, the original eye-candy window
+ manager which demonstrated that clever hacks are an awfully
+ close substitute for changes in the underlying system.
+
+ + Jim Gettys for key insights into the relationship between damage
+ events and per-window pixmap usage
+
+ + Mike Harris and Owen Taylor for figuring out what to call it.
+
+ + Deron Johnson for the Looking Glass implementation and
+ a prototype of the coordinate transformation mechanism.
+
+ + Ryan Lortie for helping figure out reasonable parent clipping
+ semantics in the presense of manual redirected children.
+
+3. Architecture
+
+The composite extension provides three related mechanisms:
+
+ 1. Per-hierarchy storage. The rendering of an entire hierarchy of windows
+ is redirected to off-screen storage. The pixels of that hierarchy
+ are available whenever it is viewable. Storage is automatically
+ reallocated when the top level window changes size. Contents beyond
+ the geometry of the top window are not preserved.
+
+ 2. Automatic shadow update. When a hierarchy is rendered off-screen,
+ the X server provides an automatic mechanism for presenting those
+ contents within the parent window. The implementation is free to
+ make this update lag behind actual rendering operations by an
+ unspecified amount of time. This automatic update mechanism may
+ be disabled so that the parent window contents can be completely
+ determined by an external application.
+
+ 3. External parent - child pointer coordinate transformation.
+ When a hierarchy is under manual compositing, the relationship
+ of coordinates within the parent to those in the child may
+ not be known within the X server. This mechanism provides
+ for redirection of these transformations through a client.
+
+Per-hierarchy storage may be created for individual windows or for all
+children of a window. Manual shadow update may be selected by only a single
+application for each window; manual update may also be selected on a
+per-window basis or for each child of a window. Detecting when to update
+may be done with the Damage extension.
+
+The off-screen storage includes the window contents, its borders and the
+contents of all descendants.
+
+3.1 NameWindowPixmap
+
+Version 0.2 of the protocol introduces a mechanism for associating an XID
+with the off-screen pixmap used to store these contents. This can be used
+to hold onto window contents after the window is unmapped (and hence animate
+it's disappearance), and also to access the border of the window, which is
+not reachable through the Window ID itself. A new pixmap is created each
+time the window is mapped or resized; as these events are nicely signalled
+with existing events, no additional notification is needed. The old pixmap
+will remain allocated as long as the Pixmap ID is left valid, it is
+important that the client use the FreePixmap request when it is done with
+the contents and to create a new name for the newly allocated pixmap.
+
+In automatic update mode, the X server is itself responsible for presenting
+the child window contents within the parent. It seems reasonable, then, for
+rendering to the parent window to be clipped so as not to interfere with any
+child window content. In an environment with a mixure of manual and
+automatic updating windows, rendering to the parent in the area nominally
+occupied by a manual update window should be able to affect parent pixel
+values in those areas, but such rendering should be clipped to automatic
+update windows, and presumably to other manual update windows managed by
+other applications. In any of these cases, it should be easy to ensure that
+rendering has no effect on any non-redirected windows.
+
+Instead of attempting to define new clipping modes for rendering, the
+Composite extension instead defines ClipByChildren rendering to the parent
+to exclude regions occupied by redirected windows (either automatic or
+manual). The CreateRegionFromBorderClip request can be used along with
+IncludeInferiors clipping modes to restrict manual shadow updates to the
+apporpriate region of the screen. Bracketing operations with
+GrabServer/UngrabServer will permit atomic sequences that can update the
+screen without artifact. As all of these operations are asynchronous,
+network latency should not adversely affect update latency.
+
+3.2 Composite Overlay Window
+
+Version 0.3 of the protocol adds the Composite Overlay Window, which
+provides compositing managers with a surface on which to draw without
+interference. This window is always above normal windows and is always
+below the screen saver window. It is an InputOutput window whose width
+and height are the screen dimensions. Its visual is the root visual
+and its border width is zero. Attempts to redirect it using the
+composite extension are ignored. This window does not appear in the
+reply of the QueryTree request. It is also an override redirect window.
+These last two features make it invisible to window managers and other X11
+clients. The only way to access the XID of this window is via the
+CompositeGetOverlayWindow request. Initially, the Composite Overlay
+Window is unmapped.
+
+CompositeGetOverlayWindow returns the XID of the Composite Overlay
+Window. If the window has not yet been mapped, it is mapped by this
+request. When all clients who have called this request have terminated
+their X11 connections the window is unmapped.
+
+Composite managers may render directly to the Composite Overlay
+Window, or they may reparent other windows to be children of this
+window and render to these. Multiple clients may render to the
+Composite Overlay Window, create child windows of it, reshape it, and
+redefine its input region, but the specific arbitration rules followed
+by these clients is not defined by this specification; these policies
+should be defined by the clients themselves.
+
+3.3 Clipping semantics redefined
+
+Version 0.4 of the protocol changes the semantics of clipping in the
+presense of manual redirect children. In version 0.3, a parent was always
+clipped to child windows, independent of the kind of redirection going on.
+With version 0.4, the parent is no longer clipped to child windows which are
+manually redirected. This means the parent can draw in the child region without using
+IncludeInferiors mode, and (perhaps more importantly), it will receive
+expose events in those regions caused by other actions. This new behaviour
+is not selectable.
+
+4. Errors
+
+The composite extension does not define any new errors.
+
+5. Types
+
+ UPDATETYPE { Automatic, Manual }
+
+ CompositeCoordinate
+ child: Window
+ x, y: CARD16
+
+7. Extension Initialization
+
+The client must negotiate the version of the extension before executing
+extension requests. Otherwise, the server will return BadRequest for any
+operations other than QueryVersion.
+
+ QueryVersion
+
+ client-major-version: CARD32
+ client-minor-version: CARD32
+
+ ->
+
+ major-version: CARD32
+ minor-version: CARD32
+
+ The client sends the highest supported version to the server and
+ the server sends the highest version it supports, but no higher than
+ the requested version. Major versions changes can introduce
+ incompatibilities in existing functionality, minor version
+ changes introduce only backward compatible changes. It is
+ the client's responsibility to ensure that the server supports
+ a version which is compatible with its expectations. Servers
+ are encouraged to support multiple versions of the extension.
+
+8. Hierarchy Redirection
+
+ RedirectWindow
+
+ window: Window
+ update: UPDATETYPE
+
+ errors: Window, Access, Match
+
+ The hierarchy starting at 'window' is directed to off-screen
+ storage. 'update' specifies whether the contents are mirrored to
+ the parent window automatically or not. Only one client may specify
+ an update type of Manual, another attempt will result in an
+ Access error. When all clients enabling redirection terminate,
+ the redirection will automatically be disabled.
+
+ The root window may not be redirected. Doing so results in a Match
+ error.
+
+ RedirectSubwindows
+
+ window: Window
+ update UPDATETYPE
+
+ errors: Window, Access
+
+ Hierarchies starting at all current and future children of window
+ will be redirected as in RedirectWindow. If update is Manual,
+ then painting of the window background during window manipulation
+ and ClearArea requests is inhibited.
+
+ UnredirectWindow:
+
+ window: Window
+
+ errors: Window, Value
+
+ Redirection of the specified window will be terminated. If
+ the specified window was not selected for redirection by the
+ current client, a 'Value' error results.
+
+ UnredirectWindows:
+
+ window: Window
+
+ errors: Window, Value
+
+ Redirection of all children of window will be terminated. If
+ the specified window was not selected for sub-redirection by the
+ current client, a 'Value' error results.
+
+9. Clip lists
+
+ CreateRegionFromBorderClip
+
+ region: Region
+ window: Window
+
+ errors: Window, IDChoice
+
+ This request creates a region containing the "usual" border clip
+ value; that is the area of the window clipped against siblings and
+ the parent. This region can be used to restrict rendering to
+ suitable areas while updating only a single window. The region
+ is copied at the moment the request is executed; future changes
+ to the window hierarchy will not be reflected in this region.
+
+10. Associating a Pixmap ID with the off-screen storage (0.2 and later)
+
+ NameWindowPixmap
+
+ window: Window
+ pixmap: Pixmap
+
+ errors: Window, Match, IDChoice
+
+ This request makes 'pixmap' a reference to the off-screen storage
+ for 'window'. This pixmap will remain allocated until freed, even
+ if 'window' is unmapped, reconfigured or destroyed. However,
+ 'window' will get a new pixmap allocated each time it is
+ mapped or resized, so this request will need to be reinvoked for
+ the client to continue to refer to the storage holding the current
+ window contents. Generates a 'Match' error if 'window' is not
+ redirected or is not visible.
+
+11. Composite Overlay Window (0.3 and later)
+
+ CompositeGetOverlayWindow
+
+ window: Window
+
+ ->
+
+ overlayWin: Window
+
+ This request returns the XID of the Composite Overlay Window for
+ the screen specified by the argument 'window'. This request
+ indicates that the client wishes to use the Composite Overlay
+ Window of this screen. If this Composite Overlay Window has not
+ yet been mapped, it is mapped by this request.
+
+ The Composite Overlay Window for a particular screen will be
+ unmapped when all clients who have invoked this request have
+ also invoked CompositeReleaseOverlayWindow for that screen. Also,
+ CompositeReleaseOverlayWindow for a screen will be implicitly
+ called when a client using the Composite Overlay Window on that
+ screen terminates its X11 connection.
+
+
+ CompositeReleaseOverlayWindow
+
+ window: Window
+
+ This request specifies that the client is no longer using the
+ Composite Overlay Window on the screen specified by the
+ argument 'window'. A screen's Composite Overlay Window is
+ unmapped when there are no longer any clients using it.
+
+12. External coordinate transformation (0.4 and later)
+
+ RedirectCoordinate
+
+ window: Window
+ redirect: BOOL
+
+ errors: Window, Access
+
+ If 'redirect' is TRUE, the requesting client is placed in charge of
+ coordinate transformations between 'window' and its children. If
+ 'redirect' is FALSE, any such redirection is disabled. Any
+ transformations needed by the server will be delivered to the
+ requesting client in TransformCoordinateNotify events and the
+ requesting client must reply with matching TransformCoordinate
+ requests for the server to continue with the operation.
+
+ Generates an 'Access' error if another client has
+ redirected coordinates for 'window'.
+
+ TransformCoordinate
+
+ window: Window
+ serialNumber: CARD32
+ x, y: INT16
+ coordinates: LISTofCompositeCoordinate
+
+ This provides the transformation data needed by the server for a
+ single TransformCoordinateNotify event. 'serialNumber' must match
+ the serial number delivered in the event. 'x' and 'y' represent the
+ coordinate from the event relative to the 'window'. 'coordinates'
+ represent the coordinate from the event relative to each child
+ listed. Any children not listed in 'coordinates' are given the
+ default transformation using the child window position within the
+ parent as a simple translation.
+
+ The result of this is that any pointer data seen by means of
+ the protocol will appear to reflect the transformation
+ performed by this request.
diff --git a/compositeproto/configure.ac b/compositeproto/configure.ac
new file mode 100644
index 0000000..45969f7
--- /dev/null
+++ b/compositeproto/configure.ac
@@ -0,0 +1,37 @@
+dnl
+dnl Copyright © 2003 Keith Packard, Noah Levitt
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission. Keith Packard makes no
+dnl representations about the suitability of this software for any purpose. It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
+dnl Process this file with autoconf to create configure.
+
+AC_PREREQ([2.60])
+AC_INIT([CompositeProto], [0.4.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ compositeproto.pc])
+
diff --git a/damageproto/.gitignore b/damageproto/.gitignore
new file mode 100644
index 0000000..cd9ffab
--- /dev/null
+++ b/damageproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for damageproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/damageproto/AUTHORS b/damageproto/AUTHORS
new file mode 100644
index 0000000..78b329f
--- /dev/null
+++ b/damageproto/AUTHORS
@@ -0,0 +1,2 @@
+Keith Packard, HP
+Eric Anholt, Intel
diff --git a/damageproto/COPYING b/damageproto/COPYING
new file mode 100644
index 0000000..a44e065
--- /dev/null
+++ b/damageproto/COPYING
@@ -0,0 +1,23 @@
+$Id: COPYING,v 1.1 2003-10-24 06:16:46 keithp Exp $
+
+Copyright © 2001,2003 Keith Packard
+Copyright © 2007 Eric Anholt
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Keith Packard makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/damageproto/Makefile.am b/damageproto/Makefile.am
new file mode 100644
index 0000000..7c9b757
--- /dev/null
+++ b/damageproto/Makefile.am
@@ -0,0 +1,43 @@
+#
+# Copyright © 2003 Keith Packard, Noah Levitt
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Keith Packard not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Keith Packard makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+damagedir = $(includedir)/X11/extensions
+damage_HEADERS = \
+ damageproto.h \
+ damagewire.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = damageproto.pc
+
+dist_doc_DATA = damageproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/damageproto/NEWS b/damageproto/NEWS
new file mode 100644
index 0000000..29b8edd
--- /dev/null
+++ b/damageproto/NEWS
@@ -0,0 +1,2 @@
+2004-01-05: Version 1.0 released.
+2007-01-09: Version 1.1 released, adding the DamageAdd request. \ No newline at end of file
diff --git a/damageproto/README b/damageproto/README
new file mode 100644
index 0000000..a8a4e78
--- /dev/null
+++ b/damageproto/README
@@ -0,0 +1,34 @@
+ Damage
+ X Damage Extension
+ Version 1.1
+ 2007-01-08
+
+This package contains header files and documentation for the X Damage
+extension. Library and server implementations are separate.
+
+Keith Packard
+keithp@keithp.com
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/damageproto
+
+ http://cgit.freedesktop.org/xorg/proto/damageproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/damageproto/autogen.sh b/damageproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/damageproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/damageproto/configure.ac b/damageproto/configure.ac
new file mode 100644
index 0000000..b0d682b
--- /dev/null
+++ b/damageproto/configure.ac
@@ -0,0 +1,37 @@
+dnl
+dnl Copyright © 2003 Keith Packard, Noah Levitt
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission. Keith Packard makes no
+dnl representations about the suitability of this software for any purpose. It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
+dnl Process this file with autoconf to create configure.
+
+AC_PREREQ([2.60])
+AC_INIT([DamageProto], [1.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ damageproto.pc])
+
diff --git a/damageproto/damageproto.h b/damageproto/damageproto.h
new file mode 100644
index 0000000..107e192
--- /dev/null
+++ b/damageproto/damageproto.h
@@ -0,0 +1,158 @@
+/*
+ * Copyright © 2003 Keith Packard
+ * Copyright © 2007 Eric Anholt
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _DAMAGEPROTO_H_
+#define _DAMAGEPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/xfixesproto.h>
+#include <X11/extensions/damagewire.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+#define Picture CARD32
+#define Region CARD32
+#define Damage CARD32
+
+/************** Version 0 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+} xDamageReq;
+
+/*
+ * requests and replies
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xDamageQueryVersionReq;
+
+#define sz_xDamageQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDamageQueryVersionReply;
+
+#define sz_xDamageQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+ Damage damage B32;
+ Drawable drawable B32;
+ CARD8 level;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xDamageCreateReq;
+
+#define sz_xDamageCreateReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+ Damage damage B32;
+} xDamageDestroyReq;
+
+#define sz_xDamageDestroyReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+ Damage damage B32;
+ Region repair B32;
+ Region parts B32;
+} xDamageSubtractReq;
+
+#define sz_xDamageSubtractReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 damageReqType;
+ CARD16 length B16;
+ Drawable drawable B32;
+ Region region B32;
+} xDamageAddReq;
+
+#define sz_xDamageAddReq 12
+
+/* Events */
+
+#define DamageNotifyMore 0x80
+
+typedef struct {
+ CARD8 type;
+ CARD8 level;
+ CARD16 sequenceNumber B16;
+ Drawable drawable B32;
+ Damage damage B32;
+ Time timestamp B32;
+ xRectangle area;
+ xRectangle geometry;
+} xDamageNotifyEvent;
+
+#undef Damage
+#undef Region
+#undef Picture
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _DAMAGEPROTO_H_ */
diff --git a/damageproto/damageproto.pc.in b/damageproto/damageproto.pc.in
new file mode 100644
index 0000000..25476b9
--- /dev/null
+++ b/damageproto/damageproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: DamageProto
+Description: Damage extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/damageproto/damageproto.txt b/damageproto/damageproto.txt
new file mode 100644
index 0000000..1f254d4
--- /dev/null
+++ b/damageproto/damageproto.txt
@@ -0,0 +1,222 @@
+ The DAMAGE Extension
+ Protocol Version 1.1
+ Document Revision 1
+ 2007-01-08
+
+ Keith Packard
+ keithp@keithp.com
+
+ Eric Anholt
+ eric@anholt.net
+ Open Source Technology Center
+ Intel Corporation
+1. Introduction
+
+Monitoring the regions affected by rendering has wide-spread use, from
+VNC-like systems scraping the screen to screen magnifying applications
+designed to aid users with limited visual acuity. The DAMAGE extension is
+designed to make such applications reasonably efficient in the face of
+server-client latency.
+
+2. Acknolwedgements
+
+As usual, the author had significant input from many people, in particular:
+
+ + Havoc Pennington who designed and implemented a Damage extension
+ last year which was then lost to the mists of time.
+
+ + Bill Haneman whose work on accessibility in the Gnome environment
+ is legendary.
+
+ + Jim Gettys who found a way to avoid streaming damage rectangles
+ to the client in many cases.
+
+ + Owen Taylor who suggested that streaming damage rectangles may
+ be warranted in some cases after all.
+
+3. Damage Model
+
+We call changes made to pixel contents of windows and pixmaps 'damage'
+throughout this extension. Another notion of 'damage' are drawable regions
+which are in need of redisplay to repair the effects of window manipulation
+or other data loss. This extension doesn't deal with this second notion at
+all; suggestions on a better term which isn't easily conflated with existing
+notions are eagerly solicited.
+
+Damage accumulates as drawing occurs in the drawable. Each drawing operation
+'damages' one or more rectangular areas within the drawable. The rectangles
+are guaranteed to include the set of pixels modified by each operation, but
+may include significantly more than just those pixels. The desire is for
+the damage to strike a balance between the number of rectangles reported and
+the extraneous area included. A reasonable goal is for each primitive
+object drawn (line, string, rectangle) to be represented as a single
+rectangle and for the damage area of the operation to be the union of these
+rectangles.
+
+The DAMAGE extension allows applications to either receive the raw
+rectangles as a stream of events, or to have them partially processed within
+the X server to reduce the amount of data transmitted as well as reduce the
+processing latency once the repaint operation has started.
+
+Damage to a window reflects both drawing within the window itself as well as
+drawing within any inferior window that affects pixels seen by
+IncludeInferiors rendering operations. To reduce the computational
+complexity of this, the DAMAGE extension allows the server to monitor all
+rendering operations within the physical target pixel storage that fall
+within the bounds of the window. In a system with a single frame buffer
+holding all windows, this means that damage will accumulate for all
+rendering operations that lie within the visible part of the window.
+
+The precise reason for this architecture is to enable the Composite
+extension which provides multiple pixel storage areas for the screen
+contents.
+
+3.1 Additions in the 1.1 version of the protocol
+
+Damage is automatically computed by the X Server for X rendering operations,
+but direct rendering extensions have allowed clients to perform rendering
+outside of the control of the X Server. The 1.1 version of the protocol
+added a request to allow direct rendering clients to report damage to a
+drawable. Some direct rendering clients, due to architectural limitations,
+always perform rendering to the root window, even in when it should be
+performed to the backing pixmap in the Composite case. To provide
+less-incorrect rendering in this cases, the direct rendering client should
+translate its damage region to screen coordinates and report the damage against
+the root window rather than the drawable.
+
+4. Data types
+
+The "Damage" object holds any accumulated damage region and reflects the
+relationship between the drawable selected for damage notification and the
+drawable for which damage is tracked.
+
+5. Errors
+
+Damage
+ A value for a DAMAGE argument does not name a defined DAMAGE.
+
+6. Types
+
+ DAMAGE 32-bit value (top three bits guaranteed to be zero)
+
+ DamageReportLevel { DamageReportRawRectangles,
+ DamageReportDeltaRectangles,
+ DamageReportBoundingBox,
+ DamageReportNonEmpty }
+
+ DamageReportRawRectangles
+
+ Delivers DamageNotify events each time the screen
+ is modified with rectangular bounds that circumscribe
+ the damaged area. No attempt to compress out overlapping
+ rectangles is made.
+
+ DamageReportDeltaRectangles
+
+ Delivers DamageNotify events each time damage occurs
+ which is not included in the damage region. The
+ reported rectangles include only the changes to that
+ area, not the raw damage data.
+
+ DamageReportBoundingBox
+
+ Delivers DamageNotify events each time the bounding
+ box enclosing the damage region increases in size.
+ The reported rectangle encloses the entire damage region,
+ not just the changes to that size.
+
+ DamageReportNonEmpty
+
+ Delivers a single DamageNotify event each time the
+ damage rectangle changes from empty to non-empty, and
+ also whenever the result of a DamageSubtract request
+ results in a non-empty region.
+
+7. Events
+
+DamageNotify
+
+ level: DamageReportLevel
+ drawable: Drawable
+ damage: DAMAGE
+ more: Bool
+ timestamp: Timestamp
+ area: Rectangle
+ drawable-geometry: Rectangle
+
+ 'more' indicates whether there are subsequent damage events
+ being delivered immediately as part of a larger damage region
+
+8. Extension Initialization
+
+The client must negotiate the version of the extension before executing
+extension requests. Otherwise, the server will return BadRequest for any
+operations other than QueryVersion.
+
+QueryVersion
+
+ client-major-version: CARD32
+ client-minor-version: CARD32
+
+ ->
+
+ major-version: CARD32
+ minor-version: CARD32
+
+ The client sends the highest supported version to the server and
+ the server sends the highest version it supports, but no higher than
+ the requested version. Major versions changes can introduce
+ incompatibilities in existing functionality, minor version
+ changes introduce only backward compatible changes. It is
+ the clients responsibility to ensure that the server supports
+ a version which is compatible with its expectations. Servers
+ are encouraged to support multiple versions of the extension.
+
+9. Enable Monitoring
+
+DamageCreate
+
+ damage: DAMAGE
+ drawable: Drawable
+ level: DamageReportLevel
+
+ Creates a damage object to monitor changes to Drawable
+
+DamageDestroy
+ damage: DAMAGE
+
+ Destroys damage.
+
+DamageSubtract
+
+ damage: DAMAGE
+ repair: Region or None
+ parts: Region or None
+
+ Synchronously modifies the regions in the following manner:
+
+ If repair is None:
+
+ 1) if parts is not None, parts = damage
+ 2) damage = <empty>
+
+ Otherwise:
+
+ 1) tmp = damage INTERSECT repair
+ 2) damage = damage - tmp
+ 3) if parts is not None, parts = tmp
+ 4) Generate DamageNotify for remaining damage areas
+
+DamageAdd
+
+ drawable: Drawable
+ region: Region
+
+ Reports damage of the region within the given drawable. This may be
+ used by direct rendering clients to report damage that the server would
+ otherwise be unaware of. The damage region is relative to the origin
+ of the drawable.
+
+ Damage posted in this way will appear in DamageNotify events as normal,
+ and also in server internal damage tracking (for shadow framebuffer
+ updates, pixmap damage, and other uses).
diff --git a/damageproto/damagewire.h b/damageproto/damagewire.h
new file mode 100644
index 0000000..d90a0dd
--- /dev/null
+++ b/damageproto/damagewire.h
@@ -0,0 +1,56 @@
+/*
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _DAMAGEWIRE_H_
+#define _DAMAGEWIRE_H_
+
+#define DAMAGE_NAME "DAMAGE"
+#define DAMAGE_MAJOR 1
+#define DAMAGE_MINOR 1
+
+/************* Version 1 ****************/
+
+/* Constants */
+#define XDamageReportRawRectangles 0
+#define XDamageReportDeltaRectangles 1
+#define XDamageReportBoundingBox 2
+#define XDamageReportNonEmpty 3
+
+/* Requests */
+#define X_DamageQueryVersion 0
+#define X_DamageCreate 1
+#define X_DamageDestroy 2
+#define X_DamageSubtract 3
+#define X_DamageAdd 4
+
+#define XDamageNumberRequests (X_DamageAdd + 1)
+
+/* Events */
+#define XDamageNotify 0
+
+#define XDamageNumberEvents (XDamageNotify + 1)
+
+/* Errors */
+#define BadDamage 0
+#define XDamageNumberErrors (BadDamage + 1)
+
+#endif /* _DAMAGEWIRE_H_ */
diff --git a/dmxproto/.gitignore b/dmxproto/.gitignore
new file mode 100644
index 0000000..71417e4
--- /dev/null
+++ b/dmxproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for dmxproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/dmxproto/COPYING b/dmxproto/COPYING
new file mode 100644
index 0000000..7ea03ea
--- /dev/null
+++ b/dmxproto/COPYING
@@ -0,0 +1,24 @@
+Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
+
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation on the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/dmxproto/Makefile.am b/dmxproto/Makefile.am
new file mode 100644
index 0000000..6883b29
--- /dev/null
+++ b/dmxproto/Makefile.am
@@ -0,0 +1,20 @@
+dmxdir = $(includedir)/X11/extensions
+dmx_HEADERS = \
+ dmx.h \
+ dmxproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = dmxproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/dmxproto/README b/dmxproto/README
new file mode 100644
index 0000000..3b93b48
--- /dev/null
+++ b/dmxproto/README
@@ -0,0 +1,31 @@
+ Distributed Multihead X (DMX) Extension
+
+This extension defines a protocol for clients to access a front-end proxy
+X server that controls multiple back-end X servers making up a large display.
+
+Extension name: DMX
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/dmxproto
+
+ http://cgit.freedesktop.org/xorg/proto/dmxproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
+
diff --git a/dmxproto/autogen.sh b/dmxproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/dmxproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/dmxproto/configure.ac b/dmxproto/configure.ac
new file mode 100644
index 0000000..c25791e
--- /dev/null
+++ b/dmxproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([DMXProto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ dmxproto.pc])
diff --git a/dmxproto/dmx.h b/dmxproto/dmx.h
new file mode 100644
index 0000000..8cbd4d3
--- /dev/null
+++ b/dmxproto/dmx.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Rickard E. (Rik) Faith <faith@redhat.com>
+ *
+ */
+
+/** \file
+ * This file describes the interface to the client-side libdmx.a
+ * library. All DMX-aware client-side applications should include this
+ * file. */
+
+#ifndef _DMX_H_
+#define _DMX_H_
+
+/* These values must be larger than LastExtensionError.
+ The values in dmxext.h and dmxproto.h *MUST* match. */
+#define DmxBadXinerama 1001
+#define DmxBadValue 1002
+#define DmxBadReply 1003
+
+#define DMXScreenWindowWidth (1L<<0)
+#define DMXScreenWindowHeight (1L<<1)
+#define DMXScreenWindowXoffset (1L<<2)
+#define DMXScreenWindowYoffset (1L<<3)
+#define DMXRootWindowWidth (1L<<4)
+#define DMXRootWindowHeight (1L<<5)
+#define DMXRootWindowXoffset (1L<<6)
+#define DMXRootWindowYoffset (1L<<7)
+#define DMXRootWindowXorigin (1L<<8)
+#define DMXRootWindowYorigin (1L<<9)
+
+#define DMXDesktopWidth (1L<<0)
+#define DMXDesktopHeight (1L<<1)
+#define DMXDesktopShiftX (1L<<2)
+#define DMXDesktopShiftY (1L<<3)
+
+#define DMXInputType (1L<<0)
+#define DMXInputPhysicalScreen (1L<<1)
+#define DMXInputSendsCore (1L<<2)
+
+#endif
diff --git a/dmxproto/dmxproto.h b/dmxproto/dmxproto.h
new file mode 100644
index 0000000..4bb160e
--- /dev/null
+++ b/dmxproto/dmxproto.h
@@ -0,0 +1,445 @@
+/*
+ * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
+ *
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation on the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial
+ * portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * Authors:
+ * Rickard E. (Rik) Faith <faith@redhat.com>
+ *
+ */
+
+/** \file
+ * This file describes the structures necessary to implement the wire
+ * protocol for the DMX protocol extension. It should be included only
+ * in files that implement the client-side (or server-side) part of the
+ * protocol (i.e., client-side applications should \b not include this
+ * file). */
+
+#ifndef _DMXSTR_H_
+#define _DMXSTR_H_
+
+#define DMX_EXTENSION_NAME "DMX"
+#define DMX_EXTENSION_MAJOR 2
+#define DMX_EXTENSION_MINOR 2
+#define DMX_EXTENSION_PATCH 20040604
+
+/* These values must be larger than LastExtensionError.
+ The values in dmxext.h and dmxproto.h *MUST* match. */
+#define DMX_BAD_XINERAMA 1001
+#define DMX_BAD_VALUE 1002
+
+#define X_DMXQueryVersion 0
+#define X_DMXGetScreenCount 1
+#define X_DMXGetScreenInformationDEPRECATED 2
+#define X_DMXGetWindowAttributes 3
+#define X_DMXGetInputCount 4
+#define X_DMXGetInputAttributes 5
+#define X_DMXForceWindowCreationDEPRECATED 6
+#define X_DMXReconfigureScreenDEPRECATED 7
+#define X_DMXSync 8
+#define X_DMXForceWindowCreation 9
+#define X_DMXGetScreenAttributes 10
+#define X_DMXChangeScreensAttributes 11
+#define X_DMXAddScreen 12
+#define X_DMXRemoveScreen 13
+#define X_DMXGetDesktopAttributes 14
+#define X_DMXChangeDesktopAttributes 15
+#define X_DMXAddInput 16
+#define X_DMXRemoveInput 17
+
+/** Wire-level description of DMXQueryVersion protocol request. */
+typedef struct {
+ CARD8 reqType; /* dmxcode */
+ CARD8 dmxReqType; /* X_DMXQueryVersion */
+ CARD16 length B16;
+} xDMXQueryVersionReq;
+#define sz_xDMXQueryVersionReq 4
+
+/** Wire-level description of DMXQueryVersion protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 ununsed;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 patchVersion B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xDMXQueryVersionReply;
+#define sz_xDMXQueryVersionReply 32
+
+/** Wire-level description of DMXSync protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXSync */
+ CARD16 length B16;
+} xDMXSyncReq;
+#define sz_xDMXSyncReq 4
+
+/** Wire-level description of DMXSync protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXSyncReply;
+#define sz_xDMXSyncReply 32
+
+/** Wire-level description of DMXForceWindowCreation protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXForceWindowCreation */
+ CARD16 length B16;
+ CARD32 window B32;
+} xDMXForceWindowCreationReq;
+#define sz_xDMXForceWindowCreationReq 8
+
+/** Wire-level description of DMXForceWindowCreation protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXForceWindowCreationReply;
+#define sz_xDMXForceWindowCreationReply 32
+
+/** Wire-level description of DMXGetScreenCount protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetScreenCount */
+ CARD16 length B16;
+} xDMXGetScreenCountReq;
+#define sz_xDMXGetScreenCountReq 4
+
+/** Wire-level description of DMXGetScreenCount protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 screenCount B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXGetScreenCountReply;
+#define sz_xDMXGetScreenCountReply 32
+
+/** Wire-level description of DMXGetScreenAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetScreenAttributes */
+ CARD16 length B16;
+ CARD32 physicalScreen B32;
+} xDMXGetScreenAttributesReq;
+#define sz_xDMXGetScreenAttributesReq 8
+
+/** Wire-level description of DMXGetScreenAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 displayNameLength B32;
+ CARD32 logicalScreen B32;
+
+ CARD16 screenWindowWidth B16;
+ CARD16 screenWindowHeight B16;
+ INT16 screenWindowXoffset B16;
+ INT16 screenWindowYoffset B16;
+
+ CARD16 rootWindowWidth B16;
+ CARD16 rootWindowHeight B16;
+ INT16 rootWindowXoffset B16;
+ INT16 rootWindowYoffset B16;
+ INT16 rootWindowXorigin B16;
+ INT16 rootWindowYorigin B16;
+} xDMXGetScreenAttributesReply;
+#define sz_xDMXGetScreenAttributesReply 36
+
+/** Wire-level description of DMXChangeScreensAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXChangeScreensAttributes */
+ CARD16 length B16;
+ CARD32 screenCount B32;
+ CARD32 maskCount B32;
+} xDMXChangeScreensAttributesReq;
+#define sz_xDMXChangeScreensAttributesReq 12
+
+/** Wire-level description of DMXChangeScreensAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 errorScreen B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xDMXChangeScreensAttributesReply;
+#define sz_xDMXChangeScreensAttributesReply 32
+
+/** Wire-level description of DMXAddScreen protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXAddScreen */
+ CARD16 length B16;
+ CARD32 displayNameLength B32;
+ CARD32 physicalScreen B32;
+ CARD32 valueMask B32;
+} xDMXAddScreenReq;
+#define sz_xDMXAddScreenReq 16
+
+/** Wire-level description of DMXAddScreen protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 physicalScreen B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xDMXAddScreenReply;
+#define sz_xDMXAddScreenReply 32
+
+/** Wire-level description of DMXRemoveScreen protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXRemoveScreen */
+ CARD16 length B16;
+ CARD32 physicalScreen B32;
+} xDMXRemoveScreenReq;
+#define sz_xDMXRemoveScreenReq 8
+
+/** Wire-level description of DMXRemoveScreen protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXRemoveScreenReply;
+#define sz_xDMXRemoveScreenReply 32
+
+/** Wire-level description of DMXGetWindowAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetWindowAttributes */
+ CARD16 length B16;
+ CARD32 window B32;
+} xDMXGetWindowAttributesReq;
+#define sz_xDMXGetWindowAttributesReq 8
+
+/** Wire-level description of DMXGetWindowAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 screenCount B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXGetWindowAttributesReply;
+#define sz_xDMXGetWindowAttributesReply 32
+
+/** Wire-level description of DMXGetDesktopAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetDesktopAttributes */
+ CARD16 length B16;
+} xDMXGetDesktopAttributesReq;
+#define sz_xDMXGetDesktopAttributesReq 4
+
+/** Wire-level description of DMXGetDesktopAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 width;
+ INT16 height;
+ INT16 shiftX;
+ INT16 shiftY;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xDMXGetDesktopAttributesReply;
+#define sz_xDMXGetDesktopAttributesReply 32
+
+/** Wire-level description of DMXChangeDesktopAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXChangeDesktopAttributes */
+ CARD16 length B16;
+ CARD32 valueMask B32;
+} xDMXChangeDesktopAttributesReq;
+#define sz_xDMXChangeDesktopAttributesReq 8
+
+/** Wire-level description of DMXChangeDesktopAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXChangeDesktopAttributesReply;
+#define sz_xDMXChangeDesktopAttributesReply 32
+
+/** Wire-level description of DMXGetInputCount protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetInputCount */
+ CARD16 length B16;
+} xDMXGetInputCountReq;
+#define sz_xDMXGetInputCountReq 4
+
+/** Wire-level description of DMXGetInputCount protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 inputCount B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXGetInputCountReply;
+#define sz_xDMXGetInputCountReply 32
+
+/** Wire-level description of DMXGetInputAttributes protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXGetInputAttributes */
+ CARD16 length B16;
+ CARD32 deviceId B32;
+} xDMXGetInputAttributesReq;
+#define sz_xDMXGetInputAttributesReq 8
+
+/** Wire-level description of DMXGetInputAttributes protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 inputType B32;
+ CARD32 physicalScreen B32;
+ CARD32 physicalId B32;
+ CARD32 nameLength B32;
+ BOOL isCore;
+ BOOL sendsCore;
+ BOOL detached;
+ CARD8 pad0;
+ CARD32 pad1 B32;
+} xDMXGetInputAttributesReply;
+#define sz_xDMXGetInputAttributesReply 32
+
+/** Wire-level description of DMXAddInput protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXAddInput */
+ CARD16 length B16;
+ CARD32 displayNameLength B32;
+ CARD32 valueMask;
+} xDMXAddInputReq;
+#define sz_xDMXAddInputReq 12
+
+/** Wire-level description of DMXAddInput protocol reply. */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 physicalId B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xDMXAddInputReply;
+#define sz_xDMXAddInputReply 32
+
+/** Wire-level description of DMXRemoveInput protocol request. */
+typedef struct {
+ CARD8 reqType; /* DMXCode */
+ CARD8 dmxReqType; /* X_DMXRemoveInput */
+ CARD16 length B16;
+ CARD32 physicalId B32;
+} xDMXRemoveInputReq;
+#define sz_xDMXRemoveInputReq 8
+
+/** Wire-level description of DMXRemoveInput protocol reply. */
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDMXRemoveInputReply;
+#define sz_xDMXRemoveInputReply 32
+
+#endif
diff --git a/dmxproto/dmxproto.pc.in b/dmxproto/dmxproto.pc.in
new file mode 100644
index 0000000..97cd1b8
--- /dev/null
+++ b/dmxproto/dmxproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: DMXProto
+Description: DMX extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/dri2proto/.gitignore b/dri2proto/.gitignore
new file mode 100644
index 0000000..507f5dd
--- /dev/null
+++ b/dri2proto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for dri2proto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/dri2proto/COPYING b/dri2proto/COPYING
new file mode 100644
index 0000000..a99b75a
--- /dev/null
+++ b/dri2proto/COPYING
@@ -0,0 +1,29 @@
+Copyright © 2007 Red Hat, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Soft-
+ware"), to deal in the Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish, distribute,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, provided that the above copyright
+notice(s) and this permission notice appear in all copies of the Soft-
+ware and that both the above copyright notice(s) and this permission
+notice appear in supporting documentation.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
+QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
+MANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization of
+the copyright holder.
+
+Authors:
+ Kristian Høgsberg (krh@redhat.com)
diff --git a/dri2proto/Makefile.am b/dri2proto/Makefile.am
new file mode 100644
index 0000000..5990273
--- /dev/null
+++ b/dri2proto/Makefile.am
@@ -0,0 +1,20 @@
+dri2dir = $(includedir)/X11/extensions
+dri2_HEADERS = dri2proto.h dri2tokens.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = dri2proto.pc
+
+dist_doc_DATA = dri2proto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/dri2proto/README b/dri2proto/README
new file mode 100644
index 0000000..1115e51
--- /dev/null
+++ b/dri2proto/README
@@ -0,0 +1,30 @@
+ Direct Rendering Infrastructure 2 Extension
+
+This extension defines a protocol to securely allow user applications to access
+the video hardware without requiring data to be passed through the X server.
+
+Extension name: DRI2
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/dri2proto
+
+ http://cgit.freedesktop.org/xorg/proto/dri2proto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/dri2proto/autogen.sh b/dri2proto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/dri2proto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/dri2proto/configure.ac b/dri2proto/configure.ac
new file mode 100644
index 0000000..5b78d6b
--- /dev/null
+++ b/dri2proto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([DRI2Proto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ dri2proto.pc])
diff --git a/dri2proto/dri2proto.h b/dri2proto/dri2proto.h
new file mode 100644
index 0000000..9708a4a
--- /dev/null
+++ b/dri2proto/dri2proto.h
@@ -0,0 +1,317 @@
+/*
+ * Copyright © 2008 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Soft-
+ * ware"), to deal in the Software without restriction, including without
+ * limitation the rights to use, copy, modify, merge, publish, distribute,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, provided that the above copyright
+ * notice(s) and this permission notice appear in all copies of the Soft-
+ * ware and that both the above copyright notice(s) and this permission
+ * notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+ * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+ * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
+ * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
+ * MANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder shall
+ * not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization of
+ * the copyright holder.
+ *
+ * Authors:
+ * Kristian Høgsberg (krh@redhat.com)
+ */
+
+#ifndef _DRI2_PROTO_H_
+#define _DRI2_PROTO_H_
+
+#define DRI2_NAME "DRI2"
+#define DRI2_MAJOR 1
+#define DRI2_MINOR 3
+
+#define DRI2NumberErrors 0
+#define DRI2NumberEvents 2
+#define DRI2NumberRequests 13
+
+#define X_DRI2QueryVersion 0
+#define X_DRI2Connect 1
+#define X_DRI2Authenticate 2
+#define X_DRI2CreateDrawable 3
+#define X_DRI2DestroyDrawable 4
+#define X_DRI2GetBuffers 5
+#define X_DRI2CopyRegion 6
+#define X_DRI2GetBuffersWithFormat 7
+#define X_DRI2SwapBuffers 8
+#define X_DRI2GetMSC 9
+#define X_DRI2WaitMSC 10
+#define X_DRI2WaitSBC 11
+#define X_DRI2SwapInterval 12
+
+/*
+ * Events
+ */
+#define DRI2_BufferSwapComplete 0
+#define DRI2_InvalidateBuffers 1
+
+typedef struct {
+ CARD32 attachment B32;
+ CARD32 name B32;
+ CARD32 pitch B32;
+ CARD32 cpp B32;
+ CARD32 flags B32;
+} xDRI2Buffer;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xDRI2QueryVersionReq;
+#define sz_xDRI2QueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDRI2QueryVersionReply;
+#define sz_xDRI2QueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 window B32;
+ CARD32 driverType B32;
+} xDRI2ConnectReq;
+#define sz_xDRI2ConnectReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 driverNameLength B32;
+ CARD32 deviceNameLength B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDRI2ConnectReply;
+#define sz_xDRI2ConnectReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 window B32;
+ CARD32 magic B32;
+} xDRI2AuthenticateReq;
+#define sz_xDRI2AuthenticateReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 authenticated B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xDRI2AuthenticateReply;
+#define sz_xDRI2AuthenticateReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+} xDRI2CreateDrawableReq;
+#define sz_xDRI2CreateDrawableReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+} xDRI2DestroyDrawableReq;
+#define sz_xDRI2DestroyDrawableReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 count B32;
+} xDRI2GetBuffersReq;
+#define sz_xDRI2GetBuffersReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 count B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xDRI2GetBuffersReply;
+#define sz_xDRI2GetBuffersReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 region B32;
+ CARD32 dest B32;
+ CARD32 src B32;
+} xDRI2CopyRegionReq;
+#define sz_xDRI2CopyRegionReq 20
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xDRI2CopyRegionReply;
+#define sz_xDRI2CopyRegionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 target_msc_hi B32;
+ CARD32 target_msc_lo B32;
+ CARD32 divisor_hi B32;
+ CARD32 divisor_lo B32;
+ CARD32 remainder_hi B32;
+ CARD32 remainder_lo B32;
+} xDRI2SwapBuffersReq;
+#define sz_xDRI2SwapBuffersReq 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 swap_hi B32;
+ CARD32 swap_lo B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDRI2SwapBuffersReply;
+#define sz_xDRI2SwapBuffersReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+} xDRI2GetMSCReq;
+#define sz_xDRI2GetMSCReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 target_msc_hi B32;
+ CARD32 target_msc_lo B32;
+ CARD32 divisor_hi B32;
+ CARD32 divisor_lo B32;
+ CARD32 remainder_hi B32;
+ CARD32 remainder_lo B32;
+} xDRI2WaitMSCReq;
+#define sz_xDRI2WaitMSCReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 target_sbc_hi B32;
+ CARD32 target_sbc_lo B32;
+} xDRI2WaitSBCReq;
+#define sz_xDRI2WaitSBCReq 16
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+ CARD32 sbc_hi B32;
+ CARD32 sbc_lo B32;
+} xDRI2MSCReply;
+#define sz_xDRI2MSCReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dri2ReqType;
+ CARD16 length B16;
+ CARD32 drawable B32;
+ CARD32 interval B32;
+} xDRI2SwapIntervalReq;
+#define sz_xDRI2SwapIntervalReq 12
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD16 event_type B16;
+ CARD32 drawable B32;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+ CARD32 sbc_hi B32;
+ CARD32 sbc_lo B32;
+} xDRI2BufferSwapComplete;
+#define sz_xDRI2BufferSwapComplete 32
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 drawable B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xDRI2InvalidateBuffers;
+#define sz_xDRI2InvalidateBuffers 32
+
+#endif
diff --git a/dri2proto/dri2proto.pc.in b/dri2proto/dri2proto.pc.in
new file mode 100644
index 0000000..647416e
--- /dev/null
+++ b/dri2proto/dri2proto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: DRI2Proto
+Description: DRI2 extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/dri2proto/dri2proto.txt b/dri2proto/dri2proto.txt
new file mode 100644
index 0000000..f74792e
--- /dev/null
+++ b/dri2proto/dri2proto.txt
@@ -0,0 +1,873 @@
+ The DRI2 Extension
+ Version 2.0
+ 2008-09-04
+
+ Kristian Høgsberg
+ krh@redhat.com
+ Red Hat, Inc
+
+
+1. Introduction
+
+The DRI2 extension is designed to associate and access auxillary
+rendering buffers with an X drawable.
+
+DRI2 is a essentially a helper extension to support implementation of
+direct rendering drivers/libraries/technologies.
+
+The main consumer of this extension will be a direct rendering OpenGL
+driver, but the DRI2 extension is not designed to be OpenGL specific.
+Direct rendering implementations of OpenVG, Xv, cairo and other
+graphics APIs should find the functionality exposed by this extension
+helpful and hopefully sufficient.
+
+Relation to XF86DRI
+
+
+1.1. Acknowledgements
+
+Kevin E. Martin <kem@redhat.com>
+Keith Packard <keithp@keithp.com>
+Eric Anholt <eric@anholt.net>
+Keith Whitwell <keith@tungstengraphics.com>
+Jerome Glisse <glisse@freedesktop.org>
+Ian Romanick <ian.d.romanick@intel.com>
+Michel Dänzer <michel@tungstengraphics.com>
+Jesse Barnes <jbarnes@virtuousgeek.org>
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+2. DRI2 Concepts
+
+
+2.1. Attachment points
+
+Stolen from OpenGL FBOs, I guess.
+
+
+2.2. Kernel rendering manager
+
+This specification assumes a rendering architechture, where an
+underlying kernel rendering manager that can provide 32 bit integer
+handles to video memory buffers. These handles can be passed between
+processes, which, through a direct rendering driver, submit rendering
+to the kernel rendering manager, targeting and/or sourcing from these
+buffers. This extension provides a means to communicate about such
+buffers as associated with an X drawable.
+
+The details of how the a direct rendering driver use the buffer names
+and submit the rendering requests is outside the scope of this
+specification. However, Appendix B does discuss implementation of
+this specification on the Graphics Execution Manager (GEM).
+
+
+2.3. Request ordering
+
+No ordering between swap buffers and X rendering. X rendering to src
+buffers will block if they have a vblank pending.
+
+
+2.4 Authentication model
+
+The purpose of the DRM authentication scheme is to grant access to the
+kernel rendering manager buffers created by the X server if, and only
+if, the client has access to the X server. This is achieved in a
+three-step protocol:
+
+ 1) The client gets a token from the kernel rendering manager
+ that uniquely identifies it. The token is a 32 bit integer.
+
+ 2) The client passes the token to the X server in the
+ DRI2Authenticate request. This request is a round trip to
+ make sure the X server has received and processed the
+ authentication before the client starts accessing the DRM.
+
+ 3) The X server authorizes the client by passing the token to
+ the kernel rendering manager.
+
+A kernel rendering manager can choose not to implement any
+authentication and just allow access to all buffers.
+
+
+2.5 Rendering to the X front buffer
+
+OpenGL allows the client to render to the front buffer, either by
+using a single-buffered configuration or but explicitly setting the
+draw buffer to GL_FRONT_LEFT. Not allowed!
+
+The client must ask for a fake front buffer, render to that and then
+use DRI2CopyRegion to copy contents back and forth between the fake
+front buffer and the real front buffer. When X and direct rendering
+to a front buffer is interleaved, it is the responsibility of the
+application to synchronize access using glXWaitGL and glXWaitX. A
+DRI2 implementation of direct rendering GLX, should use these enty
+points to copy contents back and forth to as necessary to ensure
+consistent rendering.
+
+The client may also use the DRI2SwapBuffers function to request a swap
+of the front and back buffers. If the display server supports it, this
+operation may be preferred, since it may be easier and/or more performant
+for the server to perform a simple buffer swap rather than a blit.
+
+2.6 Synchronizing rendering
+
+DRI2 provides several methods for synchronizing drawing with various events.
+The protocol for these methods is based on the SGI_video_sync and
+OML_sync_control GLX extensions. Using the DRI2WaitMSC request, a client
+can wait for a specific frame count or divisor/remainder before continuing
+its processing. With the DRI2WaitSBC request, clients can block until a given
+swap count is reached (as incremented by DRI2SwapBuffers). Finally, using
+DRI2SwapBuffers, clients can limit their frame rate by specifying a swap
+interval using the swap interval call (currently only available through GLX)
+or by using the OML swap buffers routine.
+
+2.7 Events
+
+DRI2 provides an event to indicate when a DRI2SwapBuffers request has
+been completed. This can be used to throttle drawing on the client
+side and tie into application main loops.
+
+Another event is generated when the validity of the requested buffers
+changes.
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+3. Data Types
+
+The server side region support specified in the Xfixes extension
+version 2 is used in the CopyRegion request.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+4. Errors
+
+No errors are defined by the DRI2 extension.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+5. Events
+
+The only events provided by DRI2 are DRI2_BufferSwapComplete
+and DRI2InvalidateBuffers.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+6. Protocol Types
+
+DRI2DRIVER { DRI2DriverDRI
+ DRI2DriverVDPAU }
+
+ These values describe the type of driver the client will want
+ to load. The server sends back the name of the driver to use
+ for the screen in question.
+
+DRI2ATTACHMENT { DRI2BufferFrontLeft
+ DRI2BufferBackLeft
+ DRI2BufferFrontRight
+ DRI2BufferBackRight
+ DRI2BufferDepth
+ DRI2BufferStencil
+ DRI2BufferAccum
+ DRI2BufferFakeFrontLeft
+ DRI2BufferFakeFrontRight
+ DRI2BufferDepthStencil }
+
+ These values describe various attachment points for DRI2
+ buffers.
+
+DRI2BUFFER { attachment: CARD32
+ name: CARD32
+ pitch: CARD32
+ cpp: CARD32
+ flags: CARD32 }
+
+ The DRI2BUFFER describes an auxillary rendering buffer
+ associated with an X drawable. 'attachment' describes the
+ attachment point for the buffer, 'name' is the name of the
+ underlying kernel buffer,
+
+
+DRI2ATTACH_FORMAT { attachment: CARD32
+ format: CARD32 }
+
+ The DRI2ATTACH_FORMAT describes an attachment and the associated
+ format. 'attachment' describes the attachment point for the buffer,
+ 'format' describes an opaque, device-dependent format for the buffer.
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+7. Extension Initialization
+
+The name of this extension is "DRI2".
+
+┌───
+ DRI2QueryVersion
+ client-major-version: CARD32
+ client-minor-version: CARD32
+ ▶
+ major-version: CARD32
+ minor-version: CARD32
+└───
+
+ The client sends the highest supported version to the server
+ and the server sends the highest version it supports, but no
+ higher than the requested version. Major versions changes can
+ introduce incompatibilities in existing functionality, minor
+ version changes introduce only backward compatible changes.
+ It is the clients responsibility to ensure that the server
+ supports a version which is compatible with its expectations.
+
+ Backwards compatible changes included addition of new
+ requests, but also new value types in the DRI2CopyRegion
+ request. When new values are introduced, the minor version
+ will be increased so the client can know which values the X
+ server understands from the version number.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+8. Extension Requests
+
+┌───
+ DRI2Connect
+ window: WINDOW
+ driverType: DRI2DRIVER
+ ▶
+ driver: STRING
+ device: STRING
+└───
+
+ Returns the driver name and device file to use for the
+ specified driver type for the screen associated with 'window'.
+
+ 'type' identifies the type of driver to query for.
+
+ 'driver' is the name of the driver to load. The client is
+ assumed to know where to look for the drivers and what to do
+ with it.
+
+ 'device' is the filename of the DRM device file.
+
+ If the client is not local, or the request driver type is
+ unknown or not available, 'driver' and 'device' will be empty
+ strings. We are not using an regular X
+ error here to indicate failure, which will allow the client
+ fall back to other options more easily.
+
+ ISSUE: We could add the list of supported attachments and the
+ supported DRI2CopyRegion values here (just the bitmask of all
+ supported values).
+
+┌───
+ DRI2Authenticate
+ window: WINDOW
+ token: CARD32
+ ▶
+ authenticated: CARD32
+└───
+ Errors: Window
+
+ Request that the X server authenticates 'token', allowing the
+ client to access the DRM buffers created by the X server on
+ the screen associated with 'window'.
+
+ Authentication shouldn't fail at this point, except if an
+ invalid token is passed, in which case authenticated is False.
+
+┌───
+ DRI2GetBuffers
+ drawable: DRAWABLE
+ attachments: LISTofDRI2ATTACHMENTS
+ ▶
+ width, height: CARD32
+ buffers: LISTofDRI2BUFFER
+└───
+ Errors: Window
+
+ Get buffers for the provided attachment points for the given
+ drawable.
+
+ If the DDX driver does not support one or more of the
+ specified attachment points, a Value error is generated, with
+ the first unsupported attachment point as the error value.
+
+ 'width' and 'height' describes the dimensions of the drawable.
+
+ 'buffers' is a list of DRI2BUFFER for the given DRI2
+ attachment points.
+
+┌───
+ DRI2CopyRegion
+ drawable: DRAWABLE
+ region: REGION
+ source: DRI2ATTACHMENT
+ destination: DRI2ATTACHMENT
+ ▶
+└───
+ Errors: Window, Value
+
+ Schedule a copy from one DRI2 buffer to another.
+
+ The DRICopyRegion request has a reply but it is empty. The
+ reply is there to let the direct rendering client wait until
+ the server has seen the request before proceeding with
+ rendering the next frame.
+
+┌───
+ DRI2SwapBuffers
+ drawable: DRAWABLE
+ ▶
+ count: two CARD32s
+└───
+ Errors: Window
+
+ Schedule a swap of the front and back buffers with the display
+ server.
+
+ Returns the swap count value when the swap will actually occur (e.g.
+ the last queued swap count + (pending swap count * swap interval)).
+
+ This request is only available with protocol version 1.2 or
+ later.
+
+┌───
+ DRI2GetBuffersWithFormat
+ drawable: DRAWABLE
+ attachments: LISTofDRI2ATTACH_FORMAT
+ ▶
+ width, height: CARD32
+ buffers: LISTofDRI2BUFFER
+└───
+ Errors: Window
+
+ Get buffers for the provided attachment points with the specified
+ formats for the given drawable.
+
+ If the DDX driver does not support one or more of the
+ specified attachment points or formats, a Value error is generated,
+ with the first unsupported attachment point as the error value.
+
+ 'width' and 'height' describes the dimensions of the drawable.
+
+ 'buffers' is a list of DRI2BUFFER for the given DRI2
+ attachment points.
+
+ This request is only available with protocol version 1.1 or
+ later.
+
+┌───
+ DRI2GetMSC
+ drawable: DRAWABLE
+ ▶
+ ust, msc, sbc: CARD64
+└───
+ Errors: Window
+
+ Get the current media stamp counter (MSC) and swap buffer count (SBC)
+ along with the unadjusted system time (UST) when the MSC was last
+ incremented.
+
+ This request is only available with protocol version 1.2 or
+ later.
+
+┌───
+ DRI2WaitMSC
+ drawable: DRAWABLE
+ target_msc: two CARD32s
+ divisor: two CARD32s
+ remainder: two CARD32s
+ ▶
+ ust, msc, sbc: CARD64
+└───
+ Errors: Window
+
+ Blocks the client until either the frame count reaches target_msc or,
+ if the frame count is already greater than target_msc when the request
+ is received, until the frame count % divisor = remainder. If divisor
+ is 0, the client will be unblocked if the frame count is greater than
+ or equal to the target_msc.
+
+ Returns the current media stamp counter (MSC) and swap buffer count
+ (SBC) along with the unadjusted system time (UST) when the MSC was last
+ incremented.
+
+ This request is only available with protocol version 1.2 or
+ later.
+
+┌───
+ DRI2WaitSBC
+ drawable: DRAWABLE
+ target_sbc: two CARD32s
+ ▶
+ ust, msc, sbc: CARD64
+└───
+ Errors: Window
+
+ Blocks the client until the swap buffer count reaches target_sbc. If
+ the swap buffer count is already greater than or equal to target_sbc
+ when the request is recieved, this request will return immediately.
+
+ If target_sbc is 0, this request will block the client until all
+ previous DRI2SwapBuffers requests have completed.
+
+ Returns the current media stamp counter (MSC) and swap buffer count
+ (SBC) along with the unadjusted system time (UST) when the MSC was last
+ incremented.
+
+ This request is only available with protocol version 1.2 or
+ later.
+
+┌───
+ DRI2SwapInterval
+ drawable: DRAWABLE
+ interval: CARD32
+ ▶
+└───
+ Errors: Window
+
+ Sets the swap interval for DRAWABLE. This will throttle
+ DRI2SwapBuffers requests to swap at most once per interval frames,
+ which is useful useful for limiting the frame rate.
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+9. Extension Events
+
+┌───
+ DRI2BufferSwapComplete
+ ▶
+ event_type: CARD16
+ drawable: CARD32
+ ust: CARD64
+ msc: CARD64
+ sbc: CARD64
+└───
+
+ This event reports the status of the last DRI2SwapBuffers event to
+ the client. The event type should be one of DRI2_EXCHANGE_COMPLETE,
+ indicating a successful buffer exchange, DRI2_BLIT_COMPLETE, indicating
+ the swap was performed with a blit, and DRI2_FLIP_COMPLETE, indicating
+ a full page flip was completed.
+
+┌───
+ DRI2InvalidateBuffers
+ ▶
+ drawable: CARD32
+└───
+
+ This event is generated when the buffers the client had
+ requested for 'drawable' (with DRI2GetBuffers or
+ DRI2GetBuffersWithFormat) become inappropriate because they
+ don't match the drawable dimensions anymore, or a buffer swap
+ has been performed.
+
+ Note that the server is only required to warn the client once
+ about this condition, until the client takes care of bringing
+ them back up-to-date with another GetBuffers request.
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+10. Extension Versioning
+
+The DRI2 extension has undergone a number of revisions before
+
+ 1.0: Released, but never used. Relied on a number of
+ constructs from the XF86DRI extension, such as a
+ shared memory area (SAREA) to communicate changes in
+ cliprects and window sizes, and
+
+ 1.99.1: Move the swap buffer functionality into the X server,
+ introduce SwapBuffer request to copy back buffer
+ contents to the X drawable.
+
+ 1.99.2: Rethink the SwapBuffer request as an asynchronous
+ request to copy a region between DRI2 buffers. Drop
+ CreateDrawable and DestroyDrawable, update Connect to
+ support different driver types and to send the
+ authentication group.
+
+ 1.99.3: Drop the bitmask argument intended to indicate
+ presence of optional arguments for CopyRegion.
+
+ 2.0: Awesomeness!
+
+ 2.1: True excellence. Added DRI2GetBuffersWithFormat to allow
+ more flexible object creation.
+
+ 2.2: Approaching perfection. Added requests for swapbuffers,
+ MSC and SBC related requests, and events.
+
+ 2.3: Added the DRI2InvalidateBuffers event.
+
+Compatibility up to 2.0 is not preserved, but was also never released.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+11. Relationship with other extensions
+
+As an extension designed to support other extensions, there is
+naturally some interactions with other extensions.
+
+
+11.1 GLX
+
+The GL auxilary buffers map directly to the DRI2 buffers... eh
+
+
+11.2 DBE
+
+The DBE back buffer must correspond to the DRI2_BUFFER_FRONT_LEFT
+DRI2 buffer for servers that support both DBE and DRI2.
+
+
+11.3 XvMC / Xv
+
+We might add a DRI2_BUFFER_YUV to do vsynced colorspace conversion
+blits. Maybe... not really sure.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+Appendix A. Protocol Encoding
+
+Syntactic Conventions
+
+This document uses the same syntactic conventions as the core X
+protocol encoding document.
+
+
+A.1 Common Types
+
+┌───
+ DRI2DRIVER
+ 0x0 DRI2DriverDRI
+ 0x1 DRI2DriverVDPAU
+└───
+
+┌───
+ DRI2ATTACHMENT
+ 0x0 DRI2BufferFrontLeft
+ 0x1 DRI2BufferBackLeft
+ 0x2 DRI2BufferFrontRight
+ 0x3 DRI2BufferBackRight
+ 0x4 DRI2BufferDepth
+ 0x5 DRI2BufferStencil
+ 0x6 DRI2BufferAccum
+ 0x7 DRI2BufferFakeFrontLeft
+ 0x8 DRI2BufferFakeFrontRight
+ 0x9 DRI2BufferDepthStencil
+└───
+ Used to encode the possible attachment points. The attachment
+ DRI2BufferDepthStencil is only available with protocol version 1.1 or
+ later.
+
+┌───
+ DRI2BUFFER
+ 4 CARD32 attachment
+ 4 CARD32 name
+ 4 CARD32 pitch
+ 4 CARD32 cpp
+ 4 CARD32 flags
+└───
+ A DRI2 buffer specifies the attachment, the kernel memory
+ manager name, the pitch and chars per pixel for a buffer
+ attached to a given drawable.
+
+┌───
+ DRI2ATTACH_FORMAT
+ 4 CARD32 attachment
+ 4 CARD32 format
+└───
+ Used to describe the attachment and format requested from the server.
+ This data type is only available with protocol version 1.1 or
+ later.
+
+A.2 Protocol Requests
+
+┌───
+ DRI2QueryVersion
+ 1 CARD8 major opcode
+ 1 0 DRI2 opcode
+ 2 3 length
+ 4 CARD32 major version
+ 4 CARD32 minor version
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 major version
+ 4 CARD32 minor version
+ 16 unused
+└───
+
+┌───
+ DRI2Connect
+ 1 CARD8 major opcode
+ 1 1 DRI2 opcode
+ 2 3+(n+p)/4 length
+ 4 WINDOW window
+ 4 CARD32 driver type
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 (n+m+p)/4 reply length
+ 4 n driver name length
+ 4 m device name length
+ 16 unused
+ n CARD8 driver name
+ m CARD8 device name
+ p unused, p=pad(n+m)
+└───
+
+┌───
+ DRI2Authenticate
+ 1 CARD8 major opcode
+ 1 2 DRI2 opcode
+ 2 3 length
+ 4 WINDOW window
+ 4 CARD32 authentication token
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 authenticated
+ 20 unused
+└───
+
+┌───
+ DRI2GetBuffers
+ 1 CARD8 major opcode
+ 1 3 DRI2 opcode
+ 2 3 length
+ 4 DRAWABLE drawable
+ 4 n number of attachments
+ 4n LISTofDRI2ATTACHMENTS attachments
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 width of drawable
+ 4 CARD32 height of drawable
+ 4 CARD32 buffer count
+ 12 unused
+ 5n LISTofDRI2BUFFER buffers
+└───
+
+┌───
+ DRI2CopyRegion
+ 1 CARD8 major opcode
+ 1 4 DRI2 opcode
+ 2 3 length
+ 4 DRAWABLE drawable
+ 4 REGION region
+ 4 DRI2ATTACHMENT source
+ 4 DRI2ATTACHMENT destination
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 24 unused
+└───
+
+┌───
+ DRI2GetBuffersWithFormat
+ 1 CARD8 major opcode
+ 1 3 DRI2 opcode
+ 2 3 length
+ 4 DRAWABLE drawable
+ 4 n number of attachments
+ 8n LISTofDRI2ATTACH_FORMAT attachments and formats
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 width of drawable
+ 4 CARD32 height of drawable
+ 4 CARD32 buffer count
+ 12 unused
+ 5n LISTofDRI2BUFFER buffers
+└───
+
+┌───
+ DRI2SwapBuffers
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 buffer count
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 5n LISTofDRI2BUFFER buffers
+└───
+
+┌───
+ DRI2SwapBuffers
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 target_msc_hi
+ 4 CARD32 target_msc_lo
+ 4 CARD32 divisor_hi
+ 4 CARD32 divisor_lo
+ 4 CARD32 remainder_hi
+ 4 CARD32 remainder_lo
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 swap_hi
+ 4 CARD32 swap_lo
+ 5n LISTofDRI2BUFFER buffers
+└───
+
+┌───
+ DRI2GetMSC
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 ust_hi
+ 4 CARD32 ust_lo
+ 4 CARD32 msc_hi
+ 4 CARD32 msc_lo
+ 4 CARD32 sbc_hi
+ 4 CARD32 sbc_lo
+└───
+
+┌───
+ DRI2WaitMSC
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 target_msc_hi
+ 4 CARD32 target_msc_lo
+ 4 CARD32 divisor_hi
+ 4 CARD32 divisor_lo
+ 4 CARD32 remainder_hi
+ 4 CARD32 remainder_lo
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 ust_hi
+ 4 CARD32 ust_lo
+ 4 CARD32 msc_hi
+ 4 CARD32 msc_lo
+ 4 CARD32 sbc_hi
+ 4 CARD32 sbc_lo
+└───
+
+┌───
+ DRI2WaitSBC
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 swap_hi
+ 4 CARD32 swap_lo
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 CARD32 ust_hi
+ 4 CARD32 ust_lo
+ 4 CARD32 msc_hi
+ 4 CARD32 msc_lo
+ 4 CARD32 sbc_hi
+ 4 CARD32 sbc_lo
+└───
+
+┌───
+ DRI2SwapInterval
+ 1 CARD8 major opcode
+ 1 7 DRI2 opcode
+ 2 8 length
+ 4 DRAWABLE drawable
+ 4 CARD32 interval
+ ▶
+└───
+
+A.3 Protocol Events
+
+The DRI2 extension specifies DRI2_BufferSwapComplete and
+DRI2_InvalidateBuffers events.
+
+┌───
+ DRI2_BufferSwapComplete
+ 1 CARD8 type
+ 1 CARD8 extension
+ 2 CARD16 sequenceNumber
+ 2 CARD16 event_type
+ 4 DRAWABLE drawable
+ 4 CARD32 ust_hi
+ 4 CARD32 ust_lo
+ 4 CARD32 msc_hi
+ 4 CARD32 msc_lo
+ 4 CARD32 sbc_hi
+ 4 CARD32 sbc_lo
+└───
+
+
+┌───
+ DRI2_InvalidateBuffers
+ 1 CARD8 type
+ 1 CARD8 extension
+ 2 CARD16 sequenceNumber
+ 4 DRAWABLE drawable
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+ 4 CARD32 unused
+└───
+
+A.4 Protocol Errors
+
+The DRI2 extension specifies no errors.
+
+
+ ⚙ ⚙ ⚙ ⚙ ⚙ ⚙
+
+
+Appendix B. Implementation on GEM
+
+Where to begin...
diff --git a/dri2proto/dri2tokens.h b/dri2proto/dri2tokens.h
new file mode 100644
index 0000000..7804e4d
--- /dev/null
+++ b/dri2proto/dri2tokens.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright © 2008 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Soft-
+ * ware"), to deal in the Software without restriction, including without
+ * limitation the rights to use, copy, modify, merge, publish, distribute,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, provided that the above copyright
+ * notice(s) and this permission notice appear in all copies of the Soft-
+ * ware and that both the above copyright notice(s) and this permission
+ * notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
+ * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+ * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
+ * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
+ * MANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder shall
+ * not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization of
+ * the copyright holder.
+ *
+ * Authors:
+ * Kristian Høgsberg (krh@redhat.com)
+ */
+
+#ifndef _DRI2_TOKENS_H_
+#define _DRI2_TOKENS_H_
+
+#define DRI2BufferFrontLeft 0
+#define DRI2BufferBackLeft 1
+#define DRI2BufferFrontRight 2
+#define DRI2BufferBackRight 3
+#define DRI2BufferDepth 4
+#define DRI2BufferStencil 5
+#define DRI2BufferAccum 6
+#define DRI2BufferFakeFrontLeft 7
+#define DRI2BufferFakeFrontRight 8
+#define DRI2BufferDepthStencil 9
+
+#define DRI2DriverDRI 0
+#define DRI2DriverVDPAU 1
+
+/* Event sub-types for the swap complete event */
+#define DRI2_EXCHANGE_COMPLETE 0x1
+#define DRI2_BLIT_COMPLETE 0x2
+#define DRI2_FLIP_COMPLETE 0x3
+
+#endif
diff --git a/evieproto/.gitignore b/evieproto/.gitignore
new file mode 100644
index 0000000..24f0fd9
--- /dev/null
+++ b/evieproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for evieproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/evieproto/COPYING b/evieproto/COPYING
new file mode 100644
index 0000000..2c05030
--- /dev/null
+++ b/evieproto/COPYING
@@ -0,0 +1,20 @@
+Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/evieproto/Makefile.am b/evieproto/Makefile.am
new file mode 100644
index 0000000..6de80c3
--- /dev/null
+++ b/evieproto/Makefile.am
@@ -0,0 +1,21 @@
+eviedir = $(includedir)/X11/extensions
+evie_HEADERS = \
+ evieproto.h \
+ Xeviestr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = evieproto.pc
+
+EXTRA_DIST = evieproto.pc.in
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/evieproto/README b/evieproto/README
new file mode 100644
index 0000000..e49ea91
--- /dev/null
+++ b/evieproto/README
@@ -0,0 +1,31 @@
+ Extended Visual Information Extension (XEVIE)
+
+
+This extension defines a protocol for a client to determine information
+about core X visuals beyond what the core protocol provides.
+
+Extension name: XEVIE
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/evieproto
+
+ http://cgit.freedesktop.org/xorg/proto/evieproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/evieproto/Xeviestr.h b/evieproto/Xeviestr.h
new file mode 100644
index 0000000..78871f1
--- /dev/null
+++ b/evieproto/Xeviestr.h
@@ -0,0 +1,3 @@
+#warning "Xeviestr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/evieproto.h> for the protocol defines."
+#include <X11/extensions/evieproto.h>
diff --git a/evieproto/autogen.sh b/evieproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/evieproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/evieproto/configure.ac b/evieproto/configure.ac
new file mode 100644
index 0000000..9d6e33f
--- /dev/null
+++ b/evieproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.57])
+AC_INIT([EvIEExt], [1.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ evieproto.pc])
diff --git a/evieproto/evieproto.h b/evieproto/evieproto.h
new file mode 100644
index 0000000..3f0ec18
--- /dev/null
+++ b/evieproto/evieproto.h
@@ -0,0 +1,156 @@
+/************************************************************
+
+Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+************************************************************/
+
+#ifndef _XEVIEPROTO_H_
+#define _XEVIEPROTO_H_
+
+#define XEVIENAME "XEVIE"
+
+#define XEVIE_MAJOR_VERSION 1
+#define XEVIE_MINOR_VERSION 0
+
+#define X_XevieQueryVersion 0
+#define X_XevieStart 1
+#define X_XevieEnd 2
+#define X_XevieSend 3
+#define X_XevieSelectInput 4
+
+#define XevieNumberErrors 0
+
+typedef struct _XevieQueryVersion {
+ CARD8 reqType;
+ CARD8 xevieReqType;
+ CARD16 length B16;
+ CARD16 client_major_version B16;
+ CARD16 client_minor_version B16;
+} xXevieQueryVersionReq;
+#define sz_xXevieQueryVersionReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD16 server_major_version B16;
+ CARD16 server_minor_version B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXevieQueryVersionReply;
+#define sz_xXevieQueryVersionReply 32
+
+typedef struct _XevieStart {
+ CARD8 reqType;
+ CARD8 xevieReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXevieStartReq;
+#define sz_xXevieStartReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXevieStartReply;
+#define sz_xXevieStartReply 32
+
+typedef struct _XevieEnd {
+ CARD8 reqType;
+ CARD8 xevieReqType;
+ CARD16 length B16;
+ CARD32 cmap B32;
+} xXevieEndReq;
+#define sz_xXevieEndReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXevieEndReply;
+#define sz_xXevieEndReply 32
+
+typedef struct _XevieSend {
+ CARD8 reqType;
+ CARD8 xevieReqType;
+ CARD16 length B16;
+ xEvent event;
+ CARD32 dataType B32;
+} xXevieSendReq;
+#define sz_xXevieSendReq 104
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXevieSendReply;
+#define sz_xXevieSendReply 32
+
+typedef struct _XevieSelectInput {
+ CARD8 reqType;
+ CARD8 xevieReqType;
+ CARD16 length B16;
+ CARD32 event_mask B32;
+} xXevieSelectInputReq;
+#define sz_xXevieSelectInputReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXevieSelectInputReply;
+#define sz_xXevieSelectInputReply 32
+
+#endif /* } _XEVIEPROTO_H_ */
+
diff --git a/evieproto/evieproto.pc.in b/evieproto/evieproto.pc.in
new file mode 100644
index 0000000..795a1cd
--- /dev/null
+++ b/evieproto/evieproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: EvIEExt
+Description: EvIE extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/fixesproto/.gitignore b/fixesproto/.gitignore
new file mode 100644
index 0000000..edc43df
--- /dev/null
+++ b/fixesproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for fixesproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/fixesproto/AUTHORS b/fixesproto/AUTHORS
new file mode 100644
index 0000000..8e18f9b
--- /dev/null
+++ b/fixesproto/AUTHORS
@@ -0,0 +1 @@
+Keith Packard, HP
diff --git a/fixesproto/COPYING b/fixesproto/COPYING
new file mode 100644
index 0000000..6f42002
--- /dev/null
+++ b/fixesproto/COPYING
@@ -0,0 +1,41 @@
+Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright © 2001,2003 Keith Packard
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Keith Packard not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Keith Packard makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/fixesproto/Makefile.am b/fixesproto/Makefile.am
new file mode 100644
index 0000000..f1716b0
--- /dev/null
+++ b/fixesproto/Makefile.am
@@ -0,0 +1,43 @@
+#
+# Copyright © 2003 Keith Packard, Noah Levitt
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of Keith Packard not be used in
+# advertising or publicity pertaining to distribution of the software without
+# specific, written prior permission. Keith Packard makes no
+# representations about the suitability of this software for any purpose. It
+# is provided "as is" without express or implied warranty.
+#
+# KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+# EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+# DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+fixesdir = $(includedir)/X11/extensions
+fixes_HEADERS = \
+ xfixesproto.h \
+ xfixeswire.h
+
+dist_doc_DATA = fixesproto.txt
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = fixesproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/fixesproto/README b/fixesproto/README
new file mode 100644
index 0000000..99604e4
--- /dev/null
+++ b/fixesproto/README
@@ -0,0 +1,31 @@
+ X Fixes Extension
+
+The extension makes changes to many areas of the protocol to resolve
+issues raised by application interaction with core protocol mechanisms
+that cannot be adequately worked around on the client side of the wire.
+
+Extension name: XFIXES
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/fixesproto
+
+ http://cgit.freedesktop.org/xorg/proto/fixesproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/fixesproto/autogen.sh b/fixesproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/fixesproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/fixesproto/configure.ac b/fixesproto/configure.ac
new file mode 100644
index 0000000..04a9feb
--- /dev/null
+++ b/fixesproto/configure.ac
@@ -0,0 +1,37 @@
+dnl
+dnl Copyright © 2003 Keith Packard, Noah Levitt
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission. Keith Packard makes no
+dnl representations about the suitability of this software for any purpose. It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
+dnl Process this file with autoconf to create configure.
+
+AC_PREREQ([2.60])
+AC_INIT([FixesProto], [4.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ fixesproto.pc])
+
diff --git a/fixesproto/fixesproto.pc.in b/fixesproto/fixesproto.pc.in
new file mode 100644
index 0000000..fabce86
--- /dev/null
+++ b/fixesproto/fixesproto.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: FixesProto
+Description: X Fixes extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
+Requires: xextproto >= 7.0.99.1
diff --git a/fixesproto/fixesproto.txt b/fixesproto/fixesproto.txt
new file mode 100644
index 0000000..5ef8153
--- /dev/null
+++ b/fixesproto/fixesproto.txt
@@ -0,0 +1,577 @@
+ The XFIXES Extension
+ Version 4.0
+ Document Revision 2
+ 2006-12-14
+ Keith Packard
+ keithp@keithp.com
+
+1. Introduction
+
+X applications have often needed to work around various shortcomings in the
+core X window system. This extension is designed to provide the minimal
+server-side support necessary to eliminate problems caused by these
+workarounds.
+
+2. Acknowledgements
+
+This extension is a direct result of requests made by application
+developers, in particular,
+
+ + Owen Taylor for describing the issues raised with the XEMBED
+ mechanisms and SaveSet processing and his initial extension
+ to handle this issue.
+
+ + Bill Haneman for the design for cursor image tracking.
+
+ + Havoc Pennington
+
+ + Fredrik Höglund for cursor names
+
+ + Deron Johnson for cursor visibility
+
+3. Basic Premise
+
+Requests in this extension may seem to wander all over the map of X server
+capabilities, but they are tied by a simple rule -- resolving issues raised
+by application interaction with core protocol mechanisms that cannot be
+adequately worked around on the client side of the wire.
+
+4. Extension initialization
+
+The client must negotiate the version of the extension before executing
+extension requests. Behavior of the server is undefined otherwise.
+
+QueryVersion
+
+ client-major-version: CARD32
+ client-minor-version: CARD32
+
+ ->
+
+ major-version: CARD32
+ minor-version: CARD32
+
+ The client sends the highest supported version to the server and
+ the server sends the highest version it supports, but no higher than
+ the requested version. Major versions changes can introduce
+ new requests, minor version changes introduce only adjustments to
+ existing requests or backward compatible changes. It is
+ the clients responsibility to ensure that the server supports
+ a version which is compatible with its expectations.
+
+************* XFIXES VERSION 1 OR BETTER ***********
+
+5. Save Set processing changes
+
+Embedding one application within another provides a way of unifying
+disparate documents and views within a single framework. From the X
+protocol perspective, this appears similar to nested window managers; the
+embedding application "manages" the embedded windows much as a window
+manager does for top-level windows. To protect the embedded application
+from embedding application failure, it is reasonable to use the core SaveSet
+mechanism so that embedding application failure causes embedded windows to
+be preserved instead of destroyed.
+
+The core save set mechanism defines the target for each save set member
+window as the nearest enclosing window not owned by the terminating client.
+For embedding applications, this nearest window is usually the window
+manager frame. The problem here is that the window manager will not
+generally expect to receive and correctly manage new windows appearing within
+that window by the save set mechanism, and will instead destroy the frame
+window in response to the client window destruction. This causes the
+embedded window to be destroyed.
+
+An easy fix for this problem is to change the target of the save set member
+to a window which won't be affected by the underlying window destruction.
+XFIXES chooses the root window as the target.
+
+Having embedded windows suddenly appear at the top level can confuse users,
+so XFIXES also lets the client select whether the window should end up
+unmapped after the save set processing instead of unconditionally making
+them be mapped.
+
+5.1 Requests
+
+ChangeSaveSet
+
+ window: Window
+ mode: { Insert, Delete }
+ target: { Nearest, Root }
+ map: { Map, Unmap }
+
+ ChangeSaveSet is an extension of the core protocol ChangeSaveSet
+ request. As in that request, mode specifies whether the indicated
+ window is inserted or deleted from the save-set. Target specifies
+ whether the window is reparented to the nearest non-client window as
+ in the core protocol, or reparented to the root window. Map
+ specifies whether the window is mapped as in the core protocol or
+ unmapped.
+
+6. Selection Tracking
+
+Applications wishing to monitor the contents of current selections must
+poll for selection changes. XFIXES improves this by providing an event
+delivered whenever the selection ownership changes.
+
+6.1 Types
+
+ SELECTIONEVENT { SetSelectionOwner,
+ SelectionWindowDestroy,
+ SelectionClientClose }
+
+6.1 Events
+
+SelectionNotify
+
+ subtype: SELECTIONEVENT
+ window: Window
+ owner: Window
+ selection: Atom
+ timestamp: Timestamp
+ selection-timestamp: Timestamp
+
+6.2 Requests
+
+SelectSelectionInput
+
+ window: Window
+ selection: Atom
+ event-mask: SETofSELECTIONEVENT
+
+ Selects for events to be delivered to window when various causes of
+ ownership of selection occur. Subtype indicates the cause of the
+ selection ownership change. Owner is set to the current selection
+ owner, or None. Timestamp indicates the time the event was
+ generated while selection-timestamp indicates the timestamp used to
+ own the selection.
+
+7. Cursor Image Monitoring
+
+Mirroring the screen contents is easily done with the core protocol or VNC
+addons, except for the current cursor image. There is no way using the core
+protocol to discover which cursor image is currently displayed. The
+cursor image often contains significant semantic content about the user
+interface. XFIXES provides a simple mechanism to discover when the cursor
+image changes and to fetch the current cursor image.
+
+As the current cursor may or may not have any XID associated with it, there
+is no stable name available. Instead, XFIXES returns only the image of the
+current cursor and provides a way to identify cursor images to avoid
+refetching the image each time it changes to a previously seen cursor.
+
+7.1 Types
+ CURSOREVENT { DisplayCursor }
+
+7.2 Events
+
+CursorNotify
+
+ subtype: CURSOREVENT
+ window: Window
+ cursor-serial: CARD32
+ timestamp: Timestamp
+ name: Atom (Version 2 only)
+
+7.3 Requests
+
+SelectCursorInput
+
+ window: Window
+ event-mask: SETofCURSOREVENT
+
+ This request directs cursor change events to the named window.
+ Events will be delivered irrespective of the screen on which they
+ occur. Subtype indicates the cause of the cursor image change
+ (there is only one subtype at present). Cursor-serial is a number
+ assigned to the cursor image which identifies the image. Cursors
+ with different serial numbers may have different images. Timestamp
+ is the time of the cursor change.
+
+ Servers supporting the X Input Extension Version 2.0 or higher only
+ notify the clients of cursor change events for the ClientPointer, not
+ of any other master pointer (see Section 4.4. in the XI2 protocol
+ specificiation).
+
+GetCursorImage
+
+ ->
+
+ x: INT16
+ y: INT16
+ width: CARD16
+ height: CARD16
+ x-hot: CARD16
+ y-hot: CARD16
+ cursor-serial: CARD32
+ cursor-image: LISTofCARD32
+
+ GetCursorImage returns the image of the current cursor. X and y are
+ the current cursor position. Width and height are the size of the
+ cursor image. X-hot and y-hot mark the hotspot within the cursor
+ image. Cursor-serial provides the number assigned to this cursor
+ image, this same serial number will be reported in a CursorNotify
+ event if this cursor image is redisplayed in the future.
+
+ The cursor image itself is returned as a single image at 32 bits per
+ pixel with 8 bits of alpha in the most significant 8 bits of the
+ pixel followed by 8 bits each of red, green and finally 8 bits of
+ blue in the least significant 8 bits. The color components are
+ pre-multiplied with the alpha component.
+
+************* XFIXES VERSION 2 OR BETTER ***********
+
+8. Region Objects
+
+The core protocol doesn't expose regions as a primitive object and this
+makes many operations more complicated than they really need to be. Adding
+region objects simplifies expose handling, the Shape extension and other
+operations. These operations are also designed to support a separate
+extension, the X Damage Extension.
+
+8.1 Types
+
+ Region: XID
+ WINDOW_REGION_KIND: { Bounding, Clip }
+
+8.2 Errors
+
+ Region The specified region is invalid
+
+8.3 Requests
+
+CreateRegion
+
+ region: REGION
+ rects: LISTofRECTANGLE
+
+ Creates a region initialized to the specified list of rectangles.
+ The rectangles may be specified in any order, their union becomes
+ the region. The core protocol allows applications to specify an
+ order for the rectangles, but it turns out to be just as hard to
+ verify the rectangles are actually in that order as it is to simply
+ ignore the ordering information and union them together. Hence,
+ this request dispenses with the ordering information.
+
+ Errors: IDChoice
+
+CreateRegionFromBitmap
+
+ region: REGION
+ bitmap: PIXMAP
+
+ Creates a region initialized to the set of 'one' pixels in bitmap
+ (which must be depth 1, else Match error).
+
+ Errors: Pixmap, IDChoice, Match
+
+CreateRegionFromWindow
+
+ window: Window
+ kind: WINDOW_REGION_KIND
+ region: Region
+
+ Creates a region initialized to the specified window region. See the
+ Shape extension for the definition of Bounding and Clip regions.
+
+ Errors: Window, IDChoice, Value
+
+CreateRegionFromGC
+
+ gc: GContext
+ region: Region
+
+ Creates a region initialized from the clip list of the specified
+ GContext.
+
+ Errors: GContext, IDChoice
+
+CreateRegionFromPicture
+
+ picture: Picture
+ region: Region
+
+
+ Creates a region initialized from the clip list of the specified
+ Picture.
+
+ Errors: Picture, IDChoice
+
+DestroyRegion
+
+ region: Region
+
+ Destroys the specified region.
+
+ Errors: Region
+
+SetRegion
+
+ region: Region
+ rects: LISTofRECTANGLE
+
+ This replaces the current contents of region with the region formed
+ by the union of rects.
+
+CopyRegion
+ source: Region
+ destination: Region
+
+ This replaces the contents of destination with the contents of
+ source.
+
+UnionRegion
+IntersectRegion
+SubtractRegion
+
+ source1: Region
+ source2: Region
+ destination: Region
+
+ Combines source1 and source2, placing the result in destination.
+ Destination may be the same as either source1 or source2.
+
+ Errors: Region, Value
+
+InvertRegion
+
+ source: Region
+ bounds: RECTANGLE
+ destination: Region
+
+ The source region is subtracted from the region specified by
+ bounds. The result is placed in destination, replacing its contents.
+
+ Errors: Region
+
+TranslateRegion
+
+ region: Region
+ dx, dy: INT16
+
+ The region is translated by dx, dy in place.
+
+ Errors: Region
+
+RegionExtents
+
+ source: Region
+ destination: Region
+
+ The extents of the source region are placed in the destination
+
+FetchRegion
+
+ region: Region
+ ->
+ extents: RECTANGLE
+ rectangles: LISTofRECTANGLE
+
+ The region is returned as a list of rectangles in YX-banded order.
+
+ Errors: Region
+
+SetGCClipRegion
+
+ gc: GCONTEXT
+ clip-x-origin, clip-y-origin: INT16
+ region: Region or None
+
+ This request changes clip-mask in gc to the specified region and
+ sets the clip origin. Output will be clipped to remain contained
+ within the region. The clip origin is interpreted relative to the
+ origin of whatever destination drawable is specified in a graphics
+ request. The region is interpreted relative to the clip origin.
+ Future changes to region have no effect on the gc clip-mask.
+
+ Errors: GContext, Region
+
+SetWindowShapeRegion
+
+ dest: Window
+ destKind: SHAPE_KIND
+ xOff, yOff: INT16
+ region: Region or None
+
+ This request sets the specified (by destKind) Shape extension region
+ of the window to region, offset by xOff and yOff. Future changes to
+ region have no effect on the window shape.
+
+ Errors: Window, Value, Region
+
+SetPictureClipRegion
+
+ picture: Picture
+ clip-x-origin, clip-y-origin: INT16
+ region: Region or None
+
+ This request changes clip-mask in picture to the specified region
+ and sets the clip origin. Input and output will be clipped to
+ remain contained within the region. The clip origin is interpreted
+ relative to the origin of the drawable associated with picture. The
+ region is interpreted relative to the clip origin. Future changes
+ to region have no effect on the picture clip-mask.
+
+ Errors: Picture, Region
+
+9. Cursor Names
+
+Attaching names to cursors permits some abstract semantic content to be
+associated with specific cursor images. Reflecting those names back to
+applications allows that semantic content to be related to the user through
+non-visual means.
+
+9.1 Events
+
+CursorNotify
+
+ subtype: CURSOREVENT
+ window: Window
+ cursor-serial: CARD32
+ timestamp: Timestamp
+ name: Atom or None
+
+ In Version 2 of the XFIXES protocol, this event adds the atom
+ of any name associated with the current cursor (else None).
+
+9.2 Requests
+
+SetCursorName
+
+ cursor: CURSOR
+ name: LISTofCARD8
+
+ This request interns name as an atom and sets that atom as the name
+ of cursor.
+
+ Errors: Cursor
+
+GetCursorName
+
+ cursor: CURSOR
+ ->
+ atom: ATOM or None
+ name: LISTofCARD8
+
+ This request returns the name and atom of cursor. If no name is
+ set, atom is None and name is empty.
+
+ Errors: Cursor
+
+GetCursorImageAndName
+
+ ->
+
+ x: INT16
+ y: INT16
+ width: CARD16
+ height: CARD16
+ x-hot: CARD16
+ y-hot: CARD16
+ cursor-serial: CARD32
+ cursor-atom: ATOM
+ cursor-name: LISTofCARD8
+ cursor-image: LISTofCARD32
+
+ This is similar to GetCursorImage except for including both
+ the atom and name of the current cursor.
+
+ChangeCursor
+
+ source, destination: CURSOR
+
+ This request replaces all references to the destination with a
+ reference to source. Any existing uses of the destination cursor
+ object will now show the source cursor image.
+
+ChangeCursorByName
+
+ src: CURSOR
+ name: LISTofCARD8
+
+ This request replaces the contents of all cursors with the specified
+ name with the src cursor.
+
+************* XFIXES VERSION 3 OR BETTER ***********
+
+10. Region Expansion
+
+This update provides another operation on the region objects defined in
+Section 8 of this document.
+
+10.1 Requests
+
+ExpandRegion
+ source: REGION
+ destination: REGION
+ left, right, top, bottom: CARD16
+
+ Creates destination region containing the area specified by
+ expanding each rectangle in the source region by the specified
+ number of pixels to the left, right, top and bottom.
+
+************* XFIXES VERSION 4 OR BETTER ***********
+
+11. Cursor Visibility
+
+Composite managers may want to render the cursor themselves instead of
+relying on the X server sprite drawing, this provides a way for them to
+do so without getting a double cursor image.
+
+11.1 Requests
+
+HideCursor
+
+ window: WINDOW
+
+ A client sends this request to indicate that it wants the
+ cursor image to be hidden (i.e. to not be displayed) when
+ the sprite is inside the specified window, or one of its
+ subwindows. If the sprite is inside a window for which one
+ or more active clients have requested cursor hiding then the
+ cursor image will not be displayed.
+
+ Note that even though cursor hiding causes the cursor image
+ to be invisible, CursorNotify events will still be sent
+ normally, as if the cursor image were visible.
+
+ If, during a grab, one or more active clients have requested
+ cursor hiding for grab window, or one of its ancestors, the
+ cursor image of the grab cursor will not be displayed during
+ the lifetime of that grab.
+
+ When a client with outstanding cursor hiding requests
+ terminates its connection these requests will be deleted.
+
+ Servers supporting the X Input Extension Version 2.0 or higher hide
+ all visible cursors in response to a HideCursor request. If a master
+ pointer is created while the cursors are hidden, this master pointer's
+ cursor will be hidden as well.
+
+ShowCursor
+
+ window: WINDOW
+
+ A client sends this request to indicate that it wants the
+ cursor image to be displayed when the sprite is inside the
+ specified window, or one of its subwindows. If the sprite
+ is inside a window for which no active clients have requested
+ cursor hiding then the cursor image for that window will be
+ displayed. In other words, if a client calls HideCursor for
+ a specified window, or window subtree, this request reverses
+ the effects of the HideCursor request.
+
+ If the client has made no outstanding HideCursor requests
+ a BadMatch error is generated.
+
+ Servers supporting the X Input Extension Version 2.0 or higher show
+ all visible cursors in response to a ShowCursor request.
+
+99. Future compatibility
+
+This extension is not expected to remain fixed. Future changes will
+strive to remain compatible if at all possible. The X server will always
+support version 1 of the extension protocol if requested by a client.
+
+Additions to the protocol will always by marked by minor version number
+changes so that applications will be able to detect what requests are
+supported.
diff --git a/fixesproto/xfixesproto.h b/fixesproto/xfixesproto.h
new file mode 100644
index 0000000..d7d7bed
--- /dev/null
+++ b/fixesproto/xfixesproto.h
@@ -0,0 +1,518 @@
+/*
+ * Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef _XFIXESPROTO_H_
+#define _XFIXESPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/xfixeswire.h>
+#include <X11/extensions/shapeconst.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+#define Picture CARD32
+
+/*************** Version 1 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesReq;
+
+/*
+ * requests and replies
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xXFixesQueryVersionReq;
+
+#define sz_xXFixesQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXFixesQueryVersionReply;
+
+#define sz_xXFixesQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ BYTE mode; /* SetModeInsert/SetModeDelete*/
+ BYTE target; /* SaveSetNearest/SaveSetRoot*/
+ BYTE map; /* SaveSetMap/SaveSetUnmap */
+ BYTE pad1;
+ Window window;
+} xXFixesChangeSaveSetReq;
+
+#define sz_xXFixesChangeSaveSetReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+ Atom selection B32;
+ CARD32 eventMask B32;
+} xXFixesSelectSelectionInputReq;
+
+#define sz_xXFixesSelectSelectionInputReq 16
+
+typedef struct {
+ CARD8 type;
+ CARD8 subtype;
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ Window owner B32;
+ Atom selection B32;
+ Time timestamp B32;
+ Time selectionTimestamp B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesSelectionNotifyEvent;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 eventMask B32;
+} xXFixesSelectCursorInputReq;
+
+#define sz_xXFixesSelectCursorInputReq 12
+
+typedef struct {
+ CARD8 type;
+ CARD8 subtype;
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ CARD32 cursorSerial B32;
+ Time timestamp;
+ Atom name B32; /* Version 2 */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesCursorNotifyEvent;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesGetCursorImageReq;
+
+#define sz_xXFixesGetCursorImageReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 xhot B16;
+ CARD16 yhot B16;
+ CARD32 cursorSerial B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXFixesGetCursorImageReply;
+
+#define sz_xXFixesGetCursorImageReply 32
+
+/*************** Version 2 ******************/
+
+#define Region CARD32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ /* LISTofRECTANGLE */
+} xXFixesCreateRegionReq;
+
+#define sz_xXFixesCreateRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Pixmap bitmap B32;
+} xXFixesCreateRegionFromBitmapReq;
+
+#define sz_xXFixesCreateRegionFromBitmapReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Window window B32;
+ CARD8 kind;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xXFixesCreateRegionFromWindowReq;
+
+#define sz_xXFixesCreateRegionFromWindowReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ GContext gc B32;
+} xXFixesCreateRegionFromGCReq;
+
+#define sz_xXFixesCreateRegionFromGCReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ Picture picture B32;
+} xXFixesCreateRegionFromPictureReq;
+
+#define sz_xXFixesCreateRegionFromPictureReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+} xXFixesDestroyRegionReq;
+
+#define sz_xXFixesDestroyRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ /* LISTofRECTANGLE */
+} xXFixesSetRegionReq;
+
+#define sz_xXFixesSetRegionReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+} xXFixesCopyRegionReq;
+
+#define sz_xXFixesCopyRegionReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source1 B32;
+ Region source2 B32;
+ Region destination B32;
+} xXFixesCombineRegionReq,
+ xXFixesUnionRegionReq,
+ xXFixesIntersectRegionReq,
+ xXFixesSubtractRegionReq;
+
+#define sz_xXFixesCombineRegionReq 16
+#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
+#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
+#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ Region destination B32;
+} xXFixesInvertRegionReq;
+
+#define sz_xXFixesInvertRegionReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+ INT16 dx B16, dy B16;
+} xXFixesTranslateRegionReq;
+
+#define sz_xXFixesTranslateRegionReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+} xXFixesRegionExtentsReq;
+
+#define sz_xXFixesRegionExtentsReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region region B32;
+} xXFixesFetchRegionReq;
+
+#define sz_xXFixesFetchRegionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXFixesFetchRegionReply;
+
+#define sz_xXFixesFetchRegionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ GContext gc B32;
+ Region region B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xXFixesSetGCClipRegionReq;
+
+#define sz_xXFixesSetGCClipRegionReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window dest;
+ BYTE destKind;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ INT16 xOff B16, yOff B16;
+ Region region;
+} xXFixesSetWindowShapeRegionReq;
+
+#define sz_xXFixesSetWindowShapeRegionReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ Region region B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xXFixesSetPictureClipRegionReq;
+
+#define sz_xXFixesSetPictureClipRegionReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor cursor B32;
+ CARD16 nbytes B16;
+ CARD16 pad B16;
+} xXFixesSetCursorNameReq;
+
+#define sz_xXFixesSetCursorNameReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor cursor B32;
+} xXFixesGetCursorNameReq;
+
+#define sz_xXFixesGetCursorNameReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom atom B32;
+ CARD16 nbytes B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXFixesGetCursorNameReply;
+
+#define sz_xXFixesGetCursorNameReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+} xXFixesGetCursorImageAndNameReq;
+
+#define sz_xXFixesGetCursorImageAndNameReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 xhot B16;
+ CARD16 yhot B16;
+ CARD32 cursorSerial B32;
+ Atom cursorName B32;
+ CARD16 nbytes B16;
+ CARD16 pad B16;
+} xXFixesGetCursorImageAndNameReply;
+
+#define sz_xXFixesGetCursorImageAndNameReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor source B32;
+ Cursor destination B32;
+} xXFixesChangeCursorReq;
+
+#define sz_xXFixesChangeCursorReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Cursor source B32;
+ CARD16 nbytes;
+ CARD16 pad;
+} xXFixesChangeCursorByNameReq;
+
+#define sz_xXFixesChangeCursorByNameReq 12
+
+/*************** Version 3 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Region source B32;
+ Region destination B32;
+ CARD16 left B16;
+ CARD16 right B16;
+ CARD16 top B16;
+ CARD16 bottom B16;
+} xXFixesExpandRegionReq;
+
+#define sz_xXFixesExpandRegionReq 20
+
+/*************** Version 4.0 ******************/
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+} xXFixesHideCursorReq;
+
+#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xfixesReqType;
+ CARD16 length B16;
+ Window window B32;
+} xXFixesShowCursorReq;
+
+#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
+
+#undef Region
+#undef Picture
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _XFIXESPROTO_H_ */
diff --git a/fixesproto/xfixeswire.h b/fixesproto/xfixeswire.h
new file mode 100644
index 0000000..3342753
--- /dev/null
+++ b/fixesproto/xfixeswire.h
@@ -0,0 +1,127 @@
+/*
+ * Copyright © 2006 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/*
+ * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Keith Packard not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission. Keith Packard makes no
+ * representations about the suitability of this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
+ *
+ * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+
+#ifndef _XFIXESWIRE_H_
+#define _XFIXESWIRE_H_
+
+#define XFIXES_NAME "XFIXES"
+#define XFIXES_MAJOR 4
+#define XFIXES_MINOR 0
+
+/*************** Version 1 ******************/
+#define X_XFixesQueryVersion 0
+#define X_XFixesChangeSaveSet 1
+#define X_XFixesSelectSelectionInput 2
+#define X_XFixesSelectCursorInput 3
+#define X_XFixesGetCursorImage 4
+/*************** Version 2 ******************/
+#define X_XFixesCreateRegion 5
+#define X_XFixesCreateRegionFromBitmap 6
+#define X_XFixesCreateRegionFromWindow 7
+#define X_XFixesCreateRegionFromGC 8
+#define X_XFixesCreateRegionFromPicture 9
+#define X_XFixesDestroyRegion 10
+#define X_XFixesSetRegion 11
+#define X_XFixesCopyRegion 12
+#define X_XFixesUnionRegion 13
+#define X_XFixesIntersectRegion 14
+#define X_XFixesSubtractRegion 15
+#define X_XFixesInvertRegion 16
+#define X_XFixesTranslateRegion 17
+#define X_XFixesRegionExtents 18
+#define X_XFixesFetchRegion 19
+#define X_XFixesSetGCClipRegion 20
+#define X_XFixesSetWindowShapeRegion 21
+#define X_XFixesSetPictureClipRegion 22
+#define X_XFixesSetCursorName 23
+#define X_XFixesGetCursorName 24
+#define X_XFixesGetCursorImageAndName 25
+#define X_XFixesChangeCursor 26
+#define X_XFixesChangeCursorByName 27
+/*************** Version 3 ******************/
+#define X_XFixesExpandRegion 28
+/*************** Version 4 ******************/
+#define X_XFixesHideCursor 29
+#define X_XFixesShowCursor 30
+
+#define XFixesNumberRequests (X_XFixesShowCursor+1)
+
+/* Selection events share one event number */
+#define XFixesSelectionNotify 0
+
+/* Within the selection, the 'subtype' field distinguishes */
+#define XFixesSetSelectionOwnerNotify 0
+#define XFixesSelectionWindowDestroyNotify 1
+#define XFixesSelectionClientCloseNotify 2
+
+#define XFixesSetSelectionOwnerNotifyMask (1L << 0)
+#define XFixesSelectionWindowDestroyNotifyMask (1L << 1)
+#define XFixesSelectionClientCloseNotifyMask (1L << 2)
+
+/* There's only one cursor event so far */
+#define XFixesCursorNotify 1
+
+#define XFixesDisplayCursorNotify 0
+
+#define XFixesDisplayCursorNotifyMask (1L << 0)
+
+#define XFixesNumberEvents (2)
+
+/* errors */
+#define BadRegion 0
+#define XFixesNumberErrors (BadRegion+1)
+
+#define SaveSetNearest 0
+#define SaveSetRoot 1
+
+#define SaveSetMap 0
+#define SaveSetUnmap 1
+
+/*************** Version 2 ******************/
+
+#define WindowRegionBounding 0
+#define WindowRegionClip 1
+
+#endif /* _XFIXESWIRE_H_ */
diff --git a/fontcacheproto/.gitignore b/fontcacheproto/.gitignore
new file mode 100644
index 0000000..51f6b55
--- /dev/null
+++ b/fontcacheproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for fontcacheproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/fontcacheproto/COPYING b/fontcacheproto/COPYING
new file mode 100644
index 0000000..3e473ad
--- /dev/null
+++ b/fontcacheproto/COPYING
@@ -0,0 +1,24 @@
+Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+All rights reserved.
+Copyright (c) 1998-1999 X-TrueType Server Project, All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/fontcacheproto/Makefile.am b/fontcacheproto/Makefile.am
new file mode 100644
index 0000000..9092f8a
--- /dev/null
+++ b/fontcacheproto/Makefile.am
@@ -0,0 +1,22 @@
+fontcachedir = $(includedir)/X11/extensions
+fontcache_HEADERS = \
+ fontcache.h \
+ fontcacheP.h \
+ fontcachstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = fontcacheproto.pc
+
+EXTRA_DIST = fontcacheproto.pc.in
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/fontcacheproto/README b/fontcacheproto/README
new file mode 100644
index 0000000..7cce9a7
--- /dev/null
+++ b/fontcacheproto/README
@@ -0,0 +1,30 @@
+ FontCache Extension
+
+This extension defines a protocol to allow client control over the caching
+of server-side core fonts.
+
+Extension name: FontCache
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/fontcacheproto
+
+ http://cgit.freedesktop.org/xorg/proto/fontcacheproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/fontcacheproto/autogen.sh b/fontcacheproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/fontcacheproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/fontcacheproto/configure.ac b/fontcacheproto/configure.ac
new file mode 100644
index 0000000..2c13bd2
--- /dev/null
+++ b/fontcacheproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.57])
+AC_INIT([FontcacheProto], [0.1.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ fontcacheproto.pc])
diff --git a/fontcacheproto/fontcache.h b/fontcacheproto/fontcache.h
new file mode 100644
index 0000000..b767db1
--- /dev/null
+++ b/fontcacheproto/fontcache.h
@@ -0,0 +1,106 @@
+/*-
+ * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * All rights reserved.
+ * Copyright (c) 1998-1999 X-TrueType Server Project, All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Id: fontcache.h,v 1.6 1999/01/31 12:41:32 akiyama Exp $
+ */
+/* $XFree86: xc/include/extensions/fontcache.h,v 1.3 2001/08/01 00:44:35 tsi Exp $ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _EXT_FONTCACHE_H_
+#define _EXT_FONTCACHE_H_
+
+#define X_FontCacheQueryVersion 0
+#define X_FontCacheGetCacheSettings 1
+#define X_FontCacheChangeCacheSettings 2
+#define X_FontCacheGetCacheStatistics 3
+
+#define FontCacheNumberEvents 0
+
+#define FontCacheBadProtocol 0
+#define FontCacheCannotAllocMemory 1
+#define FontCacheNumberErrors (FontCacheCannotAllocMemory + 1)
+
+typedef struct {
+ long himark;
+ long lowmark;
+ long balance;
+} FontCacheSettings, *FontCacheSettingsPtr;
+
+struct cacheinfo {
+ long hits;
+ long misshits;
+ long purged;
+ long usage;
+};
+
+typedef struct {
+ long purge_runs;
+ long purge_stat;
+ long balance;
+ struct cacheinfo f;
+ struct cacheinfo v;
+} FontCacheStatistics, *FontCacheStatisticsPtr;
+
+#ifndef _FONTCACHE_SERVER_
+
+#include <X11/Xlib.h>
+
+_XFUNCPROTOBEGIN
+
+Bool FontCacheQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */
+);
+
+Bool FontCacheQueryExtension(
+ Display* /* dpy */,
+ int* /* event_base */,
+ int* /* error_base */
+);
+
+Status FontCacheGetCacheSettings(
+ Display* /* dpy */,
+ FontCacheSettings* /* cache info */
+);
+
+Status FontCacheChangeCacheSettings(
+ Display* /* dpy */,
+ FontCacheSettings* /* cache info */
+);
+
+Status FontCacheGetCacheStatistics(
+ Display* /* dpy */,
+ FontCacheStatistics* /* cache statistics info */
+);
+
+_XFUNCPROTOEND
+
+#endif /* !_FONTCACHE_SERVER_ */
+
+#endif /* _EXT_FONTCACHE_H_ */
diff --git a/fontcacheproto/fontcacheP.h b/fontcacheproto/fontcacheP.h
new file mode 100644
index 0000000..75677f3
--- /dev/null
+++ b/fontcacheproto/fontcacheP.h
@@ -0,0 +1,40 @@
+/*-
+ * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * All rights reserved.
+ * Copyright (c) 1998-1999 X-TrueType Server Project, All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Id: fontcacheP.h,v 1.6 1999/01/31 12:43:53 akiyama Exp $
+ */
+/* $XFree86: xc/include/extensions/fontcacheP.h,v 1.4 2000/03/01 01:04:21 dawes Exp $ */
+
+#ifndef _FONTCACHEP_H_
+#define _FONTCACHEP_H_
+
+#include <X11/extensions/fontcache.h>
+
+int FontCacheChangeSettings(FontCacheSettingsPtr /* cinfo */);
+void FontCacheGetSettings(FontCacheSettingsPtr /* cinfo */);
+void FontCacheGetStatistics(FontCacheStatisticsPtr /* cstats */);
+
+#endif /* _FONTCACHEP_H_ */
diff --git a/fontcacheproto/fontcacheproto.pc.in b/fontcacheproto/fontcacheproto.pc.in
new file mode 100644
index 0000000..afb2127
--- /dev/null
+++ b/fontcacheproto/fontcacheproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: FontcacheProto
+Description: Fontcache extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/fontcacheproto/fontcachstr.h b/fontcacheproto/fontcachstr.h
new file mode 100644
index 0000000..eab704e
--- /dev/null
+++ b/fontcacheproto/fontcachstr.h
@@ -0,0 +1,130 @@
+/*-
+ * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
+ * All rights reserved.
+ * Copyright (c) 1998-1999 X-TrueType Server Project, All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Id: fontcachstr.h,v 1.7 1999/01/31 14:58:40 akiyama Exp $
+ */
+/* $XFree86$ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _FONTCACHESTR_H_
+#define _FONTCACHESTR_H_
+
+#include <X11/extensions/fontcache.h>
+
+#define FONTCACHENAME "FontCache"
+
+#define FONTCACHE_MAJOR_VERSION 0 /* current version numbers */
+#define FONTCACHE_MINOR_VERSION 1
+
+typedef struct _FontCacheQueryVersion {
+ CARD8 reqType; /* always FontCacheReqCode */
+ CARD8 fontcacheReqType; /* always X_FontCacheQueryVersion */
+ CARD16 length B16;
+} xFontCacheQueryVersionReq;
+#define sz_xFontCacheQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of Font-Cache */
+ CARD16 minorVersion B16; /* minor version of Font-Cache */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xFontCacheQueryVersionReply;
+#define sz_xFontCacheQueryVersionReply 32
+
+typedef struct _FontCacheGetCacheSettings {
+ CARD8 reqType; /* always FontCacheReqCode */
+ CARD8 fontcacheReqType; /* always X_FontCacheGetCacheSettings */
+ CARD16 length B16;
+} xFontCacheGetCacheSettingsReq;
+#define sz_xFontCacheGetCacheSettingsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 himark B32;
+ CARD32 lowmark B32;
+ CARD32 balance B32;
+ CARD32 reserve0 B32;
+ CARD32 reserve1 B32;
+ CARD32 reserve2 B32;
+} xFontCacheGetCacheSettingsReply;
+#define sz_xFontCacheGetCacheSettingsReply 32
+
+typedef struct _FontCacheChangeCacheSettings {
+ CARD8 reqType; /* always FontCacheReqCode */
+ CARD8 fontcacheReqType; /* always X_FontCacheChangeCacheSettings */
+ CARD16 length B16;
+ CARD32 himark B32;
+ CARD32 lowmark B32;
+ CARD32 balance B32;
+ CARD32 reserve0 B32;
+ CARD32 reserve1 B32;
+ CARD32 reserve2 B32;
+ CARD32 reserve3 B32;
+} xFontCacheChangeCacheSettingsReq;
+#define sz_xFontCacheChangeCacheSettingsReq 32
+
+typedef struct _FontCacheGetCacheStatistics {
+ CARD8 reqType; /* always FontCacheReqCode */
+ CARD8 fontcacheReqType; /* always X_FontCacheGetCacheStatistics */
+ CARD16 length B16;
+} xFontCacheGetCacheStatisticsReq;
+#define sz_xFontCacheGetCacheStatisticsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 purge_runs B32;
+ CARD32 purge_stat B32;
+ CARD32 balance B32;
+ CARD32 reserve0 B32;
+ CARD32 f_hits B32;
+ CARD32 f_misshits B32;
+ CARD32 f_purged B32;
+ CARD32 f_usage B32;
+ CARD32 f_reserve0 B32;
+ CARD32 v_hits B32;
+ CARD32 v_misshits B32;
+ CARD32 v_purged B32;
+ CARD32 v_usage B32;
+ CARD32 v_reserve0 B32;
+} xFontCacheGetCacheStatisticsReply;
+#define sz_xFontCacheGetCacheStatisticsReply 64
+
+#endif /* _FONTCACHESTR_H_ */
diff --git a/fontsproto/.gitignore b/fontsproto/.gitignore
new file mode 100644
index 0000000..f1ca084
--- /dev/null
+++ b/fontsproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for fontsproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/fontsproto/COPYING b/fontsproto/COPYING
new file mode 100644
index 0000000..eac45aa
--- /dev/null
+++ b/fontsproto/COPYING
@@ -0,0 +1,86 @@
+Copyright 1990, 1991 Network Computing Devices;
+Portions Copyright 1987 by Digital Equipment Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the names of Network Computing Devices or Digital
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Network Computing Devices and Digital make no representations
+about the suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES
+OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+
+Copyright 1990, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright (c) 1999 The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
diff --git a/fontsproto/FS.h b/fontsproto/FS.h
new file mode 100644
index 0000000..605b5a8
--- /dev/null
+++ b/fontsproto/FS.h
@@ -0,0 +1,129 @@
+/*
+ * Copyright 1990, 1991 Network Computing Devices;
+ * Portions Copyright 1987 by Digital Equipment Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of Network Computing Devices or Digital
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Network Computing Devices and Digital make no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ *
+ * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES
+ * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+/*
+
+Portions Copyright 1987, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _FS_H_
+#define _FS_H_
+
+#include <X11/Xdefs.h>
+#include <X11/fonts/fsmasks.h>
+
+#define FS_PROTOCOL 2
+#define FS_PROTOCOL_MINOR 0
+
+#ifndef X_PROTOCOL
+/* protocol familes */
+#define FamilyInternet 0
+#define FamilyDECnet 1
+#define FamilyChaos 2
+#define FamilyInternet6 6
+
+
+typedef unsigned int FSDrawDirection;
+#endif
+
+#ifndef None
+#define None 0L
+#endif
+
+#define LeftToRightDrawDirection 0
+#define RightToLeftDrawDirection 1
+
+/* font info flags */
+#define FontInfoAllCharsExist (1L << 0)
+#define FontInfoInkInside (1L << 1)
+#define FontInfoHorizontalOverlap (1L << 2)
+
+/* auth status flags */
+#define AuthSuccess 0
+#define AuthContinue 1
+#define AuthBusy 2
+#define AuthDenied 3
+
+/* property types */
+#define PropTypeString 0
+#define PropTypeUnsigned 1
+#define PropTypeSigned 2
+
+#ifndef LSBFirst
+/* byte order */
+#define LSBFirst 0
+#define MSBFirst 1
+#endif
+
+/* event masks */
+#define CatalogueChangeNotifyMask (1L << 0)
+#define FontChangeNotifyMask (1L << 1)
+
+/* errors */
+#define FSSuccess -1
+#define FSBadRequest 0
+#define FSBadFormat 1
+#define FSBadFont 2
+#define FSBadRange 3
+#define FSBadEventMask 4
+#define FSBadAccessContext 5
+#define FSBadIDChoice 6
+#define FSBadName 7
+#define FSBadResolution 8
+#define FSBadAlloc 9
+#define FSBadLength 10
+#define FSBadImplementation 11
+
+#define FirstExtensionError 128
+#define LastExtensionError 255
+
+/* events */
+#define KeepAlive 0
+#define CatalogueChangeNotify 1
+#define FontChangeNotify 2
+#define FSLASTEvent 3
+
+#endif /* _FS_H_ */
diff --git a/fontsproto/FSproto.h b/fontsproto/FSproto.h
new file mode 100644
index 0000000..028156f
--- /dev/null
+++ b/fontsproto/FSproto.h
@@ -0,0 +1,814 @@
+/*
+
+Copyright 1990, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+ * Copyright 1990, 1991 Network Computing Devices;
+ * Portions Copyright 1987 by Digital Equipment Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of Network Computing Devices, or Digital
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ *
+ * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES,
+ * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+#ifndef _FS_PROTO_H_
+#define _FS_PROTO_H_
+
+#include <X11/fonts/FS.h>
+
+#define sz_fsPropOffset 20
+#define sz_fsPropInfo 8
+#define sz_fsResolution 6
+
+#define sz_fsChar2b 2
+#define sz_fsChar2b_version1 2
+#define sz_fsOffset32 8
+#define sz_fsRange 4
+
+#define sz_fsXCharInfo 12
+#define sz_fsXFontInfoHeader 40
+
+#define sz_fsConnClientPrefix 8
+#define sz_fsConnSetup 12
+#define sz_fsConnSetupExtra 8
+#define sz_fsConnSetupAccept 12
+
+/* request sizes */
+#define sz_fsReq 4
+#define sz_fsListExtensionsReq 4
+#define sz_fsResourceReq 8
+
+#define sz_fsNoopReq 4
+#define sz_fsListExtensionReq 4
+#define sz_fsQueryExtensionReq 4
+#define sz_fsListCataloguesReq 12
+#define sz_fsSetCataloguesReq 4
+#define sz_fsGetCataloguesReq 4
+#define sz_fsSetEventMaskReq 8
+#define sz_fsGetEventMaskReq 4
+#define sz_fsCreateACReq 8
+#define sz_fsFreeACReq 8
+#define sz_fsSetAuthorizationReq 8
+#define sz_fsSetResolutionReq 4
+#define sz_fsGetResolutionReq 4
+#define sz_fsListFontsReq 12
+#define sz_fsListFontsWithXInfoReq 12
+#define sz_fsOpenBitmapFontReq 16
+#define sz_fsQueryXInfoReq 8
+#define sz_fsQueryXExtents8Req 12
+#define sz_fsQueryXExtents16Req 12
+#define sz_fsQueryXBitmaps8Req 16
+#define sz_fsQueryXBitmaps16Req 16
+#define sz_fsCloseReq 8
+
+/* reply sizes */
+#define sz_fsReply 8
+#define sz_fsGenericReply 8
+
+#define sz_fsListExtensionsReply 8
+#define sz_fsQueryExtensionReply 20
+#define sz_fsListCataloguesReply 16
+#define sz_fsGetCataloguesReply 8
+#define sz_fsGetEventMaskReply 12
+#define sz_fsCreateACReply 12
+#define sz_fsGetResolutionReply 8
+#define sz_fsListFontsReply 16
+#define sz_fsListFontsWithXInfoReply (12 + sz_fsXFontInfoHeader)
+#define sz_fsOpenBitmapFontReply 16
+#define sz_fsQueryXInfoReply (8 + sz_fsXFontInfoHeader)
+#define sz_fsQueryXExtents8Reply 12
+#define sz_fsQueryXExtents16Reply 12
+#define sz_fsQueryXBitmaps8Reply 20
+#define sz_fsQueryXBitmaps16Reply 20
+
+#define sz_fsError 16
+#define sz_fsEvent 12
+#define sz_fsKeepAliveEvent 12
+
+#define fsTrue 1
+#define fsFalse 0
+
+/* temp decls */
+#define Mask CARD32
+#define Font CARD32
+#define AccContext CARD32
+
+typedef CARD32 fsTimestamp;
+
+#ifdef NOTDEF /* in fsmasks.h */
+typedef CARD32 fsBitmapFormat;
+typedef CARD32 fsBitmapFormatMask;
+#endif
+
+#define sz_fsBitmapFormat 4
+
+typedef struct {
+ INT16 left B16,
+ right B16;
+ INT16 width B16;
+ INT16 ascent B16,
+ descent B16;
+ CARD16 attributes B16;
+} fsXCharInfo;
+
+typedef struct {
+ CARD8 high;
+ CARD8 low;
+} fsChar2b;
+
+typedef struct {
+ CARD8 low;
+ CARD8 high;
+} fsChar2b_version1;
+
+typedef struct {
+ CARD8 min_char_high;
+ CARD8 min_char_low;
+ CARD8 max_char_high;
+ CARD8 max_char_low;
+} fsRange;
+
+typedef struct {
+ CARD32 position B32;
+ CARD32 length B32;
+} fsOffset32;
+
+typedef struct {
+ fsOffset32 name;
+ fsOffset32 value;
+ CARD8 type;
+ BYTE pad0;
+ CARD16 pad1 B16;
+} fsPropOffset;
+
+typedef struct {
+ CARD32 num_offsets B32;
+ CARD32 data_len B32;
+ /* offsets */
+ /* data */
+} fsPropInfo;
+
+typedef struct {
+ CARD16 x_resolution B16;
+ CARD16 y_resolution B16;
+ CARD16 point_size B16;
+} fsResolution;
+
+
+typedef struct {
+ CARD32 flags B32;
+ CARD8 char_range_min_char_high;
+ CARD8 char_range_min_char_low;
+ CARD8 char_range_max_char_high;
+ CARD8 char_range_max_char_low;
+
+ CARD8 draw_direction;
+ CARD8 pad;
+ CARD8 default_char_high;
+ CARD8 default_char_low;
+ INT16 min_bounds_left B16;
+ INT16 min_bounds_right B16;
+
+ INT16 min_bounds_width B16;
+ INT16 min_bounds_ascent B16;
+ INT16 min_bounds_descent B16;
+ CARD16 min_bounds_attributes B16;
+
+ INT16 max_bounds_left B16;
+ INT16 max_bounds_right B16;
+ INT16 max_bounds_width B16;
+ INT16 max_bounds_ascent B16;
+
+ INT16 max_bounds_descent B16;
+ CARD16 max_bounds_attributes B16;
+ INT16 font_ascent B16;
+ INT16 font_descent B16;
+ /* propinfo */
+} fsXFontInfoHeader;
+
+
+/* requests */
+
+typedef struct {
+ BYTE byteOrder;
+ CARD8 num_auths;
+ CARD16 major_version B16;
+ CARD16 minor_version B16;
+ CARD16 auth_len B16;
+ /* auth data */
+} fsConnClientPrefix;
+
+typedef struct {
+ CARD16 status B16;
+ CARD16 major_version B16;
+ CARD16 minor_version B16;
+ CARD8 num_alternates;
+ CARD8 auth_index;
+ CARD16 alternate_len B16;
+ CARD16 auth_len B16;
+ /* alternates */
+ /* auth data */
+} fsConnSetup;
+
+typedef struct {
+ CARD32 length B32;
+ CARD16 status B16;
+ CARD16 pad B16;
+ /* more auth data */
+} fsConnSetupExtra;
+
+typedef struct {
+ CARD32 length B32;
+ CARD16 max_request_len B16;
+ CARD16 vendor_len B16;
+ CARD32 release_number B32;
+ /* vendor string */
+} fsConnSetupAccept;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 data;
+ CARD16 length B16;
+} fsReq;
+
+/*
+ * The fsFakeReq structure is never used in the protocol; it is prepended
+ * to incoming packets when setting up a connection so we can index
+ * through InitialVector. To avoid alignment problems, it is padded
+ * to the size of a word on the largest machine this code runs on.
+ * Hence no sz_fsFakeReq constant is necessary.
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 data;
+ CARD16 length B16;
+ CARD32 pad B32; /* to fill out to multiple of 64 bits */
+} fsFakeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Font id B32;
+} fsResourceReq;
+
+typedef fsReq fsNoopReq;
+typedef fsReq fsListExtensionsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE nbytes;
+ CARD16 length B16;
+ /* name */
+} fsQueryExtensionReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 data;
+ CARD16 length B16;
+ CARD32 maxNames B32;
+ CARD16 nbytes B16;
+ CARD16 pad2 B16;
+ /* pattern */
+} fsListCataloguesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE num_catalogues;
+ CARD16 length B16;
+ /* catalogues */
+} fsSetCataloguesReq;
+
+typedef fsReq fsGetCataloguesReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ext_opcode;
+ CARD16 length B16;
+ Mask event_mask;
+} fsSetEventMaskReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ext_opcode;
+ CARD16 length B16;
+} fsGetEventMaskReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE num_auths;
+ CARD16 length B16;
+ AccContext acid B32;
+ /* auth protocols */
+} fsCreateACReq;
+
+typedef fsResourceReq fsFreeACReq;
+typedef fsResourceReq fsSetAuthorizationReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE num_resolutions;
+ CARD16 length B16;
+ /* resolutions */
+} fsSetResolutionReq;
+
+typedef fsReq fsGetResolutionReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 maxNames B32;
+ CARD16 nbytes B16;
+ CARD16 pad2 B16;
+ /* pattern */
+} fsListFontsReq;
+
+typedef fsListFontsReq fsListFontsWithXInfoReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Font fid B32;
+ fsBitmapFormatMask format_mask B32;
+ fsBitmapFormat format_hint B32;
+ /* pattern */
+} fsOpenBitmapFontReq;
+
+typedef fsResourceReq fsQueryXInfoReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL range;
+ CARD16 length B16;
+ Font fid B32;
+ CARD32 num_ranges B32;
+ /* list of chars */
+} fsQueryXExtents8Req;
+
+typedef fsQueryXExtents8Req fsQueryXExtents16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL range;
+ CARD16 length B16;
+ Font fid B32;
+ fsBitmapFormat format B32;
+ CARD32 num_ranges B32;
+ /* list of chars */
+} fsQueryXBitmaps8Req;
+
+typedef fsQueryXBitmaps8Req fsQueryXBitmaps16Req;
+
+typedef fsResourceReq fsCloseReq;
+
+
+/* replies */
+typedef struct {
+ BYTE type;
+ BYTE data1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+} fsGenericReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 nExtensions;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ /* extension names */
+} fsListExtensionsReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 present;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 major_version B16;
+ CARD16 minor_version B16;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 num_events;
+ CARD8 first_error;
+ CARD8 num_errors;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} fsQueryExtensionReply;
+
+typedef struct {
+ BYTE type;
+ BYTE pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_replies B32;
+ CARD32 num_catalogues B32;
+ /* catalog names */
+} fsListCataloguesReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 num_catalogues;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ /* catalogue names */
+} fsGetCataloguesReply;
+
+typedef struct {
+ BYTE type;
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 event_mask B32;
+} fsGetEventMaskReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 auth_index;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 status B16;
+ CARD16 pad B16;
+ /* auth data */
+} fsCreateACReply;
+
+typedef struct {
+ CARD32 length B32;
+ CARD16 status B16;
+ CARD16 pad B16;
+ /* auth data */
+} fsCreateACExtraReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 num_resolutions;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ /* resolutions */
+} fsGetResolutionReply;
+
+typedef struct {
+ BYTE type;
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 following B32;
+ CARD32 nFonts B32;
+ /* font names */
+} fsListFontsReply;
+
+/*
+ * this one is messy. the reply itself is variable length (unknown
+ * number of replies) and the contents of each is variable (unknown
+ * number of properties)
+ *
+ */
+
+typedef struct {
+ BYTE type;
+ CARD8 nameLength; /* 0 is end-of-reply */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nReplies B32;
+ CARD32 font_header_flags B32;
+ CARD8 font_hdr_char_range_min_char_high;
+ CARD8 font_hdr_char_range_min_char_low;
+ CARD8 font_hdr_char_range_max_char_high;
+ CARD8 font_hdr_char_range_max_char_low;
+ CARD8 font_header_draw_direction;
+ CARD8 font_header_pad;
+ CARD8 font_header_default_char_high;
+ CARD8 font_header_default_char_low;
+ INT16 font_header_min_bounds_left B16;
+ INT16 font_header_min_bounds_right B16;
+ INT16 font_header_min_bounds_width B16;
+ INT16 font_header_min_bounds_ascent B16;
+ INT16 font_header_min_bounds_descent B16;
+ CARD16 font_header_min_bounds_attributes B16;
+ INT16 font_header_max_bounds_left B16;
+ INT16 font_header_max_bounds_right B16;
+ INT16 font_header_max_bounds_width B16;
+ INT16 font_header_max_bounds_ascent B16;
+ INT16 font_header_max_bounds_descent B16;
+ CARD16 font_header_max_bounds_attributes B16;
+ INT16 font_header_font_ascent B16;
+ INT16 font_header_font_descent B16;
+ /* propinfo */
+ /* name */
+} fsListFontsWithXInfoReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 otherid_valid;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 otherid B32;
+ BYTE cachable;
+ BYTE pad1;
+ CARD16 pad2 B16;
+} fsOpenBitmapFontReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 font_header_flags B32;
+ CARD8 font_hdr_char_range_min_char_high;
+ CARD8 font_hdr_char_range_min_char_low;
+ CARD8 font_hdr_char_range_max_char_high;
+ CARD8 font_hdr_char_range_max_char_low;
+ CARD8 font_header_draw_direction;
+ CARD8 font_header_pad;
+ CARD8 font_header_default_char_high;
+ CARD8 font_header_default_char_low;
+ INT16 font_header_min_bounds_left B16;
+ INT16 font_header_min_bounds_right B16;
+ INT16 font_header_min_bounds_width B16;
+ INT16 font_header_min_bounds_ascent B16;
+ INT16 font_header_min_bounds_descent B16;
+ CARD16 font_header_min_bounds_attributes B16;
+ INT16 font_header_max_bounds_left B16;
+ INT16 font_header_max_bounds_right B16;
+ INT16 font_header_max_bounds_width B16;
+ INT16 font_header_max_bounds_ascent B16;
+ INT16 font_header_max_bounds_descent B16;
+ CARD16 font_header_max_bounds_attributes B16;
+ INT16 font_header_font_ascent B16;
+ INT16 font_header_font_descent B16;
+ /* propinfo */
+} fsQueryXInfoReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_extents B32;
+ /* extents */
+} fsQueryXExtents8Reply;
+
+typedef fsQueryXExtents8Reply fsQueryXExtents16Reply;
+
+typedef struct {
+ BYTE type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 replies_hint B32;
+ CARD32 num_chars B32;
+ CARD32 nbytes B32;
+ /* offsets */
+ /* glyphs */
+} fsQueryXBitmaps8Reply;
+
+typedef fsQueryXBitmaps8Reply fsQueryXBitmaps16Reply;
+
+typedef union {
+ fsGenericReply generic;
+ fsListExtensionsReply extensions;
+ fsGetResolutionReply getres;
+} fsReply;
+
+/* errors */
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+} fsError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+} fsRequestError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ fsBitmapFormat format B32;
+} fsFormatError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ Font fontid;
+} fsFontError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ fsRange range;
+} fsRangeError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ Mask event_mask;
+} fsEventMaskError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ AccContext acid;
+} fsAccessContextError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ Font fontid;
+} fsIDChoiceError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+} fsNameError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ fsResolution resolution;
+} fsResolutionError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+} fsAllocError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+ CARD32 bad_length B32;
+} fsLengthError;
+
+typedef struct {
+ BYTE type;
+ BYTE request;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ CARD8 major_opcode;
+ CARD8 minor_opcode;
+ CARD16 pad B16;
+} fsImplementationError;
+
+/* events */
+typedef struct {
+ BYTE type;
+ BYTE event_code;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+} fsKeepAliveEvent;
+
+typedef struct {
+ BYTE type;
+ BYTE event_code;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ fsTimestamp timestamp;
+ BOOL added;
+ BOOL deleted;
+ CARD16 pad B16;
+} fsCatalogueChangeNotifyEvent;
+
+typedef fsCatalogueChangeNotifyEvent fsFontChangeNotifyEvent;
+
+typedef fsCatalogueChangeNotifyEvent fsEvent;
+
+/* reply codes */
+#define FS_Reply 0 /* normal reply */
+#define FS_Error 1 /* error */
+#define FS_Event 2
+
+/* request codes */
+#define FS_Noop 0
+#define FS_ListExtensions 1
+#define FS_QueryExtension 2
+#define FS_ListCatalogues 3
+#define FS_SetCatalogues 4
+#define FS_GetCatalogues 5
+#define FS_SetEventMask 6
+#define FS_GetEventMask 7
+#define FS_CreateAC 8
+#define FS_FreeAC 9
+#define FS_SetAuthorization 10
+#define FS_SetResolution 11
+#define FS_GetResolution 12
+#define FS_ListFonts 13
+#define FS_ListFontsWithXInfo 14
+#define FS_OpenBitmapFont 15
+#define FS_QueryXInfo 16
+#define FS_QueryXExtents8 17
+#define FS_QueryXExtents16 18
+#define FS_QueryXBitmaps8 19
+#define FS_QueryXBitmaps16 20
+#define FS_CloseFont 21
+
+/* restore decls */
+#undef Mask
+#undef Font
+#undef AccContext
+
+#endif /* _FS_PROTO_H_ */
diff --git a/fontsproto/Makefile.am b/fontsproto/Makefile.am
new file mode 100644
index 0000000..c1ff54a
--- /dev/null
+++ b/fontsproto/Makefile.am
@@ -0,0 +1,24 @@
+fontsdir = $(includedir)/X11/fonts
+fonts_HEADERS = \
+ font.h \
+ fontproto.h \
+ fontstruct.h \
+ FS.h \
+ fsmasks.h \
+ FSproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = fontsproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/fontsproto/README b/fontsproto/README
new file mode 100644
index 0000000..0f8ba55
--- /dev/null
+++ b/fontsproto/README
@@ -0,0 +1,25 @@
+ X Fonts Extension
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/fontsproto
+
+ http://cgit.freedesktop.org/xorg/proto/fontsproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/fontsproto/autogen.sh b/fontsproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/fontsproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/fontsproto/configure.ac b/fontsproto/configure.ac
new file mode 100644
index 0000000..0bee874
--- /dev/null
+++ b/fontsproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([FontsProto], [2.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ fontsproto.pc])
diff --git a/fontsproto/font.h b/fontsproto/font.h
new file mode 100644
index 0000000..b71046b
--- /dev/null
+++ b/fontsproto/font.h
@@ -0,0 +1,166 @@
+/***********************************************************
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef FONT_H
+#define FONT_H
+
+#ifndef BitmapFormatByteOrderMask
+#include "fsmasks.h"
+#endif
+
+/* data structures */
+#ifndef _XTYPEDEF_FONTPTR
+typedef struct _Font *FontPtr;
+#define _XTYPEDEF_FONTPTR
+#endif
+
+typedef struct _FontInfo *FontInfoPtr;
+typedef struct _FontProp *FontPropPtr;
+typedef struct _ExtentInfo *ExtentInfoPtr;
+typedef struct _FontPathElement *FontPathElementPtr;
+
+#ifndef _XTYPEDEF_CHARINFOPTR
+typedef struct _CharInfo *CharInfoPtr;
+#define _XTYPEDEF_CHARINFOPTR
+#endif
+
+typedef struct _FontNames *FontNamesPtr;
+typedef struct _FontResolution *FontResolutionPtr;
+
+#define NullCharInfo ((CharInfoPtr) 0)
+#define NullFont ((FontPtr) 0)
+#define NullFontInfo ((FontInfoPtr) 0)
+
+ /* draw direction */
+#define LeftToRight 0
+#define RightToLeft 1
+#define BottomToTop 2
+#define TopToBottom 3
+typedef int DrawDirection;
+
+#define NO_SUCH_CHAR -1
+
+
+#define FontAliasType 0x1000
+
+#define AllocError 80
+#define StillWorking 81
+#define FontNameAlias 82
+#define BadFontName 83
+#define Suspended 84
+#define Successful 85
+#define BadFontPath 86
+#define BadCharRange 87
+#define BadFontFormat 88
+#define FPEResetFailed 89 /* for when an FPE reset won't work */
+
+/* OpenFont flags */
+#define FontLoadInfo 0x0001
+#define FontLoadProps 0x0002
+#define FontLoadMetrics 0x0004
+#define FontLoadBitmaps 0x0008
+#define FontLoadAll 0x000f
+#define FontOpenSync 0x0010
+#define FontReopen 0x0020
+
+/* Query flags */
+#define LoadAll 0x1
+#define FinishRamge 0x2
+#define EightBitFont 0x4
+#define SixteenBitFont 0x8
+
+/* Glyph Caching Modes */
+#define CACHING_OFF 0
+#define CACHE_16_BIT_GLYPHS 1
+#define CACHE_ALL_GLYPHS 2
+#define DEFAULT_GLYPH_CACHING_MODE CACHE_16_BIT_GLYPHS
+extern int glyphCachingMode;
+
+struct _Client;
+
+extern int StartListFontsWithInfo(
+ struct _Client * /*client*/,
+ int /*length*/,
+ unsigned char * /*pattern*/,
+ int /*max_names*/
+);
+
+extern FontNamesPtr MakeFontNamesRecord(
+ unsigned /* size */
+);
+
+extern void FreeFontNames(
+ FontNamesPtr /* pFN*/
+);
+
+extern int AddFontNamesName(
+ FontNamesPtr /* names */,
+ char * /* name */,
+ int /* length */
+);
+
+#if 0 /* unused */
+extern int FontToFSError();
+extern FontResolutionPtr GetClientResolution();
+#endif
+
+typedef struct _FontPatternCache *FontPatternCachePtr;
+
+extern FontPatternCachePtr MakeFontPatternCache (
+ void
+);
+
+extern void FreeFontPatternCache (
+ FontPatternCachePtr /* cache */
+);
+
+extern void EmptyFontPatternCache (
+ FontPatternCachePtr /* cache */
+);
+
+extern void CacheFontPattern (
+ FontPatternCachePtr /* cache */,
+ char * /* pattern */,
+ int /* patlen */,
+ FontPtr /* pFont */
+);
+extern FontResolutionPtr GetClientResolutions(
+ int * /* num */
+);
+
+extern FontPtr FindCachedFontPattern (
+ FontPatternCachePtr /* cache */,
+ char * /* pattern */,
+ int /* patlen */
+);
+
+extern void RemoveCachedFontPattern (
+ FontPatternCachePtr /* cache */,
+ FontPtr /* pFont */
+);
+
+typedef enum {
+ Linear8Bit, TwoD8Bit, Linear16Bit, TwoD16Bit
+} FontEncoding;
+
+#endif /* FONT_H */
diff --git a/fontsproto/fontproto.h b/fontsproto/fontproto.h
new file mode 100644
index 0000000..1ab8f37
--- /dev/null
+++ b/fontsproto/fontproto.h
@@ -0,0 +1,91 @@
+/***********************************************************
+
+Copyright (c) 1999 The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
+
+*/
+#ifndef _FONTPROTO_H
+#define _FONTPROTO_H
+
+/* Externally provided functions required by libXfont */
+
+extern int RegisterFPEFunctions ( NameCheckFunc name_func,
+ InitFpeFunc init_func,
+ FreeFpeFunc free_func,
+ ResetFpeFunc reset_func,
+ OpenFontFunc open_func,
+ CloseFontFunc close_func,
+ ListFontsFunc list_func,
+ StartLfwiFunc start_lfwi_func,
+ NextLfwiFunc next_lfwi_func,
+ WakeupFpeFunc wakeup_func,
+ ClientDiedFunc client_died,
+ LoadGlyphsFunc load_glyphs,
+ StartLaFunc start_list_alias_func,
+ NextLaFunc next_list_alias_func,
+ SetPathFunc set_path_func);
+
+extern int GetDefaultPointSize ( void );
+
+extern int init_fs_handlers ( FontPathElementPtr fpe,
+ BlockHandlerProcPtr block_handler);
+extern void remove_fs_handlers ( FontPathElementPtr fpe,
+ BlockHandlerProcPtr block_handler,
+ Bool all );
+
+extern int client_auth_generation ( ClientPtr client );
+
+#ifndef ___CLIENTSIGNAL_DEFINED___
+#define ___CLIENTSIGNAL_DEFINED___
+extern Bool ClientSignal ( ClientPtr client );
+#endif /* ___CLIENTSIGNAL_DEFINED___ */
+
+extern void DeleteFontClientID ( Font id );
+extern Font GetNewFontClientID ( void );
+extern int StoreFontClientFont ( FontPtr pfont, Font id );
+extern void FontFileRegisterFpeFunctions ( void );
+extern void FontFileCheckRegisterFpeFunctions ( void );
+
+extern Bool XpClientIsBitmapClient ( ClientPtr client );
+extern Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe );
+extern void PrinterFontRegisterFpeFunctions ( void );
+
+extern void fs_register_fpe_functions ( void );
+extern void check_fs_register_fpe_functions ( void );
+
+/* util/private.c */
+extern FontPtr CreateFontRec (void);
+extern void DestroyFontRec (FontPtr font);
+extern Bool _FontSetNewPrivate (FontPtr /* pFont */,
+ int /* n */,
+ pointer /* ptr */);
+extern int AllocateFontPrivateIndex (void);
+extern void ResetFontPrivateIndex (void);
+
+/* Type1/t1funcs.c */
+extern void Type1RegisterFontFileFunctions(void);
+extern void CIDRegisterFontFileFunctions(void);
+
+/* Speedo/spfuncs.c */
+extern void SpeedoRegisterFontFileFunctions(void);
+
+/* FreeType/ftfuncs.c */
+extern void FreeTypeRegisterFontFileFunctions(void);
+
+#endif
diff --git a/fontsproto/fontsproto.pc.in b/fontsproto/fontsproto.pc.in
new file mode 100644
index 0000000..b7db169
--- /dev/null
+++ b/fontsproto/fontsproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: FontsProto
+Description: Fonts extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/fontsproto/fontstruct.h b/fontsproto/fontstruct.h
new file mode 100644
index 0000000..97e771a
--- /dev/null
+++ b/fontsproto/fontstruct.h
@@ -0,0 +1,293 @@
+/***********************************************************
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef FONTSTR_H
+#define FONTSTR_H
+
+#include <X11/Xproto.h>
+#include "font.h"
+#include <X11/Xfuncproto.h>
+#include <X11/Xdefs.h>
+
+/*
+ * This version of the server font data strucutre is only for describing
+ * the in memory data structure. The file structure is not necessarily a
+ * copy of this. That is up to the compiler and the OS layer font loading
+ * machinery.
+ */
+
+#define GLYPHPADOPTIONS 4 /* 1, 2, 4, or 8 */
+
+typedef struct _FontProp {
+ long name;
+ long value; /* assumes ATOM is not larger than INT32 */
+} FontPropRec;
+
+typedef struct _FontResolution {
+ unsigned short x_resolution;
+ unsigned short y_resolution;
+ unsigned short point_size;
+} FontResolutionRec;
+
+typedef struct _ExtentInfo {
+ DrawDirection drawDirection;
+ int fontAscent;
+ int fontDescent;
+ int overallAscent;
+ int overallDescent;
+ int overallWidth;
+ int overallLeft;
+ int overallRight;
+} ExtentInfoRec;
+
+typedef struct _CharInfo {
+ xCharInfo metrics; /* info preformatted for Queries */
+ char *bits; /* pointer to glyph image */
+} CharInfoRec;
+
+/*
+ * Font is created at font load time. It is specific to a single encoding.
+ * e.g. not all of the glyphs in a font may be part of a single encoding.
+ */
+
+typedef struct _FontInfo {
+ unsigned short firstCol;
+ unsigned short lastCol;
+ unsigned short firstRow;
+ unsigned short lastRow;
+ unsigned short defaultCh;
+ unsigned int noOverlap:1;
+ unsigned int terminalFont:1;
+ unsigned int constantMetrics:1;
+ unsigned int constantWidth:1;
+ unsigned int inkInside:1;
+ unsigned int inkMetrics:1;
+ unsigned int allExist:1;
+ unsigned int drawDirection:2;
+ unsigned int cachable:1;
+ unsigned int anamorphic:1;
+ short maxOverlap;
+ short pad;
+ xCharInfo maxbounds;
+ xCharInfo minbounds;
+ xCharInfo ink_maxbounds;
+ xCharInfo ink_minbounds;
+ short fontAscent;
+ short fontDescent;
+ int nprops;
+ FontPropPtr props;
+ char *isStringProp;
+} FontInfoRec;
+
+typedef struct _Font {
+ int refcnt;
+ FontInfoRec info;
+ char bit;
+ char byte;
+ char glyph;
+ char scan;
+ fsBitmapFormat format;
+ int (*get_glyphs) (FontPtr /* font */,
+ unsigned long /* count */,
+ unsigned char * /* chars */,
+ FontEncoding /* encoding */,
+ unsigned long * /* count */,
+ CharInfoPtr * /* glyphs */);
+ int (*get_metrics) (FontPtr /* font */,
+ unsigned long /* count */,
+ unsigned char * /* chars */,
+ FontEncoding /* encoding */,
+ unsigned long * /* count */,
+ xCharInfo ** /* glyphs */);
+ void (*unload_font) (FontPtr /* font */);
+ void (*unload_glyphs) (FontPtr /* font */);
+ FontPathElementPtr fpe;
+ pointer svrPrivate;
+ pointer fontPrivate;
+ pointer fpePrivate;
+ int maxPrivate;
+ pointer *devPrivates;
+} FontRec;
+
+#define FontGetPrivate(pFont,n) ((n) > (pFont)->maxPrivate ? (pointer) 0 : \
+ (pFont)->devPrivates[n])
+
+#define FontSetPrivate(pFont,n,ptr) ((n) > (pFont)->maxPrivate ? \
+ _FontSetNewPrivate (pFont, n, ptr) : \
+ ((((pFont)->devPrivates[n] = (ptr)) != 0) || TRUE))
+
+typedef struct _FontNames {
+ int nnames;
+ int size;
+ int *length;
+ char **names;
+} FontNamesRec;
+
+/* External view of font paths */
+typedef struct _FontPathElement {
+ int name_length;
+ char *name;
+ int type;
+ int refcount;
+ pointer private;
+} FontPathElementRec;
+
+typedef Bool (*NameCheckFunc) (char *name);
+typedef int (*InitFpeFunc) (FontPathElementPtr fpe);
+typedef int (*FreeFpeFunc) (FontPathElementPtr fpe);
+typedef int (*ResetFpeFunc) (FontPathElementPtr fpe);
+typedef int (*OpenFontFunc) ( pointer client,
+ FontPathElementPtr fpe,
+ Mask flags,
+ char* name,
+ int namelen,
+ fsBitmapFormat format,
+ fsBitmapFormatMask fmask,
+ XID id,
+ FontPtr* pFont,
+ char** aliasName,
+ FontPtr non_cachable_font);
+typedef void (*CloseFontFunc) (FontPathElementPtr fpe, FontPtr pFont);
+typedef int (*ListFontsFunc) (pointer client,
+ FontPathElementPtr fpe,
+ char* pat,
+ int len,
+ int max,
+ FontNamesPtr names);
+
+typedef int (*StartLfwiFunc) (pointer client,
+ FontPathElementPtr fpe,
+ char* pat,
+ int len,
+ int max,
+ pointer* privatep);
+
+typedef int (*NextLfwiFunc) (pointer client,
+ FontPathElementPtr fpe,
+ char** name,
+ int* namelen,
+ FontInfoPtr* info,
+ int* numFonts,
+ pointer private);
+
+typedef int (*WakeupFpeFunc) (FontPathElementPtr fpe,
+ unsigned long* LastSelectMask);
+
+typedef void (*ClientDiedFunc) (pointer client,
+ FontPathElementPtr fpe);
+
+typedef int (*LoadGlyphsFunc) (pointer client,
+ FontPtr pfont,
+ Bool range_flag,
+ unsigned int nchars,
+ int item_size,
+ unsigned char* data);
+
+typedef int (*StartLaFunc) (pointer client,
+ FontPathElementPtr fpe,
+ char* pat,
+ int len,
+ int max,
+ pointer* privatep);
+
+typedef int (*NextLaFunc) (pointer client,
+ FontPathElementPtr fpe,
+ char** namep,
+ int* namelenp,
+ char** resolvedp,
+ int* resolvedlenp,
+ pointer private);
+
+typedef void (*SetPathFunc)(void);
+
+typedef struct _FPEFunctions {
+ NameCheckFunc name_check;
+ InitFpeFunc init_fpe;
+ ResetFpeFunc reset_fpe;
+ FreeFpeFunc free_fpe;
+ OpenFontFunc open_font;
+ CloseFontFunc close_font;
+ ListFontsFunc list_fonts;
+ StartLaFunc start_list_fonts_and_aliases;
+ NextLaFunc list_next_font_or_alias;
+ StartLfwiFunc start_list_fonts_with_info;
+ NextLfwiFunc list_next_font_with_info;
+ WakeupFpeFunc wakeup_fpe;
+ ClientDiedFunc client_died;
+ /* for load_glyphs, range_flag = 0 ->
+ nchars = # of characters in data
+ item_size = bytes/char
+ data = list of characters
+ range_flag = 1 ->
+ nchars = # of fsChar2b's in data
+ item_size is ignored
+ data = list of fsChar2b's */
+ LoadGlyphsFunc load_glyphs;
+ SetPathFunc set_path_hook;
+} FPEFunctionsRec, FPEFunctions;
+
+/*
+ * Various macros for computing values based on contents of
+ * the above structures
+ */
+
+#define GLYPHWIDTHPIXELS(pci) \
+ ((pci)->metrics.rightSideBearing - (pci)->metrics.leftSideBearing)
+
+#define GLYPHHEIGHTPIXELS(pci) \
+ ((pci)->metrics.ascent + (pci)->metrics.descent)
+
+#define GLYPHWIDTHBYTES(pci) (((GLYPHWIDTHPIXELS(pci))+7) >> 3)
+
+#define GLYPHWIDTHPADDED(bc) (((bc)+7) & ~0x7)
+
+#define BYTES_PER_ROW(bits, nbytes) \
+ ((nbytes) == 1 ? (((bits)+7)>>3) /* pad to 1 byte */ \
+ :(nbytes) == 2 ? ((((bits)+15)>>3)&~1) /* pad to 2 bytes */ \
+ :(nbytes) == 4 ? ((((bits)+31)>>3)&~3) /* pad to 4 bytes */ \
+ :(nbytes) == 8 ? ((((bits)+63)>>3)&~7) /* pad to 8 bytes */ \
+ : 0)
+
+#define BYTES_FOR_GLYPH(ci,pad) (GLYPHHEIGHTPIXELS(ci) * \
+ BYTES_PER_ROW(GLYPHWIDTHPIXELS(ci),pad))
+/*
+ * Macros for computing different bounding boxes for fonts; from
+ * the font protocol
+ */
+
+#define FONT_MAX_ASCENT(pi) ((pi)->fontAscent > (pi)->ink_maxbounds.ascent ? \
+ (pi)->fontAscent : (pi)->ink_maxbounds.ascent)
+#define FONT_MAX_DESCENT(pi) ((pi)->fontDescent > (pi)->ink_maxbounds.descent ? \
+ (pi)->fontDescent : (pi)->ink_maxbounds.descent)
+#define FONT_MAX_HEIGHT(pi) (FONT_MAX_ASCENT(pi) + FONT_MAX_DESCENT(pi))
+#define FONT_MIN_LEFT(pi) ((pi)->ink_minbounds.leftSideBearing < 0 ? \
+ (pi)->ink_minbounds.leftSideBearing : 0)
+#define FONT_MAX_RIGHT(pi) ((pi)->ink_maxbounds.rightSideBearing > \
+ (pi)->ink_maxbounds.characterWidth ? \
+ (pi)->ink_maxbounds.rightSideBearing : \
+ (pi)->ink_maxbounds.characterWidth)
+#define FONT_MAX_WIDTH(pi) (FONT_MAX_RIGHT(pi) - FONT_MIN_LEFT(pi))
+
+#include "fontproto.h"
+
+#endif /* FONTSTR_H */
diff --git a/fontsproto/fsmasks.h b/fontsproto/fsmasks.h
new file mode 100644
index 0000000..c86be83
--- /dev/null
+++ b/fontsproto/fsmasks.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright 1990, 1991 Network Computing Devices;
+ * Portions Copyright 1987 by Digital Equipment Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of Network Computing Devices or Digital
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ * Network Computing Devices and Digital make no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ *
+ * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES
+ * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+/*
+
+Portions Copyright 1987, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+
+/*
+ * masks & values used by the font lib and the font server
+ */
+
+#ifndef _FSMASKS_H_
+#define _FSMASKS_H_
+
+#include <X11/Xmd.h>
+
+/* font format macros */
+#define BitmapFormatByteOrderMask (1L << 0)
+#define BitmapFormatBitOrderMask (1L << 1)
+#define BitmapFormatImageRectMask (3L << 2)
+#define BitmapFormatScanlinePadMask (3L << 8)
+#define BitmapFormatScanlineUnitMask (3L << 12)
+
+#define BitmapFormatByteOrderLSB (0)
+#define BitmapFormatByteOrderMSB (1L << 0)
+#define BitmapFormatBitOrderLSB (0)
+#define BitmapFormatBitOrderMSB (1L << 1)
+
+#define BitmapFormatImageRectMin (0L << 2)
+#define BitmapFormatImageRectMaxWidth (1L << 2)
+#define BitmapFormatImageRectMax (2L << 2)
+
+#define BitmapFormatScanlinePad8 (0L << 8)
+#define BitmapFormatScanlinePad16 (1L << 8)
+#define BitmapFormatScanlinePad32 (2L << 8)
+#define BitmapFormatScanlinePad64 (3L << 8)
+
+#define BitmapFormatScanlineUnit8 (0L << 12)
+#define BitmapFormatScanlineUnit16 (1L << 12)
+#define BitmapFormatScanlineUnit32 (2L << 12)
+#define BitmapFormatScanlineUnit64 (3L << 12)
+
+#define BitmapFormatMaskByte (1L << 0)
+#define BitmapFormatMaskBit (1L << 1)
+#define BitmapFormatMaskImageRectangle (1L << 2)
+#define BitmapFormatMaskScanLinePad (1L << 3)
+#define BitmapFormatMaskScanLineUnit (1L << 4)
+
+typedef CARD32 fsBitmapFormat;
+typedef CARD32 fsBitmapFormatMask;
+
+#endif /* _FSMASKS_H_ */
diff --git a/glproto/.gitignore b/glproto/.gitignore
new file mode 100644
index 0000000..8582544
--- /dev/null
+++ b/glproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for glproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/glproto/COPYING b/glproto/COPYING
new file mode 100644
index 0000000..78b6de4
--- /dev/null
+++ b/glproto/COPYING
@@ -0,0 +1,27 @@
+SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice including the dates of first publication and
+either this permission notice or a reference to
+http://oss.sgi.com/projects/FreeB/
+shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+Except as contained in this notice, the name of Silicon Graphics, Inc.
+shall not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+Silicon Graphics, Inc.
diff --git a/glproto/Makefile.am b/glproto/Makefile.am
new file mode 100644
index 0000000..40cb57c
--- /dev/null
+++ b/glproto/Makefile.am
@@ -0,0 +1,26 @@
+gldir = $(includedir)/GL
+gl_HEADERS = \
+ glxint.h \
+ glxmd.h \
+ glxproto.h \
+ glxtokens.h
+
+glinternaldir = $(includedir)/GL/internal
+glinternal_HEADERS = \
+ glcore.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = glproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/glproto/README b/glproto/README
new file mode 100644
index 0000000..16c59cb
--- /dev/null
+++ b/glproto/README
@@ -0,0 +1,30 @@
+ OpenGL Extension to the X Window System
+
+This extension defines a protocol for the client to send 3D rendering
+commands to the X server.
+
+Extension name: GLX
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/glproto
+
+ http://cgit.freedesktop.org/xorg/proto/glproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/glproto/autogen.sh b/glproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/glproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/glproto/configure.ac b/glproto/configure.ac
new file mode 100644
index 0000000..5160edb
--- /dev/null
+++ b/glproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([GLProto], [1.4.11], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ glproto.pc])
diff --git a/glproto/glcore.h b/glproto/glcore.h
new file mode 100644
index 0000000..547b111
--- /dev/null
+++ b/glproto/glcore.h
@@ -0,0 +1,181 @@
+#ifndef __gl_core_h_
+#define __gl_core_h_
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+#if !defined(_WIN32_WCE)
+#include <sys/types.h>
+#endif
+
+#define GL_CORE_SGI 1
+#define GL_CORE_MESA 2
+#define GL_CORE_APPLE 4
+#define GL_CORE_WINDOWS 8
+
+typedef struct __GLcontextRec __GLcontext;
+
+/*
+** This file defines the interface between the GL core and the surrounding
+** "operating system" that supports it (currently the GLX or WGL extensions).
+**
+** Members (data and function pointers) are documented as imported or
+** exported according to how they are used by the core rendering functions.
+** Imported members are initialized by the "operating system" and used by
+** the core functions. Exported members are initialized by the core functions
+** and used by the "operating system".
+*/
+
+/**
+ * Mode and limit information for a context. This information is
+ * kept around in the context so that values can be used during
+ * command execution, and for returning information about the
+ * context to the application.
+ *
+ * Instances of this structure are shared by the driver and the loader. To
+ * maintain binary compatability, new fields \b must be added only to the
+ * end of the structure.
+ *
+ * \sa _gl_context_modes_create
+ */
+typedef struct __GLcontextModesRec {
+ struct __GLcontextModesRec * next;
+
+ GLboolean rgbMode;
+ GLboolean floatMode;
+ GLboolean colorIndexMode;
+ GLuint doubleBufferMode;
+ GLuint stereoMode;
+
+ GLboolean haveAccumBuffer;
+ GLboolean haveDepthBuffer;
+ GLboolean haveStencilBuffer;
+
+ GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */
+ GLuint redMask, greenMask, blueMask, alphaMask;
+ GLint rgbBits; /* total bits for rgb */
+ GLint indexBits; /* total bits for colorindex */
+
+ GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
+ GLint depthBits;
+ GLint stencilBits;
+
+ GLint numAuxBuffers;
+
+ GLint level;
+
+ GLint pixmapMode;
+
+ /* GLX */
+ GLint visualID;
+ GLint visualType; /**< One of the GLX X visual types. (i.e.,
+ * \c GLX_TRUE_COLOR, etc.)
+ */
+
+ /* EXT_visual_rating / GLX 1.2 */
+ GLint visualRating;
+
+ /* EXT_visual_info / GLX 1.2 */
+ GLint transparentPixel;
+ /* colors are floats scaled to ints */
+ GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+ GLint transparentIndex;
+
+ /* ARB_multisample / SGIS_multisample */
+ GLint sampleBuffers;
+ GLint samples;
+
+ /* SGIX_fbconfig / GLX 1.3 */
+ GLint drawableType;
+ GLint renderType;
+ GLint xRenderable;
+ GLint fbconfigID;
+
+ /* SGIX_pbuffer / GLX 1.3 */
+ GLint maxPbufferWidth;
+ GLint maxPbufferHeight;
+ GLint maxPbufferPixels;
+ GLint optimalPbufferWidth; /* Only for SGIX_pbuffer. */
+ GLint optimalPbufferHeight; /* Only for SGIX_pbuffer. */
+
+ /* SGIX_visual_select_group */
+ GLint visualSelectGroup;
+
+ /* OML_swap_method */
+ GLint swapMethod;
+
+ GLint screen;
+
+ /* EXT_texture_from_pixmap */
+ GLint bindToTextureRgb;
+ GLint bindToTextureRgba;
+ GLint bindToMipmapTexture;
+ GLint bindToTextureTargets;
+ GLint yInverted;
+} __GLcontextModes;
+
+/* Several fields of __GLcontextModes can take these as values. Since
+ * GLX header files may not be available everywhere they need to be used,
+ * redefine them here.
+ */
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+
+#define GLX_DONT_CARE 0xFFFFFFFF
+
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+
+#endif /* __gl_core_h_ */
diff --git a/glproto/glproto.pc.in b/glproto/glproto.pc.in
new file mode 100644
index 0000000..bd275d8
--- /dev/null
+++ b/glproto/glproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: GLProto
+Description: GL extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/glproto/glxint.h b/glproto/glxint.h
new file mode 100644
index 0000000..9da4910
--- /dev/null
+++ b/glproto/glxint.h
@@ -0,0 +1,137 @@
+#ifndef __GLX_glxint_h__
+#define __GLX_glxint_h__
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+#include <X11/X.h>
+#include <X11/Xdefs.h>
+#include "GL/gl.h"
+
+typedef struct __GLXvisualConfigRec __GLXvisualConfig;
+typedef struct __GLXFBConfigRec __GLXFBConfig;
+
+struct __GLXvisualConfigRec {
+ VisualID vid;
+ int class;
+ Bool rgba;
+ int redSize, greenSize, blueSize, alphaSize;
+ unsigned long redMask, greenMask, blueMask, alphaMask;
+ int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
+ Bool doubleBuffer;
+ Bool stereo;
+ int bufferSize;
+ int depthSize;
+ int stencilSize;
+ int auxBuffers;
+ int level;
+ /* Start of Extended Visual Properties */
+ int visualRating; /* visual_rating extension */
+ int transparentPixel; /* visual_info extension */
+ /* colors are floats scaled to ints */
+ int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+ int transparentIndex;
+ int multiSampleSize;
+ int nMultiSampleBuffers;
+ int visualSelectGroup;
+};
+
+#define __GLX_MIN_CONFIG_PROPS 18
+#define __GLX_MAX_CONFIG_PROPS 500
+
+#define __GLX_EXT_CONFIG_PROPS 10
+
+/*
+** Since we send all non-core visual properties as token, value pairs,
+** we require 2 words across the wire. In order to maintain backwards
+** compatibility, we need to send the total number of words that the
+** VisualConfigs are sent back in so old libraries can simply "ignore"
+** the new properties.
+*/
+#define __GLX_TOTAL_CONFIG (__GLX_MIN_CONFIG_PROPS + \
+ 2 * __GLX_EXT_CONFIG_PROPS)
+
+struct __GLXFBConfigRec {
+ int visualType;
+ int transparentType;
+ /* colors are floats scaled to ints */
+ int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+ int transparentIndex;
+
+ int visualCaveat;
+
+ int associatedVisualId;
+ int screen;
+
+ int drawableType;
+ int renderType;
+
+ int maxPbufferWidth, maxPbufferHeight, maxPbufferPixels;
+ int optimalPbufferWidth, optimalPbufferHeight; /* for SGIX_pbuffer */
+
+ int visualSelectGroup; /* visuals grouped by select priority */
+
+ unsigned int id;
+
+ GLboolean rgbMode;
+ GLboolean colorIndexMode;
+ GLboolean doubleBufferMode;
+ GLboolean stereoMode;
+ GLboolean haveAccumBuffer;
+ GLboolean haveDepthBuffer;
+ GLboolean haveStencilBuffer;
+
+ /* The number of bits present in various buffers */
+ GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
+ GLint depthBits;
+ GLint stencilBits;
+ GLint indexBits;
+ GLint redBits, greenBits, blueBits, alphaBits;
+ GLuint redMask, greenMask, blueMask, alphaMask;
+
+ GLuint multiSampleSize; /* Number of samples per pixel (0 if no ms) */
+
+ GLuint nMultiSampleBuffers; /* Number of availble ms buffers */
+ GLint maxAuxBuffers;
+
+ /* frame buffer level */
+ GLint level;
+
+ /* color ranges (for SGI_color_range) */
+ GLboolean extendedRange;
+ GLdouble minRed, maxRed;
+ GLdouble minGreen, maxGreen;
+ GLdouble minBlue, maxBlue;
+ GLdouble minAlpha, maxAlpha;
+};
+
+#define __GLX_TOTAL_FBCONFIG_PROPS 35
+
+#endif /* !__GLX_glxint_h__ */
diff --git a/glproto/glxmd.h b/glproto/glxmd.h
new file mode 100644
index 0000000..96c07db
--- /dev/null
+++ b/glproto/glxmd.h
@@ -0,0 +1,54 @@
+#ifndef _GLX_glxmd_h_
+#define _GLX_glxmd_h_
+
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+/*
+** Machine dependent declarations.
+*/
+
+/*
+** Define floating point wire types. These are in IEEE format on the wire.
+*/
+typedef float FLOAT32;
+typedef double FLOAT64;
+
+/*
+** Like B32, but this is used to store floats in a request.
+**
+** NOTE: Machines that have a native 32-bit IEEE float can define this as
+** nothing. Machines that don't might mimic the float with an integer,
+** and then define this to :32.
+*/
+#define F32
+
+#endif /* _GLX_glxmd_h_ */
diff --git a/glproto/glxproto.h b/glproto/glxproto.h
new file mode 100644
index 0000000..4783fee
--- /dev/null
+++ b/glproto/glxproto.h
@@ -0,0 +1,2613 @@
+#ifndef _GLX_glxproto_h_
+#define _GLX_glxproto_h_
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+#include <GL/glxmd.h>
+
+/*****************************************************************************/
+
+/*
+** Errrors.
+*/
+#define GLXBadContext 0
+#define GLXBadContextState 1
+#define GLXBadDrawable 2
+#define GLXBadPixmap 3
+#define GLXBadContextTag 4
+#define GLXBadCurrentWindow 5
+#define GLXBadRenderRequest 6
+#define GLXBadLargeRequest 7
+#define GLXUnsupportedPrivateRequest 8
+#define GLXBadFBConfig 9
+#define GLXBadPbuffer 10
+#define GLXBadCurrentDrawable 11
+#define GLXBadWindow 12
+
+#define __GLX_NUMBER_ERRORS 13
+
+/*
+** Events.
+** __GLX_NUMBER_EVENTS is set to 17 to account for the BufferClobberSGIX
+** event - this helps initialization if the server supports the pbuffer
+** extension and the client doesn't.
+*/
+#define GLX_PbufferClobber 0
+#define GLX_BufferSwapComplete 1
+
+#define __GLX_NUMBER_EVENTS 17
+
+#define GLX_EXTENSION_NAME "GLX"
+#define GLX_EXTENSION_ALIAS "SGI-GLX"
+
+#define __GLX_MAX_CONTEXT_PROPS 3
+
+#ifndef GLX_VENDOR
+#define GLX_VENDOR 0x1
+#endif
+#ifndef GLX_VERSION
+#define GLX_VERSION 0x2
+#endif
+#ifndef GLX_EXTENSIONS
+#define GLX_EXTENSIONS 0x3
+#endif
+
+/*****************************************************************************/
+
+/*
+** For the structure definitions in this file, we must redefine these types in
+** terms of Xmd.h types, which may include bitfields. All of these are
+** undef'ed at the end of this file, restoring the definitions in glx.h.
+*/
+#define GLXContextID CARD32
+#define GLXPixmap CARD32
+#define GLXDrawable CARD32
+#define GLXPbuffer CARD32
+#define GLXWindow CARD32
+#define GLXFBConfigID CARD32
+#define GLXFBConfigIDSGIX CARD32
+#define GLXPbufferSGIX CARD32
+
+/*
+** ContextTag is not exposed to the API.
+*/
+typedef CARD32 GLXContextTag;
+
+/*****************************************************************************/
+
+/*
+** Sizes of basic wire types.
+*/
+#define __GLX_SIZE_INT8 1
+#define __GLX_SIZE_INT16 2
+#define __GLX_SIZE_INT32 4
+#define __GLX_SIZE_CARD8 1
+#define __GLX_SIZE_CARD16 2
+#define __GLX_SIZE_CARD32 4
+#define __GLX_SIZE_FLOAT32 4
+#define __GLX_SIZE_FLOAT64 8
+
+/*****************************************************************************/
+
+/* Requests */
+
+/*
+** Render command request. A bunch of rendering commands are packed into
+** a single X extension request.
+*/
+typedef struct GLXRender {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+} xGLXRenderReq;
+#define sz_xGLXRenderReq 8
+
+/*
+** The maximum size that a GLXRender command can be. The value must fit
+** in 16 bits and should be a multiple of 4.
+*/
+#define __GLX_MAX_RENDER_CMD_SIZE 64000
+
+/*
+** Large render command request. A single large rendering command
+** is output in multiple X extension requests. The first packet
+** contains an opcode dependent header (see below) that describes
+** the data that follows.
+*/
+typedef struct GLXRenderLarge {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+ CARD16 requestNumber B16;
+ CARD16 requestTotal B16;
+ CARD32 dataBytes B32;
+} xGLXRenderLargeReq;
+#define sz_xGLXRenderLargeReq 16
+
+/*
+** GLX single request. Commands that go over as single GLX protocol
+** requests use this structure. The glxCode will be one of the X_GLsop
+** opcodes.
+*/
+typedef struct GLXSingle {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+} xGLXSingleReq;
+#define sz_xGLXSingleReq 8
+
+/*
+** glXQueryVersion request
+*/
+typedef struct GLXQueryVersion {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xGLXQueryVersionReq;
+#define sz_xGLXQueryVersionReq 12
+
+/*
+** glXIsDirect request
+*/
+typedef struct GLXIsDirect {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID context B32;
+} xGLXIsDirectReq;
+#define sz_xGLXIsDirectReq 8
+
+/*
+** glXCreateContext request
+*/
+typedef struct GLXCreateContext {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID context B32;
+ CARD32 visual B32;
+ CARD32 screen B32;
+ GLXContextID shareList B32;
+ BOOL isDirect;
+ CARD8 reserved1;
+ CARD16 reserved2 B16;
+} xGLXCreateContextReq;
+#define sz_xGLXCreateContextReq 24
+
+/*
+** glXDestroyContext request
+*/
+typedef struct GLXDestroyContext {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID context B32;
+} xGLXDestroyContextReq;
+#define sz_xGLXDestroyContextReq 8
+
+/*
+** glXMakeCurrent request
+*/
+typedef struct GLXMakeCurrent {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXDrawable drawable B32;
+ GLXContextID context B32;
+ GLXContextTag oldContextTag B32;
+} xGLXMakeCurrentReq;
+#define sz_xGLXMakeCurrentReq 16
+
+/*
+** glXWaitGL request
+*/
+typedef struct GLXWaitGL {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+} xGLXWaitGLReq;
+#define sz_xGLXWaitGLReq 8
+
+/*
+** glXWaitX request
+*/
+typedef struct GLXWaitX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+} xGLXWaitXReq;
+#define sz_xGLXWaitXReq 8
+
+/*
+** glXCopyContext request
+*/
+typedef struct GLXCopyContext {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID source B32;
+ GLXContextID dest B32;
+ CARD32 mask B32;
+ GLXContextTag contextTag B32;
+} xGLXCopyContextReq;
+#define sz_xGLXCopyContextReq 20
+
+/*
+** glXSwapBuffers request
+*/
+typedef struct GLXSwapBuffers {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+ GLXDrawable drawable B32;
+} xGLXSwapBuffersReq;
+#define sz_xGLXSwapBuffersReq 12
+
+/*
+** glXUseXFont request
+*/
+typedef struct GLXUseXFont {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag contextTag B32;
+ CARD32 font B32;
+ CARD32 first B32;
+ CARD32 count B32;
+ CARD32 listBase B32;
+} xGLXUseXFontReq;
+#define sz_xGLXUseXFontReq 24
+
+/*
+** glXCreateGLXPixmap request
+*/
+typedef struct GLXCreateGLXPixmap {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 visual B32;
+ CARD32 pixmap B32;
+ GLXPixmap glxpixmap B32;
+} xGLXCreateGLXPixmapReq;
+#define sz_xGLXCreateGLXPixmapReq 20
+
+/*
+** glXDestroyGLXPixmap request
+*/
+typedef struct GLXDestroyGLXPixmap {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXPixmap glxpixmap B32;
+} xGLXDestroyGLXPixmapReq;
+#define sz_xGLXDestroyGLXPixmapReq 8
+
+/*
+** glXGetVisualConfigs request
+*/
+typedef struct GLXGetVisualConfigs {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xGLXGetVisualConfigsReq;
+#define sz_xGLXGetVisualConfigsReq 8
+
+/*
+** glXVendorPrivate request.
+*/
+typedef struct GLXVendorPrivate {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ GLXContextTag contextTag B32;
+ /*
+ ** More data may follow; this is just the header.
+ */
+} xGLXVendorPrivateReq;
+#define sz_xGLXVendorPrivateReq 12
+
+/*
+** glXVendorPrivateWithReply request
+*/
+typedef struct GLXVendorPrivateWithReply {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ GLXContextTag contextTag B32;
+ /*
+ ** More data may follow; this is just the header.
+ */
+} xGLXVendorPrivateWithReplyReq;
+#define sz_xGLXVendorPrivateWithReplyReq 12
+
+/*
+** glXQueryExtensionsString request
+*/
+typedef struct GLXQueryExtensionsString {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xGLXQueryExtensionsStringReq;
+#define sz_xGLXQueryExtensionsStringReq 8
+
+/*
+** glXQueryServerString request
+*/
+typedef struct GLXQueryServerString {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 name B32;
+} xGLXQueryServerStringReq;
+#define sz_xGLXQueryServerStringReq 12
+
+/*
+** glXClientInfo request
+*/
+typedef struct GLXClientInfo {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 major B32;
+ CARD32 minor B32;
+ CARD32 numbytes B32;
+} xGLXClientInfoReq;
+#define sz_xGLXClientInfoReq 16
+
+/*** Start of GLX 1.3 requests */
+
+/*
+** glXGetFBConfigs request
+*/
+typedef struct GLXGetFBConfigs {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xGLXGetFBConfigsReq;
+#define sz_xGLXGetFBConfigsReq 8
+
+/*
+** glXCreatePixmap request
+*/
+typedef struct GLXCreatePixmap {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+ GLXFBConfigID fbconfig B32;
+ CARD32 pixmap B32;
+ GLXPixmap glxpixmap B32;
+ CARD32 numAttribs B32;
+ /* followed by attribute list */
+} xGLXCreatePixmapReq;
+#define sz_xGLXCreatePixmapReq 24
+
+/*
+** glXDestroyPixmap request
+*/
+typedef struct GLXDestroyPixmap {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXPixmap glxpixmap B32;
+} xGLXDestroyPixmapReq;
+#define sz_xGLXDestroyPixmapReq 8
+
+/*
+** glXCreateNewContext request
+*/
+typedef struct GLXCreateNewContext {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID context B32;
+ GLXFBConfigID fbconfig B32;
+ CARD32 screen B32;
+ CARD32 renderType;
+ GLXContextID shareList B32;
+ BOOL isDirect;
+ CARD8 reserved1;
+ CARD16 reserved2 B16;
+} xGLXCreateNewContextReq;
+#define sz_xGLXCreateNewContextReq 28
+
+/*
+** glXQueryContext request
+*/
+typedef struct GLXQueryContext {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextID context B32;
+} xGLXQueryContextReq;
+#define sz_xGLXQueryContextReq 8
+
+/*
+** glXMakeContextCurrent request
+*/
+typedef struct GLXMakeContextCurrent {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXContextTag oldContextTag B32;
+ GLXDrawable drawable B32;
+ GLXDrawable readdrawable B32;
+ GLXContextID context B32;
+} xGLXMakeContextCurrentReq;
+#define sz_xGLXMakeContextCurrentReq 20
+
+/*
+** glXCreatePbuffer request
+*/
+typedef struct GLXCreatePbuffer {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+ GLXFBConfigID fbconfig B32;
+ GLXPbuffer pbuffer B32;
+ CARD32 numAttribs B32;
+ /* followed by attribute list */
+} xGLXCreatePbufferReq;
+#define sz_xGLXCreatePbufferReq 20
+
+/*
+** glXDestroyPbuffer request
+*/
+typedef struct GLXDestroyPbuffer {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXPbuffer pbuffer B32;
+} xGLXDestroyPbufferReq;
+#define sz_xGLXDestroyPbufferReq 8
+
+/*
+** glXGetDrawableAttributes request
+*/
+typedef struct GLXGetDrawableAttributes {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXDrawable drawable B32;
+} xGLXGetDrawableAttributesReq;
+#define sz_xGLXGetDrawableAttributesReq 8
+
+/*
+** glXChangeDrawableAttributes request
+*/
+typedef struct GLXChangeDrawableAttributes {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXDrawable drawable B32;
+ CARD32 numAttribs B32;
+ /* followed by attribute list */
+} xGLXChangeDrawableAttributesReq;
+#define sz_xGLXChangeDrawableAttributesReq 12
+
+/*
+** glXCreateWindow request
+*/
+typedef struct GLXCreateWindow {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 screen B32;
+ GLXFBConfigID fbconfig B32;
+ CARD32 window B32;
+ GLXWindow glxwindow B32;
+ CARD32 numAttribs B32;
+ /* followed by attribute list */
+} xGLXCreateWindowReq;
+#define sz_xGLXCreateWindowReq 24
+
+/*
+** glXDestroyWindow request
+*/
+typedef struct GLXDestroyWindow {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ GLXWindow glxwindow B32;
+} xGLXDestroyWindowReq;
+#define sz_xGLXDestroyWindowReq 8
+
+/* Replies */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 error B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetErrorReply;
+#define sz_xGLXGetErrorReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ GLXContextTag contextTag B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXMakeCurrentReply;
+#define sz_xGLXMakeCurrentReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXReadPixelsReply;
+#define sz_xGLXReadPixelsReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 depth B32;
+ CARD32 pad6 B32;
+} xGLXGetTexImageReply;
+#define sz_xGLXGetTexImageReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetSeparableFilterReply;
+#define sz_xGLXGetSeparableFilterReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetConvolutionFilterReply;
+#define sz_xGLXGetConvolutionFilterReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 width B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetHistogramReply;
+#define sz_xGLXGetHistogramReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetMinmaxReply;
+#define sz_xGLXGetMinmaxReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 retval B32;
+ CARD32 size B32;
+ CARD32 newMode B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXRenderModeReply;
+#define sz_xGLXRenderModeReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryVersionReply;
+#define sz_xGLXQueryVersionReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numVisuals B32;
+ CARD32 numProps B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetVisualConfigsReply;
+#define sz_xGLXGetVisualConfigsReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL isDirect;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGLXIsDirectReply;
+#define sz_xGLXIsDirectReply 32
+
+/*
+** This reply structure is used for all single replies. Single replies
+** ship either 1 piece of data or N pieces of data. In these cases
+** size indicates how much data is to be returned.
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 retval B32;
+ CARD32 size B32;
+ CARD32 pad3 B32; /* NOTE: may hold a single value */
+ CARD32 pad4 B32; /* NOTE: may hold half a double */
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXSingleReply;
+#define sz_xGLXSingleReply 32
+
+/*
+** This reply structure is used for all Vendor Private replies. Vendor
+** Private replies can ship up to 24 bytes within the header or can
+** be variable sized, in which case, the reply length field indicates
+** the number of words of data which follow the header.
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 retval B32;
+ CARD32 size B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXVendorPrivReply;
+#define sz_xGLXVendorPrivReply 32
+
+/*
+** QueryExtensionsStringReply
+** n indicates the number of bytes to be returned.
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryExtensionsStringReply;
+#define sz_xGLXQueryExtensionsStringReply 32
+
+/*
+** QueryServerString Reply struct
+** n indicates the number of bytes to be returned.
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 pad3 B32; /* NOTE: may hold a single value */
+ CARD32 pad4 B32; /* NOTE: may hold half a double */
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryServerStringReply;
+#define sz_xGLXQueryServerStringReply 32
+
+/*** Start of GLX 1.3 replies */
+
+/*
+** glXGetFBConfigs reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numFBConfigs B32;
+ CARD32 numAttribs B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetFBConfigsReply;
+#define sz_xGLXGetFBConfigsReply 32
+
+/*
+** glXQueryContext reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 n B32; /* number of attribute/value pairs */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryContextReply;
+#define sz_xGLXQueryContextReply 32
+
+/*
+** glXMakeContextCurrent reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ GLXContextTag contextTag B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXMakeContextCurrentReply;
+#define sz_xGLXMakeContextCurrentReply 32
+
+/*
+** glXCreateGLXPbuffer reply
+** This is used only in the direct rendering case on SGIs - otherwise
+** CreateGLXPbuffer has no reply. It is not part of GLX 1.3.
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 success;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXCreateGLXPbufferReply;
+#define sz_xGLXCreateGLXPbufferReply 32
+
+/*
+** glXGetDrawableAttributes reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numAttribs B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetDrawableAttributesReply;
+#define sz_xGLXGetDrawableAttributesReply 32
+
+/*
+** glXGetColorTable reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 width B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetColorTableReply;
+#define sz_xGLXGetColorTableReply 32
+
+/************************************************************************/
+
+/* GLX extension requests and replies */
+
+/*
+** glXQueryContextInfoEXT request
+*/
+typedef struct GLXQueryContextInfoEXT {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ GLXContextID context B32;
+} xGLXQueryContextInfoEXTReq;
+#define sz_xGLXQueryContextInfoEXTReq 16
+
+/*
+** glXQueryContextInfoEXT reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 n B32; /* number of attribute/value pairs */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryContextInfoEXTReply;
+#define sz_xGLXQueryContextInfoEXTReply 32
+
+/*
+** glXMakeCurrentReadSGI request
+*/
+typedef struct GLXMakeCurrentReadSGI {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ GLXContextTag oldContextTag B32;
+ GLXDrawable drawable B32;
+ GLXDrawable readable B32;
+ GLXContextID context B32;
+} xGLXMakeCurrentReadSGIReq;
+#define sz_xGLXMakeCurrentReadSGIReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ GLXContextTag contextTag B32;
+ CARD32 writeVid B32;
+ CARD32 writeType B32;
+ CARD32 readVid B32;
+ CARD32 readType B32;
+ CARD32 pad6 B32;
+} xGLXMakeCurrentReadSGIReply;
+#define sz_xGLXMakeCurrentReadSGIReply 32
+
+/*
+** glXGetFBConfigsSGIX request
+*/
+typedef struct GLXGetFBConfigsSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+} xGLXGetFBConfigsSGIXReq;
+#define sz_xGLXGetFBConfigsSGIXReq 16
+
+/*
+** glXCreateContextWithConfigSGIX request
+*/
+
+typedef struct GLXCreateContextWithConfigSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ GLXContextID context B32;
+ GLXFBConfigID fbconfig B32;
+ CARD32 screen B32;
+ CARD32 renderType;
+ GLXContextID shareList B32;
+ BOOL isDirect;
+ CARD8 reserved1;
+ CARD16 reserved2 B16;
+} xGLXCreateContextWithConfigSGIXReq;
+#define sz_xGLXCreateContextWithConfigSGIXReq 36
+
+/*
+** glXCreatePixmapWithConfigSGIX request
+*/
+
+typedef struct GLXCreateGLXPixmapWithConfigSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+ GLXFBConfigID fbconfig B32;
+ CARD32 pixmap B32;
+ GLXPixmap glxpixmap B32;
+} xGLXCreateGLXPixmapWithConfigSGIXReq;
+#define sz_xGLXCreateGLXPixmapWithConfigSGIXReq 28
+
+/*
+** glXCreateGLXPbufferSGIX request
+*/
+typedef struct GLXCreateGLXPbufferSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+ GLXFBConfigID fbconfig B32;
+ GLXPbuffer pbuffer B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ /* followed by attribute list */
+} xGLXCreateGLXPbufferSGIXReq;
+#define sz_xGLXCreateGLXPbufferSGIXReq 32
+
+/*
+** glXDestroyGLXPbufferSGIX request
+*/
+typedef struct GLXDestroyGLXPbuffer {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ GLXPbuffer pbuffer B32;
+} xGLXDestroyGLXPbufferSGIXReq;
+#define sz_xGLXDestroyGLXPbufferSGIXReq 16
+
+/*
+** glXChangeDrawableAttributesSGIX request
+*/
+typedef struct GLXChangeDrawableAttributesSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ GLXDrawable drawable B32;
+ CARD32 numAttribs B32;
+ /* followed by attribute list */
+} xGLXChangeDrawableAttributesSGIXReq;
+#define sz_xGLXChangeDrawableAttributesSGIXReq 20
+
+/*
+** glXGetDrawableAttributesSGIX request
+*/
+typedef struct GLXGetDrawableAttributesSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ GLXDrawable drawable B32;
+} xGLXGetDrawableAttributesSGIXReq;
+#define sz_xGLXGetDrawableAttributesSGIXReq 16
+
+/*
+** glXGetDrawableAttributesSGIX reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numAttribs B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXGetDrawableAttributesSGIXReply;
+#define sz_xGLXGetDrawableAttributesSGIXReply 32
+
+/*
+** glXJoinSwapGroupSGIX request
+*/
+typedef struct GLXJoinSwapGroupSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 unused B32; /* corresponds to contextTag in hdr */
+ GLXDrawable drawable B32;
+ GLXDrawable member B32;
+} xGLXJoinSwapGroupSGIXReq;
+#define sz_xGLXJoinSwapGroupSGIXReq 20
+
+/*
+** glXBindSwapBarrierSGIX request
+*/
+typedef struct GLXBindSwapBarrierSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 unused B32; /* corresponds to contextTag in hdr */
+ GLXDrawable drawable B32;
+ CARD32 barrier B32;
+} xGLXBindSwapBarrierSGIXReq;
+#define sz_xGLXBindSwapBarrierSGIXReq 20
+
+/*
+** glXQueryMaxSwapBarriersSGIX request
+*/
+typedef struct GLXQueryMaxSwapBarriersSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 unused B32; /* corresponds to contextTag in hdr */
+ CARD32 screen B32;
+} xGLXQueryMaxSwapBarriersSGIXReq;
+#define sz_xGLXQueryMaxSwapBarriersSGIXReq 16
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 max B32;
+ CARD32 size B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryMaxSwapBarriersSGIXReply;
+#define sz_xGLXQueryMaxSwapBarriersSGIXReply 32
+
+/*
+** glXQueryHyperpipeNetworkSGIX request
+*/
+typedef struct GLXQueryHyperpipeNetworkSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+} xGLXQueryHyperpipeNetworkSGIXReq;
+#define sz_xGLXQueryHyperpipeNetworkSGIXReq 16
+
+/*
+** glXQueryHyperpipeNetworkSGIX reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 npipes B32; /* NOTE: may hold a single value */
+ CARD32 pad4 B32; /* NOTE: may hold half a double */
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryHyperpipeNetworkSGIXReply;
+#define sz_xGLXQueryHyperpipeNetworkSGIXReply 32
+
+/*
+** glXDestroyHyperpipeConfigSGIX request
+*/
+typedef struct GLXDestroyHyperpipeConfigSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+ CARD32 hpId B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xGLXDestroyHyperpipeConfigSGIXReq;
+#define sz_xGLXDestroyHyperpipeConfigSGIXReq 32
+
+/*
+** glXDestroyHyperpipeConfigSGIX reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 success B32; /* NOTE: may hold a single value */
+ CARD32 pad4 B32; /* NOTE: may hold half a double */
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXDestroyHyperpipeConfigSGIXReply;
+#define sz_xGLXDestroyHyperpipeConfigSGIXReply 32
+
+/*
+** glXQueryHyperpipeConfigSGIX request
+*/
+typedef struct GLXQueryHyperpipeConfigSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+ CARD32 hpId B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xGLXQueryHyperpipeConfigSGIXReq;
+#define sz_xGLXQueryHyperpipeConfigSGIXReq 32
+
+/*
+** glXQueryHyperpipeConfigSGIX reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 npipes B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXQueryHyperpipeConfigSGIXReply;
+#define sz_xGLXQueryHyperpipeConfigSGIXReply 32
+
+/*
+** glXHyperpipeConfigSGIX request
+*/
+typedef struct GLXHyperpipeConfigSGIX {
+ CARD8 reqType;
+ CARD8 glxCode;
+ CARD16 length B16;
+ CARD32 vendorCode B32; /* vendor-specific opcode */
+ CARD32 pad1 B32; /* unused; corresponds to contextTag in header */
+ CARD32 screen B32;
+ CARD32 npipes B32;
+ CARD32 networkId B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ /* followed by attribute list */
+} xGLXHyperpipeConfigSGIXReq;
+#define sz_xGLXHyperpipeConfigSGIXReq 32
+
+/*
+** glXHyperpipeConfigSGIX reply
+*/
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 n B32;
+ CARD32 npipes B32;
+ CARD32 hpId B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGLXHyperpipeConfigSGIXReply;
+#define sz_xGLXHyperpipeConfigSGIXReply 32
+
+/************************************************************************/
+
+/*
+** Events
+*/
+
+typedef struct {
+ BYTE type;
+ BYTE pad;
+ CARD16 sequenceNumber B16;
+ CARD16 event_type B16; /*** was clobber_class */
+ CARD16 draw_type B16;
+ CARD32 drawable B32;
+ CARD32 buffer_mask B32; /*** was mask */
+ CARD16 aux_buffer B16;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 count B16;
+ CARD32 unused2 B32;
+} xGLXPbufferClobberEvent;
+
+typedef struct {
+ BYTE type;
+ BYTE pad;
+ CARD16 sequenceNumber B16;
+ CARD16 event_type B16;
+ CARD32 drawable;
+ CARD32 ust_hi B32;
+ CARD32 ust_lo B32;
+ CARD32 msc_hi B32;
+ CARD32 msc_lo B32;
+ CARD32 sbc_hi B32;
+ CARD32 sbc_lo B32;
+} xGLXBufferSwapComplete;
+
+/************************************************************************/
+
+/*
+** Size of the standard X request header.
+*/
+#define __GLX_SINGLE_HDR_SIZE sz_xGLXSingleReq
+#define __GLX_VENDPRIV_HDR_SIZE sz_xGLXVendorPrivateReq
+
+#define __GLX_RENDER_HDR \
+ CARD16 length B16; \
+ CARD16 opcode B16
+
+#define __GLX_RENDER_HDR_SIZE 4
+
+typedef struct {
+ __GLX_RENDER_HDR;
+} __GLXrenderHeader;
+
+#define __GLX_RENDER_LARGE_HDR \
+ CARD32 length B32; \
+ CARD32 opcode B32
+
+#define __GLX_RENDER_LARGE_HDR_SIZE 8
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+} __GLXrenderLargeHeader;
+
+/*
+** The glBitmap, glPolygonStipple, glTexImage[12]D, glTexSubImage[12]D
+** and glDrawPixels calls all have a pixel header transmitted after the
+** Render or RenderLarge header and before their own opcode specific
+** headers.
+*/
+#define __GLX_PIXEL_HDR \
+ BOOL swapBytes; \
+ BOOL lsbFirst; \
+ CARD8 reserved0; \
+ CARD8 reserved1; \
+ CARD32 rowLength B32; \
+ CARD32 skipRows B32; \
+ CARD32 skipPixels B32; \
+ CARD32 alignment B32
+
+#define __GLX_PIXEL_HDR_SIZE 20
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+} __GLXpixelHeader;
+
+/*
+** glTexImage[34]D and glTexSubImage[34]D calls
+** all have a pixel header transmitted after the Render or RenderLarge
+** header and before their own opcode specific headers.
+*/
+#define __GLX_PIXEL_3D_HDR \
+ BOOL swapBytes; \
+ BOOL lsbFirst; \
+ CARD8 reserved0; \
+ CARD8 reserved1; \
+ CARD32 rowLength B32; \
+ CARD32 imageHeight B32; \
+ CARD32 imageDepth B32; \
+ CARD32 skipRows B32; \
+ CARD32 skipImages B32; \
+ CARD32 skipVolumes B32; \
+ CARD32 skipPixels B32; \
+ CARD32 alignment B32
+
+#define __GLX_PIXEL_3D_HDR_SIZE 36
+
+/*
+** Data that is specific to a glBitmap call. The data is sent in the
+** following order:
+** Render or RenderLarge header
+** Pixel header
+** Bitmap header
+*/
+#define __GLX_BITMAP_HDR \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ FLOAT32 xorig F32; \
+ FLOAT32 yorig F32; \
+ FLOAT32 xmove F32; \
+ FLOAT32 ymove F32
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_BITMAP_HDR;
+} __GLXbitmapHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_BITMAP_HDR;
+} __GLXbitmapLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_BITMAP_HDR;
+} __GLXdispatchBitmapHeader;
+
+#define __GLX_BITMAP_HDR_SIZE 24
+
+#define __GLX_BITMAP_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
+
+#define __GLX_BITMAP_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_HDR_SIZE + __GLX_BITMAP_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+} __GLXpolygonStippleHeader;
+
+#define __GLX_POLYGONSTIPPLE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE)
+
+/*
+** Data that is specific to a glTexImage1D or glTexImage2D call. The
+** data is sent in the following order:
+** Render or RenderLarge header
+** Pixel header
+** TexImage header
+** When a glTexImage1D call the height field is unexamined by the server.
+*/
+#define __GLX_TEXIMAGE_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 components B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 border B32; \
+ CARD32 format B32; \
+ CARD32 type B32
+
+#define __GLX_TEXIMAGE_HDR_SIZE 32
+
+#define __GLX_TEXIMAGE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
+
+#define __GLX_TEXIMAGE_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_HDR_SIZE + __GLX_TEXIMAGE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_TEXIMAGE_HDR;
+} __GLXtexImageHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_TEXIMAGE_HDR;
+} __GLXtexImageLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_TEXIMAGE_HDR;
+} __GLXdispatchTexImageHeader;
+
+/*
+** Data that is specific to a glTexImage3D or glTexImage4D call. The
+** data is sent in the following order:
+** Render or RenderLarge header
+** Pixel 3D header
+** TexImage 3D header
+** When a glTexImage3D call the size4d and woffset fields are unexamined
+** by the server.
+** Could be used by all TexImage commands and perhaps should be in the
+** future.
+*/
+#define __GLX_TEXIMAGE_3D_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 internalformat B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 depth B32; \
+ CARD32 size4d B32; \
+ CARD32 border B32; \
+ CARD32 format B32; \
+ CARD32 type B32; \
+ CARD32 nullimage B32
+
+#define __GLX_TEXIMAGE_3D_HDR_SIZE 44
+
+#define __GLX_TEXIMAGE_3D_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
+ __GLX_TEXIMAGE_3D_HDR_SIZE)
+
+#define __GLX_TEXIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXIMAGE_3D_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXIMAGE_3D_HDR;
+} __GLXtexImage3DHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXIMAGE_3D_HDR;
+} __GLXtexImage3DLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXIMAGE_3D_HDR;
+} __GLXdispatchTexImage3DHeader;
+
+/*
+** Data that is specific to a glTexSubImage1D or glTexSubImage2D call. The
+** data is sent in the following order:
+** Render or RenderLarge header
+** Pixel header
+** TexSubImage header
+** When a glTexSubImage1D call is made, the yoffset and height fields
+** are unexamined by the server and are considered to be padding.
+*/
+#define __GLX_TEXSUBIMAGE_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 xoffset B32; \
+ CARD32 yoffset B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 format B32; \
+ CARD32 type B32; \
+ CARD32 nullImage \
+
+#define __GLX_TEXSUBIMAGE_HDR_SIZE 36
+
+#define __GLX_TEXSUBIMAGE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
+
+#define __GLX_TEXSUBIMAGE_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_HDR_SIZE + __GLX_TEXSUBIMAGE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_TEXSUBIMAGE_HDR;
+} __GLXtexSubImageHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_TEXSUBIMAGE_HDR;
+} __GLXtexSubImageLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_TEXSUBIMAGE_HDR;
+} __GLXdispatchTexSubImageHeader;
+
+/*
+** Data that is specific to a glTexSubImage3D and 4D calls. The
+** data is sent in the following order:
+** Render or RenderLarge header
+** Pixel 3D header
+** TexSubImage 3D header
+** When a glTexSubImage3D call is made, the woffset and size4d fields
+** are unexamined by the server and are considered to be padding.
+*/
+#define __GLX_TEXSUBIMAGE_3D_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 xoffset B32; \
+ CARD32 yoffset B32; \
+ CARD32 zoffset B32; \
+ CARD32 woffset B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 depth B32; \
+ CARD32 size4d B32; \
+ CARD32 format B32; \
+ CARD32 type B32; \
+ CARD32 nullImage \
+
+#define __GLX_TEXSUBIMAGE_3D_HDR_SIZE 52
+
+#define __GLX_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_3D_HDR_SIZE + \
+ __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
+
+#define __GLX_TEXSUBIMAGE_3D_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_3D_HDR_SIZE + __GLX_TEXSUBIMAGE_3D_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXSUBIMAGE_3D_HDR;
+} __GLXtexSubImage3DHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXSUBIMAGE_3D_HDR;
+} __GLXtexSubImage3DLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_3D_HDR;
+ __GLX_TEXSUBIMAGE_3D_HDR;
+} __GLXdispatchTexSubImage3DHeader;
+
+/**
+ * Data that is specific to a \c glCompressedTexImage1D or
+ * \c glCompressedTexImage2D call. The data is sent in the following
+ * order:
+ * - Render or RenderLarge header
+ * - CompressedTexImage header
+ *
+ * When a \c glCompressedTexImage1D call is made, the \c height field is
+ * not examined by the server and is considered padding.
+ */
+
+#define __GLX_COMPRESSED_TEXIMAGE_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 internalFormat B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 border B32; \
+ CARD32 imageSize B32
+
+#define __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE 28
+
+#define __GLX_COMPRESSED_TEXIMAGE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
+
+#define __GLX_COMPRESSED_TEXIMAGE_DISPATCH_HDR_SIZE \
+ (__GLX_COMPRESSED_TEXIMAGE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_COMPRESSED_TEXIMAGE_HDR;
+} __GLXcompressedTexImageHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_COMPRESSED_TEXIMAGE_HDR;
+} __GLXcompressedTexImageLargeHeader;
+
+typedef struct {
+ __GLX_COMPRESSED_TEXIMAGE_HDR;
+} __GLXdispatchCompressedTexImageHeader;
+
+/**
+ * Data that is specifi to a \c glCompressedTexSubImage1D or
+ * \c glCompressedTexSubImage2D call. The data is sent in the following
+ * order:
+ * - Render or RenderLarge header
+ * - CompressedTexSubImage header
+ *
+ * When a \c glCompressedTexSubImage1D call is made, the \c yoffset and
+ * \c height fields are not examined by the server and are considered padding.
+ */
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 xoffset B32; \
+ CARD32 yoffset B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 format B32; \
+ CARD32 imageSize B32
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE 32
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_DISPATCH_HDR_SIZE \
+ (__GLX_COMPRESSED_TEXSUBIMAGE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
+} __GLXcompressedTexSubImageHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
+} __GLXcompressedTexSubImageLargeHeader;
+
+typedef struct {
+ __GLX_COMPRESSED_TEXSUBIMAGE_HDR;
+} __GLXdispatchCompressedTexSubImageHeader;
+
+/**
+ * Data that is specific to a \c glCompressedTexImage3D call. The data is
+ * sent in the following order:
+ * - Render or RenderLarge header
+ * - CompressedTexImage3D header
+ */
+
+#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 internalFormat B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 depth B32; \
+ CARD32 border B32; \
+ CARD32 imageSize B32
+
+#define __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE 32
+
+#define __GLX_COMPRESSED_TEXIMAGE_3D_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
+
+#define __GLX_COMPRESSED_TEXIMAGE_3D_DISPATCH_HDR_SIZE \
+ (__GLX_COMPRESSED_TEXIMAGE_3D_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
+} __GLXcompressedTexImage3DHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
+} __GLXcompressedTexImage3DLargeHeader;
+
+typedef struct {
+ __GLX_COMPRESSED_TEXIMAGE_3D_HDR;
+} __GLXdispatchCompressedTexImage3DHeader;
+
+/**
+ * Data that is specifi to a \c glCompressedTexSubImage3D call. The data is
+ * sent in the following order:
+ * - Render or RenderLarge header
+ * - CompressedTexSubImage3D header
+ */
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR \
+ CARD32 target B32; \
+ CARD32 level B32; \
+ CARD32 xoffset B32; \
+ CARD32 yoffset B32; \
+ CARD32 zoffset B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 depth B32; \
+ CARD32 format B32; \
+ CARD32 imageSize B32
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE 32
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
+
+#define __GLX_COMPRESSED_TEXSUBIMAGE_3D_DISPATCH_HDR_SIZE \
+ (__GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
+} __GLXcompressedTexSubImage3DHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
+} __GLXcompressedTexSubImage3DLargeHeader;
+
+typedef struct {
+ __GLX_COMPRESSED_TEXSUBIMAGE_3D_HDR;
+} __GLXdispatchCompressedTexSubImage3DHeader;
+
+/*
+** Data that is specific to a glDrawPixels call. The data is sent in the
+** following order:
+** Render or RenderLarge header
+** Pixel header
+** DrawPixels header
+*/
+#define __GLX_DRAWPIXELS_HDR \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 format B32; \
+ CARD32 type B32
+
+#define __GLX_DRAWPIXELS_HDR_SIZE 16
+
+#define __GLX_DRAWPIXELS_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
+
+#define __GLX_DRAWPIXELS_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_HDR_SIZE + __GLX_DRAWPIXELS_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_DRAWPIXELS_HDR;
+} __GLXdrawPixelsHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_DRAWPIXELS_HDR;
+} __GLXdrawPixelsLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_DRAWPIXELS_HDR;
+} __GLXdispatchDrawPixelsHeader;
+
+/*
+** Data that is specific to a glConvolutionFilter1D or glConvolutionFilter2D
+** call. The data is sent in the following order:
+** Render or RenderLarge header
+** Pixel header
+** ConvolutionFilter header
+** When a glConvolutionFilter1D call the height field is unexamined by the server.
+*/
+#define __GLX_CONV_FILT_HDR \
+ CARD32 target B32; \
+ CARD32 internalformat B32; \
+ CARD32 width B32; \
+ CARD32 height B32; \
+ CARD32 format B32; \
+ CARD32 type B32
+
+#define __GLX_CONV_FILT_HDR_SIZE 24
+
+#define __GLX_CONV_FILT_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
+
+#define __GLX_CONV_FILT_CMD_DISPATCH_HDR_SIZE \
+ (__GLX_PIXEL_HDR_SIZE + __GLX_CONV_FILT_HDR_SIZE)
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_CONV_FILT_HDR;
+} __GLXConvolutionFilterHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_CONV_FILT_HDR;
+} __GLXConvolutionFilterLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_CONV_FILT_HDR;
+} __GLXdispatchConvolutionFilterHeader;
+
+/*
+** Data that is specific to a glDrawArraysEXT call. The data is sent in the
+** following order:
+** Render or RenderLarge header
+** Draw Arrays header
+** a variable number of Component headers
+** vertex data for each component type
+*/
+
+#define __GLX_DRAWARRAYS_HDR \
+ CARD32 numVertexes B32; \
+ CARD32 numComponents B32; \
+ CARD32 primType B32
+
+#define __GLX_DRAWARRAYS_HDR_SIZE 12
+
+#define __GLX_DRAWARRAYS_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_DRAWARRAYS_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_DRAWARRAYS_HDR;
+} __GLXdrawArraysHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_DRAWARRAYS_HDR;
+} __GLXdrawArraysLargeHeader;
+
+typedef struct {
+ __GLX_DRAWARRAYS_HDR;
+} __GLXdispatchDrawArraysHeader;
+
+#define __GLX_COMPONENT_HDR \
+ CARD32 datatype B32; \
+ INT32 numVals B32; \
+ CARD32 component B32
+
+typedef struct {
+ __GLX_COMPONENT_HDR;
+} __GLXdispatchDrawArraysComponentHeader;
+
+#define __GLX_COMPONENT_HDR_SIZE 12
+
+/*
+** Data that is specific to a glColorTable call
+** The data is sent in the following order:
+** Render or RenderLarge header
+** Pixel header
+** ColorTable header
+*/
+
+#define __GLX_COLOR_TABLE_HDR \
+ CARD32 target B32; \
+ CARD32 internalformat B32; \
+ CARD32 width B32; \
+ CARD32 format B32; \
+ CARD32 type B32
+
+#define __GLX_COLOR_TABLE_HDR_SIZE 20
+
+#define __GLX_COLOR_TABLE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + __GLX_COLOR_TABLE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_TABLE_HDR;
+} __GLXColorTableHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_TABLE_HDR;
+} __GLXColorTableLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_TABLE_HDR;
+} __GLXdispatchColorTableHeader;
+
+/*
+** Data that is specific to a glColorSubTable call
+** The data is sent in the following order:
+** Render or RenderLarge header
+** Pixel header
+** ColorTable header
+*/
+
+#define __GLX_COLOR_SUBTABLE_HDR \
+ CARD32 target B32; \
+ CARD32 start B32; \
+ CARD32 count B32; \
+ CARD32 format B32; \
+ CARD32 type B32
+
+#define __GLX_COLOR_SUBTABLE_HDR_SIZE 20
+
+#define __GLX_COLOR_SUBTABLE_CMD_HDR_SIZE \
+ (__GLX_RENDER_HDR_SIZE + __GLX_PIXEL_HDR_SIZE + \
+ __GLX_COLOR_SUBTABLE_HDR_SIZE)
+
+typedef struct {
+ __GLX_RENDER_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_SUBTABLE_HDR;
+} __GLXColorSubTableHeader;
+
+typedef struct {
+ __GLX_RENDER_LARGE_HDR;
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_SUBTABLE_HDR;
+} __GLXColorSubTableLargeHeader;
+
+typedef struct {
+ __GLX_PIXEL_HDR;
+ __GLX_COLOR_SUBTABLE_HDR;
+} __GLXdispatchColorSubTableHeader;
+
+#define GLX_WINDOW_TYPE 1
+#define GLX_PIXMAP_TYPE 2
+#define GLX_VIDEO_SOURCE_TYPE 3
+#define GLX_PBUFFER_TYPE 4
+/* 5 is for DM_PBUFFER */
+#define GLX_GLXWINDOW_TYPE 6
+
+/*****************************************************************************/
+
+/*
+** Restore these definitions back to the typedefs in glx.h
+*/
+#undef GLXContextID
+#undef GLXPixmap
+#undef GLXDrawable
+#undef GLXPbuffer
+#undef GLXWindow
+#undef GLXFBConfigID
+#undef GLXFBConfigIDSGIX
+#undef GLXPbufferSGIX
+
+
+/* Opcodes for GLX commands */
+
+#define X_GLXRender 1
+#define X_GLXRenderLarge 2
+#define X_GLXCreateContext 3
+#define X_GLXDestroyContext 4
+#define X_GLXMakeCurrent 5
+#define X_GLXIsDirect 6
+#define X_GLXQueryVersion 7
+#define X_GLXWaitGL 8
+#define X_GLXWaitX 9
+#define X_GLXCopyContext 10
+#define X_GLXSwapBuffers 11
+#define X_GLXUseXFont 12
+#define X_GLXCreateGLXPixmap 13
+#define X_GLXGetVisualConfigs 14
+#define X_GLXDestroyGLXPixmap 15
+#define X_GLXVendorPrivate 16
+#define X_GLXVendorPrivateWithReply 17
+#define X_GLXQueryExtensionsString 18
+#define X_GLXQueryServerString 19
+#define X_GLXClientInfo 20
+#define X_GLXGetFBConfigs 21
+#define X_GLXCreatePixmap 22
+#define X_GLXDestroyPixmap 23
+#define X_GLXCreateNewContext 24
+#define X_GLXQueryContext 25
+#define X_GLXMakeContextCurrent 26
+#define X_GLXCreatePbuffer 27
+#define X_GLXDestroyPbuffer 28
+#define X_GLXGetDrawableAttributes 29
+#define X_GLXChangeDrawableAttributes 30
+#define X_GLXCreateWindow 31
+#define X_GLXDestroyWindow 32
+
+
+/* Opcodes for single commands (part of GLX command space) */
+
+#define X_GLsop_NewList 101
+#define X_GLsop_EndList 102
+#define X_GLsop_DeleteLists 103
+#define X_GLsop_GenLists 104
+#define X_GLsop_FeedbackBuffer 105
+#define X_GLsop_SelectBuffer 106
+#define X_GLsop_RenderMode 107
+#define X_GLsop_Finish 108
+#define X_GLsop_Flush 142
+#define X_GLsop_PixelStoref 109
+#define X_GLsop_PixelStorei 110
+#define X_GLsop_ReadPixels 111
+#define X_GLsop_GetBooleanv 112
+#define X_GLsop_GetClipPlane 113
+#define X_GLsop_GetDoublev 114
+#define X_GLsop_GetError 115
+#define X_GLsop_GetFloatv 116
+#define X_GLsop_GetIntegerv 117
+#define X_GLsop_GetLightfv 118
+#define X_GLsop_GetLightiv 119
+#define X_GLsop_GetMapdv 120
+#define X_GLsop_GetMapfv 121
+#define X_GLsop_GetMapiv 122
+#define X_GLsop_GetMaterialfv 123
+#define X_GLsop_GetMaterialiv 124
+#define X_GLsop_GetPixelMapfv 125
+#define X_GLsop_GetPixelMapuiv 126
+#define X_GLsop_GetPixelMapusv 127
+#define X_GLsop_GetPolygonStipple 128
+#define X_GLsop_GetString 129
+#define X_GLsop_GetTexEnvfv 130
+#define X_GLsop_GetTexEnviv 131
+#define X_GLsop_GetTexGendv 132
+#define X_GLsop_GetTexGenfv 133
+#define X_GLsop_GetTexGeniv 134
+#define X_GLsop_GetTexImage 135
+#define X_GLsop_GetTexParameterfv 136
+#define X_GLsop_GetTexParameteriv 137
+#define X_GLsop_GetTexLevelParameterfv 138
+#define X_GLsop_GetTexLevelParameteriv 139
+#define X_GLsop_IsEnabled 140
+#define X_GLsop_IsList 141
+#define X_GLsop_AreTexturesResident 143
+#define X_GLsop_DeleteTextures 144
+#define X_GLsop_GenTextures 145
+#define X_GLsop_IsTexture 146
+#define X_GLsop_GetColorTable 147
+#define X_GLsop_GetColorTableParameterfv 148
+#define X_GLsop_GetColorTableParameteriv 149
+#define X_GLsop_GetConvolutionFilter 150
+#define X_GLsop_GetConvolutionParameterfv 151
+#define X_GLsop_GetConvolutionParameteriv 152
+#define X_GLsop_GetSeparableFilter 153
+#define X_GLsop_GetHistogram 154
+#define X_GLsop_GetHistogramParameterfv 155
+#define X_GLsop_GetHistogramParameteriv 156
+#define X_GLsop_GetMinmax 157
+#define X_GLsop_GetMinmaxParameterfv 158
+#define X_GLsop_GetMinmaxParameteriv 159
+#define X_GLsop_GetCompressedTexImage 160
+
+
+/* Opcodes for rendering commands */
+
+#define X_GLrop_CallList 1
+#define X_GLrop_CallLists 2
+#define X_GLrop_ListBase 3
+#define X_GLrop_Begin 4
+#define X_GLrop_Bitmap 5
+#define X_GLrop_Color3bv 6
+#define X_GLrop_Color3dv 7
+#define X_GLrop_Color3fv 8
+#define X_GLrop_Color3iv 9
+#define X_GLrop_Color3sv 10
+#define X_GLrop_Color3ubv 11
+#define X_GLrop_Color3uiv 12
+#define X_GLrop_Color3usv 13
+#define X_GLrop_Color4bv 14
+#define X_GLrop_Color4dv 15
+#define X_GLrop_Color4fv 16
+#define X_GLrop_Color4iv 17
+#define X_GLrop_Color4sv 18
+#define X_GLrop_Color4ubv 19
+#define X_GLrop_Color4uiv 20
+#define X_GLrop_Color4usv 21
+#define X_GLrop_EdgeFlagv 22
+#define X_GLrop_End 23
+#define X_GLrop_Indexdv 24
+#define X_GLrop_Indexfv 25
+#define X_GLrop_Indexiv 26
+#define X_GLrop_Indexsv 27
+#define X_GLrop_Normal3bv 28
+#define X_GLrop_Normal3dv 29
+#define X_GLrop_Normal3fv 30
+#define X_GLrop_Normal3iv 31
+#define X_GLrop_Normal3sv 32
+#define X_GLrop_RasterPos2dv 33
+#define X_GLrop_RasterPos2fv 34
+#define X_GLrop_RasterPos2iv 35
+#define X_GLrop_RasterPos2sv 36
+#define X_GLrop_RasterPos3dv 37
+#define X_GLrop_RasterPos3fv 38
+#define X_GLrop_RasterPos3iv 39
+#define X_GLrop_RasterPos3sv 40
+#define X_GLrop_RasterPos4dv 41
+#define X_GLrop_RasterPos4fv 42
+#define X_GLrop_RasterPos4iv 43
+#define X_GLrop_RasterPos4sv 44
+#define X_GLrop_Rectdv 45
+#define X_GLrop_Rectfv 46
+#define X_GLrop_Rectiv 47
+#define X_GLrop_Rectsv 48
+#define X_GLrop_TexCoord1dv 49
+#define X_GLrop_TexCoord1fv 50
+#define X_GLrop_TexCoord1iv 51
+#define X_GLrop_TexCoord1sv 52
+#define X_GLrop_TexCoord2dv 53
+#define X_GLrop_TexCoord2fv 54
+#define X_GLrop_TexCoord2iv 55
+#define X_GLrop_TexCoord2sv 56
+#define X_GLrop_TexCoord3dv 57
+#define X_GLrop_TexCoord3fv 58
+#define X_GLrop_TexCoord3iv 59
+#define X_GLrop_TexCoord3sv 60
+#define X_GLrop_TexCoord4dv 61
+#define X_GLrop_TexCoord4fv 62
+#define X_GLrop_TexCoord4iv 63
+#define X_GLrop_TexCoord4sv 64
+#define X_GLrop_Vertex2dv 65
+#define X_GLrop_Vertex2fv 66
+#define X_GLrop_Vertex2iv 67
+#define X_GLrop_Vertex2sv 68
+#define X_GLrop_Vertex3dv 69
+#define X_GLrop_Vertex3fv 70
+#define X_GLrop_Vertex3iv 71
+#define X_GLrop_Vertex3sv 72
+#define X_GLrop_Vertex4dv 73
+#define X_GLrop_Vertex4fv 74
+#define X_GLrop_Vertex4iv 75
+#define X_GLrop_Vertex4sv 76
+#define X_GLrop_ClipPlane 77
+#define X_GLrop_ColorMaterial 78
+#define X_GLrop_CullFace 79
+#define X_GLrop_Fogf 80
+#define X_GLrop_Fogfv 81
+#define X_GLrop_Fogi 82
+#define X_GLrop_Fogiv 83
+#define X_GLrop_FrontFace 84
+#define X_GLrop_Hint 85
+#define X_GLrop_Lightf 86
+#define X_GLrop_Lightfv 87
+#define X_GLrop_Lighti 88
+#define X_GLrop_Lightiv 89
+#define X_GLrop_LightModelf 90
+#define X_GLrop_LightModelfv 91
+#define X_GLrop_LightModeli 92
+#define X_GLrop_LightModeliv 93
+#define X_GLrop_LineStipple 94
+#define X_GLrop_LineWidth 95
+#define X_GLrop_Materialf 96
+#define X_GLrop_Materialfv 97
+#define X_GLrop_Materiali 98
+#define X_GLrop_Materialiv 99
+#define X_GLrop_PointSize 100
+#define X_GLrop_PolygonMode 101
+#define X_GLrop_PolygonStipple 102
+#define X_GLrop_Scissor 103
+#define X_GLrop_ShadeModel 104
+#define X_GLrop_TexParameterf 105
+#define X_GLrop_TexParameterfv 106
+#define X_GLrop_TexParameteri 107
+#define X_GLrop_TexParameteriv 108
+#define X_GLrop_TexImage1D 109
+#define X_GLrop_TexImage2D 110
+#define X_GLrop_TexEnvf 111
+#define X_GLrop_TexEnvfv 112
+#define X_GLrop_TexEnvi 113
+#define X_GLrop_TexEnviv 114
+#define X_GLrop_TexGend 115
+#define X_GLrop_TexGendv 116
+#define X_GLrop_TexGenf 117
+#define X_GLrop_TexGenfv 118
+#define X_GLrop_TexGeni 119
+#define X_GLrop_TexGeniv 120
+#define X_GLrop_InitNames 121
+#define X_GLrop_LoadName 122
+#define X_GLrop_PassThrough 123
+#define X_GLrop_PopName 124
+#define X_GLrop_PushName 125
+#define X_GLrop_DrawBuffer 126
+#define X_GLrop_Clear 127
+#define X_GLrop_ClearAccum 128
+#define X_GLrop_ClearIndex 129
+#define X_GLrop_ClearColor 130
+#define X_GLrop_ClearStencil 131
+#define X_GLrop_ClearDepth 132
+#define X_GLrop_StencilMask 133
+#define X_GLrop_ColorMask 134
+#define X_GLrop_DepthMask 135
+#define X_GLrop_IndexMask 136
+#define X_GLrop_Accum 137
+#define X_GLrop_Disable 138
+#define X_GLrop_Enable 139
+#define X_GLrop_PopAttrib 141
+#define X_GLrop_PushAttrib 142
+#define X_GLrop_Map1d 143
+#define X_GLrop_Map1f 144
+#define X_GLrop_Map2d 145
+#define X_GLrop_Map2f 146
+#define X_GLrop_MapGrid1d 147
+#define X_GLrop_MapGrid1f 148
+#define X_GLrop_MapGrid2d 149
+#define X_GLrop_MapGrid2f 150
+#define X_GLrop_EvalCoord1dv 151
+#define X_GLrop_EvalCoord1fv 152
+#define X_GLrop_EvalCoord2dv 153
+#define X_GLrop_EvalCoord2fv 154
+#define X_GLrop_EvalMesh1 155
+#define X_GLrop_EvalPoint1 156
+#define X_GLrop_EvalMesh2 157
+#define X_GLrop_EvalPoint2 158
+#define X_GLrop_AlphaFunc 159
+#define X_GLrop_BlendFunc 160
+#define X_GLrop_LogicOp 161
+#define X_GLrop_StencilFunc 162
+#define X_GLrop_StencilOp 163
+#define X_GLrop_DepthFunc 164
+#define X_GLrop_PixelZoom 165
+#define X_GLrop_PixelTransferf 166
+#define X_GLrop_PixelTransferi 167
+#define X_GLrop_PixelMapfv 168
+#define X_GLrop_PixelMapuiv 169
+#define X_GLrop_PixelMapusv 170
+#define X_GLrop_ReadBuffer 171
+#define X_GLrop_CopyPixels 172
+#define X_GLrop_DrawPixels 173
+#define X_GLrop_DepthRange 174
+#define X_GLrop_Frustum 175
+#define X_GLrop_LoadIdentity 176
+#define X_GLrop_LoadMatrixf 177
+#define X_GLrop_LoadMatrixd 178
+#define X_GLrop_MatrixMode 179
+#define X_GLrop_MultMatrixf 180
+#define X_GLrop_MultMatrixd 181
+#define X_GLrop_Ortho 182
+#define X_GLrop_PopMatrix 183
+#define X_GLrop_PushMatrix 184
+#define X_GLrop_Rotated 185
+#define X_GLrop_Rotatef 186
+#define X_GLrop_Scaled 187
+#define X_GLrop_Scalef 188
+#define X_GLrop_Translated 189
+#define X_GLrop_Translatef 190
+#define X_GLrop_Viewport 191
+#define X_GLrop_DrawArrays 193
+#define X_GLrop_PolygonOffset 192
+#define X_GLrop_CopyTexImage1D 4119
+#define X_GLrop_CopyTexImage2D 4120
+#define X_GLrop_CopyTexSubImage1D 4121
+#define X_GLrop_CopyTexSubImage2D 4122
+#define X_GLrop_TexSubImage1D 4099
+#define X_GLrop_TexSubImage2D 4100
+#define X_GLrop_BindTexture 4117
+#define X_GLrop_PrioritizeTextures 4118
+#define X_GLrop_Indexubv 194
+#define X_GLrop_BlendColor 4096
+#define X_GLrop_BlendEquation 4097
+#define X_GLrop_ColorTable 2053
+#define X_GLrop_ColorTableParameterfv 2054
+#define X_GLrop_ColorTableParameteriv 2055
+#define X_GLrop_CopyColorTable 2056
+#define X_GLrop_ColorSubTable 195
+#define X_GLrop_CopyColorSubTable 196
+#define X_GLrop_ConvolutionFilter1D 4101
+#define X_GLrop_ConvolutionFilter2D 4102
+#define X_GLrop_ConvolutionParameterf 4103
+#define X_GLrop_ConvolutionParameterfv 4104
+#define X_GLrop_ConvolutionParameteri 4105
+#define X_GLrop_ConvolutionParameteriv 4106
+#define X_GLrop_CopyConvolutionFilter1D 4107
+#define X_GLrop_CopyConvolutionFilter2D 4108
+#define X_GLrop_SeparableFilter2D 4109
+#define X_GLrop_Histogram 4110
+#define X_GLrop_Minmax 4111
+#define X_GLrop_ResetHistogram 4112
+#define X_GLrop_ResetMinmax 4113
+#define X_GLrop_TexImage3D 4114
+#define X_GLrop_TexSubImage3D 4115
+#define X_GLrop_CopyTexSubImage3D 4123
+#define X_GLrop_DrawArraysEXT 4116
+
+/* Added for core GL version 1.3 */
+
+#define X_GLrop_ActiveTextureARB 197
+#define X_GLrop_MultiTexCoord1dvARB 198
+#define X_GLrop_MultiTexCoord1fvARB 199
+#define X_GLrop_MultiTexCoord1ivARB 200
+#define X_GLrop_MultiTexCoord1svARB 201
+#define X_GLrop_MultiTexCoord2dvARB 202
+#define X_GLrop_MultiTexCoord2fvARB 203
+#define X_GLrop_MultiTexCoord2ivARB 204
+#define X_GLrop_MultiTexCoord2svARB 205
+#define X_GLrop_MultiTexCoord3dvARB 206
+#define X_GLrop_MultiTexCoord3fvARB 207
+#define X_GLrop_MultiTexCoord3ivARB 208
+#define X_GLrop_MultiTexCoord3svARB 209
+#define X_GLrop_MultiTexCoord4dvARB 210
+#define X_GLrop_MultiTexCoord4fvARB 211
+#define X_GLrop_MultiTexCoord4ivARB 212
+#define X_GLrop_MultiTexCoord4svARB 213
+#define X_GLrop_CompressedTexImage1D 214
+#define X_GLrop_CompressedTexImage2D 215
+#define X_GLrop_CompressedTexImage3D 216
+#define X_GLrop_CompressedTexSubImage1D 217
+#define X_GLrop_CompressedTexSubImage2D 218
+#define X_GLrop_CompressedTexSubImage3D 219
+#define X_GLrop_SampleCoverageARB 229
+
+/* Added for core GL version 1.4 */
+
+#define X_GLrop_WindowPos3fARB 230
+#define X_GLrop_FogCoordfv 4124
+#define X_GLrop_FogCoorddv 4125
+#define X_GLrop_PointParameterfARB 2065
+#define X_GLrop_PointParameterfvARB 2066
+#define X_GLrop_SecondaryColor3bv 4126
+#define X_GLrop_SecondaryColor3sv 4127
+#define X_GLrop_SecondaryColor3iv 4128
+#define X_GLrop_SecondaryColor3fv 4129
+#define X_GLrop_SecondaryColor3dv 4130
+#define X_GLrop_SecondaryColor3ubv 4131
+#define X_GLrop_SecondaryColor3usv 4132
+#define X_GLrop_SecondaryColor3uiv 4133
+#define X_GLrop_BlendFuncSeparate 4134
+#define X_GLrop_PointParameteri 4221
+#define X_GLrop_PointParameteriv 4222
+
+/* Added for core GL version 1.5 */
+/* XXX opcodes not defined in the spec */
+
+/* Opcodes for Vendor Private commands */
+
+
+#define X_GLvop_GetConvolutionFilterEXT 1
+#define X_GLvop_GetConvolutionParameterfvEXT 2
+#define X_GLvop_GetConvolutionParameterivEXT 3
+#define X_GLvop_GetSeparableFilterEXT 4
+#define X_GLvop_GetHistogramEXT 5
+#define X_GLvop_GetHistogramParameterfvEXT 6
+#define X_GLvop_GetHistogramParameterivEXT 7
+#define X_GLvop_GetMinmaxEXT 8
+#define X_GLvop_GetMinmaxParameterfvEXT 9
+#define X_GLvop_GetMinmaxParameterivEXT 10
+#define X_GLvop_AreTexturesResidentEXT 11
+#define X_GLvop_DeleteTexturesEXT 12
+#define X_GLvop_GenTexturesEXT 13
+#define X_GLvop_IsTextureEXT 14
+#define X_GLvop_GetCombinerInputParameterfvNV 1270
+#define X_GLvop_GetCombinerInputParameterivNV 1271
+#define X_GLvop_GetCombinerOutputParameterfvNV 1272
+#define X_GLvop_GetCombinerOutputParameterivNV 1273
+#define X_GLvop_GetFinalCombinerOutputParameterfvNV 1274
+#define X_GLvop_GetFinalCombinerOutputParameterivNV 1275
+#define X_GLvop_DeleteFenceNV 1276
+#define X_GLvop_GenFencesNV 1277
+#define X_GLvop_IsFenceNV 1278
+#define X_GLvop_TestFenceNV 1279
+#define X_GLvop_GetFenceivNV 1280
+#define X_GLvop_AreProgramsResidentNV 1293
+#define X_GLvop_DeleteProgramARB 1294
+#define X_GLvop_GenProgramsARB 1295
+#define X_GLvop_GetProgramEnvParameterfvARB 1296
+#define X_GLvop_GetProgramEnvParameterdvARB 1297
+#define X_GLvop_GetProgramEnvParameterivNV 1298
+#define X_GLvop_GetProgramStringNV 1299
+#define X_GLvop_GetTrackMatrixivNV 1300
+#define X_GLvop_GetVertexAttribdvARB 1301
+#define X_GLvop_GetVertexAttribfvARB 1302
+#define X_GLvop_GetVertexAttribivARB 1303
+#define X_GLvop_IsProgramARB 1304
+#define X_GLvop_GetProgramLocalParameterfvARB 1305
+#define X_GLvop_GetProgramLocalParameterdvARB 1306
+#define X_GLvop_GetProgramivARB 1307
+#define X_GLvop_GetProgramStringARB 1308
+#define X_GLvop_GetProgramNamedParameter4fvNV 1310
+#define X_GLvop_GetProgramNamedParameter4dvNV 1311
+#define X_GLvop_SampleMaskSGIS 2048
+#define X_GLvop_SamplePatternSGIS 2049
+#define X_GLvop_GetDetailTexFuncSGIS 4096
+#define X_GLvop_GetSharpenTexFuncSGIS 4097
+#define X_GLvop_GetColorTableSGI 4098
+#define X_GLvop_GetColorTableParameterfvSGI 4099
+#define X_GLvop_GetColorTableParameterivSGI 4100
+#define X_GLvop_GetTexFilterFuncSGIS 4101
+#define X_GLvop_GetInstrumentsSGIX 4102
+#define X_GLvop_InstrumentsBufferSGIX 4103
+#define X_GLvop_PollInstrumentsSGIX 4104
+#define X_GLvop_FlushRasterSGIX 4105
+
+/* Opcodes for GLX vendor private commands */
+
+#define X_GLXvop_QueryContextInfoEXT 1024
+#define X_GLXvop_BindTexImageEXT 1330
+#define X_GLXvop_ReleaseTexImageEXT 1331
+#define X_GLXvop_SwapIntervalSGI 65536
+#define X_GLXvop_MakeCurrentReadSGI 65537
+#define X_GLXvop_CreateGLXVideoSourceSGIX 65538
+#define X_GLXvop_DestroyGLXVideoSourceSGIX 65539
+#define X_GLXvop_GetFBConfigsSGIX 65540
+#define X_GLXvop_CreateContextWithConfigSGIX 65541
+#define X_GLXvop_CreateGLXPixmapWithConfigSGIX 65542
+#define X_GLXvop_CreateGLXPbufferSGIX 65543
+#define X_GLXvop_DestroyGLXPbufferSGIX 65544
+#define X_GLXvop_ChangeDrawableAttributesSGIX 65545
+#define X_GLXvop_GetDrawableAttributesSGIX 65546
+#define X_GLXvop_JoinSwapGroupSGIX 65547
+#define X_GLXvop_BindSwapBarrierSGIX 65548
+#define X_GLXvop_QueryMaxSwapBarriersSGIX 65549
+#define X_GLXvop_QueryHyperpipeNetworkSGIX 65550
+#define X_GLXvop_QueryHyperpipeConfigSGIX 65551
+#define X_GLXvop_HyperpipeConfigSGIX 65552
+#define X_GLXvop_DestroyHyperpipeConfigSGIX 65553
+
+/* ARB extension opcodes */
+
+/* 1. GL_ARB_multitexture - see GL 1.2 opcodes */
+/* 5. GL_ARB_multisample - see GL 1.3 opcodes */
+/* 12. GL_ARB_texture_compression - see GL 1.3 opcodes */
+/* 14. GL_ARB_point_parameters - see GL 1.4 opcodees */
+
+/* 15. GL_ARB_vertex_blend */
+#define X_GLrop_WeightbvARB 220
+#define X_GLrop_WeightubvARB 221
+#define X_GLrop_WeightsvARB 222
+#define X_GLrop_WeightusvARB 223
+#define X_GLrop_WeightivARB 224
+#define X_GLrop_WeightuivARB 225
+#define X_GLrop_VertexBlendARB 226
+#define X_GLrop_WeightfvARB 227
+#define X_GLrop_WeightdvARB 228
+
+/* 16. GL_ARB_matrix_palette */
+/* XXX opcodes not defined in the spec */
+
+/* 25. GL_ARB_window_pos - see GL 1.4 opcodes */
+
+/* 26. GL_ARB_vertex_program */
+#define X_GLrop_BindProgramARB 4180
+#define X_GLrop_ProgramEnvParameter4fvARB 4184
+#define X_GLrop_ProgramEnvParameter4dvARB 4185
+#define X_GLrop_VertexAttrib1svARB 4189
+#define X_GLrop_VertexAttrib2svARB 4190
+#define X_GLrop_VertexAttrib3svARB 4191
+#define X_GLrop_VertexAttrib4svARB 4192
+#define X_GLrop_VertexAttrib1fvARB 4193
+#define X_GLrop_VertexAttrib2fvARB 4194
+#define X_GLrop_VertexAttrib3fvARB 4195
+#define X_GLrop_VertexAttrib4fvARB 4196
+#define X_GLrop_VertexAttrib1dvARB 4197
+#define X_GLrop_VertexAttrib2dvARB 4198
+#define X_GLrop_VertexAttrib3dvARB 4199
+#define X_GLrop_ProgramLocalParameter4fvARB 4215
+#define X_GLrop_ProgramLocalParameter4dvARB 4216
+#define X_GLrop_ProgramStringARB 4217
+#define X_GLrop_VertexAttrib4dvARB 4200
+#define X_GLrop_VertexAttrib4NubvARB 4201
+#define X_GLrop_VertexAttrib4bvARB 4230
+#define X_GLrop_VertexAttrib4ivARB 4231
+#define X_GLrop_VertexAttrib4ubvARB 4232
+#define X_GLrop_VertexAttrib4usvARB 4233
+#define X_GLrop_VertexAttrib4uivARB 4234
+#define X_GLrop_VertexAttrib4NbvARB 4235
+#define X_GLrop_VertexAttrib4NsvARB 4236
+#define X_GLrop_VertexAttrib4NivARB 4237
+#define X_GLrop_VertexAttrib4NusvARB 4238
+#define X_GLrop_VertexAttrib4NuivARB 4239
+
+/* 27. GL_ARB_fragment_program - see GL_ARB_vertex_program opcodes */
+
+/* 29. GL_ARB_occlusion_query */
+/* XXX opcodes not defined in the spec */
+
+
+/* New extension opcodes */
+
+/* 145. GL_EXT_secondary_color - see GL 1.4 opcodes */
+
+/* 188. GL_EXT_vertex_weighting */
+#define X_GLrop_VertexWeightfvEXT 4135
+
+/* 191. GL_NV_register_combiners */
+#define X_GLrop_CombinerParameterfNV 4136
+#define X_GLrop_CombinerParameterfvNV 4137
+#define X_GLrop_CombinerParameteriNV 4138
+#define X_GLrop_CombinerParameterivNV 4139
+#define X_GLrop_CombinerInputNV 4140
+#define X_GLrop_CombinerOutputNV 4141
+#define X_GLrop_FinalCombinerInputNV 4142
+
+/* 222. GL_NV_fence */
+#define X_GLrop_SetFenceNV 4143
+#define X_GLrop_FinishFenceNV 4144
+
+/* 227. GL_NV_register_combiners2 */
+/* XXX opcodes not defined in the spec */
+
+/* 233. GL_NV_vertex_program - see also GL_ARB_vertex_program opcodes */
+#define X_GLrop_ExecuteProgramNV 4181
+#define X_GLrop_RequestResidentProgramsNV 4182
+#define X_GLrop_LoadProgamNV 4183
+#define X_GLrop_ProgramParameters4fvNV 4186
+#define X_GLrop_ProgramParameters4dvNV 4187
+#define X_GLrop_TrackMatrixNV 4188
+#define X_GLrop_VertexAttribs1svNV 4202
+#define X_GLrop_VertexAttribs2svNV 4203
+#define X_GLrop_VertexAttribs3svNV 4204
+#define X_GLrop_VertexAttribs4svNV 4205
+#define X_GLrop_VertexAttribs1fvNV 4206
+#define X_GLrop_VertexAttribs2fvNV 4207
+#define X_GLrop_VertexAttribs3fvNV 4208
+#define X_GLrop_VertexAttribs4fvNV 4209
+#define X_GLrop_VertexAttribs1dvNV 4210
+#define X_GLrop_VertexAttribs2dvNV 4211
+#define X_GLrop_VertexAttribs3dvNV 4212
+#define X_GLrop_VertexAttribs4dvNV 4213
+#define X_GLrop_VertexAttribs4ubvNV 4214
+
+/* 261. GL_NV_occlusion_query */
+/* XXX opcodes not defined in the spec */
+
+/* 262. GL_NV_point_sprite - see GL 1.4 opcodes */
+
+/* 268. GL_EXT_stencil_two_side */
+#define X_GLrop_ActiveStencilFaceEXT 4220
+
+/* 282. GL_NV_fragment_program - see also GL_NV_vertex_program and GL_ARB_vertex_program opcodes */
+#define X_GLrop_ProgramNamedParameter4fvNV 4218
+#define X_GLrop_ProgramNamedParameter4dvNV 4219
+
+/* 285. GL_NV_primitive_restart */
+/* XXX opcodes not defined in the spec */
+
+/* 297. GL_EXT_depth_bounds_test */
+#define X_GLrop_DepthBoundsEXT 4229
+
+/* 299. GL_EXT_blend_equation_separate */
+#define X_GLrop_BlendEquationSeparateEXT 4228
+
+/* 310. GL_EXT_framebuffer_object */
+#define X_GLvop_IsRenderbufferEXT 1422
+#define X_GLvop_GenRenderbuffersEXT 1423
+#define X_GLvop_GetRenderbufferParameterivEXT 1424
+#define X_GLvop_IsFramebufferEXT 1425
+#define X_GLvop_GenFramebuffersEXT 1426
+#define X_GLvop_CheckFramebufferStatusEXT 1427
+#define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428
+
+#endif /* _GLX_glxproto_h_ */
diff --git a/glproto/glxtokens.h b/glproto/glxtokens.h
new file mode 100644
index 0000000..949935b
--- /dev/null
+++ b/glproto/glxtokens.h
@@ -0,0 +1,285 @@
+#ifndef __GLX_glxtokens_h__
+#define __GLX_glxtokens_h__
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define GLX_VERSION_1_1 1
+#define GLX_VERSION_1_2 1
+#define GLX_VERSION_1_3 1
+#define GLX_VERSION_1_4 1
+
+/*
+** Visual Config Attributes (glXGetConfig, glXGetFBConfigAttrib)
+*/
+#define GLX_USE_GL 1 /* support GLX rendering */
+#define GLX_BUFFER_SIZE 2 /* depth of the color buffer */
+#define GLX_LEVEL 3 /* level in plane stacking */
+#define GLX_RGBA 4 /* true if RGBA mode */
+#define GLX_DOUBLEBUFFER 5 /* double buffering supported */
+#define GLX_STEREO 6 /* stereo buffering supported */
+#define GLX_AUX_BUFFERS 7 /* number of aux buffers */
+#define GLX_RED_SIZE 8 /* number of red component bits */
+#define GLX_GREEN_SIZE 9 /* number of green component bits */
+#define GLX_BLUE_SIZE 10 /* number of blue component bits */
+#define GLX_ALPHA_SIZE 11 /* number of alpha component bits */
+#define GLX_DEPTH_SIZE 12 /* number of depth bits */
+#define GLX_STENCIL_SIZE 13 /* number of stencil bits */
+#define GLX_ACCUM_RED_SIZE 14 /* number of red accum bits */
+#define GLX_ACCUM_GREEN_SIZE 15 /* number of green accum bits */
+#define GLX_ACCUM_BLUE_SIZE 16 /* number of blue accum bits */
+#define GLX_ACCUM_ALPHA_SIZE 17 /* number of alpha accum bits */
+/*
+** FBConfig-specific attributes
+*/
+#define GLX_X_VISUAL_TYPE 0x22
+#define GLX_CONFIG_CAVEAT 0x20 /* Like visual_info VISUAL_CAVEAT_EXT */
+#define GLX_TRANSPARENT_TYPE 0x23
+#define GLX_TRANSPARENT_INDEX_VALUE 0x24
+#define GLX_TRANSPARENT_RED_VALUE 0x25
+#define GLX_TRANSPARENT_GREEN_VALUE 0x26
+#define GLX_TRANSPARENT_BLUE_VALUE 0x27
+#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
+#define GLX_DRAWABLE_TYPE 0x8010
+#define GLX_RENDER_TYPE 0x8011
+#define GLX_X_RENDERABLE 0x8012
+#define GLX_FBCONFIG_ID 0x8013
+#define GLX_MAX_PBUFFER_WIDTH 0x8016
+#define GLX_MAX_PBUFFER_HEIGHT 0x8017
+#define GLX_MAX_PBUFFER_PIXELS 0x8018
+#define GLX_VISUAL_ID 0x800B
+
+/* FBConfigSGIX Attributes */
+#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
+#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
+
+/*
+** Error return values from glXGetConfig. Success is indicated by
+** a value of 0.
+*/
+#define GLX_BAD_SCREEN 1 /* screen # is bad */
+#define GLX_BAD_ATTRIBUTE 2 /* attribute to get is bad */
+#define GLX_NO_EXTENSION 3 /* no glx extension on server */
+#define GLX_BAD_VISUAL 4 /* visual # not known by GLX */
+#define GLX_BAD_CONTEXT 5 /* returned only by import_context EXT? */
+#define GLX_BAD_VALUE 6 /* returned only by glXSwapIntervalSGI? */
+#define GLX_BAD_ENUM 7 /* unused? */
+
+/* FBConfig attribute values */
+
+/*
+** Generic "don't care" value for glX ChooseFBConfig attributes (except
+** GLX_LEVEL)
+*/
+#define GLX_DONT_CARE 0xFFFFFFFF
+
+/* GLX_RENDER_TYPE bits */
+#define GLX_RGBA_BIT 0x00000001
+#define GLX_COLOR_INDEX_BIT 0x00000002
+
+/* GLX_DRAWABLE_TYPE bits */
+#define GLX_WINDOW_BIT 0x00000001
+#define GLX_PIXMAP_BIT 0x00000002
+#define GLX_PBUFFER_BIT 0x00000004
+
+/* GLX_CONFIG_CAVEAT attribute values */
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+
+/* GLX_X_VISUAL_TYPE attribute values */
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+
+/* GLX_TRANSPARENT_TYPE attribute values */
+/* #define GLX_NONE 0x8000 */
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+
+/* glXCreateGLXPbuffer attributes */
+#define GLX_PRESERVED_CONTENTS 0x801B
+#define GLX_LARGEST_PBUFFER 0x801C
+#define GLX_PBUFFER_HEIGHT 0x8040 /* New for GLX 1.3 */
+#define GLX_PBUFFER_WIDTH 0x8041 /* New for GLX 1.3 */
+
+/* glXQueryGLXPBuffer attributes */
+#define GLX_WIDTH 0x801D
+#define GLX_HEIGHT 0x801E
+#define GLX_EVENT_MASK 0x801F
+
+/* glXCreateNewContext render_type attribute values */
+#define GLX_RGBA_TYPE 0x8014
+#define GLX_COLOR_INDEX_TYPE 0x8015
+
+/* glXQueryContext attributes */
+/* #define GLX_FBCONFIG_ID 0x8013 */
+/* #define GLX_RENDER_TYPE 0x8011 */
+#define GLX_SCREEN 0x800C
+
+/* glXSelectEvent event mask bits */
+#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
+#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x04000000
+
+/* GLXPbufferClobberEvent event_type values */
+#define GLX_DAMAGED 0x8020
+#define GLX_SAVED 0x8021
+#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180
+#define GLX_BLIT_COMPLETE_INTEL 0x8181
+#define GLX_FLIP_COMPLETE_INTEL 0x8182
+
+/* GLXPbufferClobberEvent draw_type values */
+#define GLX_WINDOW 0x8022
+#define GLX_PBUFFER 0x8023
+
+/* GLXPbufferClobberEvent buffer_mask bits */
+#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
+#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
+#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
+#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
+#define GLX_AUX_BUFFERS_BIT 0x00000010
+#define GLX_DEPTH_BUFFER_BIT 0x00000020
+#define GLX_STENCIL_BUFFER_BIT 0x00000040
+#define GLX_ACCUM_BUFFER_BIT 0x00000080
+
+/*
+** Extension return values from glXGetConfig. These are also
+** accepted as parameter values for glXChooseVisual.
+*/
+
+#define GLX_X_VISUAL_TYPE_EXT 0x22 /* visual_info extension type */
+#define GLX_TRANSPARENT_TYPE_EXT 0x23 /* visual_info extension */
+#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 /* visual_info extension */
+#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 /* visual_info extension */
+#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 /* visual_info extension */
+#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 /* visual_info extension */
+#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 /* visual_info extension */
+
+/* Property values for visual_type */
+#define GLX_TRUE_COLOR_EXT 0x8002
+#define GLX_DIRECT_COLOR_EXT 0x8003
+#define GLX_PSEUDO_COLOR_EXT 0x8004
+#define GLX_STATIC_COLOR_EXT 0x8005
+#define GLX_GRAY_SCALE_EXT 0x8006
+#define GLX_STATIC_GRAY_EXT 0x8007
+
+/* Property values for transparent pixel */
+#define GLX_NONE_EXT 0x8000
+#define GLX_TRANSPARENT_RGB_EXT 0x8008
+#define GLX_TRANSPARENT_INDEX_EXT 0x8009
+
+/* Property values for visual_rating */
+#define GLX_VISUAL_CAVEAT_EXT 0x20 /* visual_rating extension type */
+#define GLX_SLOW_VISUAL_EXT 0x8001
+#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D
+
+/* Property values for swap method (GLX_OML_swap_method) */
+#define GLX_SWAP_METHOD_OML 0x8060
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+
+/* Property values for multi-sampling */
+#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 /* visuals grouped by select priority */
+
+/*
+** Names for attributes to glXGetClientString.
+*/
+#define GLX_VENDOR 0x1
+#define GLX_VERSION 0x2
+#define GLX_EXTENSIONS 0x3
+
+/*
+** Names for attributes to glXQueryContextInfoEXT.
+*/
+#define GLX_SHARE_CONTEXT_EXT 0x800A /* id of share context */
+#define GLX_VISUAL_ID_EXT 0x800B /* id of context's visual */
+#define GLX_SCREEN_EXT 0x800C /* screen number */
+
+/*
+** GLX_EXT_texture_from_pixmap
+*/
+#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20D0
+#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20D1
+#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20D2
+#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20D3
+#define GLX_Y_INVERTED_EXT 0x20D4
+
+#define GLX_TEXTURE_FORMAT_EXT 0x20D5
+#define GLX_TEXTURE_TARGET_EXT 0x20D6
+#define GLX_MIPMAP_TEXTURE_EXT 0x20D7
+
+#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20D8
+#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20D9
+#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20DA
+
+#define GLX_TEXTURE_1D_BIT_EXT 0x00000001
+#define GLX_TEXTURE_2D_BIT_EXT 0x00000002
+#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x00000004
+
+#define GLX_TEXTURE_1D_EXT 0x20DB
+#define GLX_TEXTURE_2D_EXT 0x20DC
+#define GLX_TEXTURE_RECTANGLE_EXT 0x20DD
+
+#define GLX_FRONT_LEFT_EXT 0x20DE
+#define GLX_FRONT_RIGHT_EXT 0x20DF
+#define GLX_BACK_LEFT_EXT 0x20E0
+#define GLX_BACK_RIGHT_EXT 0x20E1
+#define GLX_FRONT_EXT GLX_FRONT_LEFT_EXT
+#define GLX_BACK_EXT GLX_BACK_LEFT_EXT
+#define GLX_AUX0_EXT 0x20E2
+#define GLX_AUX1_EXT 0x20E3
+#define GLX_AUX2_EXT 0x20E4
+#define GLX_AUX3_EXT 0x20E5
+#define GLX_AUX4_EXT 0x20E6
+#define GLX_AUX5_EXT 0x20E7
+#define GLX_AUX6_EXT 0x20E8
+#define GLX_AUX7_EXT 0x20E9
+#define GLX_AUX8_EXT 0x20EA
+#define GLX_AUX9_EXT 0x20EB
+
+/*
+ * GLX 1.4 and later:
+ */
+#define GLX_SAMPLE_BUFFERS_SGIS 100000
+#define GLX_SAMPLES_SGIS 100001
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* !__GLX_glxtokens_h__ */
diff --git a/inputproto/.gitignore b/inputproto/.gitignore
new file mode 100644
index 0000000..d1359e6
--- /dev/null
+++ b/inputproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for inputproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/inputproto/COPYING b/inputproto/COPYING
new file mode 100644
index 0000000..f0b75c0
--- /dev/null
+++ b/inputproto/COPYING
@@ -0,0 +1,63 @@
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+Copyright © 2009 Red Hat, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
diff --git a/inputproto/Makefile.am b/inputproto/Makefile.am
new file mode 100644
index 0000000..77d1ea7
--- /dev/null
+++ b/inputproto/Makefile.am
@@ -0,0 +1,24 @@
+inputdir = $(includedir)/X11/extensions
+input_HEADERS = \
+ XI.h \
+ XIproto.h \
+ XI2.h \
+ XI2proto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = inputproto.pc
+
+dist_doc_DATA = XI2proto.txt XIproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/inputproto/README b/inputproto/README
new file mode 100644
index 0000000..6b98e2b
--- /dev/null
+++ b/inputproto/README
@@ -0,0 +1,30 @@
+ X Input Extension
+
+This extension defines a protocol to provide additional input devices
+management such as graphic tablets.
+
+Extension name: XInputExtension
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/inputproto
+
+ http://cgit.freedesktop.org/xorg/proto/inputproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/inputproto/XI.h b/inputproto/XI.h
new file mode 100644
index 0000000..7b44399
--- /dev/null
+++ b/inputproto/XI.h
@@ -0,0 +1,308 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/* Definitions used by the server, library and client */
+
+#ifndef _XI_H_
+#define _XI_H_
+
+#define sz_xGetExtensionVersionReq 8
+#define sz_xGetExtensionVersionReply 32
+#define sz_xListInputDevicesReq 4
+#define sz_xListInputDevicesReply 32
+#define sz_xOpenDeviceReq 8
+#define sz_xOpenDeviceReply 32
+#define sz_xCloseDeviceReq 8
+#define sz_xSetDeviceModeReq 8
+#define sz_xSetDeviceModeReply 32
+#define sz_xSelectExtensionEventReq 12
+#define sz_xGetSelectedExtensionEventsReq 8
+#define sz_xGetSelectedExtensionEventsReply 32
+#define sz_xChangeDeviceDontPropagateListReq 12
+#define sz_xGetDeviceDontPropagateListReq 8
+#define sz_xGetDeviceDontPropagateListReply 32
+#define sz_xGetDeviceMotionEventsReq 16
+#define sz_xGetDeviceMotionEventsReply 32
+#define sz_xChangeKeyboardDeviceReq 8
+#define sz_xChangeKeyboardDeviceReply 32
+#define sz_xChangePointerDeviceReq 8
+#define sz_xChangePointerDeviceReply 32
+#define sz_xGrabDeviceReq 20
+#define sz_xGrabDeviceReply 32
+#define sz_xUngrabDeviceReq 12
+#define sz_xGrabDeviceKeyReq 20
+#define sz_xGrabDeviceKeyReply 32
+#define sz_xUngrabDeviceKeyReq 16
+#define sz_xGrabDeviceButtonReq 20
+#define sz_xGrabDeviceButtonReply 32
+#define sz_xUngrabDeviceButtonReq 16
+#define sz_xAllowDeviceEventsReq 12
+#define sz_xGetDeviceFocusReq 8
+#define sz_xGetDeviceFocusReply 32
+#define sz_xSetDeviceFocusReq 16
+#define sz_xGetFeedbackControlReq 8
+#define sz_xGetFeedbackControlReply 32
+#define sz_xChangeFeedbackControlReq 12
+#define sz_xGetDeviceKeyMappingReq 8
+#define sz_xGetDeviceKeyMappingReply 32
+#define sz_xChangeDeviceKeyMappingReq 8
+#define sz_xGetDeviceModifierMappingReq 8
+#define sz_xSetDeviceModifierMappingReq 8
+#define sz_xSetDeviceModifierMappingReply 32
+#define sz_xGetDeviceButtonMappingReq 8
+#define sz_xGetDeviceButtonMappingReply 32
+#define sz_xSetDeviceButtonMappingReq 8
+#define sz_xSetDeviceButtonMappingReply 32
+#define sz_xQueryDeviceStateReq 8
+#define sz_xQueryDeviceStateReply 32
+#define sz_xSendExtensionEventReq 16
+#define sz_xDeviceBellReq 8
+#define sz_xSetDeviceValuatorsReq 8
+#define sz_xSetDeviceValuatorsReply 32
+#define sz_xGetDeviceControlReq 8
+#define sz_xGetDeviceControlReply 32
+#define sz_xChangeDeviceControlReq 8
+#define sz_xChangeDeviceControlReply 32
+#define sz_xListDevicePropertiesReq 8
+#define sz_xListDevicePropertiesReply 32
+#define sz_xChangeDevicePropertyReq 20
+#define sz_xDeleteDevicePropertyReq 12
+#define sz_xGetDevicePropertyReq 24
+#define sz_xGetDevicePropertyReply 32
+
+#define INAME "XInputExtension"
+
+#define XI_KEYBOARD "KEYBOARD"
+#define XI_MOUSE "MOUSE"
+#define XI_TABLET "TABLET"
+#define XI_TOUCHSCREEN "TOUCHSCREEN"
+#define XI_TOUCHPAD "TOUCHPAD"
+#define XI_BARCODE "BARCODE"
+#define XI_BUTTONBOX "BUTTONBOX"
+#define XI_KNOB_BOX "KNOB_BOX"
+#define XI_ONE_KNOB "ONE_KNOB"
+#define XI_NINE_KNOB "NINE_KNOB"
+#define XI_TRACKBALL "TRACKBALL"
+#define XI_QUADRATURE "QUADRATURE"
+#define XI_ID_MODULE "ID_MODULE"
+#define XI_SPACEBALL "SPACEBALL"
+#define XI_DATAGLOVE "DATAGLOVE"
+#define XI_EYETRACKER "EYETRACKER"
+#define XI_CURSORKEYS "CURSORKEYS"
+#define XI_FOOTMOUSE "FOOTMOUSE"
+#define XI_JOYSTICK "JOYSTICK"
+
+/* Indices into the versions[] array (XExtInt.c). Used as a index to
+ * retrieve the minimum version of XI from _XiCheckExtInit */
+#define Dont_Check 0
+#define XInput_Initial_Release 1
+#define XInput_Add_XDeviceBell 2
+#define XInput_Add_XSetDeviceValuators 3
+#define XInput_Add_XChangeDeviceControl 4
+#define XInput_Add_DevicePresenceNotify 5
+#define XInput_Add_DeviceProperties 6
+/* DO NOT ADD TO HERE -> XI2 */
+
+#define XI_Absent 0
+#define XI_Present 1
+
+#define XI_Initial_Release_Major 1
+#define XI_Initial_Release_Minor 0
+
+#define XI_Add_XDeviceBell_Major 1
+#define XI_Add_XDeviceBell_Minor 1
+
+#define XI_Add_XSetDeviceValuators_Major 1
+#define XI_Add_XSetDeviceValuators_Minor 2
+
+#define XI_Add_XChangeDeviceControl_Major 1
+#define XI_Add_XChangeDeviceControl_Minor 3
+
+#define XI_Add_DevicePresenceNotify_Major 1
+#define XI_Add_DevicePresenceNotify_Minor 4
+
+#define XI_Add_DeviceProperties_Major 1
+#define XI_Add_DeviceProperties_Minor 5
+
+#define DEVICE_RESOLUTION 1
+#define DEVICE_ABS_CALIB 2
+#define DEVICE_CORE 3
+#define DEVICE_ENABLE 4
+#define DEVICE_ABS_AREA 5
+
+#define NoSuchExtension 1
+
+#define COUNT 0
+#define CREATE 1
+
+#define NewPointer 0
+#define NewKeyboard 1
+
+#define XPOINTER 0
+#define XKEYBOARD 1
+
+#define UseXKeyboard 0xFF
+
+#define IsXPointer 0
+#define IsXKeyboard 1
+#define IsXExtensionDevice 2
+#define IsXExtensionKeyboard 3
+#define IsXExtensionPointer 4
+
+#define AsyncThisDevice 0
+#define SyncThisDevice 1
+#define ReplayThisDevice 2
+#define AsyncOtherDevices 3
+#define AsyncAll 4
+#define SyncAll 5
+
+#define FollowKeyboard 3
+#ifndef RevertToFollowKeyboard
+#define RevertToFollowKeyboard 3
+#endif
+
+#define DvAccelNum (1L << 0)
+#define DvAccelDenom (1L << 1)
+#define DvThreshold (1L << 2)
+
+#define DvKeyClickPercent (1L<<0)
+#define DvPercent (1L<<1)
+#define DvPitch (1L<<2)
+#define DvDuration (1L<<3)
+#define DvLed (1L<<4)
+#define DvLedMode (1L<<5)
+#define DvKey (1L<<6)
+#define DvAutoRepeatMode (1L<<7)
+
+#define DvString (1L << 0)
+
+#define DvInteger (1L << 0)
+
+#define DeviceMode (1L << 0)
+#define Relative 0
+#define Absolute 1
+
+#define ProximityState (1L << 1)
+#define InProximity (0L << 1)
+#define OutOfProximity (1L << 1)
+
+#define AddToList 0
+#define DeleteFromList 1
+
+#define KeyClass 0
+#define ButtonClass 1
+#define ValuatorClass 2
+#define FeedbackClass 3
+#define ProximityClass 4
+#define FocusClass 5
+#define OtherClass 6
+#define AttachClass 7
+
+#define KbdFeedbackClass 0
+#define PtrFeedbackClass 1
+#define StringFeedbackClass 2
+#define IntegerFeedbackClass 3
+#define LedFeedbackClass 4
+#define BellFeedbackClass 5
+
+#define _devicePointerMotionHint 0
+#define _deviceButton1Motion 1
+#define _deviceButton2Motion 2
+#define _deviceButton3Motion 3
+#define _deviceButton4Motion 4
+#define _deviceButton5Motion 5
+#define _deviceButtonMotion 6
+#define _deviceButtonGrab 7
+#define _deviceOwnerGrabButton 8
+#define _noExtensionEvent 9
+
+#define _devicePresence 0
+
+#define _deviceEnter 0
+#define _deviceLeave 1
+
+/* Device presence notify states */
+#define DeviceAdded 0
+#define DeviceRemoved 1
+#define DeviceEnabled 2
+#define DeviceDisabled 3
+#define DeviceUnrecoverable 4
+#define DeviceControlChanged 5
+
+/* XI Errors */
+#define XI_BadDevice 0
+#define XI_BadEvent 1
+#define XI_BadMode 2
+#define XI_DeviceBusy 3
+#define XI_BadClass 4
+
+/*
+ * Make XEventClass be a CARD32 for 64 bit servers. Don't affect client
+ * definition of XEventClass since that would be a library interface change.
+ * See the top of X.h for more _XSERVER64 magic.
+ *
+ * But, don't actually use the CARD32 type. We can't get it defined here
+ * without polluting the namespace.
+ */
+#ifdef _XSERVER64
+typedef unsigned int XEventClass;
+#else
+typedef unsigned long XEventClass;
+#endif
+
+/*******************************************************************
+ *
+ * Extension version structure.
+ *
+ */
+
+typedef struct {
+ int present;
+ short major_version;
+ short minor_version;
+} XExtensionVersion;
+
+#endif /* _XI_H_ */
diff --git a/inputproto/XI2.h b/inputproto/XI2.h
new file mode 100644
index 0000000..6ba1377
--- /dev/null
+++ b/inputproto/XI2.h
@@ -0,0 +1,181 @@
+/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _XI2_H_
+#define _XI2_H_
+
+/* Indices into the versions[] array (XExtInt.c). Used as a index to
+ * retrieve the minimum version of XI from _XiCheckExtInit.
+ * For indices 0 to 6 see XI.h */
+#ifndef Dont_Check /* defined in XI.h */
+#define Dont_Check 0
+#endif
+#define XInput_2_0 7
+
+
+#define XI_2_Major 2
+#define XI_2_Minor 0
+
+/* Property event flags */
+#define XIPropertyDeleted 0
+#define XIPropertyCreated 1
+#define XIPropertyModified 2
+
+/* Enter/Leave and Focus In/Out modes */
+#define XINotifyNormal 0
+#define XINotifyGrab 1
+#define XINotifyUngrab 2
+#define XINotifyWhileGrabbed 3
+#define XINotifyPassiveGrab 4
+#define XINotifyPassiveUngrab 5
+
+/* Enter/Leave and focus In/out detail */
+#define XINotifyAncestor 0
+#define XINotifyVirtual 1
+#define XINotifyInferior 2
+#define XINotifyNonlinear 3
+#define XINotifyNonlinearVirtual 4
+#define XINotifyPointer 5
+#define XINotifyPointerRoot 6
+#define XINotifyDetailNone 7
+
+/* Passive grab types */
+#define XIGrabtypeButton 0
+#define XIGrabtypeKeycode 1
+#define XIGrabtypeEnter 2
+#define XIGrabtypeFocusIn 3
+
+/* Passive grab modifier */
+#define XIAnyModifier (1U << 31)
+#define XIAnyButton 0
+#define XIAnyKeycode 0
+
+/* XIAllowEvents event-modes */
+#define XIAsyncDevice 0
+#define XISyncDevice 1
+#define XIReplayDevice 2
+#define XIAsyncPairedDevice 3
+#define XIAsyncPair 4
+#define XISyncPair 5
+
+/* DeviceChangedEvent change reasons */
+#define XISlaveSwitch 1
+#define XIDeviceChange 2
+
+/* Hierarchy flags */
+#define XIMasterAdded (1 << 0)
+#define XIMasterRemoved (1 << 1)
+#define XISlaveAdded (1 << 2)
+#define XISlaveRemoved (1 << 3)
+#define XISlaveAttached (1 << 4)
+#define XISlaveDetached (1 << 5)
+#define XIDeviceEnabled (1 << 6)
+#define XIDeviceDisabled (1 << 7)
+
+/* ChangeHierarchy constants */
+#define XIAddMaster 1
+#define XIRemoveMaster 2
+#define XIAttachSlave 3
+#define XIDetachSlave 4
+
+#define XIAttachToMaster 1
+#define XIFloating 2
+
+/* Valuator modes */
+#define XIModeRelative 0
+#define XIModeAbsolute 1
+
+/* Device types */
+#define XIMasterPointer 1
+#define XIMasterKeyboard 2
+#define XISlavePointer 3
+#define XISlaveKeyboard 4
+#define XIFloatingSlave 5
+
+/* Device classes */
+#define XIKeyClass 0
+#define XIButtonClass 1
+#define XIValuatorClass 2
+
+/* Device event flags (common) */
+/* Device event flags (key events only) */
+#define XIKeyRepeat (1 << 16)
+/* Device event flags (pointer events only) */
+
+/* XI2 event mask macros */
+#define XISetMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] |= (1 << ((event) & 7)))
+#define XIClearMask(ptr, event) (((unsigned char*)(ptr))[(event)>>3] &= ~(1 << ((event) & 7)))
+#define XIMaskIsSet(ptr, event) (((unsigned char*)(ptr))[(event)>>3] & (1 << ((event) & 7)))
+#define XIMaskLen(event) (((event + 7) >> 3))
+
+/* Fake device ID's for event selection */
+#define XIAllDevices 0
+#define XIAllMasterDevices 1
+
+/* Event types */
+#define XI_DeviceChanged 1
+#define XI_KeyPress 2
+#define XI_KeyRelease 3
+#define XI_ButtonPress 4
+#define XI_ButtonRelease 5
+#define XI_Motion 6
+#define XI_Enter 7
+#define XI_Leave 8
+#define XI_FocusIn 9
+#define XI_FocusOut 10
+#define XI_HierarchyChanged 11
+#define XI_PropertyEvent 12
+#define XI_RawKeyPress 13
+#define XI_RawKeyRelease 14
+#define XI_RawButtonPress 15
+#define XI_RawButtonRelease 16
+#define XI_RawMotion 17
+#define XI_LASTEVENT XI_RawMotion
+/* NOTE: XI2LASTEVENT in xserver/include/inputstr.h must be the same value
+ * as XI_LASTEVENT if the server is supposed to handle masks etc. for this
+ * type of event. */
+
+/* Event masks.
+ * Note: the protocol spec defines a mask to be of (1 << type). Clients are
+ * free to create masks by bitshifting instead of using these defines.
+ */
+#define XI_DeviceChangedMask (1 << XI_DeviceChanged)
+#define XI_KeyPressMask (1 << XI_KeyPress)
+#define XI_KeyReleaseMask (1 << XI_KeyRelease)
+#define XI_ButtonPressMask (1 << XI_ButtonPress)
+#define XI_ButtonReleaseMask (1 << XI_ButtonRelease)
+#define XI_MotionMask (1 << XI_Motion)
+#define XI_EnterMask (1 << XI_Enter)
+#define XI_LeaveMask (1 << XI_Leave)
+#define XI_FocusInMask (1 << XI_FocusIn)
+#define XI_FocusOutMask (1 << XI_FocusOut)
+#define XI_HierarchyChangedMask (1 << XI_HierarchyChanged)
+#define XI_PropertyEventMask (1 << XI_PropertyEvent)
+#define XI_RawKeyPressMask (1 << XI_RawKeyPress)
+#define XI_RawKeyReleaseMask (1 << XI_RawKeyRelease)
+#define XI_RawButtonPressMask (1 << XI_RawButtonPress)
+#define XI_RawButtonReleaseMask (1 << XI_RawButtonRelease)
+#define XI_RawMotionMask (1 << XI_RawMotion)
+
+#endif /* _XI2_H_ */
diff --git a/inputproto/XI2proto.h b/inputproto/XI2proto.h
new file mode 100644
index 0000000..2fd91eb
--- /dev/null
+++ b/inputproto/XI2proto.h
@@ -0,0 +1,976 @@
+/*
+ * Copyright © 2009 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+
+/* Conventions for this file:
+ * Names:
+ * structs: always typedef'd, prefixed with xXI, CamelCase
+ * struct members: lower_case_with_underscores
+ * Exceptions: reqType, ReqType, repType, RepType, sequenceNumber are
+ * named as such for historical reasons.
+ * request opcodes: X_XIRequestName as CamelCase
+ * defines: defines used in client applications must go in XI2.h
+ * defines used only in protocol handling: XISOMENAME
+ *
+ * Data types: unless there is a historical name for a datatype (e.g.
+ * Window), use stdint types specifying the size of the datatype.
+ * historical data type names must be defined and undefined at the top and
+ * end of the file.
+ *
+ * General:
+ * spaces, not tabs.
+ * structs specific to a request or reply added before the request
+ * definition. structs used in more than one request, reply or event
+ * appended to the common structs section before the definition of the
+ * first request.
+ * members of structs vertically aligned on column 16 if datatypes permit.
+ * otherwise alingned on next available 8n column.
+ */
+
+/**
+ * Protocol definitions for the XI2 protocol.
+ * This file should not be included by clients that merely use XI2, but do not
+ * need the wire protocol. Such clients should include XI2.h, or the matching
+ * header from the library.
+ *
+ */
+#ifndef _XI2PROTO_H_
+#define _XI2PROTO_H_
+
+#include <X11/Xproto.h>
+#include <X11/X.h>
+#include <X11/extensions/XI2.h>
+
+/* make sure types have right sizes for protocol structures. */
+#define Window uint32_t
+#define Time uint32_t
+#define Atom uint32_t
+#define Cursor uint32_t
+
+/**
+ * XI2 Request opcodes
+ */
+#define X_XIQueryPointer 40
+#define X_XIWarpPointer 41
+#define X_XIChangeCursor 42
+#define X_XIChangeHierarchy 43
+#define X_XISetClientPointer 44
+#define X_XIGetClientPointer 45
+#define X_XISelectEvents 46
+#define X_XIQueryVersion 47
+#define X_XIQueryDevice 48
+#define X_XISetFocus 49
+#define X_XIGetFocus 50
+#define X_XIGrabDevice 51
+#define X_XIUngrabDevice 52
+#define X_XIAllowEvents 53
+#define X_XIPassiveGrabDevice 54
+#define X_XIPassiveUngrabDevice 55
+#define X_XIListProperties 56
+#define X_XIChangeProperty 57
+#define X_XIDeleteProperty 58
+#define X_XIGetProperty 59
+#define X_XIGetSelectedEvents 60
+
+/** Number of XI requests */
+#define XI2REQUESTS (X_XIGetSelectedEvents - X_XIQueryPointer + 1)
+/** Number of XI2 events */
+#define XI2EVENTS (XI_LASTEVENT + 1)
+
+/*************************************************************************************
+ * *
+ * COMMON STRUCTS *
+ * *
+ *************************************************************************************/
+/** Fixed point 16.16 */
+typedef int32_t FP1616;
+
+/** Fixed point 32.32 */
+typedef struct {
+ int32_t integral;
+ uint32_t frac;
+} FP3232;
+
+/**
+ * Struct to describe a device.
+ *
+ * For a MasterPointer or a MasterKeyboard, 'attachment' specifies the
+ * paired master device.
+ * For a SlaveKeyboard or SlavePointer, 'attachment' specifies the master
+ * device this device is attached to.
+ * For a FloatingSlave, 'attachment' is undefined.
+ */
+typedef struct {
+ uint16_t deviceid;
+ uint16_t use; /**< ::XIMasterPointer, ::XIMasterKeyboard,
+ ::XISlavePointer, ::XISlaveKeyboard,
+ ::XIFloatingSlave */
+ uint16_t attachment; /**< Current attachment or pairing.*/
+ uint16_t num_classes; /**< Number of classes following this struct. */
+ uint16_t name_len; /**< Length of name in bytes. */
+ uint8_t enabled; /**< TRUE if device is enabled. */
+ uint8_t pad;
+} xXIDeviceInfo;
+
+/**
+ * Default template for a device class.
+ * A device class is equivalent to a device's capabilities. Multiple classes
+ * are supported per device.
+ */
+typedef struct {
+ uint16_t type; /**< One of *class */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t pad;
+} xXIAnyInfo;
+
+/**
+ * Denotes button capability on a device.
+ * Struct is followed by num_buttons * Atom that names the buttons in the
+ * device-native setup (i.e. ignoring button mappings).
+ */
+typedef struct {
+ uint16_t type; /**< Always ButtonClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t num_buttons; /**< Number of buttons provide */
+} xXIButtonInfo;
+
+/**
+ * Denotes key capability on a device.
+ * Struct is followed by num_keys * CARD32 that lists the keycodes available
+ * on the device.
+ */
+typedef struct {
+ uint16_t type; /**< Always KeyClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t num_keycodes; /**< Number of keys provided */
+} xXIKeyInfo;
+
+/**
+ * Denotes an valuator capability on a device.
+ * One XIValuatorInfo describes exactly one valuator (axis) on the device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ValuatorClass */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t sourceid; /**< source device for this class */
+ uint16_t number; /**< Valuator number */
+ Atom label; /**< Axis label */
+ FP3232 min; /**< Min value */
+ FP3232 max; /**< Max value */
+ FP3232 value; /**< Last published value */
+ uint32_t resolution; /**< Resolutions in units/m */
+ uint8_t mode; /**< ModeRelative or ModeAbsolute */
+ uint8_t pad1;
+ uint16_t pad2;
+} xXIValuatorInfo;
+
+
+/**
+ * Used to select for events on a given window.
+ * Struct is followed by (mask_len * CARD8), with each bit set representing
+ * the event mask for the given type. A mask bit represents an event type if
+ * (mask == (1 << type)).
+ */
+typedef struct {
+ uint16_t deviceid; /**< Device id to select for */
+ uint16_t mask_len; /**< Length of mask in 4 byte units */
+} xXIEventMask;
+
+/**
+ * XKB modifier information.
+ * The effective modifier is a binary mask of base, latched, and locked
+ * modifiers.
+ */
+typedef struct
+{
+ uint32_t base_mods; /**< Logically pressed modifiers */
+ uint32_t latched_mods; /**< Logically latched modifiers */
+ uint32_t locked_mods; /**< Logically locked modifiers */
+ uint32_t effective_mods; /**< Effective modifiers */
+} xXIModifierInfo;
+
+/**
+ * XKB group information.
+ * The effective group is the mathematical sum of base, latched, and locked
+ * group after group wrapping is taken into account.
+ */
+typedef struct
+{
+ uint8_t base_group; /**< Logically "pressed" group */
+ uint8_t latched_group; /**< Logically latched group */
+ uint8_t locked_group; /**< Logically locked group */
+ uint8_t effective_group; /**< Effective group */
+} xXIGroupInfo;
+
+
+/*************************************************************************************
+ * *
+ * REQUESTS *
+ * *
+ *************************************************************************************/
+
+/**
+ * Query the server for the supported X Input extension version.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryVersion */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t major_version;
+ uint16_t minor_version;
+} xXIQueryVersionReq;
+#define sz_xXIQueryVersionReq 8
+
+typedef struct {
+ uint8_t repType; /**< ::X_Reply */
+ uint8_t RepType; /**< Always ::X_XIQueryVersion */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t major_version;
+ uint16_t minor_version;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIQueryVersionReply;
+#define sz_xXIQueryVersionReply 32
+
+/**
+ * Query the server for information about a specific device or all input
+ * devices.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIQueryDeviceReq;
+#define sz_xXIQueryDeviceReq 8
+
+typedef struct {
+ uint8_t repType; /**< ::X_Reply */
+ uint8_t RepType; /**< Always ::X_XIQueryDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_devices;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIQueryDeviceReply;
+#define sz_xXIQueryDeviceReply 32
+
+/**
+ * Select for events on a given window.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XISelectEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t num_masks;
+ uint16_t pad;
+} xXISelectEventsReq;
+#define sz_xXISelectEventsReq 12
+
+/**
+ * Query for selected events on a given window.
+ */
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIGetSelectedEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+} xXIGetSelectedEventsReq;
+#define sz_xXIGetSelectedEventsReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGetSelectedEvents */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_masks; /**< Number of xXIEventMask structs
+ trailing the reply */
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetSelectedEventsReply;
+#define sz_xXIGetSelectedEventsReply 32
+
+/**
+ * Query the given device's screen/window coordinates.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIQueryPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIQueryPointerReq;
+#define sz_xXIQueryPointerReq 12
+
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIQueryPointer */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Window root;
+ Window child;
+ FP1616 root_x;
+ FP1616 root_y;
+ FP1616 win_x;
+ FP1616 win_y;
+ uint8_t same_screen;
+ uint8_t pad0;
+ uint16_t buttons_len;
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIQueryPointerReply;
+#define sz_xXIQueryPointerReply 56
+
+/**
+ * Warp the given device's pointer to the specified position.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIWarpPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window src_win;
+ Window dst_win;
+ FP1616 src_x;
+ FP1616 src_y;
+ uint16_t src_width;
+ uint16_t src_height;
+ FP1616 dst_x;
+ FP1616 dst_y;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIWarpPointerReq;
+#define sz_xXIWarpPointerReq 36
+
+/**
+ * Change the given device's sprite to the given cursor.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIChangeCursor */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ Cursor cursor;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXIChangeCursorReq;
+#define sz_xXIChangeCursorReq 16
+
+/**
+ * Modify the device hierarchy.
+ */
+
+typedef struct {
+ uint8_t reqType; /**< Input extension major code */
+ uint8_t ReqType; /**< Always ::X_XIChangeHierarchy */
+ uint16_t length; /**< Length in 4 byte units */
+ uint8_t num_changes;
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIChangeHierarchyReq;
+#define sz_xXIChangeHierarchyReq 8
+
+/**
+ * Generic header for any hierarchy change.
+ */
+typedef struct {
+ uint16_t type;
+ uint16_t length; /**< Length in 4 byte units */
+} xXIAnyHierarchyChangeInfo;
+
+/**
+ * Create a new master device.
+ * Name of new master follows struct (4-byte padded)
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIAddMaster */
+ uint16_t length; /**< 2 + (namelen + padding)/4 */
+ uint16_t name_len;
+ uint8_t send_core;
+ uint8_t enable;
+} xXIAddMasterInfo;
+
+/**
+ * Delete a master device. Will automatically delete the master device paired
+ * with the given master device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIRemoveMaster */
+ uint16_t length; /**< 3 */
+ uint16_t deviceid;
+ uint8_t return_mode; /**< ::XIAttachToMaster, ::XIFloating */
+ uint8_t pad;
+ uint16_t return_pointer; /**< Pointer to attach slave ptr devices to */
+ uint16_t return_keyboard; /**< keyboard to attach slave keybd devices to*/
+} xXIRemoveMasterInfo;
+
+/**
+ * Attach an SD to a new device.
+ * NewMaster has to be of same type (pointer->pointer, keyboard->keyboard);
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIAttachSlave */
+ uint16_t length; /**< 2 */
+ uint16_t deviceid;
+ uint16_t new_master; /**< id of new master device */
+} xXIAttachSlaveInfo;
+
+/**
+ * Detach an SD from its current master device.
+ */
+typedef struct {
+ uint16_t type; /**< Always ::XIDetachSlave */
+ uint16_t length; /**< 2 */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIDetachSlaveInfo;
+
+
+/**
+ * Set the window/client's ClientPointer.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XISetClientPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+ uint16_t deviceid;
+ uint16_t pad1;
+} xXISetClientPointerReq;
+#define sz_xXISetClientPointerReq 12
+
+/**
+ * Query the given window/client's ClientPointer setting.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_GetClientPointer */
+ uint16_t length; /**< Length in 4 byte units */
+ Window win;
+} xXIGetClientPointerReq;
+#define sz_xXIGetClientPointerReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_GetClientPointer */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ BOOL set; /**< client pointer is set? */
+ uint8_t pad0;
+ uint16_t deviceid;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetClientPointerReply;
+#define sz_xXIGetClientPointerReply 32
+
+/**
+ * Set the input focus to the specified window.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XISetFocus */
+ uint16_t length; /**< Length in 4 byte units */
+ Window focus;
+ Time time;
+ uint16_t deviceid;
+ uint16_t pad0;
+} xXISetFocusReq;
+#define sz_xXISetFocusReq 16
+
+/**
+ * Query the current input focus.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIGetDeviceFocus */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad0;
+} xXIGetFocusReq;
+#define sz_xXIGetFocusReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGetFocus */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Window focus;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIGetFocusReply;
+#define sz_xXIGetFocusReply 32
+
+
+/**
+ * Grab the given device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIGrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Window grab_window;
+ Time time;
+ Cursor cursor;
+ uint16_t deviceid;
+ uint8_t grab_mode;
+ uint8_t paired_device_mode;
+ uint8_t owner_events;
+ uint8_t pad;
+ uint16_t mask_len;
+} xXIGrabDeviceReq;
+#define sz_xXIGrabDeviceReq 24
+
+/**
+ * Return codes from a XIPassiveGrabDevice request.
+ */
+typedef struct {
+ uint32_t modifiers; /**< Modifier state */
+ uint8_t status; /**< Grab status code */
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIGrabModifierInfo;
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIGrabDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint8_t status;
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+ uint32_t pad6;
+} xXIGrabDeviceReply;
+#define sz_xXIGrabDeviceReply 32
+
+/**
+ * Ungrab the specified device.
+ *
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIUngrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIUngrabDeviceReq;
+#define sz_xXIUngrabDeviceReq 12
+
+
+/**
+ * Allow or replay events on the specified grabbed device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIAllowEvents */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t pad;
+} xXIAllowEventsReq;
+#define sz_xXIAllowEventsReq 12
+
+
+/**
+ * Passively grab the device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIPassiveGrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Time time;
+ Window grab_window;
+ Cursor cursor;
+ uint32_t detail;
+ uint16_t deviceid;
+ uint16_t num_modifiers;
+ uint16_t mask_len;
+ uint8_t grab_type;
+ uint8_t grab_mode;
+ uint8_t paired_device_mode;
+ uint8_t owner_events;
+ uint16_t pad1;
+} xXIPassiveGrabDeviceReq;
+#define sz_xXIPassiveGrabDeviceReq 32
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIPassiveGrabDevice */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_modifiers;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+ uint32_t pad6;
+} xXIPassiveGrabDeviceReply;
+#define sz_xXIPassiveGrabDeviceReply 32
+
+/**
+ * Delete a passive grab for the given device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIPassiveUngrabDevice */
+ uint16_t length; /**< Length in 4 byte units */
+ Window grab_window;
+ uint32_t detail;
+ uint16_t deviceid;
+ uint16_t num_modifiers;
+ uint8_t grab_type;
+ uint8_t pad0;
+ uint16_t pad1;
+} xXIPassiveUngrabDeviceReq;
+#define sz_xXIPassiveUngrabDeviceReq 20
+
+/**
+ * List all device properties on the specified device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIListProperties */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad;
+} xXIListPropertiesReq;
+#define sz_xXIListPropertiesReq 8
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always ::X_XIListProperties */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t num_properties;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+ uint32_t pad4;
+ uint32_t pad5;
+} xXIListPropertiesReply;
+#define sz_xXIListPropertiesReply 32
+
+/**
+ * Change a property on the specified device.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always ::X_XIChangeProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint8_t mode;
+ uint8_t format;
+ Atom property;
+ Atom type;
+ uint32_t num_items;
+} xXIChangePropertyReq;
+#define sz_xXIChangePropertyReq 20
+
+/**
+ * Delete the specified property.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always X_XIDeleteProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+ uint16_t pad0;
+ Atom property;
+} xXIDeletePropertyReq;
+#define sz_xXIDeletePropertyReq 12
+
+/**
+ * Query the specified property's values.
+ */
+typedef struct {
+ uint8_t reqType;
+ uint8_t ReqType; /**< Always X_XIGetProperty */
+ uint16_t length; /**< Length in 4 byte units */
+ uint16_t deviceid;
+#if defined(__cplusplus) || defined(c_plusplus)
+ uint8_t c_delete;
+#else
+ uint8_t delete;
+#endif
+ uint8_t pad0;
+ Atom property;
+ Atom type;
+ uint32_t offset;
+ uint32_t len;
+} xXIGetPropertyReq;
+#define sz_xXIGetPropertyReq 24
+
+typedef struct {
+ uint8_t repType; /**< Input extension major opcode */
+ uint8_t RepType; /**< Always X_XIGetProperty */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ Atom type;
+ uint32_t bytes_after;
+ uint32_t num_items;
+ uint8_t format;
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIGetPropertyReply;
+#define sz_xXIGetPropertyReply 32
+
+/*************************************************************************************
+ * *
+ * EVENTS *
+ * *
+ *************************************************************************************/
+
+/**
+ * Generic XI2 event header. All XI2 events use the same header.
+ */
+typedef struct
+{
+ uint8_t type;
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length;
+ uint16_t evtype;
+ uint16_t deviceid;
+ Time time;
+} xXIGenericDeviceEvent;
+
+/**
+ * Device hierarchy information.
+ */
+typedef struct
+{
+ uint16_t deviceid;
+ uint16_t attachment; /**< ID of master or paired device */
+ uint8_t use; /**< ::XIMasterKeyboard,
+ ::XIMasterPointer,
+ ::XISlaveKeyboard,
+ ::XISlavePointer,
+ ::XIFloatingSlave */
+ BOOL enabled; /**< TRUE if the device is enabled */
+ uint16_t pad;
+ uint32_t flags; /**< ::XIMasterAdded, ::XIMasterRemoved,
+ ::XISlaveAttached, ::XISlaveDetached,
+ ::XISlaveAdded, ::XISlaveRemoved,
+ ::XIDeviceEnabled, ::XIDeviceDisabled */
+} xXIHierarchyInfo;
+
+/**
+ * The device hierarchy has been modified. This event includes the device
+ * hierarchy after the modification has been applied.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< ::XI_Hierarchy */
+ uint16_t deviceid;
+ Time time;
+ uint32_t flags; /**< ::XIMasterAdded, ::XIMasterDeleted,
+ ::XISlaveAttached, ::XISlaveDetached,
+ ::XISlaveAdded, ::XISlaveRemoved,
+ ::XIDeviceEnabled, ::XIDeviceDisabled */
+ uint16_t num_info;
+ uint16_t pad0;
+ uint32_t pad1;
+ uint32_t pad2;
+} xXIHierarchyEvent;
+
+/**
+ * A device has changed capabilities.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte units */
+ uint16_t evtype; /**< XI_DeviceChanged */
+ uint16_t deviceid; /**< Device that has changed */
+ Time time;
+ uint16_t num_classes; /**< Number of classes that have changed */
+ uint16_t sourceid; /**< Source of the new classes */
+ uint8_t reason; /**< ::XISlaveSwitch, ::XIDeviceChange */
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIDeviceChangedEvent;
+
+/**
+ * Default input event for pointer or keyboard input.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype;
+ uint16_t deviceid;
+ Time time;
+ uint32_t detail; /**< Keycode or button */
+ Window root;
+ Window event;
+ Window child;
+/* └──────── 32 byte boundary ────────┘ */
+ FP1616 root_x; /**< Always screen coords, 16.16 fixed point */
+ FP1616 root_y;
+ FP1616 event_x; /**< Always screen coords, 16.16 fixed point */
+ FP1616 event_y;
+ uint16_t buttons_len; /**< Len of button flags in 4 b units */
+ uint16_t valuators_len; /**< Len of val. flags in 4 b units */
+ uint16_t sourceid; /**< The source device */
+ uint16_t pad0;
+ uint32_t flags; /**< ::XIKeyRepeat */
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIDeviceEvent;
+
+
+/**
+ * Sent when an input event is generated. RawEvents include valuator
+ * information in both device-specific data (i.e. unaccelerated) and
+ * processed data (i.e. accelerated, if applicable).
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype; /**< ::XI_RawEvent */
+ uint16_t deviceid;
+ Time time;
+ uint32_t detail;
+ uint16_t pad0;
+ uint16_t valuators_len; /**< Length of trailing valuator
+ mask in 4 byte units */
+ uint32_t flags; /**< ::XIKeyRepeat */
+ uint32_t pad2;
+} xXIRawEvent;
+
+/**
+ * Note that the layout of root, event, child, root_x, root_y, event_x,
+ * event_y must be identical to the xXIDeviceEvent.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype; /**< ::XI_Enter */
+ uint16_t deviceid;
+ Time time;
+ uint16_t sourceid;
+ uint8_t mode;
+ uint8_t detail;
+ Window root;
+ Window event;
+ Window child;
+/* └──────── 32 byte boundary ────────┘ */
+ FP1616 root_x;
+ FP1616 root_y;
+ FP1616 event_x;
+ FP1616 event_y;
+ BOOL same_screen;
+ BOOL focus;
+ uint16_t buttons_len; /**< Length of trailing button mask
+ in 4 byte units */
+ xXIModifierInfo mods;
+ xXIGroupInfo group;
+} xXIEnterEvent;
+
+typedef xXIEnterEvent xXILeaveEvent;
+typedef xXIEnterEvent xXIFocusInEvent;
+typedef xXIEnterEvent xXIFocusOutEvent;
+
+/**
+ * Sent when a device property is created, modified or deleted. Does not
+ * include property data, the client is required to query the data.
+ */
+typedef struct
+{
+ uint8_t type; /**< Always GenericEvent */
+ uint8_t extension; /**< XI extension offset */
+ uint16_t sequenceNumber;
+ uint32_t length; /**< Length in 4 byte uints */
+ uint16_t evtype; /**< ::XI_PropertyEvent */
+ uint16_t deviceid;
+ Time time;
+ Atom property;
+ uint8_t what; /**< ::XIPropertyDeleted,
+ ::XIPropertyCreated,
+ ::XIPropertyMotified */
+ uint8_t pad0;
+ uint16_t pad1;
+ uint32_t pad2;
+ uint32_t pad3;
+} xXIPropertyEvent;
+
+
+#undef Window
+#undef Time
+#undef Atom
+#undef Cursor
+
+#endif /* _XI2PROTO_H_ */
diff --git a/inputproto/XI2proto.txt b/inputproto/XI2proto.txt
new file mode 100644
index 0000000..706f50a
--- /dev/null
+++ b/inputproto/XI2proto.txt
@@ -0,0 +1,1677 @@
+
+ The X Input Extension
+ Version 2.0
+
+ Peter Hutterer
+ peter.hutterer@redhat.com
+ Red Hat, Inc.
+
+
+
+1. Introduction
+
+The X Input Extension version 2.0 (XI2) is the second major release of the X
+Input Extension.
+
+XI2 provides a number of enhancements over version 1.5, including:
+- use of XGE and GenericEvents. GenericEvents are of flexible length with a
+ minimum length of 32 bytes.
+- explicit device hierarchy of master and slave devices. See Section 4.
+- use of multiple independent master devices (Multi-Poiner X or MPX).
+- the ability for devices to change capabilities at runtime.
+- raw device events
+
+XI2's intent is to replace both core input processing and prior versions of
+the X Input Extension. Historically, the majority of applications employed the
+core protocol requests and events to handle user input. The core protocol does
+not provide information about which device generated the event. The X Input
+Extension version up to 1.5 requires the differentiation between core and
+extended devices. Extended devices may not be core devices and thus cannot be
+used on applications employing the core protocol. XI2 addresses both of these
+issues by enabling devices to be both extended and core devices and providing
+device information in each event (with the exception of core events).
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+2. Notations used in this document
+
+Notation for requests:
+┌───
+ Name of request
+ name of request field: type of request field
+ name of request field: type of request field
+ ▶
+ name of reply field: type of reply field
+└───
+
+Notation for events:
+┌───
+ Name of event
+ name of field: type of field
+ name of field: type of field
+└───
+
+Complex fields are specified in the following notation:
+ name of field: COMPLEXFIELDTYPE
+or, if multiple of these fields exist:
+ name of field: LISTofCOMPLEXFIELDTYPE
+
+COMPLEXFIELDTYPE: { name of subfield: type of subfield,
+ name of subfield: type of subfield }
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+3. Interoperability between version 1.x and 2.0
+
+There is little interaction between 1.x and 2.x versions of the X Input
+Extension. Clients are requested to avoid mixing XI1.x and XI2 code as much as
+possible. Several direct incompatibilities are observable:
+
+3.1 Limitations resulting from different variable ranges
+
+XI2 provides a larger range for some fields than XI1. As a result, XI1 clients
+may not receive data an XI2 client receives.
+These fields include:
+- devices with a deviceid of greater than 127 are invisible to XI1 clients.
+- key events and key grabs featuring larger than 255 can only be sent to XI2
+ clients.
+- no subpixel information is avialable to XI1 clients. If motion events are in
+ a subpixel range only, the server may omit these events and an XI 1.x client
+ will not receive events until the pixel boundary is crossed.
+
+
+3.2 Blocking of grabs
+
+XI1 grabs are different to XI2 grab and a device may not be grabbed through an
+XI2 grab if an XI1 grab is currently active on this device or vice versa.
+Likewise, a keycode or button already grabbed by an XI 1.x or XI2 client may
+not be grabbed with the same modifier combination by an XI2 or XI 1.x client,
+respectively.
+
+3.3 Invisibility of Master Devices
+
+XI 1.x was not designed with support for multiple master devices (see Section
+4). As a result, only the first master pointer and master keyboard are visible
+to XI 1.x clients, all other master devices are invisible and cannot be
+accessed from XI 1.x calls.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+4. The Master/Slave device hierarchy
+
+XI2 introduces a device hierarchy split up into so-called Master Devices (MD)
+and Slave Devices (SD).
+
+4.1 Master devices
+An MD is a virtual device created and managed by the server. MDs may send core
+events and XI events. However, an MD does not represent a physical device and
+relies on SDs for event generation. MDs come in two forms: as master pointers
+or as master keyboards. A master pointer is represented by a visible cursor on
+the screen. A master keyboard is represented by a keyboard focus.
+
+Each master pointer is paired with the respective master keyboard and vice
+versa, and this pairing is constant for the lifetime of both input devices.
+Clients can use this pairing behaviour to implement input paradigms that
+require pointer and keyboard interation (e.g. SHIFT + Click).
+
+4.2 Slave devices
+An SD is usually a physical device configured in the server. SDs are not
+represented by a cursor or keyboard focus and may be attached to a master
+pointer or master keyboard. SDs can only be attached to any master of the same
+type (e.g. a physical pointer device can be attached to any master pointer).
+
+If an event is generated by an SD
+- if the SD is attached to a master pointer, it changes the position and/or
+ button state of the master pointer.
+- if the SD is attached to a master keyboard, it sends events to this
+ keyboard's focus window (if applicable) and/or changes the modifier state of
+ this keyboard.
+- if the SD is not attached to an MD ("floating"), it does not change
+ any master device. The SD has its own (invisible) sprite and its own focus.
+ Both the sprite and the focus must be managed explicitly by the client
+ program.
+
+4.3 Event processing for attached slave devices
+
+Whenever an SD changes its logical state,
+- the event is delivered as an XI event to any interested clients. If the
+ device is floating, event processing stops.
+ Otherwise, if the device is attached,
+- the master device changes its classes to reflect the SD's capabilities. All
+ interested clients are notified of this device change.
+- then, the event is delivered as an XI event from the MD to any interested
+ clients. If the event has been delivered, event processing stops.
+ Otherwise,
+- the event is delivered as a core event to any interested clients.
+
+Given that W is the event window, and P the parent window of W, event delivery
+to P is only attempted if neither the XI event, nor the core event has been
+delivered on W. Once an event has been delivered as either XI or core event,
+event processing stops.
+
+4.4. The ClientPointer principle
+
+Many core protocol and some extension requests are ambiguous when multiple
+master devices are available (e.g. QueryPointer does not specfy which pointer).
+The X server does not have the knowledge to chose the contextually correct
+master device. For each client, one master pointer is designated as this
+clients's "ClientPointer". Whenever a client sends an ambiguous request (e.g.
+QueryPointer), the ClientPointer or the keyboard paired with the ClientPointer
+is chosen to provide the data for this request.
+
+This ClientPointer may be explicitly assigned to a client with the
+SetClientPointer call. If no ClientPointer is set when a client issues an
+ambiguous request, the server choses one device as the ClientPointer. The
+method of chosing a ClientPointer from the available master pointers is
+implementation-specific.
+
+If the master pointer currently set as ClientPointer for one or more clients is
+removed, the server may either unset the ClientPointer setting or change the
+ClientPointer to a different master pointer.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+5. Data types
+
+BUTTONMASK
+ A binary mask defined as (1 << button number).
+ A SETofBUTTONMASK is a binary OR of zero or more BUTTONMASK.
+
+DEVICE { DEVICEID, AllDevices, AllMasterDevices }
+ A DEVICE specifies either a DEVICEID or AllDevices or
+ AllMasterDevices.
+
+DEVICEID { CARD16 }
+ A DEVICEID is a numerical ID for a device currently available in the
+ server. The server may re-use a device ID after a device's removal.
+ The device IDs 0 and 1 are reserved.
+ AllDevices ........ 0
+ AllMasterDevices .. 1
+
+DEVICEUSE { MasterPointer, MasterKeyboard, SlavePointer,
+ SlaveKeyboard, FloatingSlave }
+ A DEVICEUSE field specifies the current use of a device in the MD/SD
+ device hierarchy. See Section 4 for more information.
+
+EVENTMASK
+ An EVENTMASK is a binary mask defined as (1 << event type).
+ A SETofEVENTMASK is a binary OR of zero or more EVENTMASK.
+
+FP1616
+ Fixed point decimal in 16.16 format as one INT16 and one CARD16.
+ The INT16 contains the integral part, the CARD32 the decimal fraction
+ shifted by 16.
+
+FP3232
+ Fixed point decimal in 32.32 format as one INT32 and one CARD32.
+ The INT32 contains the integral part, the CARD32 the decimal fraction
+ shifted by 32.
+
+VALUATORMASK
+ A binary mask defined as (1 << valuator number).
+ A SETofVALUATORMASK is a binary OR of zero or more VALUATORMASK.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+6. Errors
+
+Errors are sent using core X error reports.
+
+Device
+ A value for a DEVICE argument does not specify a valid DEVICE.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+7. Requests:
+
+The server does not guarantee that the length of a reply remains constant in
+future revisions of XI2. A client must always retrieve the exact length of the
+protocol reply from the connection, even if the reply is longer than defined
+for the XI2 version supported by the client.
+Additional bytes in a request may include data supported in later versions of
+XI2. Clients should ignore this data. Padding bytes in XI2 protocol requests
+are required to be 0.
+
+7.1 Requests introduced in version 2.0
+
+ ┌───
+ XIQueryVersion
+ major_version: CARD16
+ minor_version: CARD16
+ ▶
+ major_version: CARD16
+ minor_version: CARD16
+ └───
+
+ The client sends the highest supported version to the server and the
+ server sends the highest version it supports, but no higher than the
+ requested version. Major versions changes can introduce incompatibilities
+ in existing functionality, minor version changes introduce only backward
+ compatible changes. It is the client's responsibility to ensure that the
+ server supports a version which is compatible with its expectations.
+
+ major_version
+ Major XI2 version.
+ minor_version
+ Minor XI2 version.
+
+ If major_version is less than 2, a BadValue error occurs.
+
+ ┌───
+ XIQueryDevice
+ DEVICE deviceid
+ ▶
+ num_devices: CARD16
+ deviceinfo: LISTofDEVICEINFO
+ └───
+
+ DEVICEINFO { deviceid: DEVICEID
+ use: DEVICEUSE
+ attachment: DEVICEID
+ enabled: BOOL
+ num_classes: CARD16
+ name_len: CARD16
+ name: LISTofCHAR8
+ classes: LISTofCLASS }
+
+ CLASS { BUTTONCLASS, KEYCLASS, AXISCLASS }
+
+ BUTTONCLASS { type: ButtonClass
+ length: CARD16
+ sourceid: CARD16
+ buttons_len: CARD16
+ state: SETofBUTTONMASK
+ labels: LISTofATOM }
+
+ KEYCLASS { type: KeyClass
+ length: CARD16
+ sourceid: CARD16
+ num_keys: CARD16
+ keys: LISTofCARD32 }
+
+ AXISCLASS { type: AxisClass
+ length: CARD16
+ sourceid: CARD16
+ axisnumber: CARD16
+ label: ATOM
+ min: FP3232
+ max: FP3232
+ value: FP3232
+ resolution: CARD32 }
+
+ XIQueryDevices details information about the requested input devices.
+
+ devices
+ The device to list. If devices is AllDevices, all enabled and
+ disabled devices are listed. If devices is AllMasterDevices, all
+ enabled and disabled master devices are listed. If devices is a
+ valid DEVICE, only this DEVICE is listed and num_devices is 1.
+ num_devices
+ The number of deviceinfos returned.
+
+ Each deviceinfo is detailed as follows:
+ deviceid
+ The unique ID of the device. Device IDs may get re-used when a device
+ is removed.
+ use
+ If the device is a master pointer, use is MasterPointer.
+ If the device is a master keyboard, use is MasterKeyboard.
+ If the device is a slave pointer, use is SlavePointer.
+ If the device is a slave keyboard, use is SlaveKeyboard.
+ If the device is a floating slave, use is FloatingSlave.
+ attachment
+ If the device is a master pointer or a master keyboard, attachment
+ specifies the paired master keyboard, or the paired master pointer,
+ respectively. If the device is a non-floating slave device
+ attachment specifies the master device this device is attached to.
+ If the device is a floating slave, attachment is undefined.
+ enabled
+ Zero if the device is disabled, non-zero otherwise.
+ num_classes
+ Number of classes provided.
+ name_len
+ Length of the name in bytes not including padding.
+ classes
+ Details the available classes provided by the device in an undefined
+ order.
+ name
+ The device's name. padded to a multiple of 4 bytes.
+
+ For all classes, type specifies the device class. Clients are required
+ to ignore unknown device classes. The length field specifies the length
+ of the class in 4 byte units.
+ The following classes may occur only once: ButtonClass, KeyClass
+
+ ButtonClass:
+ type
+ Always ButtonClass.
+ length
+ Length in 4 byte units.
+ sourceid
+ The device this class originates from.
+ num_buttons
+ Number of buttons provided by the device.
+ labels
+ List of Atoms specifying the label for each button. An Atom of None
+ specifies an unlabeled button. Buttons are listed in the device-native
+ order regardless of the current button mapping.
+ state
+ The current button mask for this device after button mapping is
+ applied. Each bit representing a button is 1 if this button is
+ logically down, or 0 otherwise. State is a multiple of 4-byte units
+ and always contains at least num_buttons bits.
+
+ KeyClass:
+ type
+ Always KeyClass.
+ length
+ Length in 4 byte units.
+ sourceid
+ The device this class originates from.
+ num_keys
+ Number of keycodes provided by the device.
+ keys
+ List of keycodes provided.
+
+ AxisClass:
+ type
+ Always AxisClass.
+ length
+ Length in 4 byte units.
+ sourceid
+ The device this class originates from.
+ axisnumber
+ Axis number of this axis. The axis number is in device-native
+ order and potential axis mappings are ignored.
+ label
+ Atom specifying the axis name. An Atom of None specifies an unlabeled
+ axis.
+ min
+ Minimum value.
+ max
+ Minimum value.
+ resolution
+ Resolution in counts/meter.
+ mode
+ Relative or Absolute.
+ value
+ Last published axis value (if mode is absolute).
+
+ An axis in Relative mode may specify min and max as a hint to the
+ client. If no min and max information is available, both must be 0.
+
+ ┌───
+ XISelectEvents
+ window: Window
+ num_masks: CARD16
+ masks: LISTofEVENTMASK
+
+ └───
+
+ EVENTMASK { deviceid: DEVICE,
+ mask_len: CARD16,
+ mask: SETofEVENTMASK
+
+ window
+ The window to select the events on.
+ num_masks
+ Number of items in masks.
+ deviceid
+ Numerical deviceid, or AllDevices, or AllMasterDevices.
+ mask_len
+ Length of mask in 4 byte units.
+ mask
+ Event mask. An event mask for an event type T is defined as (1 << T).
+
+ XISelectEvents selects for XI2 events on window.
+
+ If num_masks is 0, a BadValue error occurs.
+
+ Each mask sets the (and overwrites a previous) event mask for the DEVICE
+ specified through deviceid. The device AllDevices or
+ AllMasterDevices is treated as a separate device by server. A client's
+ event mask is the union of AllDevices, AllMasterDevices and the
+ per-device event mask.
+ The removal of device from the server unsets the event masks for the
+ device. If an event mask is set for AllDevices or AllMasterDevices, the
+ event mask is not cleared on device removal and affects all future
+ devices.
+
+ If mask_len is 0, the event mask for the given device is cleared.
+
+ The mask for XIHierarchyEvents may only be selected for XIAllDevices.
+ Setting it for any other device results in a BadValue error.
+
+ ┌───
+ XIGetSelectedEvents
+ window: Window
+ ▶
+ num_masks: CARD16
+ masks: LISTofEVENTMASK
+ └───
+
+ window
+ The window to select the events on.
+ num_masks
+ Number of items in masks.
+ masks
+ Selected event masks by this client.
+
+ Masks are returned on a per-device basis, with masks for AllDevices and
+ AllMasterDevices returned separately. A client can calculate the
+ effective mask for a device with a bitwise OR of the AllDevices, the
+ AllMasterDevices and the device-specific mask.
+
+ If num_masks is 0, no events have been selected by this client on the
+ given window.
+
+ ┌───
+ XIQueryPointer
+ window: Window
+ deviceid: DEVICEID
+ ▶
+ root: Window
+ child: Window
+ root_x: FP1616
+ root_y: FP1616
+ win_x: FP1616
+ win_y: FP1616
+ same_screen: BOOL
+ mods: MODIFIERINFO
+ group: GROUPINFO
+ buttons_len: CARD16
+ buttons: SETofBUTTONMASK
+ └───
+
+ Query a master pointer device for its current position.
+
+ root
+ The root window the pointer is logically on.
+ child
+ The child window of window that contains the pointer or None.
+ root_x
+ root_y
+ Pointer position relative to the root window's origin.
+ win_x
+ win_y
+ Pointer position relative to window or 0 if same_screen is false.
+ same_screen
+ True if window is on the same screen as the pointer.
+ mods
+ XKB modifier state on the paired device.
+ group
+ XKB group state on the paired device.
+ buttons_len
+ The length of buttons in 4 byte units.
+ buttons
+ Button state.
+
+ If the device is not a master pointer device or not a floating slave
+ pointer, a BadDevice error results.
+
+ ┌───
+ XIWarpPointer
+ src_win: Window
+ dst_win: Window
+ src_x: FP1616
+ src_y: FP1616
+ src_width: INT16
+ src_height: INT16
+ dst_x: FP1616
+ dst_y: FP1616
+ deviceid: DEVICEID
+ └───
+
+ WarpPointer moves the pointer of deviceid as if the user had moved
+ the pointer. WarpPointer can only be called for MasterPointer and
+ FloatingSlave devices.
+
+ src_win
+ If src_window is not None, the move only takes place if src_window
+ contains the pointer and the pointer is contained in the specified
+ rectangle of src_window.
+ dst_win
+ If dst_win is None, this request moves the pointer by offsets
+ dst_x/dst_y relative to the current position of the pointer. If
+ dst_window is a window, this request moves the pointer to
+ dst_x/dst_y relative to dst_win's origin.
+ src_x
+ src_y
+ src_width
+ src_height
+ Specifies the source window rectangle.
+ dst_x
+ dst_y
+ The relative coordinates to move the pointer if dst_win is None, or
+ the absolute coordinates if dst_win is a window.
+ deviceid
+ The device to warp.
+
+ This request cannot be used to move the pointer outside the confine-to
+ window of an active pointer grab. An attempt will only move the pointer as
+ far as the closest edge of the confine-to window.
+
+ This request will generate events just as if the user had instantaneously
+ moved the pointer.
+
+ ┌───
+ XIChangeCursor
+ win: Window
+ cursor: Cursor
+ deviceid: DEVICEID
+ └───
+
+ Change a master pointer's cursor on the specified window.
+
+ window
+ The window.
+ cursor
+ The new cursor or None.
+ deviceid
+ The master pointer device.
+
+ Whenever device enters a window W, the cursor shape is selected in the
+ following order:
+ - if the current window has a device cursor C(d) defined for device,
+ display this cursor C(d).
+ - otherwise, if the current window has a cursor C(w) defined in the core
+ protocol's window attributes, display cursor C(w).
+ - repeat on parent window until a cursor has been found.
+
+ The device cursor for a given window is reset once the window is destroyed
+ or the device is removed, whichever comes earlier.
+
+ If deviceid does not specify a master pointer, a BadDevice error
+ is returned.
+
+ ┌───
+ XIChangeHierarchy
+ num_changes: CARD8
+ changes: LISTofHIERARCHYCHANGES
+ └───
+
+ HIERARCHYCHANGE { ADDMASTER, REMOVEMASTER, ATTACHSLAVE, DETACHSLAVE }
+
+ HIERARCHYCHANGETYPE { AddMaster, RemoveMaster, AttachSlave, DetachSlave }
+
+ CHANGEMODE { Float, Attach }
+
+ ADDMASTER { type: HIERARCHYCHANGETYPE
+ length: CARD16
+ name_len: CARD16
+ send_core: BOOL
+ enable: BOOL
+ name: LISTofCHAR8 }
+
+ REMOVEMASTER { type: HIERARCHYCHANGETYPE
+ length: CARD16
+ deviceid: DEVICEID
+ return_mode: CHANGEMODE
+ return_pointer: DEVICEID
+ return_keyboard: DEVICEID }
+
+ ATTACHSLAVE { type: HIERARCHYCHANGETYPE
+ length: CARD16
+ deviceid: DEVICEID
+ master: DEVICEID }
+
+ DETACHSLAVE { type: HIERARCHYCHANGETYPE
+ length: CARD16
+ deviceid: DEVICEID }
+
+ XIChangeHierarchy allows a client to modify the MD/SD device
+ hierarchy (see Section 4).
+
+ num_changes
+ The number of changes to apply to the current hierarchy.
+ changes
+ The list of changes.
+
+ The server processes the changes in the order received from the client and
+ applies each requested change immediately. If an error occurs, processing
+ stops at the current change and returns the number of successfully applied
+ changes in the error.
+
+ ADDMASTER creates a pair of master devices.
+ type
+ Always AddMaster.
+ length
+ Length in 4 byte units.
+ name_len
+ Length of name in bytes.
+ send_core
+ True if the device should send core events.
+ enable
+ True if the device is to be enabled immediately.
+ name
+ The name for the new master devices. The master pointer's name is
+ automatically appended with " pointer", the master keyboard's name is
+ automatically appended with " keyboard".
+
+ REMOVEMASTER removes an existing master device.
+ type
+ Always RemoveMaster.
+ length
+ Length in 4 byte units.
+ deviceid
+ The device to remove.
+ return_mode
+ Return mode for attached slave devices.
+ If return_mode is Float, all slave devices are set to floating.
+ If return_mode is Attach, slave pointers are attached to
+ return_pointer and slave keyboards are attached to
+ return_keyboard.
+ return_pointer
+ return_keyboard
+ The master pointer and master keyboard to attach slave devices to, if
+ return_mode is Attach. If return_mode is Float, return_pointer
+ and return_keyboard are undefined.
+
+ Removing a master pointer removes the paired master keyboard and vice
+ versa.
+
+ ATTACHSLAVE attaches a slave device to a given master device.
+ type
+ Always ChangeAttachment.
+ length
+ Length in 4 byte units.
+ deviceid
+ Deviceid of the slave device.
+ master
+ The new master device to attach this slave device to.
+
+ DETACHSLAVE detaches a slave device from its current master device.
+ type
+ Always ChangeAttachment.
+ length
+ Length in 4 byte units.
+ deviceid
+ Deviceid of the slave device.
+
+ ┌───
+ XISetClientPointer
+ win: Window
+ deviceid: DEVICEID
+ └───
+
+ Set the ClientPointer for the client owning win to the given device.
+
+ win
+ Window or client ID.
+ deviceid
+ The master pointer or master keyboard that acts as ClientPointer.
+
+ Some protocol requests are ambiguous and the server has to choose a device
+ to provide data for a request or a reply. By default, the server will
+ choose a client's ClientPointer device to provide the data, unless the
+ client currently has a grab on another device. See section 4.4 for more
+ details.
+
+ If win is None, the ClientPointer for this client is set to the given
+ device. Otherwise, if win is a valid window, the ClientPointer for the
+ client owning this window is set to the given device. Otherwise, if win is
+ not a valid window but a client with the client mask equal to win exists,
+ this client's ClientPointer is set to the given device.
+
+ If deviceid does not specify a master pointer or master keyboard, a
+ BadDevice error is returned.
+
+ If window does not specify a valid window or client ID and is not None, a
+ BadWindow error is returned.
+
+ ┌───
+ XIGetClientPointer
+ win: Window
+ ▶
+ set: BOOL
+ deviceid: DEVICEID
+ └───
+
+ Query the ClientPointer for the client owning win.
+
+ win
+ The window or client ID.
+ set
+ True if the client has a ClientPointer set.
+ deviceid
+ The master pointer that acts as a ClientPointer if set is True.
+
+ No difference is made between a ClientPointer set explicitly through
+ XISetClientPointer and a ClientPointer implicitly assigned by the server
+ in response to an ambiguous request.
+
+ ┌───
+ XISetFocus
+ focus: Window
+ deviceid: DEVICEID
+ time: Time
+ └───
+
+ Set the focus for the given device to the given window. Future key events
+ from this device are sent to this window.
+ This request generates FocusIn and FocusOut events.
+
+ focus
+ A viewable window or None.
+ deviceid
+ The device to modify the focus window for.
+ time
+ Specifies the time to change the focus or CurrentTime.
+
+ If focus is None, key events from this device are discarded until a new
+ focus window is set. If focus is a viewable window, key events from this
+ device are sent to this window. If the window becomes unviewable, the
+ window's first viewable ancestor automatically becomes the focus window
+ and FocusIn and FocusOut events are sent as if a client had changed the
+ focus window.
+ This is equivalent to RevertToParent in the core XSetInputFocus window.
+
+ This request has no effect if the specified time is earlier than the
+ current last-focus-change time or is later than the current X server time.
+ Otherwise, the last-focus-change time is set to the specified time.
+
+ ┌───
+ XIGetFocus
+ deviceid: DEVICEID
+ ▶
+ focus: Window
+ └───
+
+ Return the current focus window for the given device.
+
+ ┌───
+ XIGrabDevice
+ deviceid: DEVICEID
+ grab_window: Window
+ owner_events: BOOL
+ grab_mode: { Synchronous, Asynchronous }
+ paired_device_mode: { Synchronous, Asynchronous }
+ time: TIMESTAMP or CurrentTime
+ cursor: Cursor
+ mask_len: CARD16
+ masks: SETofEVENTMASK
+ ▶
+ status: Success, AlreadyGrabbed, Frozen, InvalidTime, NotViewable
+ └───
+
+ This request actively grabs control of the specified input device. Further
+ input events from this device are reported only to the grabbing client.
+ This request overides any previous active grab by this client for this
+ device.
+
+ deviceid
+ The device to grab.
+ grab_window
+ Events are reported relative to the grab window.
+ owner_events
+ Specifies whether event will be reported normally or relative to the
+ grab window.
+ grab_mode
+ Specifies if this device will be frozen as a result of the grab.
+ paired_device_mode
+ Specifies if the master device paired with this device will be frozen
+ as a result of the grab.
+ time
+ A valid server time or CurrentTime.
+ cursor
+ The cursor to display for the duration of the grab or None.
+ mask_len
+ Length of mask in 4 byte units.
+ mask
+ Event mask. An event mask for an event type T is defined as (1 << T).
+ status
+ Success or the reason why the grab could not be established.
+
+ The masks parameter specifies which events the client wishes to receive
+ while the device is grabbed.
+
+ If owner-events is False, input events generated from this device are
+ reported with respect to grab-window, and are only reported if selected by
+ being included in the event-list. If owner-events is True, then if a
+ generated event would normally be reported to this client, it is reported
+ normally, otherwise the event is reported with respect to the grab-window,
+ and is only reported if selected by being included in the event-list. For
+ either value of owner-events, unreported events are discarded.
+
+ If grab-mode is Asynchronous, device event processing continues normally.
+ If the device is currently frozen by this client, then processing of
+ device events is resumed. If grab-mode is Synchronous, the state of the
+ grabbed device (as seen by means of the protocol) appears to freeze,
+ and no further device events are generated by the server until the
+ grabbing client issues a releasing XIAllowEvents request or until the
+ device grab is released. Actual device input events are not lost while the
+ device is frozen; they are simply queued for later processing.
+
+ If the device is a slave device, the paired-device-mode is ignored.
+ Otherwise, if this device is a master device and paired-device-mode is
+ Asynchronous, event processing is unaffected by activation of the grab. If
+ this device is a master device and paired-device-mode is Synchronous, the
+ state of the master device paired with this device (as seen by means of the
+ protocol) appears to freeze, and no further events are generated by the
+ server until the grabbing client issues a releasing XIAllowEvents request
+ or until the device grab is released. Actual events are not lost while the
+ devices are frozen; they are simply queued for later processing.
+
+ If the cursor is not None and the device is a master pointer device, the
+ cursor will be displayed until the device is ungrabbed.
+
+ This request fails and returns:
+ AlreadyGrabbed: If the device is actively grabbed by some other client.
+ NotViewable: If grab-window is not viewable.
+ InvalidTime: If the specified time is earlier than the last-grab-time for
+ the specified device or later than the current X server time.
+ Otherwise, the last-grab-time for the specified device is set
+ to the specified time and CurrentTime is replaced by the
+ current X server time.
+ Frozen: If the device is frozen by an active grab of another client.
+
+ To release a grab of a device, use XIUngrabDevice.
+
+ ┌───
+ XIUngrabDevice
+ deviceid: DEVICEID
+ time: TIMESTAMP or CurrentTime
+ └───
+
+ This request releases the device if this client has it actively grabbed
+ (from either XIGrabDevice, XIGrabDeviceKey or XIGrabDeviceButton) and
+ releases any queued events. If any devices were frozen by the grab,
+ XIUngrabDevice thaws them.
+
+ deviceid
+ The device to grab.
+ time
+ A valid server time or CurrentTime.
+
+ The request has no effect if the specified time is earlier than the
+ last-device-grab time or is later than the current server time.
+ This request generates FocusIn and FocusOut events.
+ An XIUngrabDevice is performed automatically if the event window for an
+ active device grab becomes not viewable.
+
+ ┌───
+ XIAllowEvents:
+ deviceid: DEVICEID
+ time: TIMESTAMP or CurrentTime
+ event_mode: { AsyncDevice, SyncDevice,
+ AsyncPairedDevice, SyncPairedDevice,
+ ReplayDevice, AsyncPair, SyncPair }
+ └───
+
+ The XIAllowEvents request releases some queued events if the client
+ has caused a device to freeze.
+
+ deviceid
+ The device to grab.
+ time
+ A valid server time or CurrentTime.
+ event_mode
+ Specifies whether a device is to be thawed and events are to be
+ replayed.
+
+ The request has no effect if the specified time is earlier than the
+ last-grab time of the most recent active grab for the client, or if the
+ specified time is later than the current X server time.
+
+ The following describes the processing that occurs depending on what constant
+ you pass to the event-mode argument:
+ AsyncDevice:
+ If the specified device is frozen by the client, event processing for that
+ device continues as usual. If the device is frozen multiple times by the
+ client on behalf of multiple separate grabs, AsyncDevice thaws for
+ all.
+ AsyncDevice has no effect if the specified device is not frozen by the
+ client, but the device need not be grabbed by the client.
+ SyncDevice:
+ If the specified device is frozen and actively grabbed by the client,
+ event processing for that device continues normally until the next
+ event is reported to the client. At this time, the specified device
+ again appears to freeze. However, if the reported event causes the
+ grab to be released, the specified device does not freeze.
+ SyncDevice has no effect if the specified device is not frozen by the
+ client or is not grabbed by the client.
+ ReplayDevice:
+ If the specified device is actively grabbed by the client and is frozen
+ as the result of an event having been sent to the client (either from
+ the activation of a XIGrabButton or from a previous XIAllowEvents with
+ mode SyncDevice, but not from a Grab), the grab is released and
+ that event is completely reprocessed. This time, however, the request
+ ignores any passive grabs at or above (towards the root) the
+ grab-window of the grab just released.
+ The request has no effect if the specified device is not grabbed by
+ the client or if it is not frozen as the result of an event.
+ AsyncPairedDevice
+ If the paired master device is frozen by the client, event processing
+ for it continues as usual. If the paired device is frozen multiple
+ times by the client on behalf of multiple separate grabs,
+ AsyncPairedDevice thaws for all.
+ AsyncPairedDevice has no effect if the device is not frozen by the
+ client, but those devices need not be grabbed by the client.
+ AsyncPairedDevice has no effect if deviceid specifies a slave device.
+ SyncPairedDevice
+ If the paired master device is frozen by the client, event processing (for
+ the paired master device) continues normally until the next button or key
+ event is reported to the client for the grabbed device (button event for
+ the grabbed device, key or motion event for the device), at which time
+ the device again appears to freeze. However, if the reported event causes
+ the grab to be released, then the device does not freeze.
+ SyncPairedDevice has no effect if the specified device is not grabbed
+ by the client or if it is no frozen as the result of an event.
+ SyncPairedDevice has no effect if deviceid specifies a slave device.
+ SyncPair
+ If both the device and the paired master device are frozen by the
+ client, event processing (for both devices) continues normally until
+ the next XIButtonPress, XIButtonRelease, XIKeyPress, or XIKeyRelease
+ event is reported to the client for a grabbed device (button event for
+ a pointer, key event for a keyboard), at which time the devices again
+ appear to freeze. However, if the reported event causes the grab to be
+ released, then the devices do not freeze (but if the other device is
+ still grabbed, then a subsequent event for it will still cause both
+ devices to freeze).
+ SyncPair has no effect unless both the device and the paired master
+ device are frozen by the client. If the device or paired master device
+ is frozen twice by the client on behalf of two separate grabs,
+ SyncPair thaws for both (but a subsequent freeze for SyncPair will
+ only freeze each device once).
+ SyncPair has no effect if deviceid specifies a slave device.
+ AsyncPair
+ If the device and the paired master device are frozen by the client,
+ event processing for both devices continues normally. If a device is
+ frozen twice by the client on behalf of two separate grabs, AsyncBoth
+ thaws for both. AsyncPair has no effect unless both the device and the
+ paired master device frozen by the client.
+ AsyncPair has no effect if deviceid specifies a slave device.
+
+ ┌───
+ XIPassiveGrabDevice
+ deviceid: DEVICE
+ detail: CARD32
+ grab_type: GRABTYPE
+ grab_window: Window
+ cursor: Cursor
+ owner_events: Bool
+ grab_mode: { Synchronous, Asynchronous }
+ paired_device_mode: { Synchronous, Asynchronous }
+ num_modifiers: INT16
+ mask_len: CARD16
+ masks: SETofEVENTMASK
+ modifiers: CARD32 or GrabAnyModifier
+ ▶
+ num_modifiers_return: INT16
+ modifiers_return: GRABMODIFIERINFO
+ └───
+
+ GRABTYPE { GrabtypeButton, GrabtypeKeycode, GrabtypeEnter,
+ GrabTypeFocusIn}
+
+ GRABMODIFIERINFO { status: Access
+ modifiers: CARD32 }
+
+ Establish an explicit passive grab for a button or keycode
+ on the specified input device.
+
+ cursor
+ The cursor to display for the duration of the grab. If grab_type
+ is not GrabtypeButton, this argument is ignored.
+ deviceid
+ The device to establish the passive grab on or AllDevices or
+ AllMasterDevices.
+ detail
+ The button number, or key symbol to grab for.
+ Must be 0 for GrabtypeEnter and GrabtypeFocusIn.
+ grab_type
+ The type of grab to establish.
+ grab_window
+ Events are reported relative to the grab window.
+ grab_mode
+ If grab-mode is Asynchronous, device event processing continues
+ normally. If the device is currently frozen by this client, then
+ processing of device events is resumed. If grab-mode is
+ Synchronous, the state of the grabbed device (as seen by means of
+ the protocol) appears to freeze, and no further device events are
+ generated by the server until the grabbing client issues a
+ releasing XIAllowEvents request or until the device grab is
+ released. Actual device input events are not lost while the device
+ is frozen; they are simply queued for later processing.
+ mask_len
+ Length of mask in 4 byte units.
+ mask
+ Event mask. An event mask for an event type T is defined as (1 << T).
+ modifiers
+ XKB modifier state to activate this passive grab.
+ num_modifiers
+ Number of elements in modifiers.
+ owner_events
+ Specifies whether event will be reported normally or relative to the
+ grab window.
+ num_modifiers_return
+ Number of elements in modifiers_return
+ modifiers_return
+ XKB modifier state that could not be grabbed.
+
+ If owner-events is False, input events generated from this device are
+ reported with respect to grab-window, and are only reported if
+ selected by being included in the event-list. If owner-events is
+ True, then if a generated event would normally be reported to this
+ client, it is reported normally, otherwise the event is reported
+ with respect to the grab-window, and is only reported if selected
+ by being included in the event-list. For either value of
+ owner-events, unreported events are discarded.
+
+ If deviceid specifies a master pointer, the modifiers of the paired
+ master keyboard are used. If deviceid specifies a slave pointer
+ the modifiers of the master keyboard paired with the attached master
+ pointers are used. If deviceid specifies a slave keyboard, the
+ modifiers of the attached master keyboard are used. Note that
+ activating a grab on a slave device detaches the device from its
+ master. In this case, the modifiers after activation of the grab are
+ from the slave device only and may be different to the modifier state
+ when the grab was triggered.
+
+ In the future, if grab_type is GrabtypeButton or GrabtypeKeyboard, the
+ device is actively grabbed if:
+ - the device is not grabbed, and
+ - the specified modifier keys are down, and
+ - the grab_type is GrabtypeButton and the button specified in detail
+ is logically pressed or the grab_type is GrabtypeKeycode and the
+ keycode specified in detail is logically pressed, and
+ - the grab_window contains the pointer, and
+ - a passive grab on the same button/keycode + modifier
+ combination does not exist on an ancestor of grab_window.
+
+ Otherwise, if grab_type is GrabtypeEnter or GrabtypeFocusIn, the
+ device is actively grabbed if:
+ - the device is not actively grabbed, and
+ - the specified modifier keys are down, and
+ - the grab_type is GrabtypeEnter and the device's pointer has moved
+ into grab_window or a descendant of grab_window, or the grab_type is
+ GrabtypeFocusIn and the device's focus has been set to the
+ grab_window or a descendant of grab_window,
+ - a passive grab of the same grab_type + modifier combination does not
+ does not exist on an ancestor of grab_window.
+
+ A modifier of GrabAnyModifier is equivalent to issuing the request for
+ all possible modifier combinations (including no modifiers). A client
+ may request a grab for GrabAnyModifier and explicit modifier
+ combinations in the same request.
+
+ A GrabtypeButton or GrabtypeKeyboard grab is released when all buttons
+ or keycode are released, independent of the state of modifier keys.
+ A GrabtypeEnter or GrabtypeFocusIn grab is released when the
+ pointer or focus leaves the window and all of its descendants,
+ independent of the state of modifier keys.
+ Note that the logical state of a device (as seen by means of the
+ protocol) may lag the physical state if device event processing is
+ frozen.
+
+ This request overrides all previous passive grabs by the same
+ client on the same button/key/enter/focus in + modifier combinations
+ on the same window.
+
+ If some other client already has issued a XIPassiveGrabDevice request
+ with the same button or keycode and modifier combination, the
+ failed modifier combinations is returned in modifiers_return. If some
+ other client already has issued an XIPassiveGrabDevice request of
+ grab_type XIGrabtypeEnter or XIGrabtypeFocusIn with the same
+ grab_window and the same modifier combination, the failed modifier
+ combinations are returned in modifiers_return. If num_modifiers_return
+ is zero, all passive grabs have been successful.
+
+ If a button grab or enter grab activates, EnterNotify and LeaveNotify
+ events with mode Grab are generated as if the pointer were to suddenly
+ warp from its current position some position in the grab_window.
+ However, the pointer does not warp, and the pointer position is used
+ as both the initial and final positions for the events.
+
+ If a keycode grab or focus grab activates, FocusIn and FocusOut events
+ with mode Grab are generated as if the focus were to change from the
+ current window to the grab_window.
+
+ If an enter or focus in grab activates, additional EnterNotify events
+ with mode XIPassiveGrabNotify are generated as if the pointer or focus
+ were to suddenly warp from its current position to some position in
+ the grab window. These events are sent to the grabbing client only
+ and only if the grab event mask has selected for it. If such a passive
+ grab deactivates, addional LeaveNotify events with mode
+ XIPassiveUngrabNotify are generated and sent to the grabbing client
+ before the grab deactivates.
+
+ ┌───
+ XIPassiveUngrabDevice
+ deviceid: DEVICEID
+ detail: CARD32
+ grab_type: GRABTYPE
+ grab_window: Window
+ num_modifiers: INT16
+ modifiers: MODIFIERINFO
+ └───
+
+ Release an explicit passive grab on the specified input device.
+
+ deviceid
+ The device to establish the passive grab on.
+ detail
+ The button number or key symbol to ungrab.
+ Must be 0 for GrabtypeEnter and GrabtypeFocusIn.
+ grab_type
+ The type of grab to establish.
+ grab_window
+ Events are reported relative to the grab window.
+ modifiers
+ XKB modifier state to activate this passive grab.
+ num_modifiers
+ Number of elements in modifiers.
+
+ This request has no effect if the client does not have a passive grab
+ of the same type, same button or keycode (if applicable) and modifier
+ combination on the grab_window.
+
+ ┌───
+ XIListProperties
+ deviceid: DEVICEID
+ ▶
+ num_properties: INT16
+ properties: LISTofATOM
+ └───
+
+ List the properties associated with the given device.
+
+ deviceid
+ The device to list the properties for.
+ num_atoms
+ Number of atoms in the reply
+ atoms
+ All properties on the device.
+
+ ┌───
+ XIChangeProperty
+ deviceid: DEVICEID
+ property: ATOM
+ type: ATOM
+ format: { 8, 16, 32 }
+ mode: { Append, Prepend, Replace }
+ num_items: CARD32
+ data: LISTofINT8, or LISTofINT16, or LISTofINT32
+ └───
+
+ Change the given property on the given device.
+
+ deviceid
+ The device to change the property on.
+ property
+ The property to modify.
+ type
+ The property's type.
+ mode
+ One of Append, Prepend, or Replace
+ num_items
+ Number of items following this request.
+ data
+ Property data (nitems * format/8 bytes)
+
+ The type is uninterpreted by the server. The format specifies whether
+ the data should be viewed as a list of 8-bit, 16-bit, or 32-bit
+ quantities so that the server can correctly byte-swap as necessary.
+
+ If the mode is Replace, the previous propert y value is discarded. If
+ the mode is Prepend or Append, then the type and format must match the
+ existing property value (or a Match error results). If the property is
+ undefined, it is treated as defined with the correct type and format
+ with zero-length data. For Prepend, the data is tacked on to the
+ beginning of the existing data, and for Append, it is tacked on to the
+ end of the existing data.
+
+ The lifetime of a property is not tied to the storing client. Properties
+ remain until explicitly deleted, until the device is removed, or
+ until server reset.
+
+ A property cannot be deleted by setting nitems to zero. To delete a
+ property, use XIDeleteDeviceProperty.
+
+ This request generates an XIPropertyEvent.
+
+ ┌───
+ XIDeleteProperty
+ deviceid: DEVICEID
+ property: ATOM
+ └───
+
+ Deletes the given property on the given device.
+
+ deviceid
+ The device to delete the property on.
+ property
+ The property to delete.
+
+ If the property is deleted, an XIPropertyEvent is generated on the device.
+ If the property does not exist, this request does nothing.
+
+ ┌───
+ XIGetProperty
+ deviceid: DEVICEID
+ property: ATOM
+ type: Atom or AnyPropertyType
+ offset: CARD32
+ len: CARD32
+ delete: BOOL
+ ▶
+ type: Atom
+ bytes_after: CARD32
+ num_items: CARD32
+ format: { 8, 16, 32 }
+ data: LISTofINT8, or LISTofINT16, or LISTofINT32
+ └───
+
+ Get the data for the given property on the given device.
+
+ deviceid
+ The device to retrieve the property data from.
+ property
+ The property to retrieve the data from..
+ type
+ The property type to retrieve or AnyPropertyType
+ offset
+ The offset in 4-byte units.
+ len
+ Number of bytes to receive in 4-byte units.
+ delete
+ Delete the property after retrieving the data.
+ bytes_after
+ Number of unread bytes in the stored property
+ num_items
+ Number of items in data
+ format
+ 8, 16, or 32
+ data
+ Property data (nitems * format/8 bytes)
+
+ If the specified property does not exist for the specified device, then
+ the return type is None, the format and bytes-after are zero, and the value is
+ empty. The delete argument is ignored in this case. If the specified property
+ exists but its type does not match the specified type, then the return
+ type is the actual type of the property, the format is the actual format of the
+ property (never zero), the bytes-after is the length of the property in bytes
+ (even if the format is 16 or 32), and the value is empty. The delete
+ argument is ignored in this case. If the specified property exists and
+ either AnyPropertyType is specified or the specified type matches the actual
+ type of the property, then the return type is the actual type of the property,
+ the format is the actual format of the property
+ (never zero), and the bytes-after and value are as follows, given:
+ N = actual length of the stored property in bytes
+ (even if the format is 16 or 32)
+ I = 4 * long-offset
+ T = N−I
+ L = MINIMUM(T, 4 * long-length)
+ A = N − (I + L)
+ The returned value starts at byte index I in the property (indexing
+ from 0), and its length in bytes is L. However, it is a Value error if
+ offset is given such that L is negative. The value of bytes_after is A,
+ giving the number of trailing unread bytes in the stored property. If
+ delete is True and the bytes_after is zero, the property is also
+ deleted from the device, and a XIPropertyNotify event is generated on
+ the device.
+
+
+8. Events:
+
+An event specifies its length in 4-byte units after the initial 32 bytes.
+Future versions of the protocol may provide additional information
+in the same event, thus increasing the event size. Clients are required to
+always read the number of bytes specified by the event, not the size of the
+event they may have been compiled against.
+
+
+The following event types are available in XI2.
+
+Version 2.0:
+ HierarchyChanged
+ DeviceChanged
+ KeyPress
+ KeyRelease
+ ButtonPress
+ ButtonRelease
+ Motion
+ RawKeyPress
+ RawKeyRelease
+ RawButtonPress
+ RawButtonRelease
+ RawMotion
+ Enter
+ Leave
+ FocusIn
+ FocusOut
+ PropertyEvent
+
+All events have a set of common fields specified as EVENTHEADER.
+
+
+EVENTHEADER { type: BYTE
+ extension: BYTE
+ sequenceNumber: CARD16
+ length: CARD32
+ evtype: CARD16
+ deviceid: DEVICEID
+ time: Time }
+
+ type
+ Always GenericEvent.
+ extension
+ Always the X Input extension offset.
+ sequenceNumber
+ Sequence number of last request processed by the server.
+ length
+ Length in 4-byte units after the initial 32 bytes.
+ evtype
+ XI-specific event type.
+ deviceid
+ Numerical device id for a device.
+ time
+ Time in ms.
+
+
+ ┌───
+ HierarchyEvent:
+ EVENTHEADER
+ flags: SETofHIERARCHYMASK
+ num_info: CARD16
+ info: LISTofHIERARCHYINFO
+ └───
+
+
+ HIERARCHYMASK { MasterAdded, MasterRemoved, SlaveAttached, SlaveDetached,
+ SlaveAdded, SlaveRemoved, DeviceEnabled, DeviceDisabled }
+
+ HIERARCHYINFO { deviceid: DEVICEID,
+ attachment: DEVICEID,
+ type: DEVICEUSE
+ enabled: BOOL
+ flags: SETofHIERARCHYMASK}
+
+ flags
+ Set of the changes that have occured, causing this event.
+ num_info
+ The number of device info structs following the request.
+ info:
+ The current hierarchy information.
+
+ An XIHierarchyEvent is sent whenever the device hierarchy been
+ changed. The flags specify all types of hierarchy modifiations that have
+ occured.
+ For all devices, info details the hierarchy information after the
+ modification of the hierarchy has occured. For each device specified with
+ deviceid:
+ - if type is MasterPointer or MasterKeyboard, attachment decribes the
+ pairing of this device.
+ - if type is SlavePointer or SlaveKeyboard, attachment describes the
+ master device this device is attached to.
+ - if type is FloatingSlave device, attachment is undefined.
+
+ enabled
+ True if the device is enabled and can send events. A disabled master
+ device will not forward events from an attached, enabled slave
+ device.
+
+ Note: Multiple devices may be affected in one hierarchy change,
+ deviceid in an XIHierarchyEvent is always the first affected
+ device. Clients should ignore deviceid and instead use the devices list.
+
+ ┌───
+ DeviceChangedEvent:
+ EVENTHEADER
+ reason: CHANGEREASON
+ source: DEVICEID
+ num_classes: CARD16
+ classes: LISTofCLASS
+ └───
+
+ CHANGEREASON { SlaveSwitch, DeviceChange }
+
+ A DeviceChangeEvent is sent whenever a device changes it's capabilities.
+ This can happen either by a new slave device sending events through a
+ master device, or by a physical device changing capabilities at runtime.
+
+ reason
+ The reason for generating this event.
+ If reason is SlaveSwitch, the slave device sending events through
+ this device has changed and source specifies the new slave device.
+ A SlaveSwitch reason can only occur on a master device.
+ If reason is DeviceChange, the device itself has changed through
+ other means (e.g. a physical device change) and source is
+ the device itself.
+ source
+ The source of the new classes.
+ num_classes
+ Number of classes provided.
+ classes
+ Details the available classes provided by the device. The order the
+ classes are provided in is undefined.
+
+ For a detailed description of classes, see the XQueryInputDevice
+ request.
+
+ ┌───
+ DeviceEvent:
+ EVENTHEADER
+ detail: CARD32
+ root: Window
+ event: Window
+ child: Window
+ root_x: FP1616
+ root_y: FP1616
+ event_x: FP1616
+ event_y: FP1616
+ buttons_len: CARD16
+ valuators_len: CARD16
+ sourceid: DEVICEID
+ mods: MODIFIERINFO
+ group: GROUPINFO
+ flags: DEVICEEEVENTFLAGS
+ buttons: SETofBUTTONMASK
+ valuators: SETofVALUATORMASK
+ axisvalues: LISTofFP3232
+ └───
+
+ BUTTONBIT { (1 << Button1), (1 << Button2), ... , (1 << ButtonN) }
+ VALUATORBIT { (1 << 1), ( 1 << 2), ... ( 1 << n) }
+
+ MODIFIERINFO { base_mods: CARD32,
+ latched_mods: CARD32,
+ locked_mods: CARD32,
+ effective_mods: CARD32}
+ GROUPINFO { base_group: CARD8,
+ latched_group: CARD8,
+ locked_group: CARD8,
+ effective_group: CARD8}
+
+ DEVICEEVENTFLAGS (all events): none
+ DEVICEEVENTFLAGS (key events only): { KeyRepeat }
+ DEVICEEVENTFLAGS (pointer events only): none
+
+ An XIDeviceEvent is generated whenever the logical state of a device
+ changes in response to a button press, a button release, a motion, a key
+ press or a key release.
+
+ detail
+ The button number or key code, or 0.
+ root
+ event
+ child
+ The root window, event window or subwindow, respectively. See core
+ protocol specification for more detail.
+ root_x
+ root_y
+ The position of the pointer in screen coordinates (16.16 fixed point).
+ event_x
+ event_y
+ The position of the pointer in screen coordinates relative to the
+ event window (16.16 fixed point).
+
+ buttons_len
+ The length of buttons in 4 byte units.
+ valuators_len
+ The length of valuators in 4 byte units.
+ sourceid
+ The source device that originally generated the event.
+ mods
+ XKB modifier state before the event occured.
+ group
+ XKB group state before the event.
+ buttons
+ Button state before the event.
+ valuators
+ Bitmask of valuators provided in axisvalues.
+ axisvalues
+ Valuator data in device-native resolution.
+ flags
+ Miscellaneous information about this event; the union of the
+ common flag set and either the key or pointer flag set,
+ depending on the event type.
+ KeyRepeat means that this event is for repeating purposes, and
+ the physical state of the key has not changed. This is only
+ valid for KeyPress events.
+
+ Modifier state in mods is detailed as follows:
+ base_mods
+ XKB base modifier state.
+ latched_mods
+ XKB latched modifier state.
+ locked_mods
+ XKB locked modifier state.
+
+ Group state in group is detailed as follows:
+ base_group
+ XKB base group state.
+ latched_group
+ XKB latched group state.
+ locked_group
+ XKB locked group state.
+
+ ┌───
+ RawEvent
+ EVENTHEADER
+ detail: CARD32
+ flags: DEVICEEVENTFLAGS
+ valuators_len: CARD16
+ valuators: SETofVALUATORMASK
+ axisvalues: LISTofFP3232
+ axisvalues_raw: LISTofFP3232
+ └───
+
+ A RawDevice event provides the information provided by the driver to the
+ client. RawDevice provide both the raw data as supplied by the driver and
+ transformed data as used in the server. Transformations include, but are
+ not limited to, axis clipping and acceleration.
+ Transformed valuator data may be equivalent to raw data. In this case,
+ both raw and transformed valuator data is provided.
+ RawEvents are sent exclusively to all root windows or to the client
+ that grabbed the device only.
+
+ eventtype
+ The type of event that occured on the device.
+ detail
+ The button number or keycode.
+ flags
+ Flags as described in DeviceEvent.
+ valuators_len
+ The length of valuators in 4 byte units.
+ valuators
+ Bitmask of valuators provided in axisvalues and axisvalues_raw.
+ axisvalues
+ Valuator data in device-native resolution.
+ axisvalues_raw
+ Untransformed valuator data in device-native resolution.
+
+ ┌───
+ Enter or Leave or FocusIn or FocusOut
+ EVENTHEADER
+ root: Window
+ event: Window
+ child: Window
+ sourceid: DEVICEID
+ root_x: FP1616
+ root_y: FP1616
+ event_x FP1616
+ event_y: FP1616
+ mode: NOTIFYMODE
+ detail: NOTIFYDETAIL
+ same_screen: BOOL
+ focus: BOOL
+ mods: MODIFIERINFO
+ group: GROUPINFO
+ buttons_len: CARD16
+ buttons: SETofBUTTONMASK
+ └───
+
+ NOTIFYMODE { Normal, Grab, Ungrab }
+ NOTIFYDETAIL { Ancestor, Virtual, Inferior, Nonlinear, NonlinearVirtual,
+ Pointer, PointerRoot, None }
+
+ Enter or Leave events are sent whenever a device's pointer enters or
+ leaves a window.
+ FocusIn or FocusOut events are sent whenever a device's focus is set to or
+ away from a window.
+ The enter/leave and focus in/out model is described in the core protocol
+ specification, Section 11. (EnterNotify, LeaveNotify events).
+
+ For enter and leave events, the modifier and group state is the state of
+ the paired master device if the device is a master device, or the state of
+ the attached master keyboard if the device is an attached slave device, or
+ zero if the device is a floating slave device.
+
+ For focus in and out events, the button state is the state of the paired
+ master device if the device is a master device, or the state of the
+ attached master keyboard if the device is an attached slave device, or
+ zero if the device is a floating slave device.
+
+ root
+ event
+ child
+ The root window, event window, and child window, respectively. See the
+ core protocol specification for more detail.
+ sourceid
+ The device that caused the pointer to move.
+ root_x
+ root_y
+ The pointer coordinates relative to the root window.
+ event_x
+ event_y
+ The pointer coordinates relative to the event window.
+ mode
+ Normal pointer motion events have mode Normal. Pseudo-motion events
+ when a grab activates have mode Grab, and pseudo-motion events when a
+ grab deactivates have mode Ungrab. Pseudo-motion events caused by the
+ activation or deactivation of a passive enter or focus in grab have mode
+ XIPassiveGrabNotify or XIPassiveUngrabNotify.
+ detail
+ Specifies the relation of the event window to the window the pointer
+ entered or left. See the core protocol spec for details.
+ same_screen
+ True if the event window is on the same screen as the pointer's root
+ window.
+ focus
+ If the event window is the focus window or an inferior of the focus
+ window, then focus is True. Otherwise, focus is False. This field is
+ unspecified for focus in/out events.
+ mods
+ XKB modifier state before the event occured.
+ group
+ XKB group state before the event.
+ buttons_len
+ The length of buttons in 4 byte units.
+ buttons
+ Button state before the event.
+
+ ┌───
+ XIPropertyEvent
+ EVENTHEADER
+ property: ATOM
+ what: { PropertyCreated, PropertyDeleted, PropertyModified }
+ └───
+
+ XIPropertyEvents are sent whenever a device property is created, deleted or
+ modified by a client.
+
+ property
+ The property that has been created, deleted, or modified
+ what
+ Specifies what has been changed.
+
+
+ ❧❧❧❧❧❧❧❧❧❧❧
diff --git a/inputproto/XIproto.h b/inputproto/XIproto.h
new file mode 100644
index 0000000..e00ab61
--- /dev/null
+++ b/inputproto/XIproto.h
@@ -0,0 +1,1756 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+Copyright 1989 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+#ifndef _XIPROTO_H
+#define _XIPROTO_H
+
+#include <X11/Xproto.h>
+#include <X11/X.h>
+
+/* make sure types have right sizes for protocol structures. */
+#define Window CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define Mask CARD32
+#define Atom CARD32
+#define Cursor CARD32
+
+/*********************************************************
+ *
+ * number of events, errors, and extension name.
+ *
+ */
+
+#define MORE_EVENTS 0x80
+#define DEVICE_BITS 0x7F
+
+#define InputClassBits 0x3F /* bits in mode field for input classes */
+#define ModeBitsShift 6 /* amount to shift the remaining bits */
+
+#define numInputClasses 7
+
+#define IEVENTS 17 /* does NOT include generic events */
+#define IERRORS 5
+#define IREQUESTS 39
+
+#define CLIENT_REQ 1
+
+typedef struct _XExtEventInfo
+ {
+ Mask mask;
+ BYTE type;
+ BYTE word;
+ } XExtEventInfo;
+
+typedef unsigned char *Pointer;
+
+struct tmask
+ {
+ Mask mask;
+ Pointer dev;
+ };
+
+/*********************************************************
+ *
+ * Event constants used by library.
+ *
+ */
+
+#define XI_DeviceValuator 0
+#define XI_DeviceKeyPress 1
+#define XI_DeviceKeyRelease 2
+#define XI_DeviceButtonPress 3
+#define XI_DeviceButtonRelease 4
+#define XI_DeviceMotionNotify 5
+#define XI_DeviceFocusIn 6
+#define XI_DeviceFocusOut 7
+#define XI_ProximityIn 8
+#define XI_ProximityOut 9
+#define XI_DeviceStateNotify 10
+#define XI_DeviceMappingNotify 11
+#define XI_ChangeDeviceNotify 12
+#define XI_DeviceKeystateNotify 13
+#define XI_DeviceButtonstateNotify 14
+#define XI_DevicePresenceNotify 15
+#define XI_DevicePropertyNotify 16
+
+/*********************************************************
+ *
+ * Protocol request constants
+ *
+ */
+
+#define X_GetExtensionVersion 1
+#define X_ListInputDevices 2
+#define X_OpenDevice 3
+#define X_CloseDevice 4
+#define X_SetDeviceMode 5
+#define X_SelectExtensionEvent 6
+#define X_GetSelectedExtensionEvents 7
+#define X_ChangeDeviceDontPropagateList 8
+#define X_GetDeviceDontPropagateList 9
+#define X_GetDeviceMotionEvents 10
+#define X_ChangeKeyboardDevice 11
+#define X_ChangePointerDevice 12
+#define X_GrabDevice 13
+#define X_UngrabDevice 14
+#define X_GrabDeviceKey 15
+#define X_UngrabDeviceKey 16
+#define X_GrabDeviceButton 17
+#define X_UngrabDeviceButton 18
+#define X_AllowDeviceEvents 19
+#define X_GetDeviceFocus 20
+#define X_SetDeviceFocus 21
+#define X_GetFeedbackControl 22
+#define X_ChangeFeedbackControl 23
+#define X_GetDeviceKeyMapping 24
+#define X_ChangeDeviceKeyMapping 25
+#define X_GetDeviceModifierMapping 26
+#define X_SetDeviceModifierMapping 27
+#define X_GetDeviceButtonMapping 28
+#define X_SetDeviceButtonMapping 29
+#define X_QueryDeviceState 30
+#define X_SendExtensionEvent 31
+#define X_DeviceBell 32
+#define X_SetDeviceValuators 33
+#define X_GetDeviceControl 34
+#define X_ChangeDeviceControl 35
+/* XI 1.5 */
+#define X_ListDeviceProperties 36
+#define X_ChangeDeviceProperty 37
+#define X_DeleteDeviceProperty 38
+#define X_GetDeviceProperty 39
+
+/*********************************************************
+ *
+ * Protocol request and reply structures.
+ *
+ * GetExtensionVersion.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetExtensionVersion */
+ CARD16 length B16;
+ CARD16 nbytes B16;
+ CARD8 pad1, pad2;
+} xGetExtensionVersionReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetExtensionVersion */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 major_version B16;
+ CARD16 minor_version B16;
+ BOOL present;
+ CARD8 pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGetExtensionVersionReply;
+
+/*********************************************************
+ *
+ * ListInputDevices.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ListInputDevices */
+ CARD16 length B16;
+} xListInputDevicesReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ListInputDevices */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 ndevices;
+ CARD8 pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xListInputDevicesReply;
+
+typedef struct _xDeviceInfo *xDeviceInfoPtr;
+
+typedef struct _xAnyClassinfo *xAnyClassPtr;
+
+typedef struct _xAnyClassinfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ } xAnyClassInfo;
+
+typedef struct _xDeviceInfo {
+ CARD32 type B32;
+ CARD8 id;
+ CARD8 num_classes;
+ CARD8 use; /* IsXPointer | IsXKeyboard | IsXExtension... */
+ CARD8 attached; /* id of master dev (if IsXExtension..) */
+ } xDeviceInfo;
+
+typedef struct _xKeyInfo *xKeyInfoPtr;
+
+typedef struct _xKeyInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ KeyCode min_keycode;
+ KeyCode max_keycode;
+ CARD16 num_keys B16;
+ CARD8 pad1,pad2;
+ } xKeyInfo;
+
+typedef struct _xButtonInfo *xButtonInfoPtr;
+
+typedef struct _xButtonInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD16 num_buttons B16;
+ } xButtonInfo;
+
+typedef struct _xValuatorInfo *xValuatorInfoPtr;
+
+typedef struct _xValuatorInfo {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_axes;
+ CARD8 mode;
+ CARD32 motion_buffer_size B32;
+ } xValuatorInfo;
+
+typedef struct _xAxisInfo *xAxisInfoPtr;
+
+typedef struct _xAxisInfo {
+ CARD32 resolution B32;
+ CARD32 min_value B32;
+ CARD32 max_value B32;
+ } xAxisInfo;
+
+/*********************************************************
+ *
+ * OpenDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_OpenDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xOpenDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_OpenDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 num_classes;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } xOpenDeviceReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 event_type_base;
+ } xInputClassInfo;
+
+/*********************************************************
+ *
+ * CloseDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_CloseDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xCloseDeviceReq;
+
+/*********************************************************
+ *
+ * SetDeviceMode.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceMode */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 mode;
+ BYTE pad1, pad2;
+} xSetDeviceModeReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceMode */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xSetDeviceModeReply;
+
+/*********************************************************
+ *
+ * SelectExtensionEvent.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SelectExtensionEvent */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 count B16;
+ CARD16 pad00 B16;
+} xSelectExtensionEventReq;
+
+/*********************************************************
+ *
+ * GetSelectedExtensionEvent.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetSelectedExtensionEvents */
+ CARD16 length B16;
+ Window window B32;
+} xGetSelectedExtensionEventsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* GetSelectedExtensionEvents */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 this_client_count B16;
+ CARD16 all_clients_count B16;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetSelectedExtensionEventsReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceDontPropagateList.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeDeviceDontPropagateList */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 count B16;
+ CARD8 mode;
+ BYTE pad;
+} xChangeDeviceDontPropagateListReq;
+
+/*********************************************************
+ *
+ * GetDeviceDontPropagateList.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetDeviceDontPropagateList */
+ CARD16 length B16;
+ Window window B32;
+} xGetDeviceDontPropagateListReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* GetDeviceDontPropagateList */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 count B16;
+ CARD16 pad00 B16;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xGetDeviceDontPropagateListReply;
+
+/*********************************************************
+ *
+ * GetDeviceMotionEvents.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceMotionEvents*/
+ CARD16 length B16;
+ Time start B32;
+ Time stop B32;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceMotionEventsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceMotionEvents */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nEvents B32;
+ CARD8 axes;
+ CARD8 mode;
+ BYTE pad1, pad2;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGetDeviceMotionEventsReply;
+
+/*********************************************************
+ *
+ * ChangeKeyboardDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeKeyboardDevice */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xChangeKeyboardDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangeKeyboardDevice*/
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xChangeKeyboardDeviceReply;
+
+/*********************************************************
+ *
+ * ChangePointerDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangePointerDevice */
+ CARD16 length B16;
+ CARD8 xaxis;
+ CARD8 yaxis;
+ CARD8 deviceid;
+ BYTE pad1;
+} xChangePointerDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangePointerDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xChangePointerDeviceReply;
+
+/*********************************************************
+ *
+ * GrabDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDevice */
+ CARD16 length B16;
+ Window grabWindow B32;
+ Time time B32;
+ CARD16 event_count B16;
+ CARD8 this_device_mode;
+ CARD8 other_devices_mode;
+ BOOL ownerEvents;
+ CARD8 deviceid;
+ CARD16 pad01 B16;
+} xGrabDeviceReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GrabDevice */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ } xGrabDeviceReply;
+
+/*********************************************************
+ *
+ * UngrabDevice.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UnGrabDevice */
+ CARD16 length B16;
+ Time time B32;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceReq;
+
+/*********************************************************
+ *
+ * GrabDeviceKey.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDeviceKey */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 event_count B16;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 grabbed_device;
+ CARD8 key;
+ BYTE this_device_mode;
+ BYTE other_devices_mode;
+ BOOL ownerEvents;
+ BYTE pad1, pad2;
+} xGrabDeviceKeyReq;
+
+/*********************************************************
+ *
+ * UngrabDeviceKey.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UngrabDeviceKey */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 key;
+ CARD8 grabbed_device;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceKeyReq;
+
+/*********************************************************
+ *
+ * GrabDeviceButton.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GrabDeviceButton */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD8 grabbed_device;
+ CARD8 modifier_device;
+ CARD16 event_count B16;
+ CARD16 modifiers B16;
+ BYTE this_device_mode;
+ BYTE other_devices_mode;
+ CARD8 button;
+ BOOL ownerEvents;
+ BYTE pad1, pad2;
+} xGrabDeviceButtonReq;
+
+/*********************************************************
+ *
+ * UngrabDeviceButton.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_UngrabDeviceButton */
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 modifier_device;
+ CARD8 button;
+ CARD8 grabbed_device;
+ BYTE pad1, pad2, pad3;
+} xUngrabDeviceButtonReq;
+
+/*********************************************************
+ *
+ * AllowDeviceEvents.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_AllowDeviceEvents */
+ CARD16 length B16;
+ Time time B32;
+ CARD8 mode;
+ CARD8 deviceid;
+ BYTE pad1, pad2;
+} xAllowDeviceEventsReq;
+
+/*********************************************************
+ *
+ * GetDeviceFocus.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceFocus */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceFocusReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceFocus */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 focus B32;
+ Time time B32;
+ CARD8 revertTo;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ } xGetDeviceFocusReply;
+
+/*********************************************************
+ *
+ * SetDeviceFocus.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceFocus */
+ CARD16 length B16;
+ Window focus B32;
+ Time time B32;
+ CARD8 revertTo;
+ CARD8 device;
+ CARD16 pad01 B16;
+} xSetDeviceFocusReq;
+
+/*********************************************************
+ *
+ * GetFeedbackControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetFeedbackControl */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetFeedbackControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetFeedbackControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 num_feedbacks B16;
+ CARD16 pad01 B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+} xGetFeedbackControlReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class */
+#else
+ CARD8 class; /* feedback class */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+} xFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 id;
+ CARD16 length B16;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+ BOOL global_auto_repeat;
+ CARD8 click;
+ CARD8 percent;
+ BYTE pad;
+ BYTE auto_repeats[32];
+} xKbdFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 id;
+ CARD16 length B16;
+ CARD8 pad1,pad2;
+ CARD16 accelNum B16;
+ CARD16 accelDenom B16;
+ CARD16 threshold B16;
+} xPtrFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD32 resolution B32;
+ INT32 min_value B32;
+ INT32 max_value B32;
+} xIntegerFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD16 max_symbols B16;
+ CARD16 num_syms_supported B16;
+} xStringFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD8 percent;
+ BYTE pad1, pad2, pad3;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+} xBellFeedbackState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id;
+ CARD16 length B16; /* feedback length */
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xLedFeedbackState;
+
+/*********************************************************
+ *
+ * ChangeFeedbackControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_ChangeFeedbackControl */
+ CARD16 length B16;
+ CARD32 mask B32;
+ CARD8 deviceid;
+ CARD8 feedbackid;
+ BYTE pad1, pad2;
+} xChangeFeedbackControlReq;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+} xFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback length */
+ CARD16 length B16; /* feedback length */
+ KeyCode key;
+ CARD8 auto_repeat_mode;
+ INT8 click;
+ INT8 percent;
+ INT16 pitch B16;
+ INT16 duration B16;
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xKbdFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD8 pad1,pad2;
+ INT16 num B16;
+ INT16 denom B16;
+ INT16 thresh B16;
+} xPtrFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ INT32 int_to_display B32;
+} xIntegerFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD8 pad1,pad2;
+ CARD16 num_keysyms B16;
+} xStringFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ INT8 percent;
+ BYTE pad1, pad2, pad3;
+ INT16 pitch B16;
+ INT16 duration B16;
+} xBellFeedbackCtl;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class; /* feedback class id */
+#else
+ CARD8 class; /* feedback class id */
+#endif
+ CARD8 id; /* feedback id */
+ CARD16 length B16; /* feedback length */
+ CARD32 led_mask B32;
+ CARD32 led_values B32;
+} xLedFeedbackCtl;
+
+/*********************************************************
+ *
+ * GetDeviceKeyMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceKeyMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+} xGetDeviceKeyMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceKeyMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 keySymsPerKeyCode;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetDeviceKeyMappingReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceKeyMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangeDeviceKeyMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ KeyCode firstKeyCode;
+ CARD8 keySymsPerKeyCode;
+ CARD8 keyCodes;
+} xChangeDeviceKeyMappingReq;
+
+/*********************************************************
+ *
+ * GetDeviceModifierMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceModifierMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceModifierMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceModifierMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 numKeyPerModifier;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetDeviceModifierMappingReply;
+
+/*********************************************************
+ *
+ * SetDeviceModifierMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceModifierMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 numKeyPerModifier;
+ CARD16 pad1 B16;
+} xSetDeviceModifierMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceModifierMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 success;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSetDeviceModifierMappingReply;
+
+/*********************************************************
+ *
+ * GetDeviceButtonMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_GetDeviceButtonMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xGetDeviceButtonMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceButtonMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 nElts;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetDeviceButtonMappingReply;
+
+/*********************************************************
+ *
+ * SetDeviceButtonMapping.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* X_SetDeviceButtonMapping */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 map_length;
+ BYTE pad1, pad2;
+} xSetDeviceButtonMappingReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceButtonMapping */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xSetDeviceButtonMappingReply;
+
+/*********************************************************
+ *
+ * QueryDeviceState.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_QueryDeviceState */
+ CARD16 length B16;
+ CARD8 deviceid;
+ BYTE pad1, pad2, pad3;
+} xQueryDeviceStateReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_QueryDeviceState */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 num_classes;
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xQueryDeviceStateReply;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_keys;
+ BYTE pad1;
+ CARD8 keys[32];
+} xKeyState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_buttons;
+ BYTE pad1;
+ CARD8 buttons[32];
+} xButtonState;
+
+typedef struct {
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 length;
+ CARD8 num_valuators;
+ CARD8 mode;
+} xValuatorState;
+
+/*********************************************************
+ *
+ * SendExtensionEvent.
+ * THIS REQUEST MUST BE KEPT A MULTIPLE OF 8 BYTES IN LENGTH!
+ * MORE EVENTS MAY FOLLOW AND THEY MUST BE QUAD-ALIGNED!
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_SendExtensionEvent */
+ CARD16 length B16;
+ Window destination B32;
+ CARD8 deviceid;
+ BOOL propagate;
+ CARD16 count B16;
+ CARD8 num_events;
+ BYTE pad1,pad2,pad3;
+} xSendExtensionEventReq;
+
+/*********************************************************
+ *
+ * DeviceBell.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType; /* always X_DeviceBell */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 feedbackid;
+ CARD8 feedbackclass;
+ INT8 percent;
+} xDeviceBellReq;
+
+/*********************************************************
+ *
+ * SetDeviceValuators.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_SetDeviceValuators */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 first_valuator;
+ CARD8 num_valuators;
+ BYTE pad1;
+} xSetDeviceValuatorsReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_SetDeviceValuators */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xSetDeviceValuatorsReply;
+
+/*********************************************************
+ *
+ * GetDeviceControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GetDeviceControl */
+ CARD16 length B16;
+ CARD16 control B16;
+ CARD8 deviceid;
+ BYTE pad2;
+} xGetDeviceControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xGetDeviceControlReply;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+} xDeviceState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD32 num_valuators B32; /* number of valuators */
+} xDeviceResolutionState;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ INT32 min_x B32;
+ INT32 max_x B32;
+ INT32 min_y B32;
+ INT32 max_y B32;
+ CARD32 flip_x B32;
+ CARD32 flip_y B32;
+ CARD32 rotation B32;
+ CARD32 button_threshold B32;
+} xDeviceAbsCalibState;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD32 offset_x B32;
+ CARD32 offset_y B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 screen B32;
+ CARD32 following B32;
+} xDeviceAbsAreaState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 status;
+ CARD8 iscore;
+ CARD16 pad1 B16;
+} xDeviceCoreState;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 enable;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceEnableState;
+
+/*********************************************************
+ *
+ * ChangeDeviceControl.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_ChangeDeviceControl */
+ CARD16 length B16;
+ CARD16 control B16;
+ CARD8 deviceid;
+ BYTE pad0;
+} xChangeDeviceControlReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ChangeDeviceControl */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 status;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+} xChangeDeviceControlReply;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+} xDeviceCtl;
+
+typedef struct {
+ CARD16 control B16; /* control type */
+ CARD16 length B16; /* control length */
+ CARD8 first_valuator; /* first valuator to change */
+ CARD8 num_valuators; /* number of valuators to change*/
+ CARD8 pad1,pad2;
+} xDeviceResolutionCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ INT32 min_x;
+ INT32 max_x;
+ INT32 min_y;
+ INT32 max_y;
+ CARD32 flip_x;
+ CARD32 flip_y;
+ CARD32 rotation;
+ CARD32 button_threshold;
+} xDeviceAbsCalibCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD32 offset_x;
+ CARD32 offset_y;
+ INT32 width;
+ INT32 height;
+ INT32 screen;
+ CARD32 following;
+} xDeviceAbsAreaCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD8 status;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceCoreCtl;
+
+typedef struct {
+ CARD16 control B16;
+ CARD16 length B16;
+ CARD8 enable;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeviceEnableCtl;
+
+/* XI 1.5 */
+
+/*********************************************************
+ *
+ * ListDeviceProperties.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ListDeviceProperties */
+ CARD16 length B16;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xListDevicePropertiesReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_ListDeviceProperties */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nAtoms B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xListDevicePropertiesReply;
+
+/*********************************************************
+ *
+ * ChangeDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_ChangeDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD8 deviceid;
+ CARD8 format;
+ CARD8 mode;
+ CARD8 pad;
+ CARD32 nUnits B32;
+} xChangeDevicePropertyReq;
+
+/*********************************************************
+ *
+ * DeleteDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_DeleteDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ CARD8 deviceid;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+} xDeleteDevicePropertyReq;
+
+/*********************************************************
+ *
+ * GetDeviceProperty.
+ *
+ */
+
+typedef struct {
+ CARD8 reqType; /* input extension major opcode */
+ CARD8 ReqType; /* always X_GetDeviceProperty */
+ CARD16 length B16;
+ Atom property B32;
+ Atom type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+ CARD8 deviceid;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
+ BOOL delete;
+#endif
+ CARD16 pad;
+} xGetDevicePropertyReq;
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GetDeviceProperty */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD8 format;
+ CARD8 deviceid;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xGetDevicePropertyReply;
+
+
+/**********************************************************
+ *
+ * Input extension events.
+ *
+ * DeviceValuator
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ CARD8 deviceid;
+ CARD16 sequenceNumber B16;
+ KeyButMask device_state B16;
+ CARD8 num_valuators;
+ CARD8 first_valuator;
+ INT32 valuator0 B32;
+ INT32 valuator1 B32;
+ INT32 valuator2 B32;
+ INT32 valuator3 B32;
+ INT32 valuator4 B32;
+ INT32 valuator5 B32;
+ } deviceValuator;
+
+/**********************************************************
+ *
+ * DeviceKeyButtonPointer.
+ *
+ * Used for: DeviceKeyPress, DeviceKeyRelease,
+ * DeviceButtonPress, DeviceButtonRelease,
+ * ProximityIn, ProximityOut
+ * DeviceMotionNotify,
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Window root B32;
+ Window event B32;
+ Window child B32;
+ INT16 root_x B16;
+ INT16 root_y B16;
+ INT16 event_x B16;
+ INT16 event_y B16;
+ KeyButMask state B16;
+ BOOL same_screen;
+ CARD8 deviceid;
+ } deviceKeyButtonPointer;
+
+/**********************************************************
+ *
+ * DeviceFocus.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Window window B32;
+ BYTE mode;
+ CARD8 deviceid;
+ BYTE pad1, pad2;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ } deviceFocus;
+
+/**********************************************************
+ *
+ * DeviceStateNotify.
+ *
+ * Note that the two high-order bits in the classes_reported
+ * field are the proximity state (InProximity or OutOfProximity),
+ * and the device mode (Absolute or Relative), respectively.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 num_keys;
+ CARD8 num_buttons;
+ CARD8 num_valuators;
+ CARD8 classes_reported;
+ CARD8 buttons[4];
+ CARD8 keys[4];
+ INT32 valuator0 B32;
+ INT32 valuator1 B32;
+ INT32 valuator2 B32;
+ } deviceStateNotify;
+
+/**********************************************************
+ *
+ * DeviceKeyStateNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 keys[28];
+ } deviceKeyStateNotify;
+
+/**********************************************************
+ *
+ * DeviceButtonStateNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 buttons[28];
+ } deviceButtonStateNotify;
+
+/**********************************************************
+ *
+ * DeviceMappingNotify.
+ * Fields must be kept in sync with core mappingnotify event.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ CARD8 request;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+ Time time B32;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } deviceMappingNotify;
+
+/**********************************************************
+ *
+ * ChangeDeviceNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE deviceid;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 request;
+ BYTE pad1, pad2, pad3;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ } changeDeviceNotify;
+
+/**********************************************************
+ *
+ * devicePresenceNotify.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE pad00;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ BYTE devchange; /* Device{Added|Removed|Enabled|Disabled|ControlChanged} */
+ BYTE deviceid;
+ CARD16 control B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+ } devicePresenceNotify;
+
+
+/*********************************************************
+ * DevicePropertyNotifyEvent
+ *
+ * Sent whenever a device's property changes.
+ *
+ */
+
+typedef struct
+ {
+ BYTE type;
+ BYTE state; /* NewValue or Deleted */
+ CARD16 sequenceNumber B16;
+ CARD32 time B32;
+ Atom atom B32; /* affected property */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD16 pad5 B16;
+ CARD8 pad4;
+ CARD8 deviceid; /* id of device */
+ } devicePropertyNotify;
+
+#undef Window
+#undef Time
+#undef KeyCode
+#undef Mask
+#undef Atom
+#undef Cursor
+
+#endif
diff --git a/inputproto/XIproto.txt b/inputproto/XIproto.txt
new file mode 100644
index 0000000..20cc02a
--- /dev/null
+++ b/inputproto/XIproto.txt
@@ -0,0 +1,2542 @@
+ X11 Input Extension Protocol Specification
+ Version 1.0
+ X Consortium Standard
+ X Version 11, Release 6.8
+ Mark Patrick, Ardent Computer
+ George Sachs, Hewlett-Packard
+
+ Version 1.5
+ Peter Hutterer
+
+ Copyright © 1989, 1990, 1991 by Hewlett-Packard Company and
+ Ardent Computer
+
+ Permission to use, copy, modify, and distribute this
+ documentation for any purpose and without fee is hereby
+ granted, provided that the above copyright notice and this
+ permission notice appear in all copies. Ardent and
+ Hewlett-Packard make no representations about the suitability
+ for any purpose of the information in this document. It is
+ provided "as is" without express or implied warranty. Copyright
+ © 1989, 1990, 1991, 1992 X Consortium
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the “Software”), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE
+ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ Except as contained in this notice, the name of the X
+ Consortium shall not be used in advertising or otherwise to
+ promote the sale, use or other dealings in this Software
+ without prior written authorization from the X Consortium. X
+ Window System is a trademark of The Open Group.
+
+ Copyright © 2008 by Peter Hutterer
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+
+ The above copyright notice and this permission notice
+ (including the next paragraph) shall be included in all copies
+ or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+1. Input Extension Overview
+
+ This document defines an extension to the X11 protocol to
+ support input devices other than the core X keyboard and
+ pointer. An accompanying document defines a corresponding
+ extension to Xlib (similar extensions for languages other than
+ C are anticipated). This first section gives an overview of the
+ input extension. The next section defines the new protocol
+ requests defined by the extension. We conclude with a
+ description of the new input events generated by the additional
+ input devices.
+
+ This document only describes the behaviour of servers supporting
+ up to the X Input Extension 1.5. For servers supporting the X
+ Input Extensions 2.0, see XI2proto.txt. New clients are discouraged
+ from using this protocol specification. Instead, the use of XI 2.x
+ is recommended.
+
+1.1 Design Approach
+
+ The design approach of the extension is to define requests and
+ events analogous to the core requests and events. This allows
+ extension input devices to be individually distinguishable from
+ each other and from the core input devices. These requests and
+ events make use of a device identifier and support the
+ reporting of n-dimensional motion data as well as other data
+ that is not reportable via the core input events.
+
+1.2 Core Input Devices
+
+ The X server core protocol supports two input devices: a
+ pointer and a keyboard. The pointer device has two major
+ functions. First, it may be used to generate motion information
+ that client programs can detect. Second, it may also be used to
+ indicate the current location and focus of the X keyboard. To
+ accomplish this, the server echoes a cursor at the current
+ position of the X pointer. Unless the X keyboard has been
+ explicitly focused, this cursor also shows the current location
+ and focus of the X keyboard. The X keyboard is used to generate
+ input that client programs can detect.
+
+ In servers supporting XI 1.4 and above, the core pointer and
+ the core keyboard are virtual devices that do not represent a
+ physical device connected to the host computer.
+ In servers supporting XI 2.0 and above, there may be multiple
+ core pointers and keyboards. Refer to XI2proto.txt for more
+ information.
+
+ The X keyboard and X pointer are referred to in this document
+ as the core devices, and the input events they generate
+ (KeyPress, KeyRelease, ButtonPress, ButtonRelease, and
+ MotionNotify) are known as the core input events. All other
+ input devices are referred to as extension input devices and
+ the input events they generate are referred to as extension
+ input events.
+
+ In servers supporting only XI 1.x, this input extension does
+ not change the behavior or functionality of the core input
+ devices, core events, or core protocol requests, with the
+ exception of the core grab requests. These requests may affect
+ the synchronization of events from extension devices. See the
+ explanation in the section titled "Event Synchronization and
+ Core Grabs".
+
+ Selection of the physical devices to be initially used by the
+ server as the core devices is left implementation-dependent.
+ Requests are defined that allow client programs to change which
+ physical devices are used as the core devices.
+
+1.3 Extension Input Devices
+
+ The input extension v1.x controls access to input devices other
+ than the X keyboard and X pointer. It allows client programs to
+ select input from these devices independently from each other
+ and independently from the core devices.
+
+ A client that wishes to access a specific device must first
+ determine whether that device is connected to the X server.
+ This is done through the ListInputDevices request, which will
+ return a list of all devices that can be opened by the X
+ server. A client can then open one or more of these devices
+ using the OpenDevice request, specify what events they are
+ interested in receiving, and receive and process input events
+ from extension devices in the same way as events from the X
+ keyboard and X pointer. Input events from these devices are of
+ extension types ( DeviceKeyPress, DeviceKeyRelease,
+ DeviceButtonPress, DeviceButtonRelease, DeviceMotionNotify,
+ etc.) and contain a device identifier so that events of the
+ same type coming from different input devices can be
+ distinguished.
+
+ Any kind of input device may be used as an extension input
+ device. Extension input devices may have 0 or more keys, 0 or
+ more buttons, and may report 0 or more axes of motion. Motion
+ may be reported as relative movements from a previous position
+ or as an absolute position. All valuators reporting motion
+ information for a given extension input device must report the
+ same kind of motion information (absolute or relative).
+
+ This extension is designed to accommodate new types of input
+ devices that may be added in the future. The protocol requests
+ that refer to specific characteristics of input devices
+ organize that information by input classes. Server implementors
+ may add new classes of input devices without changing the
+ protocol requests. Input classes are unique numbers registered
+ with the X Consortium. Each extension input device may support
+ multiple input classes.
+
+ In XI 1.x, all extension input devices are treated like the
+ core X keyboard in determining their location and focus. The
+ server does not track the location of these devices on an
+ individual basis, and therefore does not echo a cursor to
+ indicate their current location. Instead, their location is
+ determined by the location of the core X pointer. Like the core
+ X keyboard, some may be explicitly focused. If they are not
+ explicitly focused, their focus is determined by the location
+ of the core X pointer.
+
+ Most input events reported by the server to a client are of
+ fixed size (32 bytes). In order to represent the change in
+ state of an input device the extension may need to generate a
+ sequence of input events. A client side library (such as Xlib)
+ will typically take these raw input events and format them into
+ a form more convenient to the client.
+
+1.4 Event Classes
+
+ In the core protocol a client registers interest in receiving
+ certain input events directed to a window by modifying that
+ window's event-mask. Most of the bits in the event mask are
+ already used to specify interest in core X events. The input
+ extension specifies a different mechanism by which a client can
+ express interest in events generated by this extension.
+
+ When a client opens a extension input device via the OpenDevice
+ request, an XDevice structure is returned. Macros are provided
+ that extract 32-bit numbers called event classes from that
+ structure, that a client can use to register interest in
+ extension events via the SelectExtensionEvent request. The
+ event class combines the desired event type and device id, and
+ may be thought of as the equivalent of core event masks.
+
+1.5 Input Classes
+
+ Some of the input extension requests divide input devices into
+ classes based on their functionality. This is intended to allow
+ new classes of input devices to be defined at a later time
+ without changing the semantics of these requests. The following
+ input device classes are currently defined:
+
+ KEY
+ The device reports key events.
+
+ BUTTON
+ The device reports button events.
+
+ VALUATOR
+ The device reports valuator data in motion events.
+
+ PROXIMITY
+ The device reports proximity events.
+
+ FOCUS
+ The device can be focused and reports focus events.
+
+ FEEDBACK
+ The device supports feedbacks.
+
+ OTHER
+ The ChangeDeviceNotify, DeviceMappingNotify, and
+ DeviceStateNotify macros may be invoked passing the
+ XDevice structure returned for this device.
+
+ Each extension input device may support multiple input classes.
+ Additional classes may be added in the future. Requests that
+ support multiple input classes, such as the ListInputDevices
+ function that lists all available input devices, organize the
+ data they return by input class. Client programs that use these
+ requests should not access data unless it matches a class
+ defined at the time those clients were compiled. In this way,
+ new classes can be added without forcing existing clients that
+ use these requests to be recompiled.
+
+2. Requests
+
+ Extension input devices are accessed by client programs through
+ the use of new protocol requests. This section summarizes the
+ new requests defined by this extension. The syntax and type
+ definitions used below follow the notation used for the X11
+ core protocol.
+
+2.1 Getting the Extension Version
+
+ The GetExtensionVersion request returns version information
+ about the input extension.
+
+ GetExtensionVersion
+ name: STRING
+ =>
+ present: BOOL
+ protocol-major-version: CARD16
+ protocol-minor-version: CARD16
+
+ The protocol version numbers returned indicate the version of
+ the input extension supported by the target X server. The
+ version numbers can be compared to constants defined in the
+ header file XI.h. Each version is a superset of the previous
+ versions.
+
+ The name must be the name of the Input Extension as defined
+ in the header file XI.h.
+
+2.2 Listing Available Devices
+
+ A client that wishes to access a specific device must first
+ determine whether that device is connected to the X server.
+ This is done through the ListInputDevices request, which will
+ return a list of all devices that can be opened by the X
+ server.
+
+ ListInputDevices
+ =>
+ input-devices: ListOfDeviceInfo
+
+ where
+
+ DEVICEINFO:
+ [type: ATOM
+ id: CARD8
+ num_classes: CARD8
+ use: {IsXKeyboard, IsXPointer, IsXExtensionPointer,
+ IsXExtensionKeyboard, IsExtensionDevice}
+ info: LISTofINPUTINFO
+ name: STRING8]
+
+ INPUTINFO: {KEYINFO, BUTTONINFO, VALUATORINFO}
+ KEYINFO:
+ [class: CARD8
+ length: CARD8
+ min-keycode: KEYCODE
+ max-keycode: KEYCODE
+ num-keys: CARD16]
+ BUTTONINFO:
+ [class: CARD8
+ length: CARD8
+ num-buttons: CARD16]
+ VALUATORINFO:
+ [class: CARD8
+ length: CARD8
+ num_axes: CARD8
+ mode: SETofDEVICEMODE
+ motion_buffer_size: CARD32
+ axes: LISTofAXISINFO]
+
+ AXISINFO:
+ [resolution: CARD32
+ min-val: CARD32
+ max-val: CARD32]
+ DEVICEMODE: {Absolute, Relative}
+
+ Errors: None
+
+ This request returns a list of all devices that can be opened
+ by the X server, including the core X keyboard and X pointer.
+ Some implementations may open all input devices as part of X
+ initialization, while others may not open an input device until
+ requested to do so by a client program.
+
+ The information returned for each device is as follows:
+
+ type
+ The type field is of type Atom and indicates the nature
+ of the device. Clients may determine device types by
+ invoking the XInternAtom request passing one of the
+ names defined in the header file XI.h. The following
+ names have been defined to date:
+
+ MOUSE
+ TABLET
+ KEYBOARD
+ TOUCHSCREEN
+ TOUCHPAD
+ BUTTONBOX
+ BARCODE
+ KNOB_BOX
+ TRACKBALL
+ QUADRATURE
+ SPACEBALL
+ DATAGLOVE
+ EYETRACKER
+ CURSORKEYS
+ FOOTMOUSE
+ ID_MODULE
+ ONE_KNOB
+ NINE_KNOB
+ JOYSTICK
+
+
+ id
+ The id is a small cardinal value in the range 0-128 that
+ uniquely identifies the device. It is assigned to the
+ device when it is initialized by the server. Some
+ implementations may not open an input device until
+ requested by a client program, and may close the device
+ when the last client accessing it requests that it be
+ closed. If a device is opened by a client program via
+ XOpenDevice, then closed via XCloseDevice, then opened
+ again, it is not guaranteed to have the same id after
+ the second open request.
+
+ num_classes
+ The num_classes field is a small cardinal value in the
+ range 0-255 that specifies the number of input classes
+ supported by the device for which information is
+ returned by ListInputDevices. Some input classes, such
+ as class Focus and class Proximity do not have any
+ information to be returned by ListInputDevices.
+
+ use
+ The use field specifies how the device is currently
+ being used. If the value is IsXKeyboard, the device is
+ currently being used as the X keyboard. If the value is
+ IsXPointer, the device is currently being used as the X
+ pointer. If the value is IsXExtensionPointer, the device
+ is available for use as an extension pointer. If the value
+ is IsXExtensionKeyboard, the device is available for use as
+ and extension keyboard.
+ Older versions of XI report all extension devices as
+ IsXExtensionDevice.
+
+ name
+ The name field contains a pointer to a null-terminated
+ string that corresponds to one of the defined device
+ types.
+
+ InputInfo
+ InputInfo is one of: KeyInfo, ButtonInfo or
+ ValuatorInfo. The first two fields are common to all
+ three:
+
+ class
+ The class field is a cardinal value in the range
+ 0-255. It uniquely identifies the class of input
+ for which information is returned.
+
+ length
+ The length field is a cardinal value in the range
+ 0-255. It specifies the number of bytes of data
+ that are contained in this input class. The length
+ includes the class and length fields.
+
+ The remaining information returned for input class
+ KEYCLASS is as follows:
+
+ min_keycode
+ min_keycode is of type KEYCODE. It specifies the
+ minimum keycode that the device will report. The
+ minimum keycode will not be smaller than 8.
+
+ max_keycode
+ max_keycode is of type KEYCODE. It specifies the
+ maximum keycode that the device will report. The
+ maximum keycode will not be larger than 255.
+
+ num_keys
+ num_keys is a cardinal value that specifies the
+ number of keys that the device has.
+
+ The remaining information returned for input class
+ BUTTONCLASS is as follows:
+
+ num_buttons
+ num_buttons is a cardinal value that specifies the
+ number of buttons that the device has.
+
+ The remaining information returned for input class
+ VALUATORCLASS is as follows:
+
+ mode
+ mode is a constant that has one of the following
+ values: Absolute or Relative. Some devices allow
+ the mode to be changed dynamically via the
+ SetDeviceMode request.
+
+ motion_buffer_size
+ motion_buffer_size is a cardinal number that
+ specifies the number of elements that can be
+ contained in the motion history buffer for the
+ device.
+
+ axes
+ The axes field contains a pointer to an AXISINFO
+ struture.
+
+ The information returned for each axis reported by the
+ device is:
+
+ resolution
+ The resolution is a cardinal value in
+ counts/meter.
+
+ min_val
+ The min_val field is a cardinal value in that
+ contains the minimum value the device reports for
+ this axis. For devices whose mode is Relative, the
+ min_val field will contain 0.
+
+ max_val
+ The max_val field is a cardinal value in that
+ contains the maximum value the device reports for
+ this axis. For devices whose mode is Relative, the
+ max_val field will contain 0.
+
+2.3 Enabling Devices
+
+ Client programs that wish to access an extension device must
+ request that the server open that device. This is done via the
+ OpenDevice request.
+
+ OpenDevice
+ id: CARD8
+ =>
+ DEVICE:
+ [device_id: XID
+ num_classes: INT32
+ classes: LISTofINPUTCLASSINFO]
+ INPUTCLASSINFO:
+ [input_class: CARD8
+ event_type_base: CARD8]
+
+ Errors: Device
+
+ This request returns the event classes to be used by the client
+ to indicate which events the client program wishes to receive.
+ Each input class may report several event classes. For example,
+ input class Keys reports DeviceKeyPress and DeviceKeyRelease
+ event classes. Input classes are unique numbers registered with
+ the X Consortium. Input class Other exists to report event
+ classes that are not specific to any one input class, such as
+ DeviceMappingNotify, ChangeDeviceNotify, and DeviceStateNotify.
+
+ The information returned for each device is as follows:
+
+ device_id
+ The device_id is a number that uniquely identifies the
+ device.
+
+ num_classes
+ The num_classes field contains the number of input
+ classes supported by this device.
+
+ For each class of input supported by the device, the
+ InputClassInfo structure contains the following information:
+
+ input_class
+ The input_class is a small cardinal number that
+ identifies the class of input.
+
+ event_type_base
+ The event_type_base is a small cardinal number that
+ specifies the event type of one of the events reported
+ by this input class. This information is not directly
+ used by client programs. Instead, the Device is used by
+ macros that return extension event types and event
+ classes. This is described in the section of this
+ document entitled "Selecting Extension Device Events".
+
+ The information in the InputClassInfo reflects the state of
+ this device at the time the request was processed.
+
+ Before it exits, the client program should explicitly request
+ that the server close the device. This is done via the
+ CloseDevice request.
+
+ A client may open the same extension device more than once.
+ Requests after the first successful one return an additional
+ XDevice structure with the same information as the first, but
+ otherwise have no effect. A single CloseDevice request will
+ terminate that client's access to the device.
+
+ Closing a device releases any active or passive grabs the
+ requesting client has established. If the device is frozen only
+ by an active grab of the requesting client, the queued events
+ are released when the client terminates.
+
+ If a client program terminates without closing a device, the
+ server will automatically close that device on behalf of the
+ client. This does not affect any other clients that may be
+ accessing that device.
+
+ CloseDevice:
+ device: DEVICE
+
+ Errors: Device
+
+2.4 Changing The Mode Of A Device
+
+ Some devices are capable of reporting either relative or
+ absolute motion data. To change the mode of a device from
+ relative to absolute, use the SetDeviceMode request. The valid
+ values are Absolute or Relative.
+
+ This request will fail and return DeviceBusy if another client
+ already has the device open with a different mode. It will fail
+ and return AlreadyGrabbed if another client has the device
+ grabbed. The request will fail with a BadMatch error if the
+ requested mode is not supported by the device.
+
+ SetDeviceMode
+ device:DEVICE
+ mode: {Absolute, Relative}
+ =>
+ status: {Success, DeviceBusy, AlreadyGrabbed}
+
+ Errors: Device, Match, Mode
+
+2.5 Initializing Valuators on an Input Device
+
+ Some devices that report absolute positional data can be
+ initialized to a starting value. Devices that are capable of
+ reporting relative motion or absolute positional data may
+ require that their valuators be initialized to a starting value
+ after the mode of the device is changed to Absolute. To
+ initialize the valuators on such a device, use the
+ SetDeviceValuators request.
+
+ SetDeviceValuators
+ device: DEVICE
+ first_valuator: CARD8
+ num_valuators: CARD8
+ valuators: LISTOFINT32
+ =>
+ status: {Success, AlreadyGrabbed}
+
+ Errors: Length, Device, Match, Value
+
+ This request initializes the specified valuators on the
+ specified extension input device. Valuators are numbered
+ beginning with zero. Only the valuators in the range specified
+ by first_valuator and num_valuators are set. If the number of
+ valuators supported by the device is less than the expression
+ first_valuator + num_valuators, a Value error will result.
+
+ If the request succeeds, Success is returned. If the specifed
+ device is grabbed by some other client, the request will fail
+ and a status of AlreadyGrabbed will be returned.
+
+2.6 Getting Input Device Controls
+
+ GetDeviceControl
+ device: DEVICE
+ control: XID
+ =>
+ controlState: {DeviceState}
+
+ where
+
+ DeviceState: DeviceResolutionState
+
+ Errors: Length, Device, Match, Value
+
+ This request returns the current state of the specified device
+ control. The device control must be supported by the target
+ server and device or an error will result.
+
+ If the request is successful, a pointer to a generic
+ DeviceState structure will be returned. The information
+ returned varies according to the specified control and is
+ mapped by a structure appropriate for that control.
+
+ GetDeviceControl will fail with a BadValue error if the server
+ does not support the specified control. It will fail with a
+ BadMatch error if the device does not support the specified
+ control.
+
+ Supported device controls and the information returned for them
+ include:
+
+ DEVICE_RESOLUTION:
+ [control: CARD16
+ length: CARD16
+ num_valuators: CARD8
+ resolutions: LISTofCARD32
+ min_resolutions: LISTofCARD32
+ max_resolutions: LISTofCARD32]
+
+ This device control returns a list of valuators and the range
+ of valid resolutions allowed for each. Valuators are numbered
+ beginning with 0. Resolutions for all valuators on the device
+ are returned. For each valuator i on the device, resolutions[i]
+ returns the current setting of the resolution,
+ min_resolutions[i] returns the minimum valid setting, and
+ max_resolutions[i] returns the maximum valid setting.
+
+ When this control is specified, XGetDeviceControl will fail
+ with a BadMatch error if the specified device has no valuators.
+
+ ChangeDeviceControl:
+ device: DEVICE
+ XID: controlId
+ control: DeviceControl
+
+ where
+
+ DeviceControl: DeviceResolutionControl
+ =>
+ status: {Success, DeviceBusy, AlreadyGrabbed}
+
+ Errors: Length, Device, Match, Value
+
+ ChangeDeviceControl changes the specifed device control
+ according to the values specified in the DeviceControl
+ structure. The device control must be supported by the target
+ server and device or an error will result.
+
+ The information passed with this request varies according to
+ the specified control and is mapped by a structure appropriate
+ for that control.
+
+ ChangeDeviceControl will fail with a BadValue error if the
+ server does not support the specified control. It will fail
+ with a BadMatch error if the server supports the specified
+ control, but the requested device does not. The request will
+ fail and return a status of DeviceBusy if another client
+ already has the device open with a device control state that
+ conflicts with the one specified in the request. It will fail
+ with a status of AlreadyGrabbed if some other client has
+ grabbed the specified device. If the request succeeds, Success
+ is returned. If it fails, the device control is left unchanged.
+
+ Supported device controls and the information specified for
+ them include:
+
+ DEVICE_RESOLUTION:
+ [control: CARD16
+ length: CARD16
+ first_valuator: CARD8
+ num_valuators: CARD8
+ resolutions: LISTofCARD32]
+
+ This device control changes the resolution of the specified
+ valuators on the specified extension input device. Valuators
+ are numbered beginning with zero. Only the valuators in the
+ range specified by first_valuator and num_valuators are set. A
+ value of -1 in the resolutions list indicates that the
+ resolution for this valuator is not to be changed.
+ num_valuators specifies the number of valuators in the
+ resolutions list.
+
+ When this control is specified, XChangeDeviceControl will fail
+ with a BadMatch error if the specified device has no valuators.
+ If a resolution is specified that is not within the range of
+ valid values (as returned by XGetDeviceControl) the request
+ will fail with a BadValue error. If the number of valuators
+ supported by the device is less than the expression
+ first_valuator + num_valuators, a BadValue error will result.
+
+ If the request fails for any reason, none of the valuator
+ resolutions will be changed.
+
+ ChangeDeviceControl causes the server to send a DevicePresence
+ event to interested clients.
+
+2.7 Selecting Extension Device Events
+
+ Extension input events are selected using the
+ SelectExtensionEvent request.
+
+ SelectExtensionEvent
+ interest: LISTofEVENTCLASS
+ window: WINDOW
+
+ Errors: Window, Class, Access
+
+ This request specifies to the server the events within the
+ specified window which are of interest to the client. As with
+ the core XSelectInput function, multiple clients can select
+ input on the same window.
+
+ XSelectExtensionEvent requires a list of event classes. An
+ event class is a 32-bit number that combines an event type and
+ device id, and is used to indicate which event a client wishes
+ to receive and from which device it wishes to receive it.
+ Macros are provided to obtain event classes from the data
+ returned by the XOpenDevice request. The names of these macros
+ correspond to the desired events, i.e. the DeviceKeyPress is
+ used to obtain the event class for DeviceKeyPress events. The
+ syntax of the macro invocation is:
+ DeviceKeyPress (device, event_type, event_class);
+ device: DEVICE
+ event_type: INT
+ event_class: INT
+
+ The value returned in event_type is the value that will be
+ contained in the event type field of the XDeviceKeyPressEvent
+ when it is received by the client. The value returned in
+ event_class is the value that should be passed in making an
+ XSelectExtensionEvent request to receive DeviceKeyPress events.
+
+ For DeviceButtonPress events, the client may specify whether or
+ not an implicit passive grab should be done when the button is
+ pressed. If the client wants to guarantee that it will receive
+ a DeviceButtonRelease event for each DeviceButtonPress event it
+ receives, it should specify the DeviceButtonPressGrab event
+ class as well as the DeviceButtonPress event class. This
+ restricts the client in that only one client at a time may
+ request DeviceButtonPress events from the same device and
+ window if any client specifies this class.
+
+ If any client has specified the DeviceButtonPressGrab class,
+ any requests by any other client that specify the same device
+ and window and specify DeviceButtonPress or
+ DeviceButtonPressGrab will cause an Access error to be
+ generated.
+
+ If only the DeviceButtonPress class is specified, no implicit
+ passive grab will be done when a button is pressed on the
+ device. Multiple clients may use this class to specify the same
+ device and window combination.
+
+ A client may also specify the DeviceOwnerGrabButton class. If
+ it has specified both the DeviceButtonPressGrab and the
+ DeviceOwnerGrabButton classes, implicit passive grabs will
+ activate with owner_events set to True. If only the
+ DeviceButtonPressGrab class is specified, implicit passive
+ grabs will activate with owner_events set to False.
+
+ The client may select DeviceMotion events only when a button is
+ down. It does this by specifying the event classes
+ Button1Motion through Button5Motion, or ButtonMotion. An input
+ device will only support as many button motion classes as it
+ has buttons.
+
+2.8 Determining Selected Events
+
+ To determine which extension events are currently selected from
+ a given window, use GetSelectedExtensionEvents.
+
+ GetSelectedExtensionEvents
+ window: WINDOW
+ =>
+ this-client: LISTofEVENTCLASS
+ all-clients: LISTofEVENTCLASS
+
+ Errors: Window
+
+ This request returns two lists specifying the events selected
+ on the specified window. One list gives the extension events
+ selected by this client from the specified window. The other
+ list gives the extension events selected by all clients from
+ the specified window. This information is equivalent to that
+ returned by your-event-mask and all-event-masks in a
+ GetWindowAttributes request.
+
+2.9 Controlling Event Propagation
+
+ Extension events propagate up the window hierarchy in the same
+ manner as core events. If a window is not interested in an
+ extension event, it usually propagates to the closest ancestor
+ that is interested, unless the dont_propagate list prohibits
+ it. Grabs of extension devices may alter the set of windows
+ that receive a particular extension event.
+
+ Client programs may control extension event propagation through
+ the use of the following two requests.
+
+ XChangeDeviceDontPropagateList adds an event to or deletes an
+ event from the do_not_propagate list of extension events for
+ the specified window. This list is maintained for the life of
+ the window, and is not altered if the client terminates.
+
+ ChangeDeviceDontPropagateList
+ window: WINDOW
+ eventclass: LISTofEVENTCLASS
+ mode: {AddToList, DeleteFromList}
+
+ Errors: Window, Class, Mode
+
+ This function modifies the list specifying the events that are
+ not propagated to the ancestors of the specified window. You
+ may use the modes AddToList or DeleteFromList.
+
+ GetDeviceDontPropagateList
+ window: WINDOW
+ Errors: Window
+ =>
+ dont-propagate-list: LISTofEVENTCLASS
+
+ This function returns a list specifying the events that are not
+ propagated to the ancestors of the specified window.
+
+2.10 Sending Extension Events
+
+ One client program may send an event to another via the
+ XSendExtensionEvent function.
+
+ The event in the XEvent structure must be one of the events
+ defined by the input extension, so that the X server can
+ correctly byte swap the contents as necessary. The contents of
+ the event are otherwise unaltered and unchecked by the X server
+ except to force send_event to True in the forwarded event and
+ to set the sequence number in the event correctly.
+
+ XSendExtensionEvent returns zero if the conversion-to-wire
+ protocol failed, otherwise it returns nonzero.
+
+ SendExtensionEvent
+ device: DEVICE
+ destination: WINDOW
+ propagate: BOOL
+ eventclass: LISTofEVENTCLASS
+ event: XEVENT
+
+ Errors: Device, Value, Class, Window
+
+2.11 Getting Motion History
+
+ GetDeviceMotionEvents
+ device: DEVICE
+ start, stop: TIMESTAMP or CurrentTime
+ =>
+ nevents_return: CARD32
+ mode_return: {Absolute, Relative}
+ axis_count_return: CARD8
+ events: LISTofDEVICETIMECOORD
+
+ where
+
+ DEVICETIMECOORD:
+ [data: LISTofINT32
+ time: TIMESTAMP]
+
+ Errors: Device, Match
+
+ This request returns all positions in the device's motion
+ history buffer that fall between the specified start and stop
+ times inclusive. If the start time is in the future, or is
+ later than the stop time, no positions are returned.
+
+ The data field of the DEVICETIMECOORD structure is a sequence
+ of data items. Each item is of type INT32, and there is one
+ data item per axis of motion reported by the device. The number
+ of axes reported by the device is returned in the axis_count
+ variable.
+
+ The value of the data items depends on the mode of the device,
+ which is returned in the mode variable. If the mode is
+ Absolute, the data items are the raw values generated by the
+ device. These may be scaled by the client program using the
+ maximum values that the device can generate for each axis of
+ motion that it reports. The maximum and minimum values for each
+ axis are reported by the ListInputDevices request.
+
+ If the mode is Relative, the data items are the relative values
+ generated by the device. The client program must choose an
+ initial position for the device and maintain a current position
+ by accumulating these relative values.
+
+2.12 Changing The Core Devices
+
+ These requests are provided to change which physical device is
+ used as the X pointer or X keyboard. These requests are
+ deprecated in servers supporting XI 1.4 and above, and will
+ always return a a BadDevice error.
+
+ Using these requests may change the characteristics of the core
+ devices. The new pointer device may have a different number of
+ buttons than the old one did, or the new keyboard device may
+ have a different number of keys or report a different range of
+ keycodes. Client programs may be running that depend on those
+ characteristics. For example, a client program could allocate
+ an array based on the number of buttons on the pointer device,
+ and then use the button numbers received in button events as
+ indicies into that array. Changing the core devices could cause
+ such client programs to behave improperly or abnormally
+ terminate.
+
+ These requests change the X keyboard or X pointer device and
+ generate an ChangeDeviceNotify event and a MappingNotify event.
+ The ChangeDeviceNotify event is sent only to those clients that
+ have expressed an interest in receiving that event via the
+ XSelectExtensionEvent request. The specified device becomes the
+ new X keyboard or X pointer device. The location of the core
+ device does not change as a result of this request.
+
+ These requests fail and return AlreadyGrabbed if either the
+ specified device or the core device it would replace are
+ grabbed by some other client. They fail and return GrabFrozen
+ if either device is frozen by the active grab of another
+ client.
+
+ These requests fail with a BadDevice error if the specified
+ device is invalid, or has not previously been opened via
+ OpenDevice. To change the X keyboard device, use the
+ ChangeKeyboardDevice request. The specified device must support
+ input class Keys (as reported in the ListInputDevices request)
+ or the request will fail with a BadMatch error. Once the device
+ has successfully replaced one of the core devices, it is
+ treated as a core device until it is in turn replaced by
+ another ChangeDevice request, or until the server terminates.
+ The termination of the client that changed the device will not
+ cause it to change back. Attempts to use the CloseDevice
+ request to close the new core device will fail with a BadDevice
+ error.
+
+ The focus state of the new keyboard is the same as the focus
+ state of the old X keyboard. If the new keyboard was not
+ initialized with a FocusRec, one is added by the
+ ChangeKeyboardDevice request. The X keyboard is assumed to have
+ a KbdFeedbackClassRec. If the device was initialized without a
+ KbdFeedbackClassRec, one will be added by this request. The
+ KbdFeedbackClassRec will specify a null routine as the control
+ procedure and the bell procedure.
+
+ ChangeKeyboardDevice
+ device: DEVICE
+ Errors: Device, Match
+ =>
+ status: Success, AlreadyGrabbed, Frozen
+
+ To change the X pointer device, use the ChangePointerDevice
+ request. The specified device must support input class
+ Valuators (as reported in the ListInputDevices request) or the
+ request will fail with a BadMatch error. The valuators to be
+ used as the x- and y-axes of the pointer device must be
+ specified. Data from other valuators on the device will be
+ ignored.
+
+ The X pointer device does not contain a FocusRec. If the new
+ pointer was initialized with a FocusRec, it is freed by the
+ ChangePointerDevice request. The X pointer is assumed to have a
+ ButtonClassRec and a PtrFeedbackClassRec. If the device was
+ initialized without a ButtonClassRec or a PtrFeedbackClassRec,
+ one will be added by this request. The ButtonClassRec added
+ will have no buttons, and the PtrFeedbackClassRec will specify
+ a null routine as the control procedure.
+
+ If the specified device reports absolute positional
+ information, and the server implementation does not allow such
+ a device to be used as the X pointer, the request will fail
+ with a BadDevice error.
+
+ Once the device has successfully replaced one of the core
+ devices, it is treated as a core device until it is in turn
+ replaced by another ChangeDevice request, or until the server
+ terminates. The termination of the client that changed the
+ device will not cause it to change back. Attempts to use the
+ CloseDevice request to close the new core device will fail with
+ a BadDevice error.
+
+ ChangePointerDevice
+ device: DEVICE
+ xaxis: CARD8
+ yaxis: CARD8
+ =>
+ status: Success, AlreadyGrabbed, Frozen
+
+ Errors: Device, Match
+
+2.12 Event Synchronization And Core Grabs
+
+ Implementation of the input extension requires an extension of
+ the meaning of event synchronization for the core grab
+ requests. This is necessary in order to allow window managers
+ to freeze all input devices with a single request.
+
+ The core grab requests require a pointer_mode and keyboard_mode
+ argument. The meaning of these modes is changed by the input
+ extension. For the XGrabPointer and XGrabButton requests,
+ pointer_mode controls synchronization of the pointer device,
+ and keyboard_mode controls the synchronization of all other
+ input devices. For the XGrabKeyboard and XGrabKey requests,
+ pointer_mode controls the synchronization of all input devices
+ except the X keyboard, while keyboard_mode controls the
+ synchronization of the keyboard. When using one of the core
+ grab requests, the synchronization of extension devices is
+ controlled by the mode specified for the device not being
+ grabbed.
+
+2.13 Extension Active Grabs
+
+ Active grabs of extension devices are supported via the
+ GrabDevice request in the same way that core devices are
+ grabbed using the core GrabKeyboard request, except that a
+ Device is passed as a function parameter. A list of events that
+ the client wishes to receive is also passed. The UngrabDevice
+ request allows a previous active grab for an extension device
+ to be released.
+
+ To grab an extension device, use the GrabDevice request. The
+ device must have previously been opened using the OpenDevice
+ request.
+
+ GrabDevice
+ device: DEVICE
+ grab-window: WINDOW
+ owner-events: BOOL
+ event-list: LISTofEVENTCLASS
+ this-device-mode: {Synchronous, Asynchronous}
+ other-device-mode: {Synchronous, Asynchronous}
+ time:TIMESTAMP or CurrentTime
+ =>
+ status: Success, AlreadyGrabbed, Frozen,
+ InvalidTime, NotViewable
+
+ Errors: Device, Window, Value
+
+ This request actively grabs control of the specified input
+ device. Further input events from this device are reported only
+ to the grabbing client. This request overrides any previous
+ active grab by this client for this device.
+
+ The event-list parameter is a pointer to a list of event
+ classes. These are used to indicate which events the client
+ wishes to receive while the device is grabbed. Only event
+ classes obtained from the grabbed device are valid.
+
+ If owner-events is False, input events generated from this
+ device are reported with respect to grab-window, and are only
+ reported if selected by being included in the event-list. If
+ owner-events is True, then if a generated event would normally
+ be reported to this client, it is reported normally, otherwise
+ the event is reported with respect to the grab-window, and is
+ only reported if selected by being included in the event-list.
+ For either value of owner-events, unreported events are
+ discarded.
+
+ If this-device-mode is Asynchronous, device event processing
+ continues normally. If the device is currently frozen by this
+ client, then processing of device events is resumed. If
+ this-device-mode is Synchronous, the state of the grabbed
+ device (as seen by means of the protocol) appears to freeze,
+ and no further device events are generated by the server until
+ the grabbing client issues a releasing AllowDeviceEvents
+ request or until the device grab is released. Actual device
+ input events are not lost while the device is frozen; they are
+ simply queued for later processing.
+
+ If other-device-mode is Asynchronous, event processing is
+ unaffected by activation of the grab. If other-device-mode is
+ Synchronous, the state of all input devices except the grabbed
+ one (as seen by means of the protocol) appears to freeze, and
+ no further events are generated by the server until the
+ grabbing client issues a releasing AllowDeviceEvents request or
+ until the device grab is released. Actual events are not lost
+ while the devices are frozen; they are simply queued for later
+ processing.
+
+ This request generates DeviceFocusIn and DeviceFocusOut events.
+
+ This request fails and returns:
+
+ AlreadyGrabbed
+ If the device is actively grabbed by some other client.
+
+ NotViewable
+ If grab-window is not viewable.
+
+ InvalidTime
+ If the specified time is earlier than the last-grab-time
+ for the specified device or later than the current X
+ server time. Otherwise, the last-grab-time for the
+ specified device is set to the specified time and
+ CurrentTime is replaced by the current X server time.
+
+ Frozen
+ If the device is frozen by an active grab of another
+ client.
+
+ If a grabbed device is closed by a client while an active grab
+ by that client is in effect, that active grab will be released.
+ Any passive grabs established by that client will be released.
+ If the device is frozen only by an active grab of the
+ requesting client, it is thawed.
+
+ To release a grab of an extension device, use UngrabDevice.
+
+ UngrabDevice
+ device: DEVICE
+ time: TIMESTAMP or CurrentTime
+
+ Errors: Device
+
+ This request releases the device if this client has it actively
+ grabbed (from either GrabDevice or GrabDeviceKey) and releases
+ any queued events. If any devices were frozen by the grab,
+ UngrabDevice thaws them. The request has no effect if the
+ specified time is earlier than the last-device-grab time or is
+ later than the current server time.
+
+ This request generates DeviceFocusIn and DeviceFocusOut events.
+
+ An UngrabDevice is performed automatically if the event window
+ for an active device grab becomes not viewable.
+
+2.14 Passively Grabbing A Key
+
+ Passive grabs of buttons and keys on extension devices are
+ supported via the GrabDeviceButton and GrabDeviceKey requests.
+ These passive grabs are released via the UngrabDeviceKey and
+ UngrabDeviceButton requests.
+
+ To passively grab a single key on an extension device, use
+ GrabDeviceKey. That device must have previously been opened
+ using the OpenDevice request.
+
+ GrabDeviceKey
+ device: DEVICE
+ keycode: KEYCODE or AnyKey
+ modifiers: SETofKEYMASK or AnyModifier
+ modifier-device: DEVICE or NULL
+ grab-window: WINDOW
+ owner-events: BOOL
+ event-list: LISTofEVENTCLASS
+ this-device-mode: {Synchronous, Asynchronous}
+ other-device-mode: {Synchronous, Asynchronous}
+
+ Errors: Device, Match, Access, Window, Value
+
+ This request is analogous to the core GrabKey request. It
+ establishes a passive grab on a device. Consequently, in the
+ future:
+ * IF the device is not grabbed and the specified key, which
+ itself can be a modifier key, is logically pressed when the
+ specified modifier keys logically are down on the specified
+ modifier device (and no other keys are down),
+ * AND no other modifier keys logically are down,
+ * AND EITHER the grab window is an ancestor of (or is) the
+ focus window OR the grab window is a descendent of the
+ focus window and contains the pointer,
+ * AND a passive grab on the same device and key combination
+ does not exist on any ancestor of the grab window,
+ * THEN the device is actively grabbed, as for GrabDevice, the
+ last-device-grab time is set to the time at which the key
+ was pressed (as transmitted in the DeviceKeyPress event),
+ and the DeviceKeyPress event is reported.
+
+ The interpretation of the remaining arguments is as for
+ GrabDevice. The active grab is terminated automatically when
+ logical state of the device has the specified key released
+ (independent of the logical state of the modifier keys).
+
+ Note that the logical state of a device (as seen by means of
+ the X protocol) may lag the physical state if device event
+ processing is frozen.
+
+ A modifier of AnyModifier is equivalent to issuing the request
+ for all possible modifier combinations (including the
+ combination of no modifiers). It is not required that all
+ modifiers specified have currently assigned keycodes. A key of
+ AnyKey is equivalent to issuing the request for all possible
+ keycodes. Otherwise, the key must be in the range specified by
+ min-keycode and max-keycode in the ListInputDevices request. If
+ it is not within that range, GrabDeviceKey generates a Value
+ error.
+
+ NULL may be passed for the modifier_device. If the
+ modifier_device is NULL, the core X keyboard is used as the
+ modifier_device.
+
+ An Access error is generated if some other client has issued a
+ GrabDeviceKey with the same device and key combination on the
+ same window. When using AnyModifier or AnyKey, the request
+ fails completely and the X server generates a Access error and
+ no grabs are established if there is a conflicting grab for any
+ combination.
+
+ This request cannot be used to grab a key on the X keyboard
+ device. The core GrabKey request should be used for that
+ purpose.
+
+ To release a passive grab of a single key on an extension
+ device, use UngrabDeviceKey.
+
+ UngrabDeviceKey
+ device: DEVICE
+ keycode: KEYCODE or AnyKey
+ modifiers: SETofKEYMASK or AnyModifier
+ modifier-device: DEVICE or NULL
+ grab-window: WINDOW
+
+ Errors: Device, Match, Window, Value, Alloc
+
+ This request is analogous to the core UngrabKey request. It
+ releases the key combination on the specified window if it was
+ grabbed by this client. A modifier of AnyModifier is equivalent
+ to issuing the request for all possible modifier combinations
+ (including the combination of no modifiers). A key of AnyKey is
+ equivalent to issuing the request for all possible keycodes.
+ This request has no effect on an active grab.
+
+ NULL may be passed for the modifier_device. If the
+ modifier_device is NULL, the core X keyboard is used as the
+ modifier_device.
+
+2.15 Passively Grabbing A Button
+
+ To establish a passive grab for a single button on an extension
+ device, use GrabDeviceButton.
+
+ GrabDeviceButton
+ device: DEVICE
+ button: BUTTON or AnyButton
+ modifiers: SETofKEYMASK or AnyModifier
+ modifier-device: DEVICE or NULL
+ grab-window: WINDOW
+ owner-events: BOOL
+ event-list: LISTofEVENTCLASS
+ this-device-mode: {Synchronous, Asynchr
+ onous}
+ other-device-mode: {Synchronous, Asynch
+ ronous}
+
+ Errors: Device, Match, Window, Access, Value
+
+ This request is analogous to the core GrabButton request. It
+ establishes an explicit passive grab for a button on an
+ extension input device. Since the server does not track
+ extension devices, no cursor is specified with this request.
+ For the same reason, there is no confine-to parameter. The
+ device must have previously been opened using the OpenDevice
+ request.
+
+ The GrabDeviceButton request establishes a passive grab on a
+ device. Consequently, in the future,
+
+ •
+ IF the device is not grabbed and the specified button is
+ logically pressed when the specified modifier keys
+ logically are down (and no other buttons or modifier
+ keys are down),
+
+ •
+ AND the grab window contains the device,
+
+ •
+ AND a passive grab on the same device and button/ key
+ combination does not exist on any ancestor of the grab
+ window,
+
+ •
+ THEN the device is actively grabbed, as for GrabDevice,
+ the last-grab time is set to the time at which the
+ button was pressed (as transmitted in the
+ DeviceButtonPress event), and the DeviceButtonPress
+ event is reported.
+
+ The interpretation of the remaining arguments is as for
+ GrabDevice. The active grab is terminated automatically when
+ logical state of the device has all buttons released
+ (independent of the logical state of the modifier keys).
+
+ Note that the logical state of a device (as seen by means of
+ the X protocol) may lag the physical state if device event
+ processing is frozen.
+
+ A modifier of AnyModifier is equivalent to issuing the request
+ for all possible modifier combinations (including the
+ combination of no modifiers). It is not required that all
+ modifiers specified have currently assigned keycodes. A button
+ of AnyButton is equivalent to issuing the request for all
+ possible buttons. It is not required that the specified button
+ be assigned to a physical button.
+
+ NULL may be passed for the modifier_device. If the
+ modifier_device is NULL, the core X keyboard is used as the
+ modifier_device.
+
+ An Access error is generated if some other client has issued a
+ GrabDeviceButton with the same device and button combination on
+ the same window. When using AnyModifier or AnyButton, the
+ request fails completely and the X server generates a Access
+ error and no grabs are established if there is a conflicting
+ grab for any combination. The request has no effect on an
+ active grab.
+
+ This request cannot be used to grab a button on the X pointer
+ device. The core GrabButton request should be used for that
+ purpose.
+
+ To release a passive grab of a button on an extension device,
+ use UngrabDeviceButton.
+
+ UngrabDeviceButton
+ device: DEVICE
+ button: BUTTON or AnyButton
+ modifiers: SETofKEYMASK or AnyModifier
+ modifier-device: DEVICE or NULL
+ grab-window: WINDOW
+
+ Errors: Device, Match, Window, Value, Alloc
+
+ This request is analogous to the core UngrabButton request. It
+ releases the passive button/key combination on the specified
+ window if it was grabbed by the client. A modifiers of
+ AnyModifier is equivalent to issuing the request for all
+ possible modifier combinations (including the combination of no
+ modifiers). A button of AnyButton is equivalent to issuing the
+ request for all possible buttons. This request has no effect on
+ an active grab. The device must have previously been opened
+ using the OpenDevice request otherwise a Device error will be
+ generated.
+
+ NULL may be passed for the modifier_device. If the
+ modifier_device is NULL, the core X keyboard is used as the
+ modifier_device.
+
+ This request cannot be used to ungrab a button on the X pointer
+ device. The core UngrabButton request should be used for that
+ purpose.
+
+2.16 Thawing A Device
+
+ To allow further events to be processed when a device has been
+ frozen, use AllowDeviceEvents.
+
+ AllowDeviceEvents
+ device: DEVICE
+ event-mode: {AsyncThisDevice, SyncThisD
+ evice, AsyncOtherDevices,
+ ReplayThisdevice, AsyncAll, or SyncAll}
+ time:TIMESTAMP or CurrentTime
+
+ Errors: Device, Value
+
+ The AllowDeviceEvents request releases some queued events if
+ the client has caused a device to freeze. The request has no
+ effect if the specified time is earlier than the last-grab time
+ of the most recent active grab for the client, or if the
+ specified time is later than the current X server time.
+
+ The following describes the processing that occurs depending on
+ what constant you pass to the event-mode argument:
+
+ * If the specified device is frozen by the client, event
+ processing for that device continues as usual. If the
+ device is frozen multiple times by the client on behalf
+ of multiple separate grabs, AsyncThisDevice thaws for
+ all. AsyncThisDevice has no effect if the specified
+ device is not frozen by the client, but the device need
+ not be grabbed by the client.
+
+ * If the specified device is frozen and actively grabbed
+ by the client, event processing for that device
+ continues normally until the next button or key event is
+ reported to the client. At this time, the specified
+ device again appears to freeze. However, if the reported
+ event causes the grab to be released, the specified
+ device does not freeze. SyncThisDevice has no effect if
+ the specified device is not frozen by the client or is
+ not grabbed by the client.
+
+ * If the specified device is actively grabbed by the
+ client and is frozen as the result of an event having
+ been sent to the client (either from the activation of a
+ GrabDeviceButton or from a previous AllowDeviceEvents
+ with mode SyncThisDevice, but not from a Grab), the grab
+ is released and that event is completely reprocessed.
+ This time, however, the request ignores any passive
+ grabs at or above (towards the root) the grab-window of
+ the grab just released. The request has no effect if the
+ specified device is not grabbed by the client or if it
+ is not frozen as the result of an event.
+
+ * If the remaining devices are frozen by the client, event
+ processing for them continues as usual. If the other
+ devices are frozen multiple times by the client on
+ behalf of multiple separate grabs, AsyncOtherDevices
+ “thaws” for all. AsyncOtherDevices has no effect if the
+ devices are not frozen by the client, but those devices
+ need not be grabbed by the client.
+
+ * If all devices are frozen by the client, event
+ processing (for all devices) continues normally until
+ the next button or key event is reported to the client
+ for a grabbed device (button event for the grabbed
+ device, key or motion event for the device), at which
+ time the devices again appear to freeze. However, if the
+ reported event causes the grab to be released, then the
+ devices do not freeze (but if any device is still
+ grabbed, then a subsequent event for it will still cause
+ all devices to freeze). SyncAll has no effect unless all
+ devices are frozen by the client. If any device is
+ frozen twice by the client on behalf of two separate
+ grabs, SyncAll "thaws" for both (but a subsequent freeze
+ for SyncAll will only freeze each device once).
+
+ * If all devices are frozen by the client, event
+ processing (for all devices) continues normally. If any
+ device is frozen multiple times by the client on behalf
+ of multiple separate grabs, AsyncAll "thaws" for all.
+ AsyncAll has no effect unless all devices are frozen by
+ the client.
+
+ AsyncThisDevice, SyncThisDevice, and ReplayThisDevice
+ have no effect on the processing of events from the
+ remaining devices. AsyncOtherDevices has no effect on
+ the processing of events from the specified device. When
+ the event_mode is SyncAll or AsyncAll, the device
+ parameter is ignored.
+
+ It is possible for several grabs of different devices
+ (by the same or different clients) to be active
+ simultaneously. If a device is frozen on behalf of any
+ grab, no event processing is performed for the device.
+ It is possible for a single device to be frozen because
+ of several grabs. In this case, the freeze must be
+ released on behalf of each grab before events can again
+ be processed.
+
+2.17 Controlling Device Focus
+
+ The current focus window for an extension input device can be
+ determined using the GetDeviceFocus request. Extension devices
+ are focused using the SetDeviceFocus request in the same way
+ that the keyboard is focused using the SetInputFocus request,
+ except that a device is specified as part of the request. One
+ additional focus state, FollowKeyboard, is provided for
+ extension devices.
+
+ To get the current focus state, revert state, and focus time of
+ an extension device, use GetDeviceFocus.
+
+ GetDeviceFocus
+ device: DEVICE
+ =>
+ focus: WINDOW, PointerRoot, FollowKeyboard, or None
+ revert-to: Parent, PointerRoot, FollowKeyboard, or None
+ focus-time: TIMESTAMP
+
+ Errors: Device, Match
+
+ This request returns the current focus state, revert-to state,
+ and last-focus-time of an extension device.
+
+ To set the focus of an extension device, use SetDeviceFocus.
+
+ SetDeviceFocus
+ device: DEVICE
+ focus: WINDOW, PointerRoot, FollowKeyboard, or None
+ revert-to: Parent, PointerRoot, FollowKeyboard, or None
+ focus-time: TIMESTAMP
+
+ Errors: Device, Window, Value, Match
+
+ This request changes the focus for an extension input device
+ and the last-focus-change-time. The request has no effect if
+ the specified time is earlier than the last-focus-change-time
+ or is later than the current X server time. Otherwise, the
+ last-focus-change-time is set to the specified time, with
+ CurrentTime replaced by the current server time.
+
+ The action taken by the server when this request is requested
+ depends on the value of the focus argument:
+
+ * If the focus argument is None, all input events from
+ this device will be discarded until a new focus window
+ is set. In this case, the revert-to argument is ignored.
+
+ * If a window ID is assigned to the focus argument, it
+ becomes the focus window of the device. If an input
+ event from the device would normally be reported to this
+ window or to one of its inferiors, the event is reported
+ normally. Otherwise, the event is reported relative to
+ the focus window.
+
+ * If you assign PointerRoot to the focus argument, the
+ focus window is dynamically taken to be the root window
+ of whatever screen the pointer is on at each input
+ event. In this case, the revert-to argument is ignored.
+
+ * If you assign FollowKeyboard to the focus argument, the
+ focus window is dynamically taken to be the same as the
+ focus of the X keyboard at each input event.
+
+ The specified focus window must be viewable at the time
+ of the request (else a Match error). If the focus window
+ later becomes not viewable, the X server evaluates the
+ revert-to argument to determine the new focus window.
+
+ * If you assign RevertToParent to the revert-to argument,
+ the focus reverts to the parent (or the closest viewable
+ ancestor), and the new revert-to value is taken to be
+ RevertToNone.
+
+ * If you assign RevertToPointerRoot,
+ RevertToFollowKeyboard, or RevertToNone to the revert-to
+ argument, the focus reverts to that value.
+
+ When the focus reverts, the X server generates DeviceFocusIn
+ and DeviceFocusOut events, but the last-focus-change time is
+ not affected.
+
+ This request causes the X server to generate DeviceFocusIn and
+ DeviceFocusOut events.
+
+2.18 Controlling Device Feedback
+
+ To get the settings of feedbacks on an extension device, use
+ GetFeedbackControl. This request provides functionality
+ equivalent to the core GetKeyboardControl and GetPointerControl
+ functions. It also provides a way to control displays
+ associated with an input device that are capable of displaying
+ an integer or string.
+
+ GetFeedbackControl
+ device: DEVICE
+ =>
+ num_feedbacks_return: CARD16
+ return_value: LISTofFEEDBACKSTATE
+
+ where
+
+ FEEDBACKSTATE: {KbdFeedbackState, PtrFeedbackState,
+ IntegerFeedbackState, StringFeedbackState,
+ BellFeedbackState, LedFeedbackState}
+
+ Feedbacks are reported by class. Those feedbacks that are
+ reported for the core keyboard device are in class KbdFeedback,
+ and are returned in the KbdFeedbackState structure. The members
+ of that structure are as follows:
+
+ CLASS Kbd:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ key_click_percent: CARD8
+ bell_percent: CARD8
+ bell_pitch: CARD16
+ bell_duration: CARD16
+ led_value: BITMASK
+ global_auto_repeat: {AutoRepeatModeOn, AutoRepeatModeOff}
+ auto_repeats: LISTofCARD8]
+
+ Those feedbacks that are equivalent to those reported for the
+ core pointer are in feedback class PtrFeedback and are reported
+ in the PtrFeedbackState structure. The members of that
+ structure are:
+
+ CLASS Ptr:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ accelNumerator: CARD16
+ accelDenominator: CARD16
+ threshold: CARD16]
+
+ Some input devices provide a means of displaying an integer.
+ Those devices will support feedback class IntegerFeedback,
+ which is reported in the IntegerFeedbackState structure. The
+ members of that structure are:
+
+ CLASS Integer:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ resolution: CARD32
+ min-val: INT32
+ max-val: INT32]
+
+ Some input devices provide a means of displaying a string.
+ Those devices will support feedback class StringFeedback, which
+ is reported in the StringFeedbackState structure. The members
+ of that structure are:
+
+ CLASS String:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ max_symbols: CARD16
+ num_keysyms_supported: CARD16
+ keysyms_supported: LISTofKEYSYM]
+
+ Some input devices contain a bell. Those devices will support
+ feedback class BellFeedback, which is reported in the
+ BellFeedbackState structure. The members of that structure are:
+
+ CLASS String:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ percent: CARD8
+ pitch: CARD16
+ duration: CARD16]
+
+ The percent sets the base volume for the bell between 0 (off)
+ and 100 (loud) inclusive, if possible. Setting to -1 restores
+ the default. Other negative values generate a Value error.
+
+ The pitch sets the pitch (specified in Hz) of the bell, if
+ possible. Setting to -1 restores the default. Other negative
+ values generate a Value error.
+
+ The duration sets the duration (specified in milliseconds) of
+ the bell, if possible. Setting to -1 restores the default.
+ Other negative values generate a Value error.
+
+ A bell generator connected with the console but not directly on
+ the device is treated as if it were part of the device. Some
+ input devices contain LEDs. Those devices will support feedback
+ class Led, which is reported in the LedFeedbackState structure.
+ The members of that structure are:
+
+ CLASS String:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ led_mask: BITMASK
+ led_value: BITMASK]
+
+ Each bit in led_mask indicates that the corresponding led is
+ supported by the feedback. At most 32 LEDs per feedback are
+ supported. No standard interpretation of LEDs is defined.
+
+ This function will fail with a BadMatch error if the device
+ specified in the request does not support feedbacks.
+
+ Errors: Device, Match
+
+ To change the settings of a feedback on an extension device,
+ use ChangeFeedbackControl.
+
+ ChangeFeedbackControl
+ device: DEVICE
+ feedbackid: CARD8
+ value-mask: BITMASK
+ value: FEEDBACKCONTROL
+ FEEDBACKCONTROL: {KBDFEEDBACKCONTROL,
+ PTRFEEDBACKCONTROL,
+ INTEGERFEEDBACKCONTROL,
+ STRINGFEEDBACKCONTROL,
+ BELLFEEDBACKCONTROL,
+ LEDFEEDBACKCONTROL}
+
+ Errors: Device, Match, Value
+
+ Feedback controls are grouped by class. Those feedbacks that
+ are equivalent to those supported by the core keyboard are
+ controlled by feedback class KbdFeedbackClass using the
+ KbdFeedbackControl structure. The members of that structure
+ are:
+
+ KBDFEEDBACKCTL
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ key_click_percent: INT8
+ bell_percent: INT8
+ bell_pitch: INT16
+ bell_duration: INT16
+ led_mask: INT32
+ led_value: INT32
+ key: KEYCODE
+ auto_repeat_mode: {AutoRepeatModeOn, AutoRepeatModeOff,
+ AutoRepeatModeDefault}]
+
+ The key_click_percent sets the volume for key clicks between 0
+ (off) and 100 (loud) inclusive, if possible. Setting to -1
+ restores the default. Other negative values generate a Value
+ error.
+
+ If both auto_repeat_mode and key are specified, then the
+ auto_repeat_mode of that key is changed, if possible. If only
+ auto_repeat_mode is specified, then the global auto-repeat mode
+ for the entire keyboard is changed, if possible, without
+ affecting the per-key settings. It is a Match error if a key is
+ specified without an auto_repeat_mode.
+
+ The order in which controls are verified and altered is
+ server-dependent. If an error is generated, a subset of the
+ controls may have been altered.
+
+ Those feedback controls equivalent to those of the core pointer
+ are controlled by feedback class PtrFeedbackClass using the
+ PtrFeedbackControl structure. The members of that structure are
+ as follows:
+
+ PTRFEEDBACKCTL:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ accelNumerator: INT16
+ accelDenominator: INT16
+ threshold: INT16]
+
+ The acceleration, expressed as a fraction, is a multiplier for
+ movement. For example, specifying 3/1 means the device moves
+ three times as fast as normal. The fraction may be rounded
+ arbitrarily by the X server. Acceleration only takes effect if
+ the device moves more than threshold pixels at once and only
+ applies to the amount beyond the value in the threshold
+ argument. Setting a value to -1 restores the default. The
+ values of the do-accel and do-threshold arguments must be
+ nonzero for the device values to be set. Otherwise, the
+ parameters will be unchanged. Negative values generate a Value
+ error, as does a zero value for the accel-denominator argument.
+
+ Some devices are capable of displaying an integer. This is done
+ using feedback class IntegerFeedbackClass using the
+ IntegerFeedbackControl structure. The members of that structure
+ are as follows:
+
+ INTEGERCTL:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ int_to_display: INT32]
+
+ Some devices are capable of displaying an string. This is done
+ using feedback class StringFeedbackClass using the
+ StringFeedbackCtl structure. The members of that structure are
+ as follows:
+
+ STRINGCTL:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ syms_to_display: LISTofKEYSYMS]
+
+ Some devices contain a bell. This is done using feedback class
+ BellFeedbackClass using the BellFeedbackControl structure. The
+ members of that structure are as follows:
+
+ BELLCTL:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ percent: INT8
+ pitch: INT16
+ duration: INT16]
+
+ Some devices contain leds. These can be turned on and off using
+ the LedFeedbackControl structure. The members of that structure
+ are as follows:
+
+ LEDCTL:
+ [class: CARD8
+ length: CARD16
+ feedback id: CARD8
+ led_mask: BITMASK
+ led_value: BITMASK]
+
+ Errors: Device, Match, Value
+
+2.20 Ringing a Bell on an Input Device
+
+ To ring a bell on an extension input device, use DeviceBell.
+
+ DeviceBell:
+ device: DEVICE
+ feedbackclass: CARD8
+ feedbackid: CARD8
+ percent: INT8
+
+ Errors: Device, Value
+
+ This request is analogous to the core Bell request. It rings
+ the specified bell on the specified input device feedback,
+ using the specified volume. The specified volume is relative to
+ the base volume for the feedback. If the value for the percent
+ argument is not in the range -100 to 100 inclusive, a Value
+ error results. The volume at which the bell rings when the
+ percent argument is nonnegative is:
+
+ base - [(base * percent) / 100] + percent
+
+ The volume at which the bell rings when the percent argument is
+ negative is:
+
+ base + [(base * percent) / 100]
+
+ To change the base volume of the bell, use
+ ChangeFeedbackControl request.
+
+Controlling Device Encoding
+
+ To get the keyboard mapping of an extension device that has
+ keys, use GetDeviceKeyMapping.
+
+ GetDeviceKeyMapping
+ device: DEVICE
+ first-keycode: KEYCODE
+ count: CARD8
+ =>
+ keysyms-per-keycode: CARD8
+ keysyms: LISTofKEYSYM
+
+ Errors: Device, Match, Value
+
+ This request returns the symbols for the specified number of
+ keycodes for the specified extension device, starting with the
+ specified keycode. The first-keycode must be greater than or
+ equal to min-keycode as returned in the connection setup (else
+ a Value error), and
+
+ first-keycode + count - 1
+
+ must be less than or equal to max-keycode as returned in the
+ connection setup (else a Value error). The number of elements
+ in the keysyms list is
+
+ count * keysyms-per-keycode
+
+ and KEYSYM number N (counting from zero) for keycode K has an
+ index (counting from zero) of
+
+ (K - first-keycode) * keysyms-per-keycode + N
+
+ in keysyms. The keysyms-per-keycode value is chosen arbitrarily
+ by the server to be large enough to report all requested
+ symbols. A special KEYSYM value of NoSymbol is used to fill in
+ unused elements for individual keycodes.
+
+ If the specified device has not first been opened by this
+ client via OpenDevice, or if that device does not support input
+ class Keys, this request will fail with a Device error.
+
+ To change the keyboard mapping of an extension device that has
+ keys, use ChangeDeviceKeyMapping.
+
+ ChangeDeviceKeyMapping
+ device: DEVICE
+ first-keycode: KEYCODE
+ keysyms-per-keycode: CARD8
+ keysyms: LISTofKEYSYM
+ num_codes: CARD8
+
+ Errors: Device, Match, Value, Alloc
+
+ This request is analogous to the core ChangeKeyMapping request.
+ It defines the symbols for the specified number of keycodes for
+ the specified extension device. If the specified device has not
+ first been opened by this client via OpenDevice, or if that
+ device does not support input class Keys, this request will
+ fail with a Device error.
+
+ The number of elements in the keysyms list must be a multiple
+ of keysyms_per_keycode. Otherwise, ChangeDeviceKeyMapping
+ generates a Length error. The specified first_keycode must be
+ greater than or equal to the min_keycode value returned by the
+ ListInputDevices request, or this request will fail with a
+ Value error. In addition, if the following expression is not
+ less than the max_keycode value returned by the
+ ListInputDevices request, the request will fail with a Value
+ error:
+
+ first_keycode + (num_codes / keysyms_per_keycode) - 1
+
+ To obtain the keycodes that are used as modifiers on an
+ extension device that has keys, use GetDeviceModifierMapping.
+
+ GetDeviceModifierMapping
+ device: DEVICE
+ =>
+ keycodes-per-modifier: CARD8
+ keycodes: LISTofKEYCODE
+
+ Errors: Device, Match
+
+ This request is analogous to the core GetModifierMapping
+ request. This request returns the keycodes of the keys being
+ used as modifiers. The number of keycodes in the list is
+ 8*keycodes-per-modifier. The keycodes are divided into eight
+ sets, with each set containing keycodes-per-modifier elements.
+ The sets are assigned in order to the modifiers Shift, Lock,
+ Control, Mod1, Mod2, Mod3, Mod4, and Mod5. The
+ keycodes-per-modifier value is chosen arbitrarily by the
+ server; zeroes are used to fill in unused elements within each
+ set. If only zero values are given in a set, the use of the
+ corresponding modifier has been disabled. The order of keycodes
+ within each set is chosen arbitrarily by the server.
+
+ To set which keycodes that are to be used as modifiers for an
+ extension device, use SetDeviceModifierMapping.
+
+ SetDeviceModifierMapping
+ device: DEVICE
+ keycodes-per-modifier: CARD8
+ keycodes: LISTofKEYCODE
+ =>
+ status: {Success, Busy, Failed}
+
+ Errors: Device, Match, Value, Alloc
+
+ This request is analogous to the core SetModifierMapping
+ request. This request specifies the keycodes (if any) of the
+ keys to be used as modifiers. The number of keycodes in the
+ list must be 8*keycodes-per-modifier (else a Length error). The
+ keycodes are divided into eight sets, with the sets, with each
+ set containing keycodes-per-modifier elements. The sets are
+ assigned in order to the modifiers Shift, Lock, Control, Mod1,
+ Mod2, Mod3, Mod4, and Mod5. Only non-zero keycode values are
+ used within each set; zero values are ignored. All of the
+ non-zero keycodes must be in the range specified by min-keycode
+ and max-keycode in the ListInputDevices request (else a Value
+ error). The order of keycodes within a set does not matter. If
+ no non-zero values are specified in a set, the use of the
+ corresponding modifier is disabled, and the modifier bit will
+ always be zero. Otherwise, the modifier bit will be one
+ whenever at least one of the keys in the corresponding set is
+ in the down position.
+
+ A server can impose restrictions on how modifiers can be
+ changed (for example, if certain keys do not generate up
+ transitions in hardware or if multiple keys per modifier are
+ not supported). The status reply is Failed if some such
+ restriction is violated, and none of the modifiers are changed.
+
+ If the new non-zero keycodes specified for a modifier differ
+ from those currently defined, and any (current or new) keys for
+ that modifier are logically in the down state, then the status
+ reply is Busy, and none of the modifiers are changed.
+
+ This request generates a DeviceMappingNotify event on a Success
+ status. The DeviceMappingNotify event will be sent only to
+ those clients that have expressed an interest in receiving that
+ event via the XSelectExtensionEvent request.
+
+ A X server can impose restrictions on how modifiers can be
+ changed, for example, if certain keys do not generate up
+ transitions in hardware or if multiple modifier keys are not
+ supported. If some such restriction is violated, the status
+ reply is MappingFailed , and none of the modifiers are changed.
+ If the new keycodes specified for a modifier differ from those
+ currently defined and any (current or new) keys for that
+ modifier are in the logically down state, the status reply is
+ MappingBusy, and none of the modifiers are changed.
+
+2.20 Controlling Button Mapping
+
+ These requests are analogous to the core GetPointerMapping and
+ ChangePointerMapping requests. They allow a client to determine
+ the current mapping of buttons on an extension device, and to
+ change that mapping.
+
+ To get the current button mapping for an extension device, use
+ GetDeviceButtonMapping.
+
+ GetDeviceButtonMapping
+ device: DEVICE
+ nmap: CARD8
+ =>
+ map_return: LISTofCARD8
+
+ Errors: Device, Match
+
+ The GetDeviceButtonMapping function returns the current mapping
+ of the buttons on the specified device. Elements of the list
+ are indexed starting from one. The length of the list indicates
+ the number of physical buttons. The nominal mapping is the
+ identity mapping map[i]=i.
+
+ nmap indicates the number of elements in the map_return array.
+ Only the first nmap entries will be copied by the library into
+ the map_return array.
+
+ To set the button mapping for an extension device, use
+ SetDeviceButtonMapping.
+
+ SetDeviceButtonMapping
+ device: DEVICE
+ map: LISTofCARD8
+ nmap: CARD8
+ =>
+ status: CARD8
+
+ Errors: Device, Match, Value
+
+ The SetDeviceButtonMapping function sets the mapping of the
+ specified device and causes the X server to generate a
+ DeviceMappingNotify event on a status of MappingSuccess.
+ Elements of the list are indexed starting from one. The length
+ of the list, specified in nmap, must be the same as
+ GetDeviceButtonMapping would return. Otherwise,
+ SetDeviceButtonMapping generates a Value error. A zero element
+ disables a button, and elements are not restricted in value by
+ the number of physical buttons. If any of the buttons to be
+ altered are in the down state, the status reply is MappingBusy
+ and the mapping is not changed.
+
+ In servers supporting XI 1.x, no two elements can have the same
+ nonzero value. Otherwise, this function generates a Value
+ error.
+
+2.21 Obtaining The State Of A Device
+
+ To obtain vectors that describe the state of the keys, buttons
+ and valuators of an extension device, use QueryDeviceState.
+
+ QueryDeviceState
+ device: DEVICE
+ =>
+ device-id: CARD8
+ data: LISTofINPUTCLASS
+
+ where
+
+ INPUTCLASS: {VALUATOR, BUTTON, KEY}
+ CLASS VALUATOR:
+ [class: CARD8
+ num_valuators: CARD8
+ mode: CARD8
+ #x01 device mode (0 = Relative, 1 = Absolute)
+ #x02 proximity state (0 = InProximity, 1 = OutOfProximity)
+ valuators: LISTofINT32]
+ CLASS BUTTON:
+ [class: CARD8
+ num_buttons: CARD8
+ buttons: LISTofCARD8]
+ CLASS KEY:
+ [class: CARD8
+ num_keys: CARD8
+ keys: LISTofCARD8]
+
+ Errors: Device
+
+ The QueryDeviceState request returns the current logical state
+ of the buttons, keys, and valuators on the specified input
+ device. The buttons and keys arrays, byte N (from 0) contains
+ the bits for key or button 8N to 8N+7 with the least
+ significant bit in the byte representing key or button 8N.
+
+ If the device has valuators, a bit in the mode field indicates
+ whether the device is reporting Absolute or Relative data. If
+ it is reporting Absolute data, the valuators array will contain
+ the current value of the valuators. If it is reporting Relative
+ data, the valuators array will contain undefined data.
+
+ If the device reports proximity information, a bit in the mode
+ field indicates whether the device is InProximity or
+ OutOfProximity.
+
+2.22 Listing Device Properties
+
+ Introduced with XI 1.5
+
+ ListDeviceProperties
+ deviceid: CARD8
+ =>
+ nAtoms: CARD16
+ Atoms: LISTofATOM
+
+ Errors: Device
+
+ Each device can store an arbitrary number of properties. These
+ properties can be allocated by either the client or the driver.
+ The client can change device properties and the server
+ guarantees that the device driver is notified about a change of
+ the device's properties.
+
+ ListDeviceProperties returns all properties of a device. The
+ client is expected to retrieve details about the properties it
+ is interested in separately.
+
+2.23 Getting a Device Property
+
+ Introduced with XI 1.5
+
+ GetDeviceProperty:
+ property: ATOM
+ type: ATOM
+ longOffset: CARD32
+ longLength: CARD32
+ deviceid: CARD8
+ delete: BOOL
+ =>
+ propertyType: ATOM
+ bytesAfter: CARD32
+ nItems: CARD32
+ format: CARD8
+ deviceid: CARD8
+ data: [LISTofCARD8]
+
+ Errors: Atom, Device, Value, Access
+
+ Retrieve the value for a property. If the property does not
+ exist, propertyType is None and all other fields are undefined.
+
+ If type is not AnyPropertyType and does not match the
+ property's actual type, the propertyType, bytesAfter, and
+ format are returned but not the actual data.
+
+ longOffset and longLength specify the offset and length
+ respectively in 32-bit multiples of the data to retrieve.
+
+ If delete is True, the property is deleted after querying its
+ data. If the property cannot be deleted, a BadAccess error is
+ returned.
+
+ propertyType returns the atom identifier that defines the
+ actual type of the property.
+
+ If bytesAfter is non-zero, it specifies the number of data
+ 4-byte units after the retrieved chunk of data.
+
+ format specifies whether the data should be viewed as a list of
+ 8-bit, 16-bit, or 32-bit quantities. Possible values are 8, 16,
+ and 32. This information allows the X server to correctly
+ perform byte-swap operations as necessary.
+
+ nItem specifies the number of 8-bit, 16-bit, or 32-bit items
+ returned after the request.
+
+2.24 Changing a Device Property
+
+ Introduced with XI 1.5
+
+ ChangeDeviceProperty:
+ property: ATOM
+ type: ATOM
+ deviceid: CARD8
+ format: CARD8
+ mode: CARD8
+ nUnits: CARD32
+
+ Errors: Atom, Device, Value, Match, Access
+
+ Changes the value of a specified property.
+
+ The type specifies the atom identifier that defines the type of
+ the property. If mode is not PropModeReplace, the type must
+ match the current type of the property or a BadMatch error is
+ returned.
+
+ format specifies whether the data should be viewed as a list of
+ 8-bit, 16-bit, or 32-bit quantities. Possible values are 8, 16,
+ and 32. This information allows the X server to correctly
+ perform byte-swap operations as necessary.
+
+ If mode is PropModeReplace, a preexising value for this
+ property is replaced with the new value. If mode is
+ PropModePrepend or PropModeAppend, the value is prepended or
+ appended, respectively, to the current value of the property.
+
+ nUnits specifies the number of 8-bit, 16-bit, or 32-bit items
+ supplied after the reply.
+
+ Changing a device property results in a
+ DevicePropertyNotifyEvent being sent to all clients.
+
+2.25 Deleting a Device Property
+
+ Introduced with XI 1.5
+
+ DeleteDeviceProperty:
+ property: ATOM
+ deviceid: CARD8
+
+ Errors: Atom, Device, Match, Access.
+
+ Deletes the specified property. If the property cannot be
+ deleted by the client, a BadAccess error is returned.
+
+3. Events
+
+ The input extension creates input events analogous to the core
+ input events. These extension input events are generated by
+ manipulating one of the extension input devices.
+
+3.1 Button, Key, and Motion Events
+
+ DeviceKeyPress
+ DeviceKeyRelease
+ DeviceButtonPress,
+ DeviceButtonRelease
+ DeviceMotionNotify
+ device: CARD8
+ root, event: WINDOW
+ child: Window or None
+ same-screen: BOOL
+ root-x, root-y, event-x, event-y: INT16
+ detail: <see below>
+ state: SETofKEYBUTMASK
+ time: TIMESTAMP
+
+ These events are generated when a key, button, or valuator
+ logically changes state. The generation of these logical
+ changes may lag the physical changes, if device event
+ processing is frozen. Note that DeviceKeyPress and
+ DeviceKeyRelease are generated for all keys, even those mapped
+ to modifier bits. The “source” of the event is the window the
+ pointer is in. The window with respect to which the event is
+ normally reported is found by looking up the hierarchy
+ (starting with the source window) for the first window on which
+ any client has selected interest in the event. The actual
+ window used for reporting can be modified by active grabs and
+ by the focus window.The window the event is reported with
+ respect to is called the “event” window.
+
+ The root is the root window of the “source” window, and root-x
+ and root-y are the pointer coordinates relative to root's
+ origin at the time of the event. Event is the “event” window.
+ If the event window is on the same screen as root, then event-x
+ and event-y are the pointer coordinates relative to the event
+ window's origin. Otherwise, event-x and event-y are zero. If
+ the source window is an inferior of the event window, then
+ child is set to the child of the event window that is an
+ ancestor of (or is) the source window. Otherwise, it is set to
+ None.
+
+ The state component gives the logical state of the buttons on
+ the X pointer and modifier keys on the core X keyboard just
+ before the event.
+
+ The detail component type varies with the event type:
+ Event Component
+ DeviceKeyPress KEYCODE
+ DeviceKeyRelease KEYCODE
+ DeviceButtonPress BUTTON
+ DeviceButtonRelease BUTTON
+ DeviceMotionNotify { Normal , Hint }
+
+ The granularity of motion events is not guaranteed, but a
+ client selecting for motion events is guaranteed to get at
+ least one event when a valuator changes. If DeviceMotionHint is
+ selected, the server is free to send only one
+ DeviceMotionNotify event (with detail Hint) to the client for
+ the event window, until either a key or button changes state,
+ the pointer leaves the event window, or the client issues a
+ QueryDeviceState or GetDeviceMotionEvents request.
+
+3.2 DeviceValuator Event
+
+ DeviceValuator
+ device: CARD8
+ device_state: SETofKEYBUTMASK
+ num_valuators: CARD8
+ first_valuator: CARD8
+ valuators: LISTofINT32
+
+ DeviceValuator events are generated to contain valuator
+ information for which there is insufficient space in DeviceKey,
+ DeviceButton, DeviceMotion, and Proximity wire events. For
+ events of these types, a second event of type DeviceValuator
+ follows immediately. The library combines these events into a
+ single event that a client can receive via XNextEvent.
+ DeviceValuator events are not selected for by clients, they
+ only exist to contain information that will not fit into some
+ event selected by clients.
+
+ The device_state component gives the state of the buttons and
+ modifiers on the device generating the event.
+
+ Extension motion devices may report motion data for a variable
+ number of axes. The valuators array contains the values of all
+ axes reported by the device. If more than 6 axes are reported,
+ more than one DeviceValuator event will be sent by the server,
+ and more than one DeviceKey, DeviceButton, DeviceMotion, or
+ Proximity event will be reported by the library. Clients should
+ examine the corresponding fields of the event reported by the
+ library to determine the total number of axes reported, and the
+ first axis reported in the current event. Axes are numbered
+ beginning with zero.
+
+ For Button, Key and Motion events on a device reporting
+ absolute motion data the current value of the device's
+ valuators is reported. For devices that report relative data,
+ Button and Key events may be followed by a DeviceValuator event
+ that contains 0s in the num_valuators field. In this case, only
+ the device_state component will have meaning.
+
+3.3 Device Focus Events
+
+ DeviceFocusIn
+ DeviceFocusOut
+ device: CARD8
+ time: TIMESTAMP
+ event: WINDOW
+ mode: { Normal, WhileGrabbed, Grab, Ungrab}
+ detail: { Ancestor, Virtual, Inferior, Nonlinear,
+ NonlinearVirtual, Pointer, PointerRoot, None}
+
+ These events are generated when the input focus changes and are
+ reported to clients selecting DeviceFocusChange for the
+ specified device and window. Events generated by SetDeviceFocus
+ when the device is not grabbed have mode Normal. Events
+ generated by SetDeviceFocus when the device is grabbed have
+ mode WhileGrabbed. Events generated when a device grab actives
+ have mode Grab, and events generated when a device grab
+ deactivates have mode Ungrab.
+
+ All DeviceFocusOut events caused by a window unmap are
+ generated after any UnmapNotify event, but the ordering of
+ DeviceFocusOut with respect to generated EnterNotify,
+ LeaveNotify, VisibilityNotify and Expose events is not
+ constrained.
+
+ DeviceFocusIn and DeviceFocusOut events are generated for focus
+ changes of extension devices in the same manner as focus events
+ for the core devices are generated.
+
+3.4 Device State Notify Event
+
+ DeviceStateNotify
+ time: TIMESTAMP
+ device: CARD8
+ num_keys: CARD8
+ num_buttons: CARD8
+ num_valuators: CARD8
+ classes_reported: CARD8 {SetOfDeviceMode | SetOfInputClass}
+ SetOfDeviceMode:
+ #x80 ProximityState 0 = InProxmity, 1 = OutOfProximity
+ #x40 Device Mode (0 = Relative, 1 = Absolute)
+ SetOfInputClass: #x04 reporting valuators
+ #x02 reporting buttons
+ #x01 reporting keys
+ buttons: LISTofCARD8
+ keys: LISTofCARD8
+ valuators: LISTofCARD32
+
+ This event reports the state of the device just as in the
+ QueryDeviceState request. This event is reported to clients
+ selecting DeviceStateNotify for the device and window and is
+ generated immediately after every EnterNotify and
+ DeviceFocusIn. If the device has no more than 32 buttons, no
+ more than 32 keys, and no more than 3 valuators, This event can
+ report the state of the device. If the device has more than 32
+ buttons, the event will be immediately followed by a
+ DeviceButtonStateNotify event. If the device has more than 32
+ keys, the event will be followed by a DeviceKeyStateNotify
+ event. If the device has more than 3 valuators, the event will
+ be followed by one or more DeviceValuator events.
+
+3.5 Device KeyState and ButtonState Notify Events
+
+ DeviceKeyStateNotify
+ device: CARD8
+ keys: LISTofCARD8
+ DeviceButtonStateNotify
+ device: CARD8
+ buttons: LISTofCARD8
+
+ These events contain information about the state of keys and
+ buttons on a device that will not fit into the
+ DeviceStateNotify wire event. These events are not selected by
+ clients, rather they may immediately follow a DeviceStateNotify
+ wire event and be combined with it into a single
+ DeviceStateNotify client event that a client may receive via
+ XNextEvent.
+
+3.6 DeviceMappingNotify Event
+
+ DeviceMappingNotify
+ time: TIMESTAMP
+ device: CARD8
+ request: CARD8
+ first_keycode: CARD8
+ count: CARD8
+
+ This event reports a change in the mapping of keys, modifiers,
+ or buttons on an extension device. This event is reported to
+ clients selecting DeviceMappingNotify for the device and window
+ and is generated after every client SetDeviceButtonMapping,
+ ChangeDeviceKeyMapping, or ChangeDeviceModifierMapping request.
+
+3.7 ChangeDeviceNotify Event
+
+ ChangeDeviceNotify
+ device: CARD8
+ time: TIMESTAMP
+ request: CARD8
+
+ This event reports a change in the physical device being used
+ as the core X keyboard or X pointer device. ChangeDeviceNotify
+ events are reported to clients selecting ChangeDeviceNotify for
+ the device and window and is generated after every client
+ ChangeKeyboardDevice or ChangePointerDevice request.
+
+3.7 Proximity Events
+
+ ProximityIn
+ ProximityOut
+ device: CARD8
+ root, event: WINDOW
+ child: Window or None
+ same-screen: BOOL
+ root-x, root-y, event-x, event-y: INT16
+ state: SETofKEYBUTMASK
+ time: TIMESTAMP
+ device-state: SETofKEYBUTMASK
+ axis-count: CARD8
+ first-axis: CARD8
+ axis-data: LISTofINT32
+
+ These events are generated by some devices (such as graphics
+ tablets or touchscreens) to indicate that a stylus has moved
+ into or out of contact with a positional sensing surface.
+
+ The “source” of the event is the window the pointer is in. The
+ window with respect to which the event is normally reported is
+ found by looking up the hierarchy (starting with the source
+ window) for the first window on which any client has selected
+ interest in the event. The actual window used for reporting can
+ be modified by active grabs and by the focus window.The window
+ the event is reported with respect to is called the “event”
+ window.
+
+ The root is the root window of the “source” window, and root-x
+ and root-y are the pointer coordinates relative to root's
+ origin at the time of the event. Event is the “event” window.
+ If the event window is on the same screen as root, then event-x
+ and event-y are the pointer coordinates relative to the event
+ window's origin. Otherwise, event-x and event-y are zero. If
+ the source window is an inferior of the event window, then
+ child is set to the child of the event window that is an
+ ancestor of (or is) the source window. Otherwise, it is set to
+ None. The state component gives the logical state of the
+ buttons on the core X pointer and modifier keys on the core X
+ keyboard just before the event. The device-state component
+ gives the state of the buttons and modifiers on the device
+ generating the event.
+
+3.8 DevicePresenceEvents
+
+ Introduced with XI 1.4.
+
+ DevicePresence
+ time: TIMESTAMP
+ devchange: BYTE
+ #x00: DeviceAdded
+ #x01: DeviceRemoved
+ #x02: DeviceEnabled
+ #x03: DeviceDisabled
+ #x04: DeviceUnrecoverable
+ #x05: DeviceControlChanged
+ deviceid: BYTE
+ control: CARD16
+
+ DevicePresence events are sent when the server adds or removes,
+ or enables or disables an input device. The client is expected
+ to query the server for the list of input devices using the
+ ListInputDevices request to obtain the updated list of input
+ devices. DevicePresence events are also sent when a control on
+ the device has been changed.
+
+ The devchange field specifies the type of operation. In case of
+ DeviceAdded, a new device has been added to the server, but
+ this device does not yet send events. If devchange is set to
+ DeviceEnabled, the device is enabled and will generate events.
+ If the field is DeviceDisabled or DeviceRemoved, the given
+ device is disabled and stops sending events or was removed from
+ the server, respectively. If the field is DeviceUnrecoverable,
+ an IO-error has occured on the device and the device is
+ forcibly disabled and removed by the server. If devchange is
+ DeviceControlChanged, control specifies the type of control
+ that has been changed.
+
+3.9 DevicePropertyNotifyEvent
+
+ Introduced with XI 1.5.
+
+ DevicePropertyNotifyEvent
+ deviceid: CARD8
+ state: CARD8
+ time: TIMESTAMP
+ atom: ATOM
+
+ A DevicePropertyNotifyEvent is sent to all clients when a
+ property on the device is created, deleted, or changes value.
+
+ The deviceid specifies the device which's property has been
+ modified.
+
+ The atom specifies the named identifier of the property that
+ has been altered.
+
+ If state is PropertyNewValue, the given property has a new
+ value or has been newly created. If state is PropertyDeleted,
+ the given property has been deleted.
diff --git a/inputproto/autogen.sh b/inputproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/inputproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/inputproto/configure.ac b/inputproto/configure.ac
new file mode 100644
index 0000000..7466dc3
--- /dev/null
+++ b/inputproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([InputProto], [2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ inputproto.pc])
diff --git a/inputproto/inputproto.pc.in b/inputproto/inputproto.pc.in
new file mode 100644
index 0000000..c499cda
--- /dev/null
+++ b/inputproto/inputproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: InputProto
+Description: Input extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/kbproto/.gitignore b/kbproto/.gitignore
new file mode 100644
index 0000000..29b82f2
--- /dev/null
+++ b/kbproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for kbproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/kbproto/COPYING b/kbproto/COPYING
new file mode 100644
index 0000000..6f12c2f
--- /dev/null
+++ b/kbproto/COPYING
@@ -0,0 +1,22 @@
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/kbproto/Makefile.am b/kbproto/Makefile.am
new file mode 100644
index 0000000..bbe8a1e
--- /dev/null
+++ b/kbproto/Makefile.am
@@ -0,0 +1,23 @@
+kbdir = $(includedir)/X11/extensions
+kb_HEADERS = \
+ XKBgeom.h \
+ XKB.h \
+ XKBproto.h \
+ XKBsrv.h \
+ XKBstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = kbproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/kbproto/README b/kbproto/README
new file mode 100644
index 0000000..49fa4f9
--- /dev/null
+++ b/kbproto/README
@@ -0,0 +1,30 @@
+ X Keyboard Extension
+
+This extension defines a protcol to provide a number of new capabilities
+and controls for text keyboards.
+
+Extension name: XKEYBOARD
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/kbproto
+
+ http://cgit.freedesktop.org/xorg/proto/kbproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/kbproto/XKB.h b/kbproto/XKB.h
new file mode 100644
index 0000000..a915317
--- /dev/null
+++ b/kbproto/XKB.h
@@ -0,0 +1,788 @@
+/* $Xorg: XKB.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+/* $XFree86: xc/include/extensions/XKB.h,v 1.5tsi Exp $ */
+
+#ifndef _XKB_H_
+#define _XKB_H_
+
+ /*
+ * XKB request codes, used in:
+ * - xkbReqType field of all requests
+ * - requestMinor field of some events
+ */
+#define X_kbUseExtension 0
+#define X_kbSelectEvents 1
+#define X_kbBell 3
+#define X_kbGetState 4
+#define X_kbLatchLockState 5
+#define X_kbGetControls 6
+#define X_kbSetControls 7
+#define X_kbGetMap 8
+#define X_kbSetMap 9
+#define X_kbGetCompatMap 10
+#define X_kbSetCompatMap 11
+#define X_kbGetIndicatorState 12
+#define X_kbGetIndicatorMap 13
+#define X_kbSetIndicatorMap 14
+#define X_kbGetNamedIndicator 15
+#define X_kbSetNamedIndicator 16
+#define X_kbGetNames 17
+#define X_kbSetNames 18
+#define X_kbGetGeometry 19
+#define X_kbSetGeometry 20
+#define X_kbPerClientFlags 21
+#define X_kbListComponents 22
+#define X_kbGetKbdByName 23
+#define X_kbGetDeviceInfo 24
+#define X_kbSetDeviceInfo 25
+#define X_kbSetDebuggingFlags 101
+
+ /*
+ * In the X sense, XKB reports only one event.
+ * The type field of all XKB events is XkbEventCode
+ */
+#define XkbEventCode 0
+#define XkbNumberEvents (XkbEventCode+1)
+
+ /*
+ * XKB has a minor event code so it can use one X event code for
+ * multiple purposes.
+ * - reported in the xkbType field of all XKB events.
+ * - XkbSelectEventDetails: Indicates the event for which event details
+ * are being changed
+ */
+#define XkbNewKeyboardNotify 0
+#define XkbMapNotify 1
+#define XkbStateNotify 2
+#define XkbControlsNotify 3
+#define XkbIndicatorStateNotify 4
+#define XkbIndicatorMapNotify 5
+#define XkbNamesNotify 6
+#define XkbCompatMapNotify 7
+#define XkbBellNotify 8
+#define XkbActionMessage 9
+#define XkbAccessXNotify 10
+#define XkbExtensionDeviceNotify 11
+
+ /*
+ * Event Mask:
+ * - XkbSelectEvents: Specifies event interest.
+ */
+#define XkbNewKeyboardNotifyMask (1L << 0)
+#define XkbMapNotifyMask (1L << 1)
+#define XkbStateNotifyMask (1L << 2)
+#define XkbControlsNotifyMask (1L << 3)
+#define XkbIndicatorStateNotifyMask (1L << 4)
+#define XkbIndicatorMapNotifyMask (1L << 5)
+#define XkbNamesNotifyMask (1L << 6)
+#define XkbCompatMapNotifyMask (1L << 7)
+#define XkbBellNotifyMask (1L << 8)
+#define XkbActionMessageMask (1L << 9)
+#define XkbAccessXNotifyMask (1L << 10)
+#define XkbExtensionDeviceNotifyMask (1L << 11)
+#define XkbAllEventsMask (0xFFF)
+
+ /*
+ * NewKeyboardNotify event details:
+ */
+#define XkbNKN_KeycodesMask (1L << 0)
+#define XkbNKN_GeometryMask (1L << 1)
+#define XkbNKN_DeviceIDMask (1L << 2)
+#define XkbAllNewKeyboardEventsMask (0x7)
+
+ /*
+ * AccessXNotify event types:
+ * - The 'what' field of AccessXNotify events reports the
+ * reason that the event was generated.
+ */
+#define XkbAXN_SKPress 0
+#define XkbAXN_SKAccept 1
+#define XkbAXN_SKReject 2
+#define XkbAXN_SKRelease 3
+#define XkbAXN_BKAccept 4
+#define XkbAXN_BKReject 5
+#define XkbAXN_AXKWarning 6
+
+ /*
+ * AccessXNotify details:
+ * - Used as an event detail mask to limit the conditions under which
+ * AccessXNotify events are reported
+ */
+#define XkbAXN_SKPressMask (1L << 0)
+#define XkbAXN_SKAcceptMask (1L << 1)
+#define XkbAXN_SKRejectMask (1L << 2)
+#define XkbAXN_SKReleaseMask (1L << 3)
+#define XkbAXN_BKAcceptMask (1L << 4)
+#define XkbAXN_BKRejectMask (1L << 5)
+#define XkbAXN_AXKWarningMask (1L << 6)
+#define XkbAllAccessXEventsMask (0xf)
+
+ /*
+ * Miscellaneous event details:
+ * - event detail masks for assorted events that don't reall
+ * have any details.
+ */
+#define XkbAllStateEventsMask XkbAllStateComponentsMask
+#define XkbAllMapEventsMask XkbAllMapComponentsMask
+#define XkbAllControlEventsMask XkbAllControlsMask
+#define XkbAllIndicatorEventsMask XkbAllIndicatorsMask
+#define XkbAllNameEventsMask XkbAllNamesMask
+#define XkbAllCompatMapEventsMask XkbAllCompatMask
+#define XkbAllBellEventsMask (1L << 0)
+#define XkbAllActionMessagesMask (1L << 0)
+
+ /*
+ * XKB reports one error: BadKeyboard
+ * A further reason for the error is encoded into to most significant
+ * byte of the resourceID for the error:
+ * XkbErr_BadDevice - the device in question was not found
+ * XkbErr_BadClass - the device was found but it doesn't belong to
+ * the appropriate class.
+ * XkbErr_BadId - the device was found and belongs to the right
+ * class, but not feedback with a matching id was
+ * found.
+ * The low byte of the resourceID for this error contains the device
+ * id, class specifier or feedback id that failed.
+ */
+#define XkbKeyboard 0
+#define XkbNumberErrors 1
+
+#define XkbErr_BadDevice 0xff
+#define XkbErr_BadClass 0xfe
+#define XkbErr_BadId 0xfd
+
+ /*
+ * Keyboard Components Mask:
+ * - Specifies the components that follow a GetKeyboardByNameReply
+ */
+#define XkbClientMapMask (1L << 0)
+#define XkbServerMapMask (1L << 1)
+#define XkbCompatMapMask (1L << 2)
+#define XkbIndicatorMapMask (1L << 3)
+#define XkbNamesMask (1L << 4)
+#define XkbGeometryMask (1L << 5)
+#define XkbControlsMask (1L << 6)
+#define XkbAllComponentsMask (0x7f)
+
+ /*
+ * State detail mask:
+ * - The 'changed' field of StateNotify events reports which of
+ * the keyboard state components have changed.
+ * - Used as an event detail mask to limit the conditions under
+ * which StateNotify events are reported.
+ */
+#define XkbModifierStateMask (1L << 0)
+#define XkbModifierBaseMask (1L << 1)
+#define XkbModifierLatchMask (1L << 2)
+#define XkbModifierLockMask (1L << 3)
+#define XkbGroupStateMask (1L << 4)
+#define XkbGroupBaseMask (1L << 5)
+#define XkbGroupLatchMask (1L << 6)
+#define XkbGroupLockMask (1L << 7)
+#define XkbCompatStateMask (1L << 8)
+#define XkbGrabModsMask (1L << 9)
+#define XkbCompatGrabModsMask (1L << 10)
+#define XkbLookupModsMask (1L << 11)
+#define XkbCompatLookupModsMask (1L << 12)
+#define XkbPointerButtonMask (1L << 13)
+#define XkbAllStateComponentsMask (0x3fff)
+
+ /*
+ * Controls detail masks:
+ * The controls specified in XkbAllControlsMask:
+ * - The 'changed' field of ControlsNotify events reports which of
+ * the keyboard controls have changed.
+ * - The 'changeControls' field of the SetControls request specifies
+ * the controls for which values are to be changed.
+ * - Used as an event detail mask to limit the conditions under
+ * which ControlsNotify events are reported.
+ *
+ * The controls specified in the XkbAllBooleanCtrlsMask:
+ * - The 'enabledControls' field of ControlsNotify events reports the
+ * current status of the boolean controls.
+ * - The 'enabledControlsChanges' field of ControlsNotify events reports
+ * any boolean controls that have been turned on or off.
+ * - The 'affectEnabledControls' and 'enabledControls' fields of the
+ * kbSetControls request change the set of enabled controls.
+ * - The 'accessXTimeoutMask' and 'accessXTimeoutValues' fields of
+ * an XkbControlsRec specify the controls to be changed if the keyboard
+ * times out and the values to which they should be changed.
+ * - The 'autoCtrls' and 'autoCtrlsValues' fields of the PerClientFlags
+ * request specifies the specify the controls to be reset when the
+ * client exits and the values to which they should be reset.
+ * - The 'ctrls' field of an indicator map specifies the controls
+ * that drive the indicator.
+ * - Specifies the boolean controls affected by the SetControls and
+ * LockControls key actions.
+ */
+#define XkbRepeatKeysMask (1L << 0)
+#define XkbSlowKeysMask (1L << 1)
+#define XkbBounceKeysMask (1L << 2)
+#define XkbStickyKeysMask (1L << 3)
+#define XkbMouseKeysMask (1L << 4)
+#define XkbMouseKeysAccelMask (1L << 5)
+#define XkbAccessXKeysMask (1L << 6)
+#define XkbAccessXTimeoutMask (1L << 7)
+#define XkbAccessXFeedbackMask (1L << 8)
+#define XkbAudibleBellMask (1L << 9)
+#define XkbOverlay1Mask (1L << 10)
+#define XkbOverlay2Mask (1L << 11)
+#define XkbIgnoreGroupLockMask (1L << 12)
+#define XkbGroupsWrapMask (1L << 27)
+#define XkbInternalModsMask (1L << 28)
+#define XkbIgnoreLockModsMask (1L << 29)
+#define XkbPerKeyRepeatMask (1L << 30)
+#define XkbControlsEnabledMask (1L << 31)
+
+#define XkbAccessXOptionsMask (XkbStickyKeysMask|XkbAccessXFeedbackMask)
+
+#define XkbAllBooleanCtrlsMask (0x00001FFF)
+#define XkbAllControlsMask (0xF8001FFF)
+#define XkbAllControlEventsMask XkbAllControlsMask
+
+ /*
+ * AccessX Options Mask
+ * - The 'accessXOptions' field of an XkbControlsRec specifies the
+ * AccessX options that are currently in effect.
+ * - The 'accessXTimeoutOptionsMask' and 'accessXTimeoutOptionsValues'
+ * fields of an XkbControlsRec specify the Access X options to be
+ * changed if the keyboard times out and the values to which they
+ * should be changed.
+ */
+#define XkbAX_SKPressFBMask (1L << 0)
+#define XkbAX_SKAcceptFBMask (1L << 1)
+#define XkbAX_FeatureFBMask (1L << 2)
+#define XkbAX_SlowWarnFBMask (1L << 3)
+#define XkbAX_IndicatorFBMask (1L << 4)
+#define XkbAX_StickyKeysFBMask (1L << 5)
+#define XkbAX_TwoKeysMask (1L << 6)
+#define XkbAX_LatchToLockMask (1L << 7)
+#define XkbAX_SKReleaseFBMask (1L << 8)
+#define XkbAX_SKRejectFBMask (1L << 9)
+#define XkbAX_BKRejectFBMask (1L << 10)
+#define XkbAX_DumbBellFBMask (1L << 11)
+#define XkbAX_FBOptionsMask (0xF3F)
+#define XkbAX_SKOptionsMask (0x0C0)
+#define XkbAX_AllOptionsMask (0xFFF)
+
+ /*
+ * XkbUseCoreKbd is used to specify the core keyboard without having
+ * to look up its X input extension identifier.
+ * XkbUseCorePtr is used to specify the core pointer without having
+ * to look up its X input extension identifier.
+ * XkbDfltXIClass is used to specify "don't care" any place that the
+ * XKB protocol is looking for an X Input Extension
+ * device class.
+ * XkbDfltXIId is used to specify "don't care" any place that the
+ * XKB protocol is looking for an X Input Extension
+ * feedback identifier.
+ * XkbAllXIClasses is used to get information about all device indicators,
+ * whether they're part of the indicator feedback class
+ * or the keyboard feedback class.
+ * XkbAllXIIds is used to get information about all device indicator
+ * feedbacks without having to list them.
+ * XkbXINone is used to indicate that no class or id has been specified.
+ * XkbLegalXILedClass(c) True if 'c' specifies a legal class with LEDs
+ * XkbLegalXIBellClass(c) True if 'c' specifies a legal class with bells
+ * XkbExplicitXIDevice(d) True if 'd' explicitly specifies a device
+ * XkbExplicitXIClass(c) True if 'c' explicitly specifies a device class
+ * XkbExplicitXIId(c) True if 'i' explicitly specifies a device id
+ * XkbSingleXIClass(c) True if 'c' specifies exactly one device class,
+ * including the default.
+ * XkbSingleXIId(i) True if 'i' specifies exactly one device
+ * identifier, including the default.
+ */
+#define XkbUseCoreKbd 0x0100
+#define XkbUseCorePtr 0x0200
+#define XkbDfltXIClass 0x0300
+#define XkbDfltXIId 0x0400
+#define XkbAllXIClasses 0x0500
+#define XkbAllXIIds 0x0600
+#define XkbXINone 0xff00
+
+#define XkbLegalXILedClass(c) (((c)==KbdFeedbackClass)||\
+ ((c)==LedFeedbackClass)||\
+ ((c)==XkbDfltXIClass)||\
+ ((c)==XkbAllXIClasses))
+#define XkbLegalXIBellClass(c) (((c)==KbdFeedbackClass)||\
+ ((c)==BellFeedbackClass)||\
+ ((c)==XkbDfltXIClass)||\
+ ((c)==XkbAllXIClasses))
+#define XkbExplicitXIDevice(c) (((c)&(~0xff))==0)
+#define XkbExplicitXIClass(c) (((c)&(~0xff))==0)
+#define XkbExplicitXIId(c) (((c)&(~0xff))==0)
+#define XkbSingleXIClass(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIClass))
+#define XkbSingleXIId(c) ((((c)&(~0xff))==0)||((c)==XkbDfltXIId))
+
+#define XkbNoModifier 0xff
+#define XkbNoShiftLevel 0xff
+#define XkbNoShape 0xff
+#define XkbNoIndicator 0xff
+
+#define XkbNoModifierMask 0
+#define XkbAllModifiersMask 0xff
+#define XkbAllVirtualModsMask 0xffff
+
+#define XkbNumKbdGroups 4
+#define XkbMaxKbdGroup (XkbNumKbdGroups-1)
+
+#define XkbMaxMouseKeysBtn 4
+
+ /*
+ * Group Index and Mask:
+ * - Indices into the kt_index array of a key type.
+ * - Mask specifies types to be changed for XkbChangeTypesOfKey
+ */
+#define XkbGroup1Index 0
+#define XkbGroup2Index 1
+#define XkbGroup3Index 2
+#define XkbGroup4Index 3
+#define XkbAnyGroup 254
+#define XkbAllGroups 255
+
+#define XkbGroup1Mask (1<<0)
+#define XkbGroup2Mask (1<<1)
+#define XkbGroup3Mask (1<<2)
+#define XkbGroup4Mask (1<<3)
+#define XkbAnyGroupMask (1<<7)
+#define XkbAllGroupsMask (0xf)
+
+ /*
+ * BuildCoreState: Given a keyboard group and a modifier state,
+ * construct the value to be reported an event.
+ * GroupForCoreState: Given the state reported in an event,
+ * determine the keyboard group.
+ * IsLegalGroup: Returns TRUE if 'g' is a valid group index.
+ */
+#define XkbBuildCoreState(m,g) ((((g)&0x3)<<13)|((m)&0xff))
+#define XkbGroupForCoreState(s) (((s)>>13)&0x3)
+#define XkbIsLegalGroup(g) (((g)>=0)&&((g)<XkbNumKbdGroups))
+
+ /*
+ * GroupsWrap values:
+ * - The 'groupsWrap' field of an XkbControlsRec specifies the
+ * treatment of out of range groups.
+ * - Bits 6 and 7 of the group info field of a key symbol map
+ * specify the interpretation of out of range groups for the
+ * corresponding key.
+ */
+#define XkbWrapIntoRange (0x00)
+#define XkbClampIntoRange (0x40)
+#define XkbRedirectIntoRange (0x80)
+
+ /*
+ * Action flags: Reported in the 'flags' field of most key actions.
+ * Interpretation depends on the type of the action; not all actions
+ * accept all flags.
+ *
+ * Option Used for Actions
+ * ------ ----------------
+ * ClearLocks SetMods, LatchMods, SetGroup, LatchGroup
+ * LatchToLock SetMods, LatchMods, SetGroup, LatchGroup
+ * LockNoLock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn
+ * LockNoUnlock LockMods, ISOLock, LockPtrBtn, LockDeviceBtn
+ * UseModMapMods SetMods, LatchMods, LockMods, ISOLock
+ * GroupAbsolute SetGroup, LatchGroup, LockGroup, ISOLock
+ * UseDfltButton PtrBtn, LockPtrBtn
+ * NoAcceleration MovePtr
+ * MoveAbsoluteX MovePtr
+ * MoveAbsoluteY MovePtr
+ * ISODfltIsGroup ISOLock
+ * ISONoAffectMods ISOLock
+ * ISONoAffectGroup ISOLock
+ * ISONoAffectPtr ISOLock
+ * ISONoAffectCtrls ISOLock
+ * MessageOnPress ActionMessage
+ * MessageOnRelease ActionMessage
+ * MessageGenKeyEvent ActionMessage
+ * AffectDfltBtn SetPtrDflt
+ * DfltBtnAbsolute SetPtrDflt
+ * SwitchApplication SwitchScreen
+ * SwitchAbsolute SwitchScreen
+ */
+
+#define XkbSA_ClearLocks (1L << 0)
+#define XkbSA_LatchToLock (1L << 1)
+
+#define XkbSA_LockNoLock (1L << 0)
+#define XkbSA_LockNoUnlock (1L << 1)
+
+#define XkbSA_UseModMapMods (1L << 2)
+
+#define XkbSA_GroupAbsolute (1L << 2)
+#define XkbSA_UseDfltButton 0
+
+#define XkbSA_NoAcceleration (1L << 0)
+#define XkbSA_MoveAbsoluteX (1L << 1)
+#define XkbSA_MoveAbsoluteY (1L << 2)
+
+#define XkbSA_ISODfltIsGroup (1L << 7)
+#define XkbSA_ISONoAffectMods (1L << 6)
+#define XkbSA_ISONoAffectGroup (1L << 5)
+#define XkbSA_ISONoAffectPtr (1L << 4)
+#define XkbSA_ISONoAffectCtrls (1L << 3)
+#define XkbSA_ISOAffectMask (0x78)
+
+#define XkbSA_MessageOnPress (1L << 0)
+#define XkbSA_MessageOnRelease (1L << 1)
+#define XkbSA_MessageGenKeyEvent (1L << 2)
+
+#define XkbSA_AffectDfltBtn 1
+#define XkbSA_DfltBtnAbsolute (1L << 2)
+
+#define XkbSA_SwitchApplication (1L << 0)
+#define XkbSA_SwitchAbsolute (1L << 2)
+
+ /*
+ * The following values apply to the SA_DeviceValuator
+ * action only. Valuator operations specify the action
+ * to be taken. Values specified in the action are
+ * multiplied by 2^scale before they are applied.
+ */
+#define XkbSA_IgnoreVal (0x00)
+#define XkbSA_SetValMin (0x10)
+#define XkbSA_SetValCenter (0x20)
+#define XkbSA_SetValMax (0x30)
+#define XkbSA_SetValRelative (0x40)
+#define XkbSA_SetValAbsolute (0x50)
+#define XkbSA_ValOpMask (0x70)
+#define XkbSA_ValScaleMask (0x07)
+#define XkbSA_ValOp(a) ((a)&XkbSA_ValOpMask)
+#define XkbSA_ValScale(a) ((a)&XkbSA_ValScaleMask)
+
+ /*
+ * Action types: specifies the type of a key action. Reported in the
+ * type field of all key actions.
+ */
+#define XkbSA_NoAction 0x00
+#define XkbSA_SetMods 0x01
+#define XkbSA_LatchMods 0x02
+#define XkbSA_LockMods 0x03
+#define XkbSA_SetGroup 0x04
+#define XkbSA_LatchGroup 0x05
+#define XkbSA_LockGroup 0x06
+#define XkbSA_MovePtr 0x07
+#define XkbSA_PtrBtn 0x08
+#define XkbSA_LockPtrBtn 0x09
+#define XkbSA_SetPtrDflt 0x0a
+#define XkbSA_ISOLock 0x0b
+#define XkbSA_Terminate 0x0c
+#define XkbSA_SwitchScreen 0x0d
+#define XkbSA_SetControls 0x0e
+#define XkbSA_LockControls 0x0f
+#define XkbSA_ActionMessage 0x10
+#define XkbSA_RedirectKey 0x11
+#define XkbSA_DeviceBtn 0x12
+#define XkbSA_LockDeviceBtn 0x13
+#define XkbSA_DeviceValuator 0x14
+#define XkbSA_LastAction XkbSA_DeviceValuator
+#define XkbSA_NumActions (XkbSA_LastAction+1)
+
+#define XkbSA_XFree86Private 0x86
+
+ /*
+ * Specifies the key actions that clear latched groups or modifiers.
+ */
+#define XkbSA_BreakLatch \
+ ((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)|\
+ (1<<XkbSA_Terminate)|(1<<XkbSA_SwitchScreen)|(1<<XkbSA_SetControls)|\
+ (1<<XkbSA_LockControls)|(1<<XkbSA_ActionMessage)|\
+ (1<<XkbSA_RedirectKey)|(1<<XkbSA_DeviceBtn)|(1<<XkbSA_LockDeviceBtn))
+
+ /*
+ * Macros to classify key actions
+ */
+#define XkbIsModAction(a) (((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods))
+#define XkbIsGroupAction(a) (((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup))
+#define XkbIsPtrAction(a) (((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt))
+
+
+ /*
+ * Key Behavior Qualifier:
+ * KB_Permanent indicates that the behavior describes an unalterable
+ * characteristic of the keyboard, not an XKB software-simulation of
+ * the listed behavior.
+ * Key Behavior Types:
+ * Specifies the behavior of the underlying key.
+ */
+#define XkbKB_Permanent 0x80
+#define XkbKB_OpMask 0x7f
+
+#define XkbKB_Default 0x00
+#define XkbKB_Lock 0x01
+#define XkbKB_RadioGroup 0x02
+#define XkbKB_Overlay1 0x03
+#define XkbKB_Overlay2 0x04
+
+#define XkbKB_RGAllowNone 0x80
+
+ /*
+ * Various macros which describe the range of legal keycodes.
+ */
+#define XkbMinLegalKeyCode 8
+#define XkbMaxLegalKeyCode 255
+#define XkbMaxKeyCount (XkbMaxLegalKeyCode-XkbMinLegalKeyCode+1)
+#define XkbPerKeyBitArraySize ((XkbMaxLegalKeyCode+1)/8)
+/* Seems kinda silly to check that an unsigned char is <= 255... */
+#define XkbIsLegalKeycode(k) ((k)>=XkbMinLegalKeyCode)
+
+ /*
+ * Assorted constants and limits.
+ */
+#define XkbNumModifiers 8
+#define XkbNumVirtualMods 16
+#define XkbNumIndicators 32
+#define XkbAllIndicatorsMask (0xffffffff)
+#define XkbMaxRadioGroups 32
+#define XkbAllRadioGroupsMask (0xffffffff)
+#define XkbMaxShiftLevel 63
+#define XkbMaxSymsPerKey (XkbMaxShiftLevel*XkbNumKbdGroups)
+#define XkbRGMaxMembers 12
+#define XkbActionMessageLength 6
+#define XkbKeyNameLength 4
+#define XkbMaxRedirectCount 8
+
+#define XkbGeomPtsPerMM 10
+#define XkbGeomMaxColors 32
+#define XkbGeomMaxLabelColors 3
+#define XkbGeomMaxPriority 255
+
+ /*
+ * Key Type index and mask for the four standard key types.
+ */
+#define XkbOneLevelIndex 0
+#define XkbTwoLevelIndex 1
+#define XkbAlphabeticIndex 2
+#define XkbKeypadIndex 3
+#define XkbLastRequiredType XkbKeypadIndex
+#define XkbNumRequiredTypes (XkbLastRequiredType+1)
+#define XkbMaxKeyTypes 255
+
+#define XkbOneLevelMask (1<<0)
+#define XkbTwoLevelMask (1<<1)
+#define XkbAlphabeticMask (1<<2)
+#define XkbKeypadMask (1<<3)
+#define XkbAllRequiredTypes (0xf)
+
+#define XkbShiftLevel(n) ((n)-1)
+#define XkbShiftLevelMask(n) (1<<((n)-1))
+
+ /*
+ * Extension name and version information
+ */
+#define XkbName "XKEYBOARD"
+#define XkbMajorVersion 1
+#define XkbMinorVersion 0
+
+ /*
+ * Explicit map components:
+ * - Used in the 'explicit' field of an XkbServerMap. Specifies
+ * the keyboard components that should _not_ be updated automatically
+ * in response to core protocol keyboard mapping requests.
+ */
+#define XkbExplicitKeyTypesMask (0x0f)
+#define XkbExplicitKeyType1Mask (1<<0)
+#define XkbExplicitKeyType2Mask (1<<1)
+#define XkbExplicitKeyType3Mask (1<<2)
+#define XkbExplicitKeyType4Mask (1<<3)
+#define XkbExplicitInterpretMask (1<<4)
+#define XkbExplicitAutoRepeatMask (1<<5)
+#define XkbExplicitBehaviorMask (1<<6)
+#define XkbExplicitVModMapMask (1<<7)
+#define XkbAllExplicitMask (0xff)
+
+ /*
+ * Map components masks:
+ * Those in AllMapComponentsMask:
+ * - Specifies the individual fields to be loaded or changed for the
+ * GetMap and SetMap requests.
+ * Those in ClientInfoMask:
+ * - Specifies the components to be allocated by XkbAllocClientMap.
+ * Those in ServerInfoMask:
+ * - Specifies the components to be allocated by XkbAllocServerMap.
+ */
+#define XkbKeyTypesMask (1<<0)
+#define XkbKeySymsMask (1<<1)
+#define XkbModifierMapMask (1<<2)
+#define XkbExplicitComponentsMask (1<<3)
+#define XkbKeyActionsMask (1<<4)
+#define XkbKeyBehaviorsMask (1<<5)
+#define XkbVirtualModsMask (1<<6)
+#define XkbVirtualModMapMask (1<<7)
+
+#define XkbAllClientInfoMask (XkbKeyTypesMask|XkbKeySymsMask|XkbModifierMapMask)
+#define XkbAllServerInfoMask (XkbExplicitComponentsMask|XkbKeyActionsMask|XkbKeyBehaviorsMask|XkbVirtualModsMask|XkbVirtualModMapMask)
+#define XkbAllMapComponentsMask (XkbAllClientInfoMask|XkbAllServerInfoMask)
+
+ /*
+ * Symbol interpretations flags:
+ * - Used in the flags field of a symbol interpretation
+ */
+#define XkbSI_AutoRepeat (1<<0)
+#define XkbSI_LockingKey (1<<1)
+
+ /*
+ * Symbol interpretations match specification:
+ * - Used in the match field of a symbol interpretation to specify
+ * the conditions under which an interpretation is used.
+ */
+#define XkbSI_LevelOneOnly (0x80)
+#define XkbSI_OpMask (0x7f)
+#define XkbSI_NoneOf (0)
+#define XkbSI_AnyOfOrNone (1)
+#define XkbSI_AnyOf (2)
+#define XkbSI_AllOf (3)
+#define XkbSI_Exactly (4)
+
+ /*
+ * Indicator map flags:
+ * - Used in the flags field of an indicator map to indicate the
+ * conditions under which and indicator can be changed and the
+ * effects of changing the indicator.
+ */
+#define XkbIM_NoExplicit (1L << 7)
+#define XkbIM_NoAutomatic (1L << 6)
+#define XkbIM_LEDDrivesKB (1L << 5)
+
+ /*
+ * Indicator map component specifications:
+ * - Used by the 'which_groups' and 'which_mods' fields of an indicator
+ * map to specify which keyboard components should be used to drive
+ * the indicator.
+ */
+#define XkbIM_UseBase (1L << 0)
+#define XkbIM_UseLatched (1L << 1)
+#define XkbIM_UseLocked (1L << 2)
+#define XkbIM_UseEffective (1L << 3)
+#define XkbIM_UseCompat (1L << 4)
+
+#define XkbIM_UseNone 0
+#define XkbIM_UseAnyGroup (XkbIM_UseBase|XkbIM_UseLatched|XkbIM_UseLocked\
+ |XkbIM_UseEffective)
+#define XkbIM_UseAnyMods (XkbIM_UseAnyGroup|XkbIM_UseCompat)
+
+ /*
+ * Compatibility Map Compontents:
+ * - Specifies the components to be allocated in XkbAllocCompatMap.
+ */
+#define XkbSymInterpMask (1<<0)
+#define XkbGroupCompatMask (1<<1)
+#define XkbAllCompatMask (0x3)
+
+ /*
+ * Names component mask:
+ * - Specifies the names to be loaded or changed for the GetNames and
+ * SetNames requests.
+ * - Specifies the names that have changed in a NamesNotify event.
+ * - Specifies the names components to be allocated by XkbAllocNames.
+ */
+#define XkbKeycodesNameMask (1<<0)
+#define XkbGeometryNameMask (1<<1)
+#define XkbSymbolsNameMask (1<<2)
+#define XkbPhysSymbolsNameMask (1<<3)
+#define XkbTypesNameMask (1<<4)
+#define XkbCompatNameMask (1<<5)
+#define XkbKeyTypeNamesMask (1<<6)
+#define XkbKTLevelNamesMask (1<<7)
+#define XkbIndicatorNamesMask (1<<8)
+#define XkbKeyNamesMask (1<<9)
+#define XkbKeyAliasesMask (1<<10)
+#define XkbVirtualModNamesMask (1<<11)
+#define XkbGroupNamesMask (1<<12)
+#define XkbRGNamesMask (1<<13)
+#define XkbComponentNamesMask (0x3f)
+#define XkbAllNamesMask (0x3fff)
+
+ /*
+ * GetByName components:
+ * - Specifies desired or necessary components to GetKbdByName request.
+ * - Reports the components that were found in a GetKbdByNameReply
+ */
+#define XkbGBN_TypesMask (1L << 0)
+#define XkbGBN_CompatMapMask (1L << 1)
+#define XkbGBN_ClientSymbolsMask (1L << 2)
+#define XkbGBN_ServerSymbolsMask (1L << 3)
+#define XkbGBN_SymbolsMask (XkbGBN_ClientSymbolsMask|XkbGBN_ServerSymbolsMask)
+#define XkbGBN_IndicatorMapMask (1L << 4)
+#define XkbGBN_KeyNamesMask (1L << 5)
+#define XkbGBN_GeometryMask (1L << 6)
+#define XkbGBN_OtherNamesMask (1L << 7)
+#define XkbGBN_AllComponentsMask (0xff)
+
+ /*
+ * ListComponents flags
+ */
+#define XkbLC_Hidden (1L << 0)
+#define XkbLC_Default (1L << 1)
+#define XkbLC_Partial (1L << 2)
+
+#define XkbLC_AlphanumericKeys (1L << 8)
+#define XkbLC_ModifierKeys (1L << 9)
+#define XkbLC_KeypadKeys (1L << 10)
+#define XkbLC_FunctionKeys (1L << 11)
+#define XkbLC_AlternateGroup (1L << 12)
+
+ /*
+ * X Input Extension Interactions
+ * - Specifies the possible interactions between XKB and the X input
+ * extension
+ * - Used to request (XkbGetDeviceInfo) or change (XKbSetDeviceInfo)
+ * XKB information about an extension device.
+ * - Reports the list of supported optional features in the reply to
+ * XkbGetDeviceInfo or in an XkbExtensionDeviceNotify event.
+ * XkbXI_UnsupportedFeature is reported in XkbExtensionDeviceNotify
+ * events to indicate an attempt to use an unsupported feature.
+ */
+#define XkbXI_KeyboardsMask (1L << 0)
+#define XkbXI_ButtonActionsMask (1L << 1)
+#define XkbXI_IndicatorNamesMask (1L << 2)
+#define XkbXI_IndicatorMapsMask (1L << 3)
+#define XkbXI_IndicatorStateMask (1L << 4)
+#define XkbXI_UnsupportedFeatureMask (1L << 15)
+#define XkbXI_AllFeaturesMask (0x001f)
+#define XkbXI_AllDeviceFeaturesMask (0x001e)
+
+#define XkbXI_IndicatorsMask (0x001c)
+#define XkbAllExtensionDeviceEventsMask (0x801f)
+
+ /*
+ * Per-Client Flags:
+ * - Specifies flags to be changed by the PerClientFlags request.
+ */
+#define XkbPCF_DetectableAutoRepeatMask (1L << 0)
+#define XkbPCF_GrabsUseXKBStateMask (1L << 1)
+#define XkbPCF_AutoResetControlsMask (1L << 2)
+#define XkbPCF_LookupStateWhenGrabbed (1L << 3)
+#define XkbPCF_SendEventUsesXKBState (1L << 4)
+#define XkbPCF_AllFlagsMask (0x1F)
+
+ /*
+ * Debugging flags and controls
+ */
+#define XkbDF_DisableLocks (1<<0)
+
+#endif /* _XKB_H_ */
diff --git a/kbproto/XKBgeom.h b/kbproto/XKBgeom.h
new file mode 100644
index 0000000..89f902f
--- /dev/null
+++ b/kbproto/XKBgeom.h
@@ -0,0 +1,659 @@
+/* $Xorg: XKBgeom.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+/* $XFree86: xc/include/extensions/XKBgeom.h,v 3.9 2002/09/18 17:11:40 tsi Exp $ */
+
+#ifndef _XKBGEOM_H_
+#define _XKBGEOM_H_
+
+#include <X11/extensions/XKBstr.h>
+
+#ifdef XKB_IN_SERVER
+#define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias
+#define XkbAddGeomColor SrvXkbAddGeomColor
+#define XkbAddGeomDoodad SrvXkbAddGeomDoodad
+#define XkbAddGeomKey SrvXkbAddGeomKey
+#define XkbAddGeomOutline SrvXkbAddGeomOutline
+#define XkbAddGeomOverlay SrvXkbAddGeomOverlay
+#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow
+#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey
+#define XkbAddGeomProperty SrvXkbAddGeomProperty
+#define XkbAddGeomRow SrvXkbAddGeomRow
+#define XkbAddGeomSection SrvXkbAddGeomSection
+#define XkbAddGeomShape SrvXkbAddGeomShape
+#define XkbAllocGeomKeyAliases SrvXkbAllocGeomKeyAliases
+#define XkbAllocGeomColors SrvXkbAllocGeomColors
+#define XkbAllocGeomDoodads SrvXkbAllocGeomDoodads
+#define XkbAllocGeomKeys SrvXkbAllocGeomKeys
+#define XkbAllocGeomOutlines SrvXkbAllocGeomOutlines
+#define XkbAllocGeomPoints SrvXkbAllocGeomPoints
+#define XkbAllocGeomProps SrvXkbAllocGeomProps
+#define XkbAllocGeomRows SrvXkbAllocGeomRows
+#define XkbAllocGeomSectionDoodads SrvXkbAllocGeomSectionDoodads
+#define XkbAllocGeomSections SrvXkbAllocGeomSections
+#define XkbAllocGeomOverlays SrvXkbAllocGeomOverlays
+#define XkbAllocGeomOverlayRows SrvXkbAllocGeomOverlayRows
+#define XkbAllocGeomOverlayKeys SrvXkbAllocGeomOverlayKeys
+#define XkbAllocGeomShapes SrvXkbAllocGeomShapes
+#define XkbAllocGeometry SrvXkbAllocGeometry
+#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases
+#define XkbFreeGeomColors SrvXkbFreeGeomColors
+#define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads
+#define XkbFreeGeomProperties SrvXkbFreeGeomProperties
+#define XkbFreeGeomOverlayKeys SrvXkbFreeGeomOverlayKeys
+#define XkbFreeGeomOverlayRows SrvXkbFreeGeomOverlayRows
+#define XkbFreeGeomOverlays SrvXkbFreeGeomOverlays
+#define XkbFreeGeomKeys SrvXkbFreeGeomKeys
+#define XkbFreeGeomRows SrvXkbFreeGeomRows
+#define XkbFreeGeomSections SrvXkbFreeGeomSections
+#define XkbFreeGeomPoints SrvXkbFreeGeomPoints
+#define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines
+#define XkbFreeGeomShapes SrvXkbFreeGeomShapes
+#define XkbFreeGeometry SrvXkbFreeGeometry
+#endif
+
+typedef struct _XkbProperty {
+ char *name;
+ char *value;
+} XkbPropertyRec,*XkbPropertyPtr;
+
+typedef struct _XkbColor {
+ unsigned int pixel;
+ char * spec;
+} XkbColorRec,*XkbColorPtr;
+
+typedef struct _XkbPoint {
+ short x;
+ short y;
+} XkbPointRec, *XkbPointPtr;
+
+typedef struct _XkbBounds {
+ short x1,y1;
+ short x2,y2;
+} XkbBoundsRec, *XkbBoundsPtr;
+#define XkbBoundsWidth(b) (((b)->x2)-((b)->x1))
+#define XkbBoundsHeight(b) (((b)->y2)-((b)->y1))
+
+typedef struct _XkbOutline {
+ unsigned short num_points;
+ unsigned short sz_points;
+ unsigned short corner_radius;
+ XkbPointPtr points;
+} XkbOutlineRec, *XkbOutlinePtr;
+
+typedef struct _XkbShape {
+ Atom name;
+ unsigned short num_outlines;
+ unsigned short sz_outlines;
+ XkbOutlinePtr outlines;
+ XkbOutlinePtr approx;
+ XkbOutlinePtr primary;
+ XkbBoundsRec bounds;
+} XkbShapeRec, *XkbShapePtr;
+#define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0]))
+
+typedef struct _XkbShapeDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short color_ndx;
+ unsigned short shape_ndx;
+} XkbShapeDoodadRec, *XkbShapeDoodadPtr;
+#define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+#define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbTextDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ short width;
+ short height;
+ unsigned short color_ndx;
+ char * text;
+ char * font;
+} XkbTextDoodadRec, *XkbTextDoodadPtr;
+#define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+
+typedef struct _XkbIndicatorDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short shape_ndx;
+ unsigned short on_color_ndx;
+ unsigned short off_color_ndx;
+} XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr;
+#define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx])
+#define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx])
+#define XkbSetIndicatorDoodadOnColor(g,d,c) \
+ ((d)->on_color_ndx= (c)-&(g)->colors[0])
+#define XkbSetIndicatorDoodadOffColor(g,d,c) \
+ ((d)->off_color_ndx= (c)-&(g)->colors[0])
+#define XkbSetIndicatorDoodadShape(g,d,s) \
+ ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbLogoDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+ unsigned short color_ndx;
+ unsigned short shape_ndx;
+ char * logo_name;
+} XkbLogoDoodadRec, *XkbLogoDoodadPtr;
+#define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
+#define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
+#define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
+#define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
+
+typedef struct _XkbAnyDoodad {
+ Atom name;
+ unsigned char type;
+ unsigned char priority;
+ short top;
+ short left;
+ short angle;
+} XkbAnyDoodadRec, *XkbAnyDoodadPtr;
+
+typedef union _XkbDoodad {
+ XkbAnyDoodadRec any;
+ XkbShapeDoodadRec shape;
+ XkbTextDoodadRec text;
+ XkbIndicatorDoodadRec indicator;
+ XkbLogoDoodadRec logo;
+} XkbDoodadRec, *XkbDoodadPtr;
+
+#define XkbUnknownDoodad 0
+#define XkbOutlineDoodad 1
+#define XkbSolidDoodad 2
+#define XkbTextDoodad 3
+#define XkbIndicatorDoodad 4
+#define XkbLogoDoodad 5
+
+typedef struct _XkbKey {
+ XkbKeyNameRec name;
+ short gap;
+ unsigned char shape_ndx;
+ unsigned char color_ndx;
+} XkbKeyRec, *XkbKeyPtr;
+#define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx])
+#define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx])
+#define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0])
+#define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0])
+
+typedef struct _XkbRow {
+ short top;
+ short left;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ int vertical;
+ XkbKeyPtr keys;
+ XkbBoundsRec bounds;
+} XkbRowRec, *XkbRowPtr;
+
+typedef struct _XkbSection {
+ Atom name;
+ unsigned char priority;
+ short top;
+ short left;
+ unsigned short width;
+ unsigned short height;
+ short angle;
+ unsigned short num_rows;
+ unsigned short num_doodads;
+ unsigned short num_overlays;
+ unsigned short sz_rows;
+ unsigned short sz_doodads;
+ unsigned short sz_overlays;
+ XkbRowPtr rows;
+ XkbDoodadPtr doodads;
+ XkbBoundsRec bounds;
+ struct _XkbOverlay *overlays;
+} XkbSectionRec, *XkbSectionPtr;
+
+typedef struct _XkbOverlayKey {
+ XkbKeyNameRec over;
+ XkbKeyNameRec under;
+} XkbOverlayKeyRec,*XkbOverlayKeyPtr;
+
+typedef struct _XkbOverlayRow {
+ unsigned short row_under;
+ unsigned short num_keys;
+ unsigned short sz_keys;
+ XkbOverlayKeyPtr keys;
+} XkbOverlayRowRec,*XkbOverlayRowPtr;
+
+typedef struct _XkbOverlay {
+ Atom name;
+ XkbSectionPtr section_under;
+ unsigned short num_rows;
+ unsigned short sz_rows;
+ XkbOverlayRowPtr rows;
+ XkbBoundsPtr bounds;
+} XkbOverlayRec,*XkbOverlayPtr;
+
+typedef struct _XkbGeometry {
+ Atom name;
+ unsigned short width_mm;
+ unsigned short height_mm;
+ char * label_font;
+ XkbColorPtr label_color;
+ XkbColorPtr base_color;
+ unsigned short sz_properties;
+ unsigned short sz_colors;
+ unsigned short sz_shapes;
+ unsigned short sz_sections;
+ unsigned short sz_doodads;
+ unsigned short sz_key_aliases;
+ unsigned short num_properties;
+ unsigned short num_colors;
+ unsigned short num_shapes;
+ unsigned short num_sections;
+ unsigned short num_doodads;
+ unsigned short num_key_aliases;
+ XkbPropertyPtr properties;
+ XkbColorPtr colors;
+ XkbShapePtr shapes;
+ XkbSectionPtr sections;
+ XkbDoodadPtr doodads;
+ XkbKeyAliasPtr key_aliases;
+} XkbGeometryRec;
+#define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0]))
+
+#define XkbGeomPropertiesMask (1<<0)
+#define XkbGeomColorsMask (1<<1)
+#define XkbGeomShapesMask (1<<2)
+#define XkbGeomSectionsMask (1<<3)
+#define XkbGeomDoodadsMask (1<<4)
+#define XkbGeomKeyAliasesMask (1<<5)
+#define XkbGeomAllMask (0x3f)
+
+typedef struct _XkbGeometrySizes {
+ unsigned int which;
+ unsigned short num_properties;
+ unsigned short num_colors;
+ unsigned short num_shapes;
+ unsigned short num_sections;
+ unsigned short num_doodads;
+ unsigned short num_key_aliases;
+} XkbGeometrySizesRec,*XkbGeometrySizesPtr;
+
+_XFUNCPROTOBEGIN
+
+extern XkbPropertyPtr
+XkbAddGeomProperty(
+ XkbGeometryPtr /* geom */,
+ char * /* name */,
+ char * /* value */
+);
+
+extern XkbKeyAliasPtr
+XkbAddGeomKeyAlias(
+ XkbGeometryPtr /* geom */,
+ char * /* alias */,
+ char * /* real */
+);
+
+extern XkbColorPtr
+XkbAddGeomColor(
+ XkbGeometryPtr /* geom */,
+ char * /* spec */,
+ unsigned int /* pixel */
+);
+
+extern XkbOutlinePtr
+XkbAddGeomOutline(
+ XkbShapePtr /* shape */,
+ int /* sz_points */
+);
+
+extern XkbShapePtr
+XkbAddGeomShape(
+ XkbGeometryPtr /* geom */,
+ Atom /* name */,
+ int /* sz_outlines */
+);
+
+extern XkbKeyPtr
+XkbAddGeomKey(
+ XkbRowPtr /* row */
+);
+
+extern XkbRowPtr
+XkbAddGeomRow(
+ XkbSectionPtr /* section */,
+ int /* sz_keys */
+);
+
+extern XkbSectionPtr
+XkbAddGeomSection(
+ XkbGeometryPtr /* geom */,
+ Atom /* name */,
+ int /* sz_rows */,
+ int /* sz_doodads */,
+ int /* sz_overlays */
+);
+
+extern XkbOverlayPtr
+XkbAddGeomOverlay(
+ XkbSectionPtr /* section */,
+ Atom /* name */,
+ int /* sz_rows */
+);
+
+extern XkbOverlayRowPtr
+XkbAddGeomOverlayRow(
+ XkbOverlayPtr /* overlay */,
+ int /* row_under */,
+ int /* sz_keys */
+);
+
+extern XkbOverlayKeyPtr
+XkbAddGeomOverlayKey(
+ XkbOverlayPtr /* overlay */,
+ XkbOverlayRowPtr /* row */,
+ char * /* over */,
+ char * /* under */
+);
+
+extern XkbDoodadPtr
+XkbAddGeomDoodad(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */,
+ Atom /* name */
+);
+
+
+extern void
+XkbFreeGeomKeyAliases(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomColors(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomDoodads(
+ XkbDoodadPtr /* doodads */,
+ int /* nDoodads */,
+ Bool /* freeAll */
+);
+
+
+extern void
+XkbFreeGeomProperties(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlayKeys(
+ XkbOverlayRowPtr /* row */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlayRows(
+ XkbOverlayPtr /* overlay */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOverlays(
+ XkbSectionPtr /* section */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomKeys(
+ XkbRowPtr /* row */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomRows(
+ XkbSectionPtr /* section */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomSections(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+
+extern void
+XkbFreeGeomPoints(
+ XkbOutlinePtr /* outline */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomOutlines(
+ XkbShapePtr /* shape */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeomShapes(
+ XkbGeometryPtr /* geom */,
+ int /* first */,
+ int /* count */,
+ Bool /* freeAll */
+);
+
+extern void
+XkbFreeGeometry(
+ XkbGeometryPtr /* geom */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern Status
+XkbAllocGeomProps(
+ XkbGeometryPtr /* geom */,
+ int /* nProps */
+);
+
+extern Status
+XkbAllocGeomKeyAliases(
+ XkbGeometryPtr /* geom */,
+ int /* nAliases */
+);
+
+extern Status
+XkbAllocGeomColors(
+ XkbGeometryPtr /* geom */,
+ int /* nColors */
+);
+
+extern Status
+XkbAllocGeomShapes(
+ XkbGeometryPtr /* geom */,
+ int /* nShapes */
+);
+
+extern Status
+XkbAllocGeomSections(
+ XkbGeometryPtr /* geom */,
+ int /* nSections */
+);
+
+extern Status
+XkbAllocGeomOverlays(
+ XkbSectionPtr /* section */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomOverlayRows(
+ XkbOverlayPtr /* overlay */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomOverlayKeys(
+ XkbOverlayRowPtr /* row */,
+ int /* num_needed */
+);
+
+extern Status
+XkbAllocGeomDoodads(
+ XkbGeometryPtr /* geom */,
+ int /* nDoodads */
+);
+
+extern Status
+XkbAllocGeomSectionDoodads(
+ XkbSectionPtr /* section */,
+ int /* nDoodads */
+);
+
+extern Status
+XkbAllocGeomOutlines(
+ XkbShapePtr /* shape */,
+ int /* nOL */
+);
+
+extern Status
+XkbAllocGeomRows(
+ XkbSectionPtr /* section */,
+ int /* nRows */
+);
+
+extern Status
+XkbAllocGeomPoints(
+ XkbOutlinePtr /* ol */,
+ int /* nPts */
+);
+
+extern Status
+XkbAllocGeomKeys(
+ XkbRowPtr /* row */,
+ int /* nKeys */
+);
+
+extern Status
+XkbAllocGeometry(
+ XkbDescPtr /* xkb */,
+ XkbGeometrySizesPtr /* sizes */
+);
+
+extern Status
+XkbSetGeometry(
+ Display * /* dpy */,
+ unsigned /* deviceSpec */,
+ XkbGeometryPtr /* geom */
+);
+
+extern Bool
+XkbComputeShapeTop(
+ XkbShapePtr /* shape */,
+ XkbBoundsPtr /* bounds */
+);
+
+extern Bool
+XkbComputeShapeBounds(
+ XkbShapePtr /* shape */
+);
+
+extern Bool
+XkbComputeRowBounds(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */,
+ XkbRowPtr /* row */
+);
+
+extern Bool
+XkbComputeSectionBounds(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* section */
+);
+
+extern char *
+XkbFindOverlayForKey(
+ XkbGeometryPtr /* geom */,
+ XkbSectionPtr /* wanted */,
+ char * /* under */
+);
+
+extern Status
+XkbGetGeometry(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */
+);
+
+extern Status
+XkbGetNamedGeometry(
+ Display * /* dpy */,
+ XkbDescPtr /* xkb */,
+ Atom /* name */
+);
+
+_XFUNCPROTOEND
+
+#endif /* _XKBSTR_H_ */
diff --git a/kbproto/XKBproto.h b/kbproto/XKBproto.h
new file mode 100644
index 0000000..97dd4d2
--- /dev/null
+++ b/kbproto/XKBproto.h
@@ -0,0 +1,1282 @@
+/* $Xorg: XKBproto.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBPROTO_H_
+#define _XKBPROTO_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/XKB.h>
+
+#define Window CARD32
+#define Atom CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define XkbPaddedSize(n) ((((unsigned int)(n)+3) >> 2) << 2)
+
+typedef struct _xkbUseExtension {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBUseExtension */
+ CARD16 length B16;
+ CARD16 wantedMajor B16;
+ CARD16 wantedMinor B16;
+} xkbUseExtensionReq;
+#define sz_xkbUseExtensionReq 8
+
+typedef struct _xkbUseExtensionReply {
+ BYTE type; /* X_Reply */
+ BOOL supported;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 serverMajor B16;
+ CARD16 serverMinor B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbUseExtensionReply;
+#define sz_xkbUseExtensionReply 32
+
+typedef struct _xkbSelectEvents {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBSelectEvents */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 affectWhich B16;
+ CARD16 clear B16;
+ CARD16 selectAll B16;
+ CARD16 affectMap B16;
+ CARD16 map B16;
+} xkbSelectEventsReq;
+#define sz_xkbSelectEventsReq 16
+
+typedef struct _xkbBell {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBBell */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 bellClass B16;
+ CARD16 bellID B16;
+ INT8 percent;
+ BOOL forceSound;
+ BOOL eventOnly;
+ CARD8 pad1;
+ INT16 pitch B16;
+ INT16 duration B16;
+ CARD16 pad2 B16;
+ Atom name B32;
+ Window window B32;
+} xkbBellReq;
+#define sz_xkbBellReq 28
+
+typedef struct _xkbGetState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+} xkbGetStateReq;
+#define sz_xkbGetStateReq 8
+
+typedef struct _xkbGetStateReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 mods;
+ CARD8 baseMods;
+ CARD8 latchedMods;
+ CARD8 lockedMods;
+ CARD8 group;
+ CARD8 lockedGroup;
+ INT16 baseGroup B16;
+ INT16 latchedGroup B16;
+ CARD8 compatState;
+ CARD8 grabMods;
+ CARD8 compatGrabMods;
+ CARD8 lookupMods;
+ CARD8 compatLookupMods;
+ CARD8 pad1;
+ CARD16 ptrBtnState B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+} xkbGetStateReply;
+#define sz_xkbGetStateReply 32
+
+typedef struct _xkbLatchLockState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBLatchLockState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 affectModLocks;
+ CARD8 modLocks;
+ BOOL lockGroup;
+ CARD8 groupLock;
+ CARD8 affectModLatches;
+ CARD8 modLatches;
+ CARD8 pad;
+ BOOL latchGroup;
+ INT16 groupLatch B16;
+} xkbLatchLockStateReq;
+#define sz_xkbLatchLockStateReq 16
+
+typedef struct _xkbGetControls {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetControls */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+} xkbGetControlsReq;
+#define sz_xkbGetControlsReq 8
+
+typedef struct _xkbGetControlsReply {
+ BYTE type; /* X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 mkDfltBtn;
+ CARD8 numGroups;
+ CARD8 groupsWrap;
+ CARD8 internalMods;
+ CARD8 ignoreLockMods;
+ CARD8 internalRealMods;
+ CARD8 ignoreLockRealMods;
+ CARD8 pad1;
+ CARD16 internalVMods B16;
+ CARD16 ignoreLockVMods B16;
+ CARD16 repeatDelay B16;
+ CARD16 repeatInterval B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD16 mkDelay B16;
+ CARD16 mkInterval B16;
+ CARD16 mkTimeToMax B16;
+ CARD16 mkMaxSpeed B16;
+ INT16 mkCurve B16;
+ CARD16 axOptions B16;
+ CARD16 axTimeout B16;
+ CARD16 axtOptsMask B16;
+ CARD16 axtOptsValues B16;
+ CARD16 pad2 B16;
+ CARD32 axtCtrlsMask B32;
+ CARD32 axtCtrlsValues B32;
+ CARD32 enabledCtrls B32;
+ BYTE perKeyRepeat[XkbPerKeyBitArraySize];
+} xkbGetControlsReply;
+#define sz_xkbGetControlsReply 92
+
+typedef struct _xkbSetControls {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetControls */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 affectInternalMods;
+ CARD8 internalMods;
+ CARD8 affectIgnoreLockMods;
+ CARD8 ignoreLockMods;
+ CARD16 affectInternalVMods B16;
+ CARD16 internalVMods B16;
+ CARD16 affectIgnoreLockVMods B16;
+ CARD16 ignoreLockVMods B16;
+ CARD8 mkDfltBtn;
+ CARD8 groupsWrap;
+ CARD16 axOptions B16;
+ CARD16 pad1 B16;
+ CARD32 affectEnabledCtrls B32;
+ CARD32 enabledCtrls B32;
+ CARD32 changeCtrls B32;
+ CARD16 repeatDelay B16;
+ CARD16 repeatInterval B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD16 mkDelay B16;
+ CARD16 mkInterval B16;
+ CARD16 mkTimeToMax B16;
+ CARD16 mkMaxSpeed B16;
+ INT16 mkCurve B16;
+ CARD16 axTimeout B16;
+ CARD32 axtCtrlsMask B32;
+ CARD32 axtCtrlsValues B32;
+ CARD16 axtOptsMask B16;
+ CARD16 axtOptsValues B16;
+ BYTE perKeyRepeat[XkbPerKeyBitArraySize];
+} xkbSetControlsReq;
+#define sz_xkbSetControlsReq 100
+
+typedef struct _xkbKTMapEntryWireDesc {
+ BOOL active;
+ CARD8 mask;
+ CARD8 level;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD16 pad B16;
+} xkbKTMapEntryWireDesc;
+#define sz_xkbKTMapEntryWireDesc 8
+
+typedef struct _xkbKTSetMapEntryWireDesc {
+ CARD8 level;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+} xkbKTSetMapEntryWireDesc;
+#define sz_xkbKTSetMapEntryWireDesc 4
+
+typedef struct _xkbModsWireDesc {
+ CARD8 mask; /* GetMap only */
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+} xkbModsWireDesc;
+#define sz_xkbModsWireDesc 4
+
+typedef struct _xkbKeyTypeWireDesc {
+ CARD8 mask;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD8 numLevels;
+ CARD8 nMapEntries;
+ BOOL preserve;
+ CARD8 pad;
+} xkbKeyTypeWireDesc;
+#define sz_xkbKeyTypeWireDesc 8
+
+typedef struct _xkbSymMapWireDesc {
+ CARD8 ktIndex[XkbNumKbdGroups];
+ CARD8 groupInfo;
+ CARD8 width;
+ CARD16 nSyms B16;
+} xkbSymMapWireDesc;
+#define sz_xkbSymMapWireDesc 8
+
+typedef struct _xkbVModMapWireDesc {
+ KeyCode key;
+ CARD8 pad;
+ CARD16 vmods B16;
+} xkbVModMapWireDesc;
+#define sz_xkbVModMapWireDesc 4
+
+typedef struct _xkbBehaviorWireDesc {
+ CARD8 key;
+ CARD8 type;
+ CARD8 data;
+ CARD8 pad;
+} xkbBehaviorWireDesc;
+#define sz_xkbBehaviorWireDesc 4
+
+typedef struct _xkbActionWireDesc {
+ CARD8 type;
+ CARD8 data[7];
+} xkbActionWireDesc;
+#define sz_xkbActionWireDesc 8
+
+typedef struct _xkbGetMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 full B16;
+ CARD16 partial B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD16 virtualMods B16;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD16 pad1 B16;
+} xkbGetMapReq;
+#define sz_xkbGetMapReq 28
+
+typedef struct _xkbGetMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 pad1 B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD16 present B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 totalTypes;
+ KeyCode firstKeySym;
+ CARD16 totalSyms B16;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD16 totalActs B16;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD8 totalKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ CARD8 totalKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ CARD8 totalModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD8 totalVModMapKeys;
+ CARD8 pad2;
+ CARD16 virtualMods B16;
+} xkbGetMapReply;
+#define sz_xkbGetMapReply 40
+
+#define XkbSetMapResizeTypes (1L<<0)
+#define XkbSetMapRecomputeActions (1L<<1)
+#define XkbSetMapAllFlags (0x3)
+
+typedef struct _xkbSetMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 present B16;
+ CARD16 flags B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ CARD16 totalSyms B16;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ CARD16 totalActs B16;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ CARD8 totalKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ CARD8 totalKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ CARD8 totalModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD8 totalVModMapKeys;
+ CARD16 virtualMods B16;
+} xkbSetMapReq;
+#define sz_xkbSetMapReq 36
+
+typedef struct _xkbSymInterpretWireDesc {
+ CARD32 sym B32;
+ CARD8 mods;
+ CARD8 match;
+ CARD8 virtualMod;
+ CARD8 flags;
+ xkbActionWireDesc act;
+} xkbSymInterpretWireDesc;
+#define sz_xkbSymInterpretWireDesc 16
+
+typedef struct _xkbGetCompatMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetCompatMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 groups;
+ BOOL getAllSI;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+} xkbGetCompatMapReq;
+#define sz_xkbGetCompatMapReq 12
+
+typedef struct _xkbGetCompatMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 groups;
+ CARD8 pad1;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 nTotalSI B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetCompatMapReply;
+#define sz_xkbGetCompatMapReply 32
+
+typedef struct _xkbSetCompatMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetCompatMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 pad1;
+ BOOL recomputeActions;
+ BOOL truncateSI;
+ CARD8 groups;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 pad2 B16;
+} xkbSetCompatMapReq;
+#define sz_xkbSetCompatMapReq 16
+
+typedef struct _xkbGetIndicatorState {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetIndicatorState */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+} xkbGetIndicatorStateReq;
+#define sz_xkbGetIndicatorStateReq 8
+
+typedef struct _xkbGetIndicatorStateReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 state B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetIndicatorStateReply;
+#define sz_xkbGetIndicatorStateReply 32
+
+typedef struct _xkbGetIndicatorMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetIndicatorMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ CARD32 which B32;
+} xkbGetIndicatorMapReq;
+#define sz_xkbGetIndicatorMapReq 12
+
+typedef struct _xkbGetIndicatorMapReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 which B32;
+ CARD32 realIndicators B32;
+ CARD8 nIndicators;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbGetIndicatorMapReply;
+#define sz_xkbGetIndicatorMapReply 32
+
+typedef struct _xkbIndicatorMapWireDesc {
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 mods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+} xkbIndicatorMapWireDesc;
+#define sz_xkbIndicatorMapWireDesc 12
+
+typedef struct _xkbSetIndicatorMap {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetIndicatorMap */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+ CARD32 which B32;
+} xkbSetIndicatorMapReq;
+#define sz_xkbSetIndicatorMapReq 12
+
+typedef struct _xkbGetNamedIndicator {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBGetNamedIndicator */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD16 pad1 B16;
+ Atom indicator B32;
+} xkbGetNamedIndicatorReq;
+#define sz_xkbGetNamedIndicatorReq 16
+
+typedef struct _xkbGetNamedIndicatorReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom indicator B32;
+ BOOL found;
+ BOOL on;
+ BOOL realIndicator;
+ CARD8 ndx;
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 mods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+ BOOL supported;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbGetNamedIndicatorReply;
+#define sz_xkbGetNamedIndicatorReply 32
+
+typedef struct _xkbSetNamedIndicator {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* X_KBSetNamedIndicator */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD16 pad1 B16;
+ Atom indicator B32;
+ BOOL setState;
+ BOOL on;
+ BOOL setMap;
+ BOOL createMap;
+ CARD8 pad2;
+ CARD8 flags;
+ CARD8 whichGroups;
+ CARD8 groups;
+ CARD8 whichMods;
+ CARD8 realMods;
+ CARD16 virtualMods B16;
+ CARD32 ctrls B32;
+} xkbSetNamedIndicatorReq;
+#define sz_xkbSetNamedIndicatorReq 32
+
+typedef struct _xkbGetNames {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetNames */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ CARD32 which B32;
+} xkbGetNamesReq;
+#define sz_xkbGetNamesReq 12
+
+typedef struct _xkbGetNamesReply {
+ BYTE type;
+ BYTE deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 which B32;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 nTypes;
+ CARD8 groupNames;
+ CARD16 virtualMods B16;
+ KeyCode firstKey;
+ CARD8 nKeys;
+ CARD32 indicators B32;
+ CARD8 nRadioGroups;
+ CARD8 nKeyAliases;
+ CARD16 nKTLevels B16;
+ CARD32 pad3 B32;
+} xkbGetNamesReply;
+#define sz_xkbGetNamesReply 32
+
+typedef struct _xkbSetNames {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetNames */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 virtualMods B16;
+ CARD32 which B32;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 firstKTLevel;
+ CARD8 nKTLevels;
+ CARD32 indicators B32;
+ CARD8 groupNames;
+ CARD8 nRadioGroups;
+ KeyCode firstKey;
+ CARD8 nKeys;
+ CARD8 nKeyAliases;
+ CARD8 pad1;
+ CARD16 totalKTLevelNames B16;
+} xkbSetNamesReq;
+#define sz_xkbSetNamesReq 28
+
+typedef struct _xkbPointWireDesc {
+ INT16 x B16;
+ INT16 y B16;
+} xkbPointWireDesc;
+#define sz_xkbPointWireDesc 4
+
+typedef struct _xkbOutlineWireDesc {
+ CARD8 nPoints;
+ CARD8 cornerRadius;
+ CARD16 pad B16;
+} xkbOutlineWireDesc;
+#define sz_xkbOutlineWireDesc 4
+
+typedef struct _xkbShapeWireDesc {
+ Atom name B32;
+ CARD8 nOutlines;
+ CARD8 primaryNdx;
+ CARD8 approxNdx;
+ CARD8 pad;
+} xkbShapeWireDesc;
+#define sz_xkbShapeWireDesc 8
+
+typedef struct _xkbSectionWireDesc {
+ Atom name B32;
+ INT16 top B16;
+ INT16 left B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ INT16 angle B16;
+ CARD8 priority;
+ CARD8 nRows;
+ CARD8 nDoodads;
+ CARD8 nOverlays;
+ CARD16 pad B16;
+} xkbSectionWireDesc;
+#define sz_xkbSectionWireDesc 20
+
+typedef struct _xkbRowWireDesc {
+ INT16 top B16;
+ INT16 left B16;
+ CARD8 nKeys;
+ BOOL vertical;
+ CARD16 pad B16;
+} xkbRowWireDesc;
+#define sz_xkbRowWireDesc 8
+
+typedef struct _xkbKeyWireDesc {
+ CARD8 name[XkbKeyNameLength];
+ INT16 gap B16;
+ CARD8 shapeNdx;
+ CARD8 colorNdx;
+} xkbKeyWireDesc;
+#define sz_xkbKeyWireDesc 8
+
+typedef struct _xkbOverlayWireDesc {
+ Atom name B32;
+ CARD8 nRows;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbOverlayWireDesc;
+#define sz_xkbOverlayWireDesc 8
+
+typedef struct _xkbOverlayRowWireDesc {
+ CARD8 rowUnder;
+ CARD8 nKeys;
+ CARD16 pad1 B16;
+} xkbOverlayRowWireDesc;
+#define sz_xkbOverlayRowWireDesc 4
+
+typedef struct _xkbOverlayKeyWireDesc {
+ CARD8 over[XkbKeyNameLength];
+ CARD8 under[XkbKeyNameLength];
+} xkbOverlayKeyWireDesc;
+#define sz_xkbOverlayKeyWireDesc 8
+
+typedef struct _xkbShapeDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 colorNdx;
+ CARD8 shapeNdx;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+} xkbShapeDoodadWireDesc;
+#define sz_xkbShapeDoodadWireDesc 20
+
+typedef struct _xkbTextDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 colorNdx;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xkbTextDoodadWireDesc;
+#define sz_xkbTextDoodadWireDesc 20
+
+typedef struct _xkbIndicatorDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 shapeNdx;
+ CARD8 onColorNdx;
+ CARD8 offColorNdx;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+} xkbIndicatorDoodadWireDesc;
+#define sz_xkbIndicatorDoodadWireDesc 20
+
+typedef struct _xkbLogoDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD8 colorNdx;
+ CARD8 shapeNdx;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+} xkbLogoDoodadWireDesc;
+#define sz_xkbLogoDoodadWireDesc 20
+
+typedef struct _xkbAnyDoodadWireDesc {
+ Atom name B32;
+ CARD8 type;
+ CARD8 priority;
+ INT16 top B16;
+ INT16 left B16;
+ INT16 angle B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbAnyDoodadWireDesc;
+#define sz_xkbAnyDoodadWireDesc 20
+
+typedef union _xkbDoodadWireDesc {
+ xkbAnyDoodadWireDesc any;
+ xkbShapeDoodadWireDesc shape;
+ xkbTextDoodadWireDesc text;
+ xkbIndicatorDoodadWireDesc indicator;
+ xkbLogoDoodadWireDesc logo;
+} xkbDoodadWireDesc;
+#define sz_xkbDoodadWireDesc 20
+
+typedef struct _xkbGetGeometry {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetGeometry */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad B16;
+ Atom name B32;
+} xkbGetGeometryReq;
+#define sz_xkbGetGeometryReq 12
+
+typedef struct _xkbGetGeometryReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom name B32;
+ BOOL found;
+ CARD8 pad;
+ CARD16 widthMM B16;
+ CARD16 heightMM B16;
+ CARD16 nProperties B16;
+ CARD16 nColors B16;
+ CARD16 nShapes B16;
+ CARD16 nSections B16;
+ CARD16 nDoodads B16;
+ CARD16 nKeyAliases B16;
+ CARD8 baseColorNdx;
+ CARD8 labelColorNdx;
+} xkbGetGeometryReply;
+#define sz_xkbGetGeometryReply 32
+
+typedef struct _xkbSetGeometry {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetGeometry */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 nShapes;
+ CARD8 nSections;
+ Atom name B32;
+ CARD16 widthMM B16;
+ CARD16 heightMM B16;
+ CARD16 nProperties B16;
+ CARD16 nColors B16;
+ CARD16 nDoodads B16;
+ CARD16 nKeyAliases B16;
+ CARD8 baseColorNdx;
+ CARD8 labelColorNdx;
+ CARD16 pad B16;
+} xkbSetGeometryReq;
+#define sz_xkbSetGeometryReq 28
+
+typedef struct _xkbPerClientFlags {
+ CARD8 reqType;
+ CARD8 xkbReqType;/* always X_KBPerClientFlags */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 pad1 B16;
+ CARD32 change B32;
+ CARD32 value B32;
+ CARD32 ctrlsToChange B32;
+ CARD32 autoCtrls B32;
+ CARD32 autoCtrlValues B32;
+} xkbPerClientFlagsReq;
+#define sz_xkbPerClientFlagsReq 28
+
+typedef struct _xkbPerClientFlagsReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 supported B32;
+ CARD32 value B32;
+ CARD32 autoCtrls B32;
+ CARD32 autoCtrlValues B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xkbPerClientFlagsReply;
+#define sz_xkbPerClientFlagsReply 32
+
+typedef struct _xkbListComponents {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBListComponents */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 maxNames B16;
+} xkbListComponentsReq;
+#define sz_xkbListComponentsReq 8
+
+typedef struct _xkbListComponentsReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nKeymaps B16;
+ CARD16 nKeycodes B16;
+ CARD16 nTypes B16;
+ CARD16 nCompatMaps B16;
+ CARD16 nSymbols B16;
+ CARD16 nGeometries B16;
+ CARD16 extra B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbListComponentsReply;
+#define sz_xkbListComponentsReply 32
+
+typedef struct _xkbGetKbdByName {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetKbdByName */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 need B16; /* combination of XkbGBN_* */
+ CARD16 want B16; /* combination of XkbGBN_* */
+ BOOL load;
+ CARD8 pad;
+} xkbGetKbdByNameReq;
+#define sz_xkbGetKbdByNameReq 12
+
+typedef struct _xkbGetKbdByNameReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ BOOL loaded;
+ BOOL newKeyboard;
+ CARD16 found B16; /* combination of XkbGBN_* */
+ CARD16 reported B16; /* combination of XkbAllComponents */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbGetKbdByNameReply;
+#define sz_xkbGetKbdByNameReply 32
+
+typedef struct _xkbDeviceLedsWireDesc {
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD32 namesPresent B32;
+ CARD32 mapsPresent B32;
+ CARD32 physIndicators B32;
+ CARD32 state B32;
+} xkbDeviceLedsWireDesc;
+#define sz_xkbDeviceLedsWireDesc 20
+
+typedef struct _xkbGetDeviceInfo {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBGetDeviceInfo */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD16 wanted B16;
+ BOOL allBtns;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD8 pad;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+} xkbGetDeviceInfoReq;
+#define sz_xkbGetDeviceInfoReq 16
+
+typedef struct _xkbGetDeviceInfoReply {
+ CARD8 type; /* always X_Reply */
+ CARD8 deviceID;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 present B16;
+ CARD16 supported B16;
+ CARD16 unsupported B16;
+ CARD16 nDeviceLedFBs B16;
+ CARD8 firstBtnWanted;
+ CARD8 nBtnsWanted;
+ CARD8 firstBtnRtrn;
+ CARD8 nBtnsRtrn;
+ CARD8 totalBtns;
+ BOOL hasOwnState;
+ CARD16 dfltKbdFB B16;
+ CARD16 dfltLedFB B16;
+ CARD16 pad B16;
+ Atom devType B32;
+} xkbGetDeviceInfoReply;
+#define sz_xkbGetDeviceInfoReply 32
+
+typedef struct _xkbSetDeviceInfo {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetDeviceInfo */
+ CARD16 length B16;
+ CARD16 deviceSpec B16;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD16 change B16;
+ CARD16 nDeviceLedFBs B16;
+} xkbSetDeviceInfoReq;
+#define sz_xkbSetDeviceInfoReq 12
+
+typedef struct _xkbSetDebuggingFlags {
+ CARD8 reqType;
+ CARD8 xkbReqType; /* always X_KBSetDebuggingFlags */
+ CARD16 length B16;
+ CARD16 msgLength B16;
+ CARD16 pad B16;
+ CARD32 affectFlags B32;
+ CARD32 flags B32;
+ CARD32 affectCtrls B32;
+ CARD32 ctrls B32;
+} xkbSetDebuggingFlagsReq;
+#define sz_xkbSetDebuggingFlagsReq 24
+
+typedef struct _xkbSetDebuggingFlagsReply {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 currentFlags B32;
+ CARD32 currentCtrls B32;
+ CARD32 supportedFlags B32;
+ CARD32 supportedCtrls B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xkbSetDebuggingFlagsReply;
+#define sz_xkbSetDebuggingFlagsReply 32
+
+ /*
+ * X KEYBOARD EXTENSION EVENT STRUCTURES
+ */
+
+typedef struct _xkbAnyEvent {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xkbAnyEvent;
+#define sz_xkbAnyEvent 32
+
+typedef struct _xkbNewKeyboardNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 oldDeviceID;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ KeyCode oldMinKeyCode;
+ KeyCode oldMaxKeyCode;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+ CARD16 changed B16;
+ CARD8 detail;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbNewKeyboardNotify;
+#define sz_xkbNewKeyboardNotify 32
+
+typedef struct _xkbMapNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 ptrBtnActions;
+ CARD16 changed B16;
+ KeyCode minKeyCode;
+ KeyCode maxKeyCode;
+ CARD8 firstType;
+ CARD8 nTypes;
+ KeyCode firstKeySym;
+ CARD8 nKeySyms;
+ KeyCode firstKeyAct;
+ CARD8 nKeyActs;
+ KeyCode firstKeyBehavior;
+ CARD8 nKeyBehaviors;
+ KeyCode firstKeyExplicit;
+ CARD8 nKeyExplicit;
+ KeyCode firstModMapKey;
+ CARD8 nModMapKeys;
+ KeyCode firstVModMapKey;
+ CARD8 nVModMapKeys;
+ CARD16 virtualMods B16;
+ CARD16 pad1 B16;
+} xkbMapNotify;
+#define sz_xkbMapNotify 32
+
+typedef struct _xkbStateNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 mods;
+ CARD8 baseMods;
+ CARD8 latchedMods;
+ CARD8 lockedMods;
+ CARD8 group;
+ INT16 baseGroup B16;
+ INT16 latchedGroup B16;
+ CARD8 lockedGroup;
+ CARD8 compatState;
+ CARD8 grabMods;
+ CARD8 compatGrabMods;
+ CARD8 lookupMods;
+ CARD8 compatLookupMods;
+ CARD16 ptrBtnState B16;
+ CARD16 changed B16;
+ KeyCode keycode;
+ CARD8 eventType;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+} xkbStateNotify;
+#define sz_xkbStateNotify 32
+
+typedef struct _xkbControlsNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 numGroups;
+ CARD16 pad1 B16;
+ CARD32 changedControls B32;
+ CARD32 enabledControls B32;
+ CARD32 enabledControlChanges B32;
+ KeyCode keycode;
+ CARD8 eventType;
+ CARD8 requestMajor;
+ CARD8 requestMinor;
+ CARD32 pad2 B32;
+} xkbControlsNotify;
+#define sz_xkbControlsNotify 32
+
+typedef struct _xkbIndicatorNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 state B32;
+ CARD32 changed B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xkbIndicatorNotify;
+#define sz_xkbIndicatorNotify 32
+
+typedef struct _xkbNamesNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 changed B16;
+ CARD8 firstType;
+ CARD8 nTypes;
+ CARD8 firstLevelName;
+ CARD8 nLevelNames;
+ CARD8 pad2;
+ CARD8 nRadioGroups;
+ CARD8 nAliases;
+ CARD8 changedGroupNames;
+ CARD16 changedVirtualMods B16;
+ CARD8 firstKey;
+ CARD8 nKeys;
+ CARD32 changedIndicators B32;
+ CARD32 pad3 B32;
+} xkbNamesNotify;
+#define sz_xkbNamesNotify 32
+
+typedef struct _xkbCompatMapNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 changedGroups;
+ CARD16 firstSI B16;
+ CARD16 nSI B16;
+ CARD16 nTotalSI B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbCompatMapNotify;
+#define sz_xkbCompatMapNotify 32
+
+typedef struct _xkbBellNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 bellClass;
+ CARD8 bellID;
+ CARD8 percent;
+ CARD16 pitch B16;
+ CARD16 duration B16;
+ Atom name B32;
+ Window window B32;
+ BOOL eventOnly;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+} xkbBellNotify;
+#define sz_xkbBellNotify 32
+
+typedef struct _xkbActionMessage {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ KeyCode keycode;
+ BOOL press;
+ BOOL keyEventFollows;
+ CARD8 mods;
+ CARD8 group;
+ CARD8 message[8];
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xkbActionMessage;
+#define sz_xkbActionMessage 32
+
+typedef struct _xkbAccessXNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ KeyCode keycode;
+ CARD16 detail B16;
+ CARD16 slowKeysDelay B16;
+ CARD16 debounceDelay B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xkbAccessXNotify;
+#define sz_xkbAccessXNotify 32
+
+typedef struct _xkbExtensionDeviceNotify {
+ BYTE type;
+ BYTE xkbType;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ CARD8 deviceID;
+ CARD8 pad1;
+ CARD16 reason B16;
+ CARD16 ledClass B16;
+ CARD16 ledID B16;
+ CARD32 ledsDefined B32;
+ CARD32 ledState B32;
+ CARD8 firstBtn;
+ CARD8 nBtns;
+ CARD16 supported B16;
+ CARD16 unsupported B16;
+ CARD16 pad3 B16;
+} xkbExtensionDeviceNotify;
+#define sz_xkbExtensionDeviceNotify 32
+
+typedef struct _xkbEvent {
+ union {
+ xkbAnyEvent any;
+ xkbNewKeyboardNotify new_kbd;
+ xkbMapNotify map;
+ xkbStateNotify state;
+ xkbControlsNotify ctrls;
+ xkbIndicatorNotify indicators;
+ xkbNamesNotify names;
+ xkbCompatMapNotify compat;
+ xkbBellNotify bell;
+ xkbActionMessage message;
+ xkbAccessXNotify accessx;
+ xkbExtensionDeviceNotify device;
+ } u;
+} xkbEvent;
+#define sz_xkbEvent 32
+
+#undef Window
+#undef Atom
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _XKBPROTO_H_ */
diff --git a/kbproto/XKBsrv.h b/kbproto/XKBsrv.h
new file mode 100644
index 0000000..26a4ed8
--- /dev/null
+++ b/kbproto/XKBsrv.h
@@ -0,0 +1,1187 @@
+/* $Xorg: XKBsrv.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
+/* $XdotOrg: $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+/* $XFree86: xc/include/extensions/XKBsrv.h,v 3.22 2002/11/20 04:49:01 dawes Exp $ */
+
+#ifndef _XKBSRV_H_
+#define _XKBSRV_H_
+
+#ifdef XKB_IN_SERVER
+#define XkbAllocClientMap SrvXkbAllocClientMap
+#define XkbAllocServerMap SrvXkbAllocServerMap
+#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
+#define XkbAddKeyType SrvXkbAddKeyType
+#define XkbCopyKeyType SrvXkbCopyKeyType
+#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
+#define XkbFreeClientMap SrvXkbFreeClientMap
+#define XkbFreeServerMap SrvXkbFreeServerMap
+#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes
+#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
+#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
+#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore
+#define XkbResizeKeyActions SrvXkbResizeKeyActions
+#define XkbResizeKeySyms SrvXkbResizeKeySyms
+#define XkbResizeKeyType SrvXkbResizeKeyType
+#define XkbAllocCompatMap SrvXkbAllocCompatMap
+#define XkbAllocControls SrvXkbAllocControls
+#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
+#define XkbAllocKeyboard SrvXkbAllocKeyboard
+#define XkbAllocNames SrvXkbAllocNames
+#define XkbFreeCompatMap SrvXkbFreeCompatMap
+#define XkbFreeControls SrvXkbFreeControls
+#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps
+#define XkbFreeKeyboard SrvXkbFreeKeyboard
+#define XkbFreeNames SrvXkbFreeNames
+#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo
+#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo
+#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo
+#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions
+#define XkbLatchModifiers SrvXkbLatchModifiers
+#define XkbLatchGroup SrvXkbLatchGroup
+#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
+#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
+#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
+#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods
+#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods
+#endif
+
+#include <X11/extensions/XKBstr.h>
+#include <X11/extensions/XKBproto.h>
+#include "inputstr.h"
+
+typedef struct _XkbInterest {
+ DeviceIntPtr dev;
+ ClientPtr client;
+ XID resource;
+ struct _XkbInterest * next;
+ CARD16 extDevNotifyMask;
+ CARD16 stateNotifyMask;
+ CARD16 namesNotifyMask;
+ CARD32 ctrlsNotifyMask;
+ CARD8 compatNotifyMask;
+ BOOL bellNotifyMask;
+ BOOL actionMessageMask;
+ CARD16 accessXNotifyMask;
+ CARD32 iStateNotifyMask;
+ CARD32 iMapNotifyMask;
+ CARD16 altSymsNotifyMask;
+ CARD32 autoCtrls;
+ CARD32 autoCtrlValues;
+} XkbInterestRec,*XkbInterestPtr;
+
+typedef struct _XkbRadioGroup {
+ CARD8 flags;
+ CARD8 nMembers;
+ CARD8 dfltDown;
+ CARD8 currentDown;
+ CARD8 members[XkbRGMaxMembers];
+} XkbRadioGroupRec, *XkbRadioGroupPtr;
+
+typedef struct _XkbEventCause {
+ CARD8 kc;
+ CARD8 event;
+ CARD8 mjr;
+ CARD8 mnr;
+ ClientPtr client;
+} XkbEventCauseRec,*XkbEventCausePtr;
+#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
+ (c)->mjr= (c)->mnr= 0; \
+ (c)->client= NULL; }
+#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
+ (c)->mjr= (j),(c)->mnr= (n);\
+ (c)->client= (cl); }
+#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
+#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
+#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
+
+#define _OFF_TIMER 0
+#define _KRG_WARN_TIMER 1
+#define _KRG_TIMER 2
+#define _SK_TIMEOUT_TIMER 3
+#define _ALL_TIMEOUT_TIMER 4
+
+#define _BEEP_NONE 0
+#define _BEEP_FEATURE_ON 1
+#define _BEEP_FEATURE_OFF 2
+#define _BEEP_FEATURE_CHANGE 3
+#define _BEEP_SLOW_WARN 4
+#define _BEEP_SLOW_PRESS 5
+#define _BEEP_SLOW_ACCEPT 6
+#define _BEEP_SLOW_REJECT 7
+#define _BEEP_SLOW_RELEASE 8
+#define _BEEP_STICKY_LATCH 9
+#define _BEEP_STICKY_LOCK 10
+#define _BEEP_STICKY_UNLOCK 11
+#define _BEEP_LED_ON 12
+#define _BEEP_LED_OFF 13
+#define _BEEP_LED_CHANGE 14
+#define _BEEP_BOUNCE_REJECT 15
+
+typedef struct _XkbSrvInfo {
+ XkbStateRec prev_state;
+ XkbStateRec state;
+ XkbDescPtr desc;
+
+ DeviceIntPtr device;
+ KbdCtrlProcPtr kbdProc;
+
+ XkbRadioGroupPtr radioGroups;
+ CARD8 nRadioGroups;
+ CARD8 clearMods;
+ CARD8 setMods;
+ INT16 groupChange;
+
+ CARD16 dfltPtrDelta;
+
+ double mouseKeysCurve;
+ double mouseKeysCurveFactor;
+ INT16 mouseKeysDX;
+ INT16 mouseKeysDY;
+ CARD8 mouseKeysFlags;
+ Bool mouseKeysAccel;
+ CARD8 mouseKeysCounter;
+
+ CARD8 lockedPtrButtons;
+ CARD8 shiftKeyCount;
+ KeyCode mouseKey;
+ KeyCode inactiveKey;
+ KeyCode slowKey;
+ KeyCode repeatKey;
+ CARD8 krgTimerActive;
+ CARD8 beepType;
+ CARD8 beepCount;
+
+ CARD32 flags;
+ CARD32 lastPtrEventTime;
+ CARD32 lastShiftEventTime;
+ OsTimerPtr beepTimer;
+ OsTimerPtr mouseKeyTimer;
+ OsTimerPtr slowKeysTimer;
+ OsTimerPtr bounceKeysTimer;
+ OsTimerPtr repeatKeyTimer;
+ OsTimerPtr krgTimer;
+} XkbSrvInfoRec, *XkbSrvInfoPtr;
+
+#define XkbSLI_IsDefault (1L<<0)
+#define XkbSLI_HasOwnState (1L<<1)
+
+typedef struct _XkbSrvLedInfo {
+ CARD16 flags;
+ CARD16 class;
+ CARD16 id;
+ union {
+ KbdFeedbackPtr kf;
+ LedFeedbackPtr lf;
+ } fb;
+
+ CARD32 physIndicators;
+ CARD32 autoState;
+ CARD32 explicitState;
+ CARD32 effectiveState;
+
+ CARD32 mapsPresent;
+ CARD32 namesPresent;
+ XkbIndicatorMapPtr maps;
+ Atom * names;
+
+ CARD32 usesBase;
+ CARD32 usesLatched;
+ CARD32 usesLocked;
+ CARD32 usesEffective;
+ CARD32 usesCompat;
+ CARD32 usesControls;
+
+ CARD32 usedComponents;
+} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
+
+/*
+ * Settings for xkbClientFlags field (used by DIX)
+ * These flags _must_ not overlap with XkbPCF_*
+ */
+#define _XkbClientInitialized (1<<15)
+
+#define _XkbWantsDetectableAutoRepeat(c)\
+ ((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
+
+/*
+ * Settings for flags field
+ */
+#define _XkbStateNotifyInProgress (1<<0)
+
+typedef struct
+{
+ ProcessInputProc processInputProc;
+ ProcessInputProc realInputProc;
+ DeviceUnwrapProc unwrapProc;
+} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
+
+#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
+ device->public.processInputProc = proc; \
+ oldprocs->processInputProc = \
+ oldprocs->realInputProc = device->public.realInputProc; \
+ device->public.realInputProc = proc; \
+ oldprocs->unwrapProc = device->unwrapProc; \
+ device->unwrapProc = unwrapproc;
+
+#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
+ if (device->public.processInputProc == device->public.realInputProc)\
+ device->public.processInputProc = proc; \
+ oldprocs->processInputProc = \
+ oldprocs->realInputProc = device->public.realInputProc; \
+ device->public.realInputProc = proc; \
+ oldprocs->unwrapProc = device->unwrapProc; \
+ device->unwrapProc = unwrapproc;
+
+#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs) \
+ device->public.processInputProc = oldprocs->processInputProc; \
+ device->public.realInputProc = oldprocs->realInputProc; \
+ device->unwrapProc = oldprocs->unwrapProc;
+
+#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr) (dev)->devPrivates[xkbDevicePrivateIndex].ptr)
+
+/***====================================================================***/
+
+
+/***====================================================================***/
+
+#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
+#define XkbAllFilteredEventsMask \
+ (XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
+
+/***====================================================================***/
+
+extern int XkbReqCode;
+extern int XkbEventBase;
+extern int XkbKeyboardErrorCode;
+extern int XkbDisableLockActions;
+extern char * XkbBaseDirectory;
+extern char * XkbBinDirectory;
+extern char * XkbInitialMap;
+extern int _XkbClientMajor;
+extern int _XkbClientMinor;
+extern unsigned int XkbXIUnsupported;
+
+extern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed;
+extern Bool noXkbExtension;
+extern Bool XkbWantRulesProp;
+
+extern pointer XkbLastRepeatEvent;
+
+extern CARD32 xkbDebugFlags;
+extern CARD32 xkbDebugCtrls;
+
+#define _XkbAlloc(s) xalloc((s))
+#define _XkbCalloc(n,s) Xcalloc((n)*(s))
+#define _XkbRealloc(o,s) Xrealloc((o),(s))
+#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
+#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
+#define _XkbTypedRealloc(o,n,t) \
+ ((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
+#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
+#define _XkbFree(p) Xfree(p)
+
+#define _XkbLibError(c,l,d) \
+ { _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); }
+#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
+#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
+#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
+
+extern int DeviceKeyPress,DeviceKeyRelease;
+extern int DeviceButtonPress,DeviceButtonRelease;
+
+#ifdef XINPUT
+#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
+#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
+#else
+#define _XkbIsPressEvent(t) ((t)==KeyPress)
+#define _XkbIsReleaseEvent(t) ((t)==KeyRelease)
+#endif
+
+#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
+ ((k)<=(c)->curKeySyms.maxKeyCode))
+#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
+ (c)->curKeySyms.minKeyCode+1)
+
+#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
+#undef IsKeypadKey
+#define IsKeypadKey(s) XkbKSIsKeypad(s)
+
+typedef int Status;
+typedef pointer XPointer;
+typedef struct _XDisplay Display;
+
+#ifndef True
+#define True 1
+#define False 0
+#endif
+
+#ifndef PATH_MAX
+#ifdef MAXPATHLEN
+#define PATH_MAX MAXPATHLEN
+#else
+#define PATH_MAX 1024
+#endif
+#endif
+
+_XFUNCPROTOBEGIN
+
+extern void XkbUseMsg(
+ void
+);
+
+extern int XkbProcessArguments(
+ int /* argc */,
+ char ** /* argv */,
+ int /* i */
+);
+
+extern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
+
+extern void XkbFreeCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern DeviceIntPtr _XkbLookupAnyDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupKeyboard(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupBellDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupLedDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern DeviceIntPtr _XkbLookupButtonDevice(
+ int /* id */,
+ int * /* why_rtrn */
+);
+
+extern XkbDescPtr XkbAllocKeyboard(
+ void
+);
+
+extern Status XkbAllocClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nTypes */
+);
+
+extern Status XkbAllocServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nNewActions */
+);
+
+extern void XkbFreeClientMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeServerMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* what */,
+ Bool /* freeMap */
+);
+
+extern Status XkbAllocIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern Status XkbAllocCompatMap(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ unsigned int /* nInterpret */
+);
+
+extern Status XkbAllocNames(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* nTotalRG */,
+ int /* nTotalAliases */
+);
+
+extern Status XkbAllocControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which*/
+);
+
+extern Status XkbCopyKeyType(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */
+);
+
+extern Status XkbCopyKeyTypes(
+ XkbKeyTypePtr /* from */,
+ XkbKeyTypePtr /* into */,
+ int /* num_types */
+);
+
+extern Status XkbResizeKeyType(
+ XkbDescPtr /* xkb */,
+ int /* type_ndx */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* new_num_lvls */
+);
+
+extern void XkbFreeKeyboard(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeDesc */
+);
+
+extern void XkbSetActionKeyMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* mods */
+);
+
+extern Bool XkbCheckActionVMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern Bool XkbApplyVModChanges(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* pChanges */,
+ unsigned int * /* needChecksRtrn */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyVModChangesToAllDevices(
+ DeviceIntPtr /* dev */,
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbEventCausePtr /* cause */
+);
+
+extern unsigned int XkbMaskForVMask(
+ XkbDescPtr /* xkb */,
+ unsigned int /* vmask */
+);
+
+extern Bool XkbVirtualModsToReal(
+ XkbDescPtr /* xkb */,
+ unsigned int /* virtua_mask */,
+ unsigned int * /* mask_rtrn */
+);
+
+extern unsigned int XkbAdjustGroup(
+ int /* group */,
+ XkbControlsPtr /* ctrls */
+);
+
+extern KeySym *XkbResizeKeySyms(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* needed */
+);
+
+extern XkbAction *XkbResizeKeyActions(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* needed */
+);
+
+extern void XkbUpdateKeyTypesFromCore(
+ DeviceIntPtr /* pXDev */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* pChanges */
+);
+
+extern void XkbUpdateDescActions(
+ XkbDescPtr /* xkb */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbUpdateActions(
+ DeviceIntPtr /* pXDev */,
+ KeyCode /* first */,
+ CARD8 /* num */,
+ XkbChangesPtr /* pChanges */,
+ unsigned int * /* needChecksRtrn */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateCoreDescription(
+ DeviceIntPtr /* keybd */,
+ Bool /* resize */
+);
+
+extern void XkbApplyMappingChange(
+ DeviceIntPtr /* pXDev */,
+ CARD8 /* request */,
+ KeyCode /* firstKey */,
+ CARD8 /* num */,
+ ClientPtr /* client */
+);
+
+extern void XkbSetIndicators(
+ DeviceIntPtr /* pXDev */,
+ CARD32 /* affect */,
+ CARD32 /* values */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateIndicators(
+ DeviceIntPtr /* keybd */,
+ CARD32 /* changed */,
+ Bool /* check_edevs */,
+ XkbChangesPtr /* pChanges */,
+ XkbEventCausePtr /* cause */
+);
+
+extern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
+ DeviceIntPtr /* dev */,
+ KbdFeedbackPtr /* kf */,
+ LedFeedbackPtr /* lf */,
+ unsigned int /* needed_parts */
+);
+
+extern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
+ DeviceIntPtr /* dev */,
+ unsigned int /* class */,
+ unsigned int /* id */,
+ unsigned int /* needed_parts */
+);
+
+extern void XkbApplyLedNameChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_names */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyLedMapChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_maps */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbApplyLedStateChanges(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* changed_leds */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateLedAutoState(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* maps_to_check */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbFlushLedEvents(
+ DeviceIntPtr /* dev */,
+ DeviceIntPtr /* kbd */,
+ XkbSrvLedInfoPtr /* sli */,
+ xkbExtensionDeviceNotify * /* ed */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbUpdateAllDeviceIndicators(
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern unsigned int XkbIndicatorsToUpdate(
+ DeviceIntPtr /* dev */,
+ unsigned long /* state_changes */,
+ Bool /* enabled_ctrl_changes */
+);
+
+extern void XkbComputeDerivedState(
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern void XkbCheckSecondaryEffects(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned int /* which */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbCheckIndicatorMaps(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ unsigned int /* which */
+);
+
+extern unsigned int XkbStateChangedFlags(
+ XkbStatePtr /* old */,
+ XkbStatePtr /* new */
+);
+
+extern void XkbSendStateNotify(
+ DeviceIntPtr /* kbd */,
+ xkbStateNotify * /* pSN */
+);
+
+extern void XkbSendMapNotify(
+ DeviceIntPtr /* kbd */,
+ xkbMapNotify * /* ev */
+);
+
+extern int XkbComputeControlsNotify(
+ DeviceIntPtr /* kbd */,
+ XkbControlsPtr /* old */,
+ XkbControlsPtr /* new */,
+ xkbControlsNotify * /* pCN */,
+ Bool /* forceCtrlProc */
+);
+
+extern void XkbSendControlsNotify(
+ DeviceIntPtr /* kbd */,
+ xkbControlsNotify * /* ev */
+);
+
+extern void XkbSendCompatMapNotify(
+ DeviceIntPtr /* kbd */,
+ xkbCompatMapNotify * /* ev */
+);
+
+extern void XkbSendIndicatorNotify(
+ DeviceIntPtr /* kbd */,
+ int /* xkbType */,
+ xkbIndicatorNotify * /* ev */
+);
+
+extern void XkbHandleBell(
+ BOOL /* force */,
+ BOOL /* eventOnly */,
+ DeviceIntPtr /* kbd */,
+ CARD8 /* percent */,
+ pointer /* ctrl */,
+ CARD8 /* class */,
+ Atom /* name */,
+ WindowPtr /* pWin */,
+ ClientPtr /* pClient */
+);
+
+extern void XkbSendAccessXNotify(
+ DeviceIntPtr /* kbd */,
+ xkbAccessXNotify * /* pEv */
+);
+
+extern void XkbSendNamesNotify(
+ DeviceIntPtr /* kbd */,
+ xkbNamesNotify * /* ev */
+);
+
+extern void XkbSendCompatNotify(
+ DeviceIntPtr /* kbd */,
+ xkbCompatMapNotify * /* ev */
+);
+
+extern void XkbSendActionMessage(
+ DeviceIntPtr /* kbd */,
+ xkbActionMessage * /* ev */
+);
+
+extern void XkbSendExtensionDeviceNotify(
+ DeviceIntPtr /* kbd */,
+ ClientPtr /* client */,
+ xkbExtensionDeviceNotify * /* ev */
+);
+
+extern void XkbSendNotification(
+ DeviceIntPtr /* kbd */,
+ XkbChangesPtr /* pChanges */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbProcessKeyboardEvent(
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void XkbProcessOtherEvent(
+ struct _xEvent * /* xE */,
+ DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void XkbHandleActions(
+ DeviceIntPtr /* dev */,
+ DeviceIntPtr /* kbd */,
+ struct _xEvent * /* xE */,
+ int /* count */
+);
+
+extern Bool XkbEnableDisableControls(
+ XkbSrvInfoPtr /* xkbi */,
+ unsigned long /* change */,
+ unsigned long /* newValues */,
+ XkbChangesPtr /* changes */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void AccessXInit(
+ DeviceIntPtr /* dev */
+);
+
+extern Bool AccessXFilterPressEvent(
+ register struct _xEvent * /* xE */,
+ register DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern Bool AccessXFilterReleaseEvent(
+ register struct _xEvent * /* xE */,
+ register DeviceIntPtr /* keybd */,
+ int /* count */
+);
+
+extern void AccessXCancelRepeatKey(
+ XkbSrvInfoPtr /* xkbi */,
+ KeyCode /* key */
+);
+
+extern void AccessXComputeCurveFactor(
+ XkbSrvInfoPtr /* xkbi */,
+ XkbControlsPtr /* ctrls */
+);
+
+extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* ledClass */,
+ unsigned int /* ledId */
+);
+
+extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
+ unsigned int /* deviceSpec */,
+ unsigned int /* nButtons */,
+ unsigned int /* szLeds */
+);
+
+extern void XkbFreeDeviceInfo(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* which */,
+ Bool /* freeDevI */
+);
+
+extern Status XkbResizeDeviceButtonActions(
+ XkbDeviceInfoPtr /* devi */,
+ unsigned int /* newTotal */
+);
+
+extern XkbInterestPtr XkbFindClientResource(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */
+);
+
+extern XkbInterestPtr XkbAddClientResource(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */,
+ XID /* id */
+);
+
+extern int XkbRemoveClient(
+ DevicePtr /* inDev */,
+ ClientPtr /* client */
+);
+
+extern int XkbRemoveResourceClient(
+ DevicePtr /* inDev */,
+ XID /* id */
+);
+
+extern int XkbDDXInitDevice(
+ DeviceIntPtr /* dev */
+);
+
+extern int XkbDDXAccessXBeep(
+ DeviceIntPtr /* dev */,
+ unsigned int /* what */,
+ unsigned int /* which */
+);
+
+extern void XkbDDXKeyClick(
+ DeviceIntPtr /* dev */,
+ int /* keycode */,
+ int /* synthetic */
+);
+
+extern int XkbDDXUsesSoftRepeat(
+ DeviceIntPtr /* dev */
+);
+
+extern void XkbDDXKeybdCtrlProc(
+ DeviceIntPtr /* dev */,
+ KeybdCtrl * /* ctrl */
+);
+
+extern void XkbDDXChangeControls(
+ DeviceIntPtr /* dev */,
+ XkbControlsPtr /* old */,
+ XkbControlsPtr /* new */
+);
+
+extern void XkbDDXUpdateIndicators(
+ DeviceIntPtr /* keybd */,
+ CARD32 /* newState */
+);
+
+extern void XkbDDXUpdateDeviceIndicators(
+ DeviceIntPtr /* dev */,
+ XkbSrvLedInfoPtr /* sli */,
+ CARD32 /* newState */
+);
+
+extern void XkbDDXFakePointerButton(
+ int /* event */,
+ int /* button */
+);
+
+extern void XkbDDXFakePointerMotion(
+ unsigned int /* flags */,
+ int /* x */,
+ int /* y */
+);
+
+extern void XkbDDXFakeDeviceButton(
+ DeviceIntPtr /* dev */,
+ Bool /* press */,
+ int /* button */
+);
+
+extern int XkbDDXTerminateServer(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern int XkbDDXSwitchScreen(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern int XkbDDXPrivate(
+ DeviceIntPtr /* dev */,
+ KeyCode /* key */,
+ XkbAction * /* act */
+);
+
+extern void XkbDisableComputedAutoRepeats(
+ DeviceIntPtr /* pXDev */,
+ unsigned int /* key */
+);
+
+extern void XkbSetRepeatKeys(
+ DeviceIntPtr /* pXDev */,
+ int /* key */,
+ int /* onoff */
+);
+
+extern int XkbLatchModifiers(
+ DeviceIntPtr /* pXDev */,
+ CARD8 /* mask */,
+ CARD8 /* latches */
+);
+
+extern int XkbLatchGroup(
+ DeviceIntPtr /* pXDev */,
+ int /* group */
+);
+
+extern void XkbClearAllLatchesAndLocks(
+ DeviceIntPtr /* dev */,
+ XkbSrvInfoPtr /* xkbi */,
+ Bool /* genEv */,
+ XkbEventCausePtr /* cause */
+);
+
+extern void XkbSetRulesDflts(
+ char * /* rulesFile */,
+ char * /* model */,
+ char * /* layout */,
+ char * /* variant */,
+ char * /* options */
+);
+
+extern void XkbInitDevice(
+ DeviceIntPtr /* pXDev */
+);
+
+extern Bool XkbInitKeyboardDeviceStruct(
+ DeviceIntPtr /* pXDev */,
+ XkbComponentNamesPtr /* pNames */,
+ KeySymsPtr /* pSyms */,
+ CARD8 /* pMods */[],
+ BellProcPtr /* bellProc */,
+ KbdCtrlProcPtr /* ctrlProc */
+);
+
+extern int SProcXkbDispatch(
+ ClientPtr /* client */
+);
+
+extern XkbGeometryPtr XkbLookupNamedGeometry(
+ DeviceIntPtr /* dev */,
+ Atom /* name */,
+ Bool * /* shouldFree */
+);
+
+extern char * _XkbDupString(
+ char * /* str */
+);
+
+extern void XkbConvertCase(
+ KeySym /* sym */,
+ KeySym * /* lower */,
+ KeySym * /* upper */
+);
+
+extern Status XkbChangeKeycodeRange(
+ XkbDescPtr /* xkb */,
+ int /* minKC */,
+ int /* maxKC */,
+ XkbChangesPtr /* changes */
+);
+
+extern int XkbFinishDeviceInit(
+ DeviceIntPtr /* pXDev */
+);
+
+extern void XkbFreeSrvLedInfo(
+ XkbSrvLedInfoPtr /* sli */
+);
+
+extern void XkbFreeInfo(
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern Status XkbChangeTypesOfKey(
+ XkbDescPtr /* xkb */,
+ int /* key */,
+ int /* nGroups */,
+ unsigned int /* groups */,
+ int * /* newTypesIn */,
+ XkbMapChangesPtr /* changes */
+);
+
+extern XkbKeyTypePtr XkbAddKeyType(
+ XkbDescPtr /* xkb */,
+ Atom /* name */,
+ int /* map_count */,
+ Bool /* want_preserve */,
+ int /* num_lvls */
+);
+
+extern Status XkbInitCanonicalKeyTypes(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ int /* keypadVMod */
+);
+
+extern int XkbKeyTypesForCoreSymbols(
+ XkbDescPtr /* xkb */,
+ int /* map_width */,
+ KeySym * /* core_syms */,
+ unsigned int /* protected */,
+ int * /* types_inout */,
+ KeySym * /* xkb_syms_rtrn */
+);
+
+extern Bool XkbApplyCompatMapToKey(
+ XkbDescPtr /* xkb */,
+ KeyCode /* key */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateMapFromCore(
+ XkbDescPtr /* xkb */,
+ KeyCode /* first_key */,
+ int /* num_keys */,
+ int /* map_width */,
+ KeySym * /* core_keysyms */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbFreeControls(
+ XkbDescPtr /* xkb */,
+ unsigned int /* which */,
+ Bool /* freeMap */
+);
+
+extern void XkbFreeIndicatorMaps(
+ XkbDescPtr /* xkb */
+);
+
+extern Bool XkbApplyVirtualModChanges(
+ XkbDescPtr /* xkb */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern Bool XkbUpdateActionVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbAction * /* act */,
+ unsigned int /* changed */
+);
+
+extern void XkbUpdateKeyTypeVirtualMods(
+ XkbDescPtr /* xkb */,
+ XkbKeyTypePtr /* type */,
+ unsigned int /* changed */,
+ XkbChangesPtr /* changes */
+);
+
+extern void XkbSendNewKeyboardNotify(
+ DeviceIntPtr /* kbd */,
+ xkbNewKeyboardNotify * /* pNKN */
+);
+
+#ifdef XKBSRV_NEED_FILE_FUNCS
+
+#include <X11/extensions/XKMformat.h>
+#include <X11/extensions/XKBfile.h>
+#include <X11/extensions/XKBrules.h>
+
+#define _XkbListKeymaps 0
+#define _XkbListKeycodes 1
+#define _XkbListTypes 2
+#define _XkbListCompat 3
+#define _XkbListSymbols 4
+#define _XkbListGeometry 5
+#define _XkbListNumComponents 6
+
+typedef struct _XkbSrvListInfo {
+ int szPool;
+ int nPool;
+ char * pool;
+
+ int maxRtrn;
+ int nTotal;
+
+ char * pattern[_XkbListNumComponents];
+ int nFound[_XkbListNumComponents];
+} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
+
+char *
+XkbGetRulesDflts(
+ XkbRF_VarDefsPtr /* defs */
+);
+
+extern void XkbSetRulesUsed(
+ XkbRF_VarDefsPtr /* defs */
+);
+
+
+extern Status XkbDDXList(
+ DeviceIntPtr /* dev */,
+ XkbSrvListInfoPtr /* listing */,
+ ClientPtr /* client */
+);
+
+extern unsigned int XkbDDXLoadKeymapByNames(
+ DeviceIntPtr /* keybd */,
+ XkbComponentNamesPtr /* names */,
+ unsigned int /* want */,
+ unsigned int /* need */,
+ XkbFileInfoPtr /* finfoRtrn */,
+ char * /* keymapNameRtrn */,
+ int /* keymapNameRtrnLen */
+);
+
+extern Bool XkbDDXNamesFromRules(
+ DeviceIntPtr /* keybd */,
+ char * /* rules */,
+ XkbRF_VarDefsPtr /* defs */,
+ XkbComponentNamesPtr /* names */
+);
+
+extern FILE *XkbDDXOpenConfigFile(
+ char * /* mapName */,
+ char * /* fileNameRtrn */,
+ int /* fileNameRtrnLen */
+);
+
+extern Bool XkbDDXApplyConfig(
+ XPointer /* cfg_in */,
+ XkbSrvInfoPtr /* xkbi */
+);
+
+extern XPointer XkbDDXPreloadConfig(
+ char ** /* rulesFileRtrn */,
+ XkbRF_VarDefsPtr /* defs */,
+ XkbComponentNamesPtr /* names */,
+ DeviceIntPtr /* dev */
+);
+
+extern int _XkbStrCaseCmp(
+ char * /* str1 */,
+ char * /* str2 */
+);
+
+#endif /* XKBSRV_NEED_FILE_FUNCS */
+
+
+_XFUNCPROTOEND
+
+#define XkbAtomGetString(d,s) NameForAtom(s)
+
+#endif /* _XKBSRV_H_ */
+
+
diff --git a/kbproto/XKBstr.h b/kbproto/XKBstr.h
new file mode 100644
index 0000000..bc63f49
--- /dev/null
+++ b/kbproto/XKBstr.h
@@ -0,0 +1,614 @@
+/* $Xorg: XKBstr.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
+/************************************************************
+Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+********************************************************/
+
+#ifndef _XKBSTR_H_
+#define _XKBSTR_H_
+
+#include <X11/extensions/XKB.h>
+
+#define XkbCharToInt(v) ((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f))
+#define XkbIntTo2Chars(i,h,l) (((h)=((i>>8)&0xff)),((l)=((i)&0xff)))
+
+#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+#define Xkb2CharsToInt(h,l) ((h)&0x80?(int)(((h)<<8)|(l)|(~0xffff)):\
+ (int)(((h)<<8)|(l)&0x7fff))
+#else
+#define Xkb2CharsToInt(h,l) ((short)(((h)<<8)|(l)))
+#endif
+
+ /*
+ * Common data structures and access macros
+ */
+
+typedef struct _XkbStateRec {
+ unsigned char group;
+ unsigned char locked_group;
+ unsigned short base_group;
+ unsigned short latched_group;
+ unsigned char mods;
+ unsigned char base_mods;
+ unsigned char latched_mods;
+ unsigned char locked_mods;
+ unsigned char compat_state;
+ unsigned char grab_mods;
+ unsigned char compat_grab_mods;
+ unsigned char lookup_mods;
+ unsigned char compat_lookup_mods;
+ unsigned short ptr_buttons;
+} XkbStateRec,*XkbStatePtr;
+#define XkbModLocks(s) ((s)->locked_mods)
+#define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s))
+#define XkbGroupLock(s) ((s)->locked_group)
+#define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s))
+#define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group)
+#define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group)
+
+typedef struct _XkbMods {
+ unsigned char mask; /* effective mods */
+ unsigned char real_mods;
+ unsigned short vmods;
+} XkbModsRec,*XkbModsPtr;
+
+typedef struct _XkbKTMapEntry {
+ Bool active;
+ unsigned char level;
+ XkbModsRec mods;
+} XkbKTMapEntryRec,*XkbKTMapEntryPtr;
+
+typedef struct _XkbKeyType {
+ XkbModsRec mods;
+ unsigned char num_levels;
+ unsigned char map_count;
+ XkbKTMapEntryPtr map;
+ XkbModsPtr preserve;
+ Atom name;
+ Atom * level_names;
+} XkbKeyTypeRec, *XkbKeyTypePtr;
+
+#define XkbNumGroups(g) ((g)&0x0f)
+#define XkbOutOfRangeGroupInfo(g) ((g)&0xf0)
+#define XkbOutOfRangeGroupAction(g) ((g)&0xc0)
+#define XkbOutOfRangeGroupNumber(g) (((g)&0x30)>>4)
+#define XkbSetGroupInfo(g,w,n) (((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f))
+#define XkbSetNumGroups(g,n) (((g)&0xf0)|((n)&0x0f))
+
+ /*
+ * Structures and access macros used primarily by the server
+ */
+
+typedef struct _XkbBehavior {
+ unsigned char type;
+ unsigned char data;
+} XkbBehavior;
+
+#define XkbAnyActionDataSize 7
+typedef struct _XkbAnyAction {
+ unsigned char type;
+ unsigned char data[XkbAnyActionDataSize];
+} XkbAnyAction;
+
+typedef struct _XkbModAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char mask;
+ unsigned char real_mods;
+ unsigned char vmods1;
+ unsigned char vmods2;
+} XkbModAction;
+#define XkbModActionVMods(a) \
+ ((short)(((a)->vmods1<<8)|((a)->vmods2)))
+#define XkbSetModActionVMods(a,v) \
+ (((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff))
+
+typedef struct _XkbGroupAction {
+ unsigned char type;
+ unsigned char flags;
+ char group_XXX;
+} XkbGroupAction;
+#define XkbSAGroup(a) (XkbCharToInt((a)->group_XXX))
+#define XkbSASetGroup(a,g) ((a)->group_XXX=(g))
+
+typedef struct _XkbISOAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char mask;
+ unsigned char real_mods;
+ char group_XXX;
+ unsigned char affect;
+ unsigned char vmods1;
+ unsigned char vmods2;
+} XkbISOAction;
+
+typedef struct _XkbPtrAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char high_XXX;
+ unsigned char low_XXX;
+ unsigned char high_YYY;
+ unsigned char low_YYY;
+} XkbPtrAction;
+#define XkbPtrActionX(a) (Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX))
+#define XkbPtrActionY(a) (Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY))
+#define XkbSetPtrActionX(a,x) (XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX))
+#define XkbSetPtrActionY(a,y) (XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY))
+
+typedef struct _XkbPtrBtnAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char count;
+ unsigned char button;
+} XkbPtrBtnAction;
+
+typedef struct _XkbPtrDfltAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char affect;
+ char valueXXX;
+} XkbPtrDfltAction;
+#define XkbSAPtrDfltValue(a) (XkbCharToInt((a)->valueXXX))
+#define XkbSASetPtrDfltValue(a,c) ((a)->valueXXX= ((c)&0xff))
+
+typedef struct _XkbSwitchScreenAction {
+ unsigned char type;
+ unsigned char flags;
+ char screenXXX;
+} XkbSwitchScreenAction;
+#define XkbSAScreen(a) (XkbCharToInt((a)->screenXXX))
+#define XkbSASetScreen(a,s) ((a)->screenXXX= ((s)&0xff))
+
+typedef struct _XkbCtrlsAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char ctrls3;
+ unsigned char ctrls2;
+ unsigned char ctrls1;
+ unsigned char ctrls0;
+} XkbCtrlsAction;
+#define XkbActionSetCtrls(a,c) (((a)->ctrls3=(((c)>>24)&0xff)),\
+ ((a)->ctrls2=(((c)>>16)&0xff)),\
+ ((a)->ctrls1=(((c)>>8)&0xff)),\
+ ((a)->ctrls0=((c)&0xff)))
+#define XkbActionCtrls(a) ((((unsigned int)(a)->ctrls3)<<24)|\
+ (((unsigned int)(a)->ctrls2)<<16)|\
+ (((unsigned int)(a)->ctrls1)<<8)|\
+ ((unsigned int)((a)->ctrls0)))
+
+typedef struct _XkbMessageAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char message[6];
+} XkbMessageAction;
+
+typedef struct _XkbRedirectKeyAction {
+ unsigned char type;
+ unsigned char new_key;
+ unsigned char mods_mask;
+ unsigned char mods;
+ unsigned char vmods_mask0;
+ unsigned char vmods_mask1;
+ unsigned char vmods0;
+ unsigned char vmods1;
+} XkbRedirectKeyAction;
+
+#define XkbSARedirectVMods(a) ((((unsigned int)(a)->vmods1)<<8)|\
+ ((unsigned int)(a)->vmods0))
+#define XkbSARedirectSetVMods(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
+ ((a)->vmods_mask0=((m)&0xff)))
+#define XkbSARedirectVModsMask(a) ((((unsigned int)(a)->vmods_mask1)<<8)|\
+ ((unsigned int)(a)->vmods_mask0))
+#define XkbSARedirectSetVModsMask(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
+ ((a)->vmods_mask0=((m)&0xff)))
+
+typedef struct _XkbDeviceBtnAction {
+ unsigned char type;
+ unsigned char flags;
+ unsigned char count;
+ unsigned char button;
+ unsigned char device;
+} XkbDeviceBtnAction;
+
+typedef struct _XkbDeviceValuatorAction {
+ unsigned char type;
+ unsigned char device;
+ unsigned char v1_what;
+ unsigned char v1_ndx;
+ unsigned char v1_value;
+ unsigned char v2_what;
+ unsigned char v2_ndx;
+ unsigned char v2_value;
+} XkbDeviceValuatorAction;
+
+typedef union _XkbAction {
+ XkbAnyAction any;
+ XkbModAction mods;
+ XkbGroupAction group;
+ XkbISOAction iso;
+ XkbPtrAction ptr;
+ XkbPtrBtnAction btn;
+ XkbPtrDfltAction dflt;
+ XkbSwitchScreenAction screen;
+ XkbCtrlsAction ctrls;
+ XkbMessageAction msg;
+ XkbRedirectKeyAction redirect;
+ XkbDeviceBtnAction devbtn;
+ XkbDeviceValuatorAction devval;
+ unsigned char type;
+} XkbAction;
+
+typedef struct _XkbControls {
+ unsigned char mk_dflt_btn;
+ unsigned char num_groups;
+ unsigned char groups_wrap;
+ XkbModsRec internal;
+ XkbModsRec ignore_lock;
+ unsigned int enabled_ctrls;
+ unsigned short repeat_delay;
+ unsigned short repeat_interval;
+ unsigned short slow_keys_delay;
+ unsigned short debounce_delay;
+ unsigned short mk_delay;
+ unsigned short mk_interval;
+ unsigned short mk_time_to_max;
+ unsigned short mk_max_speed;
+ short mk_curve;
+ unsigned short ax_options;
+ unsigned short ax_timeout;
+ unsigned short axt_opts_mask;
+ unsigned short axt_opts_values;
+ unsigned int axt_ctrls_mask;
+ unsigned int axt_ctrls_values;
+ unsigned char per_key_repeat[XkbPerKeyBitArraySize];
+} XkbControlsRec, *XkbControlsPtr;
+
+#define XkbAX_AnyFeedback(c) ((c)->enabled_ctrls&XkbAccessXFeedbackMask)
+#define XkbAX_NeedOption(c,w) ((c)->ax_options&(w))
+#define XkbAX_NeedFeedback(c,w) (XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w))
+
+typedef struct _XkbServerMapRec {
+ unsigned short num_acts;
+ unsigned short size_acts;
+ XkbAction *acts;
+
+ XkbBehavior *behaviors;
+ unsigned short *key_acts;
+#if defined(__cplusplus) || defined(c_plusplus)
+ /* explicit is a C++ reserved word */
+ unsigned char *c_explicit;
+#else
+ unsigned char *explicit;
+#endif
+ unsigned char vmods[XkbNumVirtualMods];
+ unsigned short *vmodmap;
+} XkbServerMapRec, *XkbServerMapPtr;
+
+#define XkbSMKeyActionsPtr(m,k) (&(m)->acts[(m)->key_acts[k]])
+
+ /*
+ * Structures and access macros used primarily by clients
+ */
+
+typedef struct _XkbSymMapRec {
+ unsigned char kt_index[XkbNumKbdGroups];
+ unsigned char group_info;
+ unsigned char width;
+ unsigned short offset;
+} XkbSymMapRec, *XkbSymMapPtr;
+
+typedef struct _XkbClientMapRec {
+ unsigned char size_types;
+ unsigned char num_types;
+ XkbKeyTypePtr types;
+
+ unsigned short size_syms;
+ unsigned short num_syms;
+ KeySym *syms;
+ XkbSymMapPtr key_sym_map;
+
+ unsigned char *modmap;
+} XkbClientMapRec, *XkbClientMapPtr;
+
+#define XkbCMKeyGroupInfo(m,k) ((m)->key_sym_map[k].group_info)
+#define XkbCMKeyNumGroups(m,k) (XkbNumGroups((m)->key_sym_map[k].group_info))
+#define XkbCMKeyGroupWidth(m,k,g) (XkbCMKeyType(m,k,g)->num_levels)
+#define XkbCMKeyGroupsWidth(m,k) ((m)->key_sym_map[k].width)
+#define XkbCMKeyTypeIndex(m,k,g) ((m)->key_sym_map[k].kt_index[g&0x3])
+#define XkbCMKeyType(m,k,g) (&(m)->types[XkbCMKeyTypeIndex(m,k,g)])
+#define XkbCMKeyNumSyms(m,k) (XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k))
+#define XkbCMKeySymsOffset(m,k) ((m)->key_sym_map[k].offset)
+#define XkbCMKeySymsPtr(m,k) (&(m)->syms[XkbCMKeySymsOffset(m,k)])
+
+ /*
+ * Compatibility structures and access macros
+ */
+
+typedef struct _XkbSymInterpretRec {
+ KeySym sym;
+ unsigned char flags;
+ unsigned char match;
+ unsigned char mods;
+ unsigned char virtual_mod;
+ XkbAnyAction act;
+} XkbSymInterpretRec,*XkbSymInterpretPtr;
+
+typedef struct _XkbCompatMapRec {
+ XkbSymInterpretPtr sym_interpret;
+ XkbModsRec groups[XkbNumKbdGroups];
+ unsigned short num_si;
+ unsigned short size_si;
+} XkbCompatMapRec, *XkbCompatMapPtr;
+
+typedef struct _XkbIndicatorMapRec {
+ unsigned char flags;
+ unsigned char which_groups;
+ unsigned char groups;
+ unsigned char which_mods;
+ XkbModsRec mods;
+ unsigned int ctrls;
+} XkbIndicatorMapRec, *XkbIndicatorMapPtr;
+
+#define XkbIM_IsAuto(i) ((((i)->flags&XkbIM_NoAutomatic)==0)&&\
+ (((i)->which_groups&&(i)->groups)||\
+ ((i)->which_mods&&(i)->mods.mask)||\
+ ((i)->ctrls)))
+#define XkbIM_InUse(i) (((i)->flags)||((i)->which_groups)||\
+ ((i)->which_mods)||((i)->ctrls))
+
+
+typedef struct _XkbIndicatorRec {
+ unsigned long phys_indicators;
+ XkbIndicatorMapRec maps[XkbNumIndicators];
+} XkbIndicatorRec,*XkbIndicatorPtr;
+
+typedef struct _XkbKeyNameRec {
+ char name[XkbKeyNameLength];
+} XkbKeyNameRec,*XkbKeyNamePtr;
+
+typedef struct _XkbKeyAliasRec {
+ char real[XkbKeyNameLength];
+ char alias[XkbKeyNameLength];
+} XkbKeyAliasRec,*XkbKeyAliasPtr;
+
+ /*
+ * Names for everything
+ */
+typedef struct _XkbNamesRec {
+ Atom keycodes;
+ Atom geometry;
+ Atom symbols;
+ Atom types;
+ Atom compat;
+ Atom vmods[XkbNumVirtualMods];
+ Atom indicators[XkbNumIndicators];
+ Atom groups[XkbNumKbdGroups];
+ XkbKeyNamePtr keys;
+ XkbKeyAliasPtr key_aliases;
+ Atom *radio_groups;
+ Atom phys_symbols;
+
+ unsigned char num_keys;
+ unsigned char num_key_aliases;
+ unsigned short num_rg;
+} XkbNamesRec,*XkbNamesPtr;
+
+typedef struct _XkbGeometry *XkbGeometryPtr;
+ /*
+ * Tie it all together into one big keyboard description
+ */
+typedef struct _XkbDesc {
+ struct _XDisplay * dpy;
+ unsigned short flags;
+ unsigned short device_spec;
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+
+ XkbControlsPtr ctrls;
+ XkbServerMapPtr server;
+ XkbClientMapPtr map;
+ XkbIndicatorPtr indicators;
+ XkbNamesPtr names;
+ XkbCompatMapPtr compat;
+ XkbGeometryPtr geom;
+} XkbDescRec, *XkbDescPtr;
+#define XkbKeyKeyTypeIndex(d,k,g) (XkbCMKeyTypeIndex((d)->map,k,g))
+#define XkbKeyKeyType(d,k,g) (XkbCMKeyType((d)->map,k,g))
+#define XkbKeyGroupWidth(d,k,g) (XkbCMKeyGroupWidth((d)->map,k,g))
+#define XkbKeyGroupsWidth(d,k) (XkbCMKeyGroupsWidth((d)->map,k))
+#define XkbKeyGroupInfo(d,k) (XkbCMKeyGroupInfo((d)->map,(k)))
+#define XkbKeyNumGroups(d,k) (XkbCMKeyNumGroups((d)->map,(k)))
+#define XkbKeyNumSyms(d,k) (XkbCMKeyNumSyms((d)->map,(k)))
+#define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k)))
+#define XkbKeySym(d,k,n) (XkbKeySymsPtr(d,k)[n])
+#define XkbKeySymEntry(d,k,sl,g) \
+ (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))))
+#define XkbKeyAction(d,k,n) \
+ (XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL)
+#define XkbKeyActionEntry(d,k,sl,g) \
+ (XkbKeyHasActions(d,k)?\
+ XkbKeyAction(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))):NULL)
+
+#define XkbKeyHasActions(d,k) ((d)->server->key_acts[k]!=0)
+#define XkbKeyNumActions(d,k) (XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1)
+#define XkbKeyActionsPtr(d,k) (XkbSMKeyActionsPtr((d)->server,k))
+#define XkbKeycodeInRange(d,k) (((k)>=(d)->min_key_code)&&\
+ ((k)<=(d)->max_key_code))
+#define XkbNumKeys(d) ((d)->max_key_code-(d)->min_key_code+1)
+
+
+ /*
+ * The following structures can be used to track changes
+ * to a keyboard device
+ */
+typedef struct _XkbMapChanges {
+ unsigned short changed;
+ KeyCode min_key_code;
+ KeyCode max_key_code;
+ unsigned char first_type;
+ unsigned char num_types;
+ KeyCode first_key_sym;
+ unsigned char num_key_syms;
+ KeyCode first_key_act;
+ unsigned char num_key_acts;
+ KeyCode first_key_behavior;
+ unsigned char num_key_behaviors;
+ KeyCode first_key_explicit;
+ unsigned char num_key_explicit;
+ KeyCode first_modmap_key;
+ unsigned char num_modmap_keys;
+ KeyCode first_vmodmap_key;
+ unsigned char num_vmodmap_keys;
+ unsigned char pad;
+ unsigned short vmods;
+} XkbMapChangesRec,*XkbMapChangesPtr;
+
+typedef struct _XkbControlsChanges {
+ unsigned int changed_ctrls;
+ unsigned int enabled_ctrls_changes;
+ Bool num_groups_changed;
+} XkbControlsChangesRec,*XkbControlsChangesPtr;
+
+typedef struct _XkbIndicatorChanges {
+ unsigned int state_changes;
+ unsigned int map_changes;
+} XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
+
+typedef struct _XkbNameChanges {
+ unsigned int changed;
+ unsigned char first_type;
+ unsigned char num_types;
+ unsigned char first_lvl;
+ unsigned char num_lvls;
+ unsigned char num_aliases;
+ unsigned char num_rg;
+ unsigned char first_key;
+ unsigned char num_keys;
+ unsigned short changed_vmods;
+ unsigned long changed_indicators;
+ unsigned char changed_groups;
+} XkbNameChangesRec,*XkbNameChangesPtr;
+
+typedef struct _XkbCompatChanges {
+ unsigned char changed_groups;
+ unsigned short first_si;
+ unsigned short num_si;
+} XkbCompatChangesRec,*XkbCompatChangesPtr;
+
+typedef struct _XkbChanges {
+ unsigned short device_spec;
+ unsigned short state_changes;
+ XkbMapChangesRec map;
+ XkbControlsChangesRec ctrls;
+ XkbIndicatorChangesRec indicators;
+ XkbNameChangesRec names;
+ XkbCompatChangesRec compat;
+} XkbChangesRec, *XkbChangesPtr;
+
+ /*
+ * These data structures are used to construct a keymap from
+ * a set of components or to list components in the server
+ * database.
+ */
+typedef struct _XkbComponentNames {
+ char * keymap;
+ char * keycodes;
+ char * types;
+ char * compat;
+ char * symbols;
+ char * geometry;
+} XkbComponentNamesRec, *XkbComponentNamesPtr;
+
+typedef struct _XkbComponentName {
+ unsigned short flags;
+ char * name;
+} XkbComponentNameRec,*XkbComponentNamePtr;
+
+typedef struct _XkbComponentList {
+ int num_keymaps;
+ int num_keycodes;
+ int num_types;
+ int num_compat;
+ int num_symbols;
+ int num_geometry;
+ XkbComponentNamePtr keymaps;
+ XkbComponentNamePtr keycodes;
+ XkbComponentNamePtr types;
+ XkbComponentNamePtr compat;
+ XkbComponentNamePtr symbols;
+ XkbComponentNamePtr geometry;
+} XkbComponentListRec, *XkbComponentListPtr;
+
+ /*
+ * The following data structures describe and track changes to a
+ * non-keyboard extension device
+ */
+typedef struct _XkbDeviceLedInfo {
+ unsigned short led_class;
+ unsigned short led_id;
+ unsigned int phys_indicators;
+ unsigned int maps_present;
+ unsigned int names_present;
+ unsigned int state;
+ Atom names[XkbNumIndicators];
+ XkbIndicatorMapRec maps[XkbNumIndicators];
+} XkbDeviceLedInfoRec,*XkbDeviceLedInfoPtr;
+
+typedef struct _XkbDeviceInfo {
+ char * name;
+ Atom type;
+ unsigned short device_spec;
+ Bool has_own_state;
+ unsigned short supported;
+ unsigned short unsupported;
+
+ unsigned short num_btns;
+ XkbAction * btn_acts;
+
+ unsigned short sz_leds;
+ unsigned short num_leds;
+ unsigned short dflt_kbd_fb;
+ unsigned short dflt_led_fb;
+ XkbDeviceLedInfoPtr leds;
+} XkbDeviceInfoRec,*XkbDeviceInfoPtr;
+
+#define XkbXI_DevHasBtnActs(d) (((d)->num_btns>0)&&((d)->btn_acts!=NULL))
+#define XkbXI_LegalDevBtn(d,b) (XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns))
+#define XkbXI_DevHasLeds(d) (((d)->num_leds>0)&&((d)->leds!=NULL))
+
+typedef struct _XkbDeviceLedChanges {
+ unsigned short led_class;
+ unsigned short led_id;
+ unsigned int defined; /* names or maps changed */
+ struct _XkbDeviceLedChanges *next;
+} XkbDeviceLedChangesRec,*XkbDeviceLedChangesPtr;
+
+typedef struct _XkbDeviceChanges {
+ unsigned int changed;
+ unsigned short first_btn;
+ unsigned short num_btns;
+ XkbDeviceLedChangesRec leds;
+} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
+
+#endif /* _XKBSTR_H_ */
diff --git a/kbproto/autogen.sh b/kbproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/kbproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/kbproto/configure.ac b/kbproto/configure.ac
new file mode 100644
index 0000000..829baea
--- /dev/null
+++ b/kbproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([KBProto], [1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ kbproto.pc])
diff --git a/kbproto/kbproto.pc.in b/kbproto/kbproto.pc.in
new file mode 100644
index 0000000..02a6d44
--- /dev/null
+++ b/kbproto/kbproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: KBProto
+Description: KB extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/lg3dproto/AUTHORS b/lg3dproto/AUTHORS
new file mode 100644
index 0000000..456f836
--- /dev/null
+++ b/lg3dproto/AUTHORS
@@ -0,0 +1 @@
+Deron Johnson, Sun Microsystems
diff --git a/lg3dproto/COPYING b/lg3dproto/COPYING
new file mode 100644
index 0000000..03b6262
--- /dev/null
+++ b/lg3dproto/COPYING
@@ -0,0 +1,22 @@
+
+Copyright (c) 2004, Sun Microsystems, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+SUN MICROSYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Sun Microsystems shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from Sun Microsystems.
diff --git a/lg3dproto/CVS/Entries b/lg3dproto/CVS/Entries
new file mode 100644
index 0000000..89000c0
--- /dev/null
+++ b/lg3dproto/CVS/Entries
@@ -0,0 +1,11 @@
+/COPYING/0/dummy timestamp//
+/ChangeLog/0/dummy timestamp//
+/Makefile.am/0/dummy timestamp//
+/aclocal.m4/0/dummy timestamp//
+/autogen.sh/0/dummy timestamp//
+/configure.ac/0/dummy timestamp//
+/install-sh/0/dummy timestamp//
+/lg3dproto.pc.in/0/dummy timestamp//
+/lgewire.h/0/dummy timestamp//
+/missing/0/dummy timestamp//
+D
diff --git a/lg3dproto/CVS/Repository b/lg3dproto/CVS/Repository
new file mode 100644
index 0000000..eaf1e5e
--- /dev/null
+++ b/lg3dproto/CVS/Repository
@@ -0,0 +1 @@
+proto/Lg3d
diff --git a/lg3dproto/CVS/Root b/lg3dproto/CVS/Root
new file mode 100644
index 0000000..bbe3733
--- /dev/null
+++ b/lg3dproto/CVS/Root
@@ -0,0 +1 @@
+:ext:deronj@cvs.freedesktop.org:/cvs/xorg
diff --git a/lg3dproto/CVS/Template b/lg3dproto/CVS/Template
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lg3dproto/CVS/Template
diff --git a/lg3dproto/INSTALL b/lg3dproto/INSTALL
new file mode 100644
index 0000000..6d0ae2d
--- /dev/null
+++ b/lg3dproto/INSTALL
@@ -0,0 +1,8 @@
+Lg3dProto is built with the traditional configure script:
+
+ $ ./configure --prefix=/usr/X11R6
+
+This should generate valid Makefiles, then:
+
+ $ make
+ $ make install
diff --git a/lg3dproto/Makefile b/lg3dproto/Makefile
new file mode 100644
index 0000000..f2e53ca
--- /dev/null
+++ b/lg3dproto/Makefile
@@ -0,0 +1,482 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+
+srcdir = .
+top_srcdir = .
+
+pkgdatadir = $(datadir)/lg3dproto
+pkglibdir = $(libdir)/lg3dproto
+pkgincludedir = $(includedir)/lg3dproto
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = /usr/bin/install -c
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(lg3d_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/lg3dproto.pc.in $(top_srcdir)/configure COPYING \
+ ChangeLog install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = lg3dproto.pc
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(lg3ddir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+lg3dHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(lg3d_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = aclocal -I /home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal
+AMTAR = ${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run tar
+AUTOCONF = ${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run automake-1.9
+AWK = gawk
+CYGPATH_W = echo
+DEFS = -DPACKAGE_NAME=\"Lg3dProto\" -DPACKAGE_TARNAME=\"lg3dproto\" -DPACKAGE_VERSION=\"5.0\" -DPACKAGE_STRING=\"Lg3dProto\ 5.0\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=xorg\" -DPACKAGE=\"lg3dproto\" -DVERSION=\"5.0\"
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LIBOBJS =
+LIBS =
+LTLIBOBJS =
+MAKEINFO = ${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run makeinfo
+PACKAGE = lg3dproto
+PACKAGE_BUGREPORT = https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+PACKAGE_NAME = Lg3dProto
+PACKAGE_STRING = Lg3dProto 5.0
+PACKAGE_TARNAME = lg3dproto
+PACKAGE_VERSION = 5.0
+PATH_SEPARATOR = :
+SET_MAKE =
+SHELL = /bin/sh
+STRIP =
+VERSION = 5.0
+ac_ct_STRIP =
+am__leading_dot = .
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build_alias =
+datadir = ${prefix}/share
+exec_prefix = ${prefix}
+host_alias =
+includedir = ${prefix}/include
+infodir = ${prefix}/info
+install_sh = /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localstatedir = ${prefix}/var
+mandir = ${prefix}/man
+mkdir_p = mkdir -p --
+oldincludedir = /usr/include
+prefix = /home/dj4236/lgn/x/xorg/cvs/head/modular
+program_transform_name = s,x,x,
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+sysconfdir = ${prefix}/etc
+target_alias =
+lg3ddir = $(includedir)/X11/extensions
+lg3d_HEADERS = lgewire.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = lg3dproto.pc
+EXTRA_DIST = autogen.sh lg3dproto.pc.in
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+lg3dproto.pc: $(top_builddir)/config.status $(srcdir)/lg3dproto.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+uninstall-info-am:
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-lg3dHEADERS: $(lg3d_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(lg3ddir)" || $(mkdir_p) "$(DESTDIR)$(lg3ddir)"
+ @list='$(lg3d_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(lg3dHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(lg3ddir)/$$f'"; \
+ $(lg3dHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(lg3ddir)/$$f"; \
+ done
+
+uninstall-lg3dHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lg3d_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(lg3ddir)/$$f'"; \
+ rm -f "$(DESTDIR)$(lg3ddir)/$$f"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ mkdir $(distdir)
+ $(mkdir_p) $(distdir)/.
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(lg3ddir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-lg3dHEADERS install-pkgconfigDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-lg3dHEADERS \
+ uninstall-pkgconfigDATA
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic ctags dist dist-all dist-bzip2 dist-gzip \
+ dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-generic distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am \
+ install-lg3dHEADERS install-man install-pkgconfigDATA \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am uninstall-lg3dHEADERS \
+ uninstall-pkgconfigDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/lg3dproto/Makefile.am b/lg3dproto/Makefile.am
new file mode 100644
index 0000000..55476bc
--- /dev/null
+++ b/lg3dproto/Makefile.am
@@ -0,0 +1,39 @@
+# Copyright (c) 2004, Sun Microsystems, Inc.
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation.
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# SUN MICROSYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of Sun Microsystems shall not be
+# used in advertising or otherwise to promote the sale, use or other dealings
+# in this Software without prior written authorization from Sun Microsystems.
+
+lg3ddir = $(includedir)/X11/extensions
+lg3d_HEADERS = lgewire.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = lg3dproto.pc
+
+EXTRA_DIST = autogen.sh lg3dproto.pc.in
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
diff --git a/lg3dproto/Makefile.in b/lg3dproto/Makefile.in
new file mode 100644
index 0000000..54c57c4
--- /dev/null
+++ b/lg3dproto/Makefile.in
@@ -0,0 +1,482 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(lg3d_HEADERS) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/lg3dproto.pc.in $(top_srcdir)/configure COPYING \
+ ChangeLog install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = lg3dproto.pc
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(lg3ddir)"
+pkgconfigDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgconfig_DATA)
+lg3dHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(lg3d_HEADERS)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+lg3ddir = $(includedir)/X11/extensions
+lg3d_HEADERS = lgewire.h
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = lg3dproto.pc
+EXTRA_DIST = autogen.sh lg3dproto.pc.in
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+lg3dproto.pc: $(top_builddir)/config.status $(srcdir)/lg3dproto.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+uninstall-info-am:
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
+ done
+install-lg3dHEADERS: $(lg3d_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(lg3ddir)" || $(mkdir_p) "$(DESTDIR)$(lg3ddir)"
+ @list='$(lg3d_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(lg3dHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(lg3ddir)/$$f'"; \
+ $(lg3dHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(lg3ddir)/$$f"; \
+ done
+
+uninstall-lg3dHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lg3d_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(lg3ddir)/$$f'"; \
+ rm -f "$(DESTDIR)$(lg3ddir)/$$f"; \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ mkdir $(distdir)
+ $(mkdir_p) $(distdir)/.
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(lg3ddir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-lg3dHEADERS install-pkgconfigDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-lg3dHEADERS \
+ uninstall-pkgconfigDATA
+
+.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
+ clean-generic ctags dist dist-all dist-bzip2 dist-gzip \
+ dist-shar dist-tarZ dist-zip distcheck distclean \
+ distclean-generic distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am \
+ install-lg3dHEADERS install-man install-pkgconfigDATA \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-info-am uninstall-lg3dHEADERS \
+ uninstall-pkgconfigDATA
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/lg3dproto/README b/lg3dproto/README
new file mode 100644
index 0000000..b88e7f1
--- /dev/null
+++ b/lg3dproto/README
@@ -0,0 +1,9 @@
+ Project Looking Glass Extension
+ Version 5.0
+ 2006-11-18
+
+This package contains header files and documentation for the
+Project Looking Glass extension.
+
+Deron Johnson
+deron.johnson@sun.com
diff --git a/lg3dproto/aclocal.m4 b/lg3dproto/aclocal.m4
new file mode 100644
index 0000000..c47ab9c
--- /dev/null
+++ b/lg3dproto/aclocal.m4
@@ -0,0 +1,585 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake. There are at least two reasons why we must not
+# use `-m 0755':
+# - it causes special bits like SGID to be ignored,
+# - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out. Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+dnl Copyright 2005 Red Hat, Inc
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation.
+dnl
+dnl The above copyright notice and this permission notice shall be included
+dnl in all copies or substantial portions of the Software.
+dnl
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+dnl OTHER DEALINGS IN THE SOFTWARE.
+dnl
+dnl Except as contained in this notice, the name of the copyright holders shall
+dnl not be used in advertising or otherwise to promote the sale, use or
+dnl other dealings in this Software without prior written authorization
+dnl from the copyright holders.
+dnl
+
+# XORG_RELEASE_VERSION
+# --------------------
+# Adds --with/without-release-string and changes the PACKAGE and
+# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If
+# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged.
+
+AC_DEFUN([XORG_RELEASE_VERSION],[
+ AC_ARG_WITH(release-version,
+ AC_HELP_STRING([--with-release-version=STRING],
+ [Use release version string in package name]),
+ [RELEASE_VERSION="$withval"],
+ [RELEASE_VERSION=""])
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ AC_MSG_NOTICE([Building with package name set to $PACKAGE])
+ fi
+])
+
diff --git a/lg3dproto/autogen.sh b/lg3dproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/lg3dproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/lg3dproto/autom4te.cache/output.0 b/lg3dproto/autom4te.cache/output.0
new file mode 100644
index 0000000..fc4cac3
--- /dev/null
+++ b/lg3dproto/autom4te.cache/output.0
@@ -0,0 +1,2612 @@
+@%:@! /bin/sh
+@%:@ Guess values for system-dependent variables and create Makefiles.
+@%:@ Generated by GNU Autoconf 2.59 for Lg3dProto 5.0.
+@%:@
+@%:@ Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+@%:@
+@%:@ Copyright (C) 2003 Free Software Foundation, Inc.
+@%:@ This configure script is free software; the Free Software Foundation
+@%:@ gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='Lg3dProto'
+PACKAGE_TARNAME='lg3dproto'
+PACKAGE_VERSION='5.0'
+PACKAGE_STRING='Lg3dProto 5.0'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot LIB@&t@OBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures Lg3dProto 5.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of Lg3dProto 5.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+Lg3dProto configure 5.0
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+@%:@@%:@ --------- @%:@@%:@
+@%:@@%:@ Platform. @%:@@%:@
+@%:@@%:@ --------- @%:@@%:@
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ Core tests. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ---------------- @%:@@%:@
+@%:@@%:@ Cache variables. @%:@@%:@
+@%:@@%:@ ---------------- @%:@@%:@
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ----------------- @%:@@%:@
+@%:@@%:@ Output variables. @%:@@%:@
+@%:@@%:@ ----------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+@%:@@%:@ ------------- @%:@@%:@
+@%:@@%:@ Output files. @%:@@%:@
+@%:@@%:@ ------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ confdefs.h. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.8"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # Keeping the `.' argument allows $(mkdir_p) to be used without
+ # argument. Indeed, we sometimes output rules like
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined.
+ # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more
+ # expensive solution, as it forces Make to start a sub-shell.)
+ mkdir_p='mkdir -p -- .'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='lg3dproto'
+ VERSION='5.0'
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+
+
+
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile lg3dproto.pc"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIB@&t@OBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
+@%:@@%:@ Running $as_me. @%:@@%:@
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+Lg3dProto config.status 5.0
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lg3dproto.pc" ) CONFIG_FILES="$CONFIG_FILES lg3dproto.pc" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/lg3dproto/autom4te.cache/output.1 b/lg3dproto/autom4te.cache/output.1
new file mode 100644
index 0000000..4fc58a0
--- /dev/null
+++ b/lg3dproto/autom4te.cache/output.1
@@ -0,0 +1,2626 @@
+@%:@! /bin/sh
+@%:@ Guess values for system-dependent variables and create Makefiles.
+@%:@ Generated by GNU Autoconf 2.59 for Lg3dProto 5.0.
+@%:@
+@%:@ Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+@%:@
+@%:@ Copyright (C) 2003 Free Software Foundation, Inc.
+@%:@ This configure script is free software; the Free Software Foundation
+@%:@ gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='Lg3dProto'
+PACKAGE_TARNAME='lg3dproto'
+PACKAGE_VERSION='5.0'
+PACKAGE_STRING='Lg3dProto 5.0'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar LIB@&t@OBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures Lg3dProto 5.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of Lg3dProto 5.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+Lg3dProto configure 5.0
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+@%:@@%:@ --------- @%:@@%:@
+@%:@@%:@ Platform. @%:@@%:@
+@%:@@%:@ --------- @%:@@%:@
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ Core tests. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ---------------- @%:@@%:@
+@%:@@%:@ Cache variables. @%:@@%:@
+@%:@@%:@ ---------------- @%:@@%:@
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ----------------- @%:@@%:@
+@%:@@%:@ Output variables. @%:@@%:@
+@%:@@%:@ ----------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+@%:@@%:@ ------------- @%:@@%:@
+@%:@@%:@ Output files. @%:@@%:@
+@%:@@%:@ ------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ confdefs.h. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='lg3dproto'
+ VERSION='5.0'
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile lg3dproto.pc"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIB@&t@OBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
+@%:@@%:@ Running $as_me. @%:@@%:@
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+Lg3dProto config.status 5.0
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lg3dproto.pc" ) CONFIG_FILES="$CONFIG_FILES lg3dproto.pc" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
+s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/lg3dproto/autom4te.cache/output.2 b/lg3dproto/autom4te.cache/output.2
new file mode 100644
index 0000000..4fc58a0
--- /dev/null
+++ b/lg3dproto/autom4te.cache/output.2
@@ -0,0 +1,2626 @@
+@%:@! /bin/sh
+@%:@ Guess values for system-dependent variables and create Makefiles.
+@%:@ Generated by GNU Autoconf 2.59 for Lg3dProto 5.0.
+@%:@
+@%:@ Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+@%:@
+@%:@ Copyright (C) 2003 Free Software Foundation, Inc.
+@%:@ This configure script is free software; the Free Software Foundation
+@%:@ gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='Lg3dProto'
+PACKAGE_TARNAME='lg3dproto'
+PACKAGE_VERSION='5.0'
+PACKAGE_STRING='Lg3dProto 5.0'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar LIB@&t@OBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures Lg3dProto 5.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of Lg3dProto 5.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+Lg3dProto configure 5.0
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+@%:@@%:@ --------- @%:@@%:@
+@%:@@%:@ Platform. @%:@@%:@
+@%:@@%:@ --------- @%:@@%:@
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ Core tests. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ---------------- @%:@@%:@
+@%:@@%:@ Cache variables. @%:@@%:@
+@%:@@%:@ ---------------- @%:@@%:@
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+@%:@@%:@ ----------------- @%:@@%:@
+@%:@@%:@ Output variables. @%:@@%:@
+@%:@@%:@ ----------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+@%:@@%:@ ------------- @%:@@%:@
+@%:@@%:@ Output files. @%:@@%:@
+@%:@@%:@ ------------- @%:@@%:@
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ confdefs.h. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='lg3dproto'
+ VERSION='5.0'
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile lg3dproto.pc"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIB@&t@OBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
+@%:@@%:@ Running $as_me. @%:@@%:@
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+Lg3dProto config.status 5.0
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lg3dproto.pc" ) CONFIG_FILES="$CONFIG_FILES lg3dproto.pc" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
+s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/lg3dproto/autom4te.cache/requests b/lg3dproto/autom4te.cache/requests
new file mode 100644
index 0000000..afce260
--- /dev/null
+++ b/lg3dproto/autom4te.cache/requests
@@ -0,0 +1,418 @@
+# This file was generated.
+# It contains the lists of macros which have been traced.
+# It can be safely removed.
+
+@request = (
+ bless( [
+ '0',
+ 1,
+ [
+ '/usr/share/autoconf'
+ ],
+ [
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
+ '/usr/share/aclocal-1.8/amversion.m4',
+ '/usr/share/aclocal-1.8/auxdir.m4',
+ '/usr/share/aclocal-1.8/cond.m4',
+ '/usr/share/aclocal-1.8/depend.m4',
+ '/usr/share/aclocal-1.8/depout.m4',
+ '/usr/share/aclocal-1.8/init.m4',
+ '/usr/share/aclocal-1.8/install-sh.m4',
+ '/usr/share/aclocal-1.8/lead-dot.m4',
+ '/usr/share/aclocal-1.8/make.m4',
+ '/usr/share/aclocal-1.8/missing.m4',
+ '/usr/share/aclocal-1.8/mkdirp.m4',
+ '/usr/share/aclocal-1.8/options.m4',
+ '/usr/share/aclocal-1.8/sanity.m4',
+ '/usr/share/aclocal-1.8/strip.m4',
+ '/home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal/xorgversion.m4',
+ 'configure.ac'
+ ],
+ {
+ 'm4_pattern_forbid' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_C_VOLATILE' => 1,
+ 'AC_TYPE_OFF_T' => 1,
+ 'AC_FUNC_CLOSEDIR_VOID' => 1,
+ 'AC_REPLACE_FNMATCH' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
+ 'AC_FUNC_STAT' => 1,
+ 'AC_FUNC_WAIT3' => 1,
+ 'AC_HEADER_TIME' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_FUNC_LSTAT' => 1,
+ 'AC_STRUCT_TM' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'AC_FUNC_GETMNTENT' => 1,
+ 'AC_TYPE_MODE_T' => 1,
+ 'AC_CHECK_HEADERS' => 1,
+ 'AC_FUNC_STRTOD' => 1,
+ 'AM_MISSING_PROG' => 1,
+ 'AC_FUNC_STRNLEN' => 1,
+ 'm4_sinclude' => 1,
+ 'AC_PROG_CXX' => 1,
+ 'AC_PATH_X' => 1,
+ 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+ 'AM_PROG_INSTALL_STRIP' => 1,
+ 'AC_PROG_AWK' => 1,
+ '_m4_warn' => 1,
+ 'XORG_RELEASE_VERSION' => 1,
+ 'AC_HEADER_STDC' => 1,
+ 'AC_HEADER_MAJOR' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ 'AC_FUNC_ERROR_AT_LINE' => 1,
+ 'AC_PROG_GCC_TRADITIONAL' => 1,
+ 'AM_DEP_TRACK' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AC_FUNC_MBRTOWC' => 1,
+ 'AC_STRUCT_ST_BLOCKS' => 1,
+ 'AC_TYPE_SIGNAL' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AC_TYPE_UID_T' => 1,
+ 'AC_PROG_MAKE_SET' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'm4_pattern_allow' => 1,
+ 'sinclude' => 1,
+ 'AM_SET_LEADING_DOT' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ '_AM_DEPENDENCIES' => 1,
+ 'AC_FUNC_STRERROR_R' => 1,
+ 'AC_PROG_CC' => 1,
+ 'AC_DECL_SYS_SIGLIST' => 1,
+ 'AC_FUNC_FORK' => 1,
+ 'AC_FUNC_STRCOLL' => 1,
+ 'AC_FUNC_VPRINTF' => 1,
+ 'AC_PROG_YACC' => 1,
+ 'AC_INIT' => 1,
+ 'AC_STRUCT_TIMEZONE' => 1,
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ 'AC_FUNC_CHOWN' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_FUNC_ALLOCA' => 1,
+ '_AM_SET_OPTION' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'AC_FUNC_GETPGRP' => 1,
+ 'AC_PROG_RANLIB' => 1,
+ 'AC_FUNC_SETPGRP' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'AC_FUNC_MMAP' => 1,
+ 'AC_FUNC_REALLOC' => 1,
+ 'AC_TYPE_SIZE_T' => 1,
+ 'AC_CHECK_TYPES' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ 'AC_CHECK_MEMBERS' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AC_FUNC_UTIME_NULL' => 1,
+ 'AC_FUNC_SELECT_ARGTYPES' => 1,
+ 'AC_FUNC_STRFTIME' => 1,
+ 'AC_HEADER_STAT' => 1,
+ 'AC_C_INLINE' => 1,
+ 'AC_PROG_CPP' => 1,
+ 'AC_C_CONST' => 1,
+ 'AC_PROG_LEX' => 1,
+ 'AC_TYPE_PID_T' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'include' => 1,
+ 'AC_FUNC_SETVBUF_REVERSED' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'AC_PROG_INSTALL' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_FUNC_OBSTACK' => 1,
+ 'AC_CHECK_LIB' => 1,
+ 'AC_FUNC_MALLOC' => 1,
+ '_AM_SET_OPTIONS' => 1,
+ 'AC_FUNC_GETGROUPS' => 1,
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ 'AC_FUNC_GETLOADAVG' => 1,
+ 'AH_OUTPUT' => 1,
+ 'AC_FUNC_FSEEKO' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ 'AC_FUNC_MKTIME' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AM_SET_DEPDIR' => 1,
+ 'AC_HEADER_SYS_WAIT' => 1,
+ 'AC_FUNC_MEMCMP' => 1,
+ 'AC_PROG_LN_S' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ 'm4_include' => 1,
+ 'AC_HEADER_DIRENT' => 1,
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ 'AC_CHECK_FUNCS' => 1,
+ 'AM_MAKE_INCLUDE' => 1
+ }
+ ], 'Autom4te::Request' ),
+ bless( [
+ '1',
+ 1,
+ [
+ '/usr/share/autoconf'
+ ],
+ [
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
+ 'aclocal.m4',
+ 'configure.ac'
+ ],
+ {
+ '_LT_AC_TAGCONFIG' => 1,
+ 'm4_pattern_forbid' => 1,
+ 'AC_CANONICAL_TARGET' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_TYPE_OFF_T' => 1,
+ 'AC_C_VOLATILE' => 1,
+ 'AC_FUNC_CLOSEDIR_VOID' => 1,
+ 'AC_REPLACE_FNMATCH' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AC_FUNC_STAT' => 1,
+ 'AC_HEADER_TIME' => 1,
+ 'AC_FUNC_WAIT3' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_STRUCT_TM' => 1,
+ 'AC_FUNC_LSTAT' => 1,
+ 'AC_TYPE_MODE_T' => 1,
+ 'AC_FUNC_GETMNTENT' => 1,
+ 'AC_FUNC_STRTOD' => 1,
+ 'AC_CHECK_HEADERS' => 1,
+ 'AC_FUNC_STRNLEN' => 1,
+ 'm4_sinclude' => 1,
+ 'AC_PROG_CXX' => 1,
+ 'AC_PATH_X' => 1,
+ 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+ 'AC_PROG_AWK' => 1,
+ '_m4_warn' => 1,
+ 'AC_HEADER_STDC' => 1,
+ 'AC_HEADER_MAJOR' => 1,
+ 'AC_FUNC_ERROR_AT_LINE' => 1,
+ 'AC_PROG_GCC_TRADITIONAL' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AC_FUNC_MBRTOWC' => 1,
+ 'AC_STRUCT_ST_BLOCKS' => 1,
+ 'AC_CANONICAL_BUILD' => 1,
+ 'AC_TYPE_SIGNAL' => 1,
+ 'AC_TYPE_UID_T' => 1,
+ 'AC_PROG_MAKE_SET' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'sinclude' => 1,
+ 'm4_pattern_allow' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ 'AC_FUNC_STRERROR_R' => 1,
+ 'AC_PROG_CC' => 1,
+ 'AC_DECL_SYS_SIGLIST' => 1,
+ 'AC_FUNC_FORK' => 1,
+ 'AC_FUNC_VPRINTF' => 1,
+ 'AC_FUNC_STRCOLL' => 1,
+ 'AC_PROG_YACC' => 1,
+ 'AC_LIBLTDL_CONVENIENCE' => 1,
+ 'AC_STRUCT_TIMEZONE' => 1,
+ 'AC_INIT' => 1,
+ 'AC_LIBLTDL_INSTALLABLE' => 1,
+ 'AC_FUNC_CHOWN' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_FUNC_ALLOCA' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'AC_FUNC_GETPGRP' => 1,
+ 'AC_PROG_RANLIB' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_FUNC_SETPGRP' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'AC_FUNC_MMAP' => 1,
+ 'AC_FUNC_REALLOC' => 1,
+ 'AC_TYPE_SIZE_T' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'AC_CHECK_TYPES' => 1,
+ 'LT_SUPPORTED_TAG' => 1,
+ 'AC_CHECK_MEMBERS' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AC_FUNC_UTIME_NULL' => 1,
+ 'AC_FUNC_SELECT_ARGTYPES' => 1,
+ 'AC_FUNC_STRFTIME' => 1,
+ 'AC_HEADER_STAT' => 1,
+ 'AC_C_INLINE' => 1,
+ 'AC_PROG_CPP' => 1,
+ 'AM_ENABLE_MULTILIB' => 1,
+ 'AC_TYPE_PID_T' => 1,
+ 'AC_PROG_LEX' => 1,
+ 'AC_C_CONST' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'include' => 1,
+ 'AC_FUNC_SETVBUF_REVERSED' => 1,
+ 'AC_PROG_INSTALL' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_CHECK_LIB' => 1,
+ 'AC_FUNC_OBSTACK' => 1,
+ 'AC_FUNC_MALLOC' => 1,
+ 'AC_FUNC_GETGROUPS' => 1,
+ 'AC_FUNC_GETLOADAVG' => 1,
+ 'AH_OUTPUT' => 1,
+ 'AC_FUNC_FSEEKO' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_FUNC_MKTIME' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AC_HEADER_SYS_WAIT' => 1,
+ 'AC_PROG_LN_S' => 1,
+ 'AC_FUNC_MEMCMP' => 1,
+ 'm4_include' => 1,
+ 'AC_HEADER_DIRENT' => 1,
+ 'AC_CHECK_FUNCS' => 1
+ }
+ ], 'Autom4te::Request' ),
+ bless( [
+ '2',
+ 1,
+ [
+ '/usr/share/autoconf'
+ ],
+ [
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
+ '/usr/share/aclocal-1.9/amversion.m4',
+ '/usr/share/aclocal-1.9/auxdir.m4',
+ '/usr/share/aclocal-1.9/cond.m4',
+ '/usr/share/aclocal-1.9/depend.m4',
+ '/usr/share/aclocal-1.9/depout.m4',
+ '/usr/share/aclocal-1.9/init.m4',
+ '/usr/share/aclocal-1.9/install-sh.m4',
+ '/usr/share/aclocal-1.9/lead-dot.m4',
+ '/usr/share/aclocal-1.9/make.m4',
+ '/usr/share/aclocal-1.9/missing.m4',
+ '/usr/share/aclocal-1.9/mkdirp.m4',
+ '/usr/share/aclocal-1.9/options.m4',
+ '/usr/share/aclocal-1.9/runlog.m4',
+ '/usr/share/aclocal-1.9/sanity.m4',
+ '/usr/share/aclocal-1.9/strip.m4',
+ '/usr/share/aclocal-1.9/tar.m4',
+ '/home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal/xorgversion.m4',
+ 'configure.ac'
+ ],
+ {
+ 'm4_pattern_forbid' => 1,
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
+ 'AC_C_VOLATILE' => 1,
+ 'AC_TYPE_OFF_T' => 1,
+ 'AC_FUNC_CLOSEDIR_VOID' => 1,
+ 'AC_REPLACE_FNMATCH' => 1,
+ 'AC_DEFUN' => 1,
+ 'AC_PROG_LIBTOOL' => 1,
+ 'AM_PROG_MKDIR_P' => 1,
+ 'AC_FUNC_STAT' => 1,
+ 'AC_FUNC_WAIT3' => 1,
+ 'AC_HEADER_TIME' => 1,
+ 'AM_AUTOMAKE_VERSION' => 1,
+ 'AC_FUNC_LSTAT' => 1,
+ 'AC_STRUCT_TM' => 1,
+ 'AM_MISSING_HAS_RUN' => 1,
+ 'AC_FUNC_GETMNTENT' => 1,
+ 'AC_TYPE_MODE_T' => 1,
+ 'AC_CHECK_HEADERS' => 1,
+ 'AC_FUNC_STRTOD' => 1,
+ 'AM_MISSING_PROG' => 1,
+ 'AC_FUNC_STRNLEN' => 1,
+ 'm4_sinclude' => 1,
+ 'AC_PROG_CXX' => 1,
+ 'AC_PATH_X' => 1,
+ 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
+ 'AM_PROG_INSTALL_STRIP' => 1,
+ 'AC_PROG_AWK' => 1,
+ '_m4_warn' => 1,
+ 'XORG_RELEASE_VERSION' => 1,
+ 'AC_HEADER_STDC' => 1,
+ 'AC_HEADER_MAJOR' => 1,
+ 'AM_SANITY_CHECK' => 1,
+ '_AM_PROG_TAR' => 1,
+ 'AC_FUNC_ERROR_AT_LINE' => 1,
+ 'AC_PROG_GCC_TRADITIONAL' => 1,
+ 'AM_DEP_TRACK' => 1,
+ 'AC_LIBSOURCE' => 1,
+ 'AC_FUNC_MBRTOWC' => 1,
+ 'AC_STRUCT_ST_BLOCKS' => 1,
+ 'AC_TYPE_SIGNAL' => 1,
+ '_AM_IF_OPTION' => 1,
+ 'AC_TYPE_UID_T' => 1,
+ 'AC_PROG_MAKE_SET' => 1,
+ 'AC_CONFIG_AUX_DIR' => 1,
+ 'm4_pattern_allow' => 1,
+ 'sinclude' => 1,
+ 'AM_SET_LEADING_DOT' => 1,
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
+ '_AM_DEPENDENCIES' => 1,
+ 'AC_FUNC_STRERROR_R' => 1,
+ 'AC_PROG_CC' => 1,
+ 'AC_DECL_SYS_SIGLIST' => 1,
+ 'AC_FUNC_FORK' => 1,
+ 'AU_DEFUN' => 1,
+ 'AC_FUNC_STRCOLL' => 1,
+ 'AC_FUNC_VPRINTF' => 1,
+ 'AC_PROG_YACC' => 1,
+ 'AC_INIT' => 1,
+ 'AC_STRUCT_TIMEZONE' => 1,
+ 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+ 'AC_FUNC_CHOWN' => 1,
+ 'AC_SUBST' => 1,
+ 'AC_FUNC_ALLOCA' => 1,
+ '_AM_SET_OPTION' => 1,
+ 'AC_FUNC_GETPGRP' => 1,
+ 'AC_CANONICAL_HOST' => 1,
+ 'AC_PROG_RANLIB' => 1,
+ 'AC_FUNC_SETPGRP' => 1,
+ 'AM_INIT_AUTOMAKE' => 1,
+ 'AC_CONFIG_SUBDIRS' => 1,
+ 'AC_FUNC_MMAP' => 1,
+ 'AC_FUNC_REALLOC' => 1,
+ 'AC_TYPE_SIZE_T' => 1,
+ 'AC_CHECK_TYPES' => 1,
+ 'AC_CONFIG_LINKS' => 1,
+ 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ 'AC_CHECK_MEMBERS' => 1,
+ 'AM_MAINTAINER_MODE' => 1,
+ 'AC_DEFUN_ONCE' => 1,
+ 'AC_FUNC_UTIME_NULL' => 1,
+ 'AC_FUNC_SELECT_ARGTYPES' => 1,
+ 'AC_FUNC_STRFTIME' => 1,
+ 'AC_HEADER_STAT' => 1,
+ 'AC_C_INLINE' => 1,
+ 'AC_PROG_CPP' => 1,
+ 'AC_C_CONST' => 1,
+ 'AC_PROG_LEX' => 1,
+ 'AC_TYPE_PID_T' => 1,
+ 'AC_CONFIG_FILES' => 1,
+ 'include' => 1,
+ 'AC_FUNC_SETVBUF_REVERSED' => 1,
+ 'AM_AUX_DIR_EXPAND' => 1,
+ 'AC_PROG_INSTALL' => 1,
+ 'AM_GNU_GETTEXT' => 1,
+ 'AC_FUNC_OBSTACK' => 1,
+ 'AC_CHECK_LIB' => 1,
+ 'AC_FUNC_MALLOC' => 1,
+ '_AM_SET_OPTIONS' => 1,
+ 'AC_FUNC_GETGROUPS' => 1,
+ 'AM_RUN_LOG' => 1,
+ '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+ 'AC_FUNC_GETLOADAVG' => 1,
+ 'AH_OUTPUT' => 1,
+ 'AC_FUNC_FSEEKO' => 1,
+ 'AM_PROG_CC_C_O' => 1,
+ '_AM_MANGLE_OPTION' => 1,
+ 'AC_FUNC_MKTIME' => 1,
+ 'AM_CONDITIONAL' => 1,
+ 'AC_CANONICAL_SYSTEM' => 1,
+ 'AC_CONFIG_HEADERS' => 1,
+ 'AM_SET_DEPDIR' => 1,
+ 'AC_HEADER_SYS_WAIT' => 1,
+ 'AC_FUNC_MEMCMP' => 1,
+ 'AC_PROG_LN_S' => 1,
+ 'AM_PROG_INSTALL_SH' => 1,
+ 'm4_include' => 1,
+ 'AC_HEADER_DIRENT' => 1,
+ '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+ 'AC_CHECK_FUNCS' => 1,
+ 'AM_MAKE_INCLUDE' => 1
+ }
+ ], 'Autom4te::Request' )
+ );
+
diff --git a/lg3dproto/autom4te.cache/traces.0 b/lg3dproto/autom4te.cache/traces.0
new file mode 100644
index 0000000..24a0b33
--- /dev/null
+++ b/lg3dproto/autom4te.cache/traces.0
@@ -0,0 +1,128 @@
+m4trace:configure.ac:2: -1- AC_INIT([Lg3dProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.ac:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${prefix}/share'])
+m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${prefix}/info'])
+m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${prefix}/man'])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
+m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
+m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([foreign dist-bzip2])
+m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
+m4trace:configure.ac:3: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
+m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.8.3])
+m4trace:configure.ac:3: -1- AC_PROG_INSTALL
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.ac:3: -1- AC_SUBST([CYGPATH_W])
+m4trace:configure.ac:3: -1- _AM_SET_OPTIONS([foreign dist-bzip2])
+m4trace:configure.ac:3: -1- _AM_SET_OPTION([foreign])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([foreign])
+m4trace:configure.ac:3: -1- _AM_SET_OPTION([dist-bzip2])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([dist-bzip2])
+m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
+m4trace:configure.ac:3: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-define])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
+m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
+#undef PACKAGE])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
+m4trace:configure.ac:3: -1- AH_OUTPUT([VERSION], [/* Version number of package */
+#undef VERSION])
+m4trace:configure.ac:3: -1- AM_SANITY_CHECK
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+m4trace:configure.ac:3: -1- AM_MISSING_HAS_RUN
+m4trace:configure.ac:3: -1- AM_AUX_DIR_EXPAND
+m4trace:configure.ac:3: -1- AC_SUBST([ACLOCAL])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOCONF])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOMAKE])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOHEADER])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
+m4trace:configure.ac:3: -1- AC_SUBST([MAKEINFO])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AMTAR], [tar])
+m4trace:configure.ac:3: -1- AC_SUBST([AMTAR])
+m4trace:configure.ac:3: -1- AM_PROG_INSTALL_SH
+m4trace:configure.ac:3: -1- AC_SUBST([install_sh])
+m4trace:configure.ac:3: -1- AM_PROG_INSTALL_STRIP
+m4trace:configure.ac:3: -1- AC_SUBST([STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([ac_ct_STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
+m4trace:configure.ac:3: -1- AM_PROG_MKDIR_P
+m4trace:configure.ac:3: -1- AC_SUBST([mkdir_p])
+m4trace:configure.ac:3: -1- AC_PROG_AWK
+m4trace:configure.ac:3: -1- AC_SUBST([AWK])
+m4trace:configure.ac:3: -1- AC_PROG_MAKE_SET
+m4trace:configure.ac:3: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.ac:3: -1- AM_SET_LEADING_DOT
+m4trace:configure.ac:3: -1- AC_SUBST([am__leading_dot])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-dependencies])
+m4trace:configure.ac:5: -1- XORG_RELEASE_VERSION
+m4trace:configure.ac:5: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [/usr/src/packages/BUILD/autoconf-2.59/tests/../lib/autoconf/general.m4:219: AC_HELP_STRING is expanded from...
+/home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal/xorgversion.m4:43: XORG_RELEASE_VERSION is expanded from...
+configure.ac:5: the top level])
+m4trace:configure.ac:8: -1- AC_CONFIG_FILES([Makefile
+ lg3dproto.pc])
+m4trace:configure.ac:8: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+You should run autoupdate.], [])
+m4trace:configure.ac:8: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:8: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
diff --git a/lg3dproto/autom4te.cache/traces.1 b/lg3dproto/autom4te.cache/traces.1
new file mode 100644
index 0000000..b0bdd1c
--- /dev/null
+++ b/lg3dproto/autom4te.cache/traces.1
@@ -0,0 +1,97 @@
+m4trace:configure.ac:2: -1- AC_INIT([Lg3dProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.ac:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${prefix}/share'])
+m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${prefix}/info'])
+m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${prefix}/man'])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
+m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
+m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([foreign dist-bzip2])
+m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
+m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.9.6])
+m4trace:configure.ac:3: -1- AC_PROG_INSTALL
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.ac:3: -1- AC_SUBST([CYGPATH_W])
+m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
+m4trace:configure.ac:3: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
+m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
+#undef PACKAGE])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
+m4trace:configure.ac:3: -1- AH_OUTPUT([VERSION], [/* Version number of package */
+#undef VERSION])
+m4trace:configure.ac:3: -1- AC_SUBST([ACLOCAL])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOCONF])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOMAKE])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOHEADER])
+m4trace:configure.ac:3: -1- AC_SUBST([MAKEINFO])
+m4trace:configure.ac:3: -1- AC_SUBST([install_sh])
+m4trace:configure.ac:3: -1- AC_SUBST([STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([ac_ct_STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
+m4trace:configure.ac:3: -1- AC_SUBST([mkdir_p])
+m4trace:configure.ac:3: -1- AC_PROG_AWK
+m4trace:configure.ac:3: -1- AC_SUBST([AWK])
+m4trace:configure.ac:3: -1- AC_PROG_MAKE_SET
+m4trace:configure.ac:3: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.ac:3: -1- AC_SUBST([am__leading_dot])
+m4trace:configure.ac:3: -1- AC_SUBST([AMTAR])
+m4trace:configure.ac:3: -1- AC_SUBST([am__tar])
+m4trace:configure.ac:3: -1- AC_SUBST([am__untar])
+m4trace:configure.ac:5: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
+aclocal.m4:584: XORG_RELEASE_VERSION is expanded from...
+configure.ac:5: the top level])
+m4trace:configure.ac:8: -1- AC_CONFIG_FILES([Makefile
+ lg3dproto.pc])
+m4trace:configure.ac:8: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+You should run autoupdate.], [])
+m4trace:configure.ac:8: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:8: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
diff --git a/lg3dproto/autom4te.cache/traces.2 b/lg3dproto/autom4te.cache/traces.2
new file mode 100644
index 0000000..d88ce08
--- /dev/null
+++ b/lg3dproto/autom4te.cache/traces.2
@@ -0,0 +1,630 @@
+m4trace:/usr/share/aclocal-1.9/amversion.m4:13: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+m4trace:/usr/share/aclocal-1.9/amversion.m4:20: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.9.6])])
+m4trace:/usr/share/aclocal-1.9/auxdir.m4:52: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+m4trace:/usr/share/aclocal-1.9/cond.m4:32: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+m4trace:/usr/share/aclocal-1.9/depend.m4:131: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+m4trace:/usr/share/aclocal-1.9/depend.m4:141: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+m4trace:/usr/share/aclocal-1.9/depend.m4:156: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+m4trace:/usr/share/aclocal-1.9/depout.m4:53: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])
+m4trace:/usr/share/aclocal-1.9/depout.m4:67: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+m4trace:/usr/share/aclocal-1.9/init.m4:92: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+m4trace:/usr/share/aclocal-1.9/init.m4:113: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+m4trace:/usr/share/aclocal-1.9/install-sh.m4:14: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+m4trace:/usr/share/aclocal-1.9/lead-dot.m4:21: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+m4trace:/usr/share/aclocal-1.9/make.m4:51: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+m4trace:/usr/share/aclocal-1.9/missing.m4:17: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+m4trace:/usr/share/aclocal-1.9/missing.m4:34: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+m4trace:/usr/share/aclocal-1.9/mkdirp.m4:63: -1- AC_DEFUN([AM_PROG_MKDIR_P], [if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
+m4trace:/usr/share/aclocal-1.9/options.m4:14: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+m4trace:/usr/share/aclocal-1.9/options.m4:20: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+m4trace:/usr/share/aclocal-1.9/options.m4:26: -1- AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+m4trace:/usr/share/aclocal-1.9/options.m4:32: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+m4trace:/usr/share/aclocal-1.9/runlog.m4:17: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+m4trace:/usr/share/aclocal-1.9/sanity.m4:51: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+m4trace:/usr/share/aclocal-1.9/strip.m4:28: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+m4trace:/usr/share/aclocal-1.9/tar.m4:95: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+])
+m4trace:/home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal/xorgversion.m4:43: -1- AC_DEFUN([XORG_RELEASE_VERSION], [
+ AC_ARG_WITH(release-version,
+ AC_HELP_STRING([--with-release-version=STRING],
+ [Use release version string in package name]),
+ [RELEASE_VERSION="$withval"],
+ [RELEASE_VERSION=""])
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ AC_MSG_NOTICE([Building with package name set to $PACKAGE])
+ fi
+])
+m4trace:configure.ac:2: -1- AC_INIT([Lg3dProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.ac:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
+m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${prefix}/share'])
+m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${prefix}/info'])
+m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${prefix}/man'])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.ac:2: -1- AC_SUBST([build_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([host_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([target_alias])
+m4trace:configure.ac:2: -1- AC_SUBST([DEFS])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N])
+m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T])
+m4trace:configure.ac:2: -1- AC_SUBST([LIBS])
+m4trace:configure.ac:3: -1- AM_INIT_AUTOMAKE([foreign dist-bzip2])
+m4trace:configure.ac:3: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
+m4trace:configure.ac:3: -1- AM_SET_CURRENT_AUTOMAKE_VERSION
+m4trace:configure.ac:3: -1- AM_AUTOMAKE_VERSION([1.9.6])
+m4trace:configure.ac:3: -1- AC_PROG_INSTALL
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_PROGRAM])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_SCRIPT])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_DATA])
+m4trace:configure.ac:3: -1- AC_SUBST([CYGPATH_W])
+m4trace:configure.ac:3: -1- _AM_SET_OPTIONS([foreign dist-bzip2])
+m4trace:configure.ac:3: -1- _AM_SET_OPTION([foreign])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([foreign])
+m4trace:configure.ac:3: -1- _AM_SET_OPTION([dist-bzip2])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([dist-bzip2])
+m4trace:configure.ac:3: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
+m4trace:configure.ac:3: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-define])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
+m4trace:configure.ac:3: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
+#undef PACKAGE])
+m4trace:configure.ac:3: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
+m4trace:configure.ac:3: -1- AH_OUTPUT([VERSION], [/* Version number of package */
+#undef VERSION])
+m4trace:configure.ac:3: -1- AM_SANITY_CHECK
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+m4trace:configure.ac:3: -1- AM_MISSING_HAS_RUN
+m4trace:configure.ac:3: -1- AM_AUX_DIR_EXPAND
+m4trace:configure.ac:3: -1- AC_SUBST([ACLOCAL])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOCONF], [autoconf])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOCONF])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOMAKE])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader])
+m4trace:configure.ac:3: -1- AC_SUBST([AUTOHEADER])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo])
+m4trace:configure.ac:3: -1- AC_SUBST([MAKEINFO])
+m4trace:configure.ac:3: -1- AM_PROG_INSTALL_SH
+m4trace:configure.ac:3: -1- AC_SUBST([install_sh])
+m4trace:configure.ac:3: -1- AM_PROG_INSTALL_STRIP
+m4trace:configure.ac:3: -1- AC_SUBST([STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([ac_ct_STRIP])
+m4trace:configure.ac:3: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
+m4trace:configure.ac:3: -1- AM_PROG_MKDIR_P
+m4trace:configure.ac:3: -1- AC_SUBST([mkdir_p])
+m4trace:configure.ac:3: -1- AC_PROG_AWK
+m4trace:configure.ac:3: -1- AC_SUBST([AWK])
+m4trace:configure.ac:3: -1- AC_PROG_MAKE_SET
+m4trace:configure.ac:3: -1- AC_SUBST([SET_MAKE])
+m4trace:configure.ac:3: -1- AM_SET_LEADING_DOT
+m4trace:configure.ac:3: -1- AC_SUBST([am__leading_dot])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([tar-ustar])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([tar-pax])
+m4trace:configure.ac:3: -1- _AM_PROG_TAR([v7])
+m4trace:configure.ac:3: -1- AM_MISSING_PROG([AMTAR], [tar])
+m4trace:configure.ac:3: -1- AC_SUBST([AMTAR])
+m4trace:configure.ac:3: -1- AC_SUBST([am__tar])
+m4trace:configure.ac:3: -1- AC_SUBST([am__untar])
+m4trace:configure.ac:3: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+m4trace:configure.ac:3: -2- _AM_MANGLE_OPTION([no-dependencies])
+m4trace:configure.ac:5: -1- XORG_RELEASE_VERSION
+m4trace:configure.ac:5: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
+You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
+/home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal/xorgversion.m4:43: XORG_RELEASE_VERSION is expanded from...
+configure.ac:5: the top level])
+m4trace:configure.ac:8: -1- AC_CONFIG_FILES([Makefile
+ lg3dproto.pc])
+m4trace:configure.ac:8: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+You should run autoupdate.], [])
+m4trace:configure.ac:8: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
+m4trace:configure.ac:8: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
diff --git a/lg3dproto/config.log b/lg3dproto/config.log
new file mode 100644
index 0000000..753e3e3
--- /dev/null
+++ b/lg3dproto/config.log
@@ -0,0 +1,169 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by Lg3dProto configure 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ ./configure --enable-maintainer-mode --prefix=/home/dj4236/lgn/x/xorg/cvs/head/modular
+
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = d-nwk12-125-124
+uname -m = x86_64
+uname -r = 2.6.17-1.2145_FC5
+uname -s = Linux
+uname -v = #1 SMP Sat Jul 1 13:05:01 EDT 2006
+
+/usr/bin/uname -p = unknown
+/bin/uname -X = unknown
+
+/bin/arch = x86_64
+/usr/bin/arch -k = unknown
+/usr/convex/getsysinfo = unknown
+hostinfo = unknown
+/bin/machine = unknown
+/usr/bin/oslevel = unknown
+/bin/universe = unknown
+
+PATH: /home/dj4236/lgn/x/xorg/cvs/head/modular/bin
+PATH: /home/dj4236/lgn/x/xorg/cvs/head/modular/bin
+PATH: /usr/staroffice7/program
+PATH: .
+PATH: /home/dj4236/jdks/amd64/jdk1.6.0/bin
+PATH: /home/dj4236/bin/i386
+PATH: /home/dj4236/bin
+PATH: /home/dj4236/ant/bin
+PATH: /home/dj4236/firefox
+PATH: /usr/local/bin
+PATH: /bin
+PATH: /usr/bin
+PATH: /etc
+PATH: /usr/local/Acrobat5/bin
+PATH: /usr/X11R6/bin
+PATH: /opt/gnome/bin
+PATH: /opt/OpenOffice.org/program
+PATH: /home/dj4236/thunderbird
+PATH: /home/dj4236/git
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+configure:1282: checking for a BSD-compatible install
+configure:1337: result: /usr/bin/install -c
+configure:1348: checking whether build environment is sane
+configure:1391: result: yes
+configure:1456: checking for gawk
+configure:1472: found /bin/gawk
+configure:1482: result: gawk
+configure:1492: checking whether make sets $(MAKE)
+configure:1512: result: yes
+configure:1825: creating ./config.status
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by Lg3dProto config.status 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES =
+ CONFIG_HEADERS =
+ CONFIG_LINKS =
+ CONFIG_COMMANDS =
+ $ ./config.status
+
+on d-nwk12-125-124
+
+config.status:652: creating Makefile
+config.status:652: creating lg3dproto.pc
+
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+
+ac_cv_env_build_alias_set=
+ac_cv_env_build_alias_value=
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_path_install='/usr/bin/install -c'
+ac_cv_prog_AWK=gawk
+ac_cv_prog_make_make_set=yes
+
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+
+ACLOCAL='aclocal -I /home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal'
+AMTAR='${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run tar'
+AUTOCONF='${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoconf'
+AUTOHEADER='${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoheader'
+AUTOMAKE='${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run automake-1.9'
+AWK='gawk'
+CYGPATH_W='echo'
+DEFS='-DPACKAGE_NAME=\"Lg3dProto\" -DPACKAGE_TARNAME=\"lg3dproto\" -DPACKAGE_VERSION=\"5.0\" -DPACKAGE_STRING=\"Lg3dProto\ 5.0\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=xorg\" -DPACKAGE=\"lg3dproto\" -DVERSION=\"5.0\" '
+ECHO_C=''
+ECHO_N='-n'
+ECHO_T=''
+INSTALL_DATA='${INSTALL} -m 644'
+INSTALL_PROGRAM='${INSTALL}'
+INSTALL_SCRIPT='${INSTALL}'
+INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
+LIBOBJS=''
+LIBS=''
+LTLIBOBJS=''
+MAKEINFO='${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run makeinfo'
+PACKAGE='lg3dproto'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+PACKAGE_NAME='Lg3dProto'
+PACKAGE_STRING='Lg3dProto 5.0'
+PACKAGE_TARNAME='lg3dproto'
+PACKAGE_VERSION='5.0'
+PATH_SEPARATOR=':'
+SET_MAKE=''
+SHELL='/bin/sh'
+STRIP=''
+VERSION='5.0'
+ac_ct_STRIP=''
+am__leading_dot='.'
+am__tar='${AMTAR} chof - "$$tardir"'
+am__untar='${AMTAR} xf -'
+bindir='${exec_prefix}/bin'
+build_alias=''
+datadir='${prefix}/share'
+exec_prefix='${prefix}'
+host_alias=''
+includedir='${prefix}/include'
+infodir='${prefix}/info'
+install_sh='/home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/install-sh'
+libdir='${exec_prefix}/lib'
+libexecdir='${exec_prefix}/libexec'
+localstatedir='${prefix}/var'
+mandir='${prefix}/man'
+mkdir_p='mkdir -p --'
+oldincludedir='/usr/include'
+prefix='/home/dj4236/lgn/x/xorg/cvs/head/modular'
+program_transform_name='s,x,x,'
+sbindir='${exec_prefix}/sbin'
+sharedstatedir='${prefix}/com'
+sysconfdir='${prefix}/etc'
+target_alias=''
+
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+
+#define PACKAGE "lg3dproto"
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
+#define PACKAGE_NAME "Lg3dProto"
+#define PACKAGE_STRING "Lg3dProto 5.0"
+#define PACKAGE_TARNAME "lg3dproto"
+#define PACKAGE_VERSION "5.0"
+#define VERSION "5.0"
+
+configure: exit 0
diff --git a/lg3dproto/config.status b/lg3dproto/config.status
new file mode 100755
index 0000000..34bacaf
--- /dev/null
+++ b/lg3dproto/config.status
@@ -0,0 +1,726 @@
+#! /bin/sh
+# Generated by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=${CONFIG_SHELL-/bin/sh}
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+config_files=" Makefile lg3dproto.pc"
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+ac_cs_version="\
+Lg3dProto config.status 5.0
+configured by ./configure, generated by GNU Autoconf 2.59,
+ with options \"'--enable-maintainer-mode' '--prefix=/home/dj4236/lgn/x/xorg/cvs/head/modular'\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=.
+INSTALL="/usr/bin/install -c"
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+if $ac_cs_recheck; then
+ echo "running /bin/sh ./configure " '--enable-maintainer-mode' '--prefix=/home/dj4236/lgn/x/xorg/cvs/head/modular' $ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec /bin/sh ./configure '--enable-maintainer-mode' '--prefix=/home/dj4236/lgn/x/xorg/cvs/head/modular' $ac_configure_extra_args --no-create --no-recursion
+fi
+
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lg3dproto.pc" ) CONFIG_FILES="$CONFIG_FILES lg3dproto.pc" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF
+s,@SHELL@,/bin/sh,;t t
+s,@PATH_SEPARATOR@,:,;t t
+s,@PACKAGE_NAME@,Lg3dProto,;t t
+s,@PACKAGE_TARNAME@,lg3dproto,;t t
+s,@PACKAGE_VERSION@,5.0,;t t
+s,@PACKAGE_STRING@,Lg3dProto 5.0,;t t
+s,@PACKAGE_BUGREPORT@,https://bugs.freedesktop.org/enter_bug.cgi?product=xorg,;t t
+s,@exec_prefix@,${prefix},;t t
+s,@prefix@,/home/dj4236/lgn/x/xorg/cvs/head/modular,;t t
+s,@program_transform_name@,s,x,x,,;t t
+s,@bindir@,${exec_prefix}/bin,;t t
+s,@sbindir@,${exec_prefix}/sbin,;t t
+s,@libexecdir@,${exec_prefix}/libexec,;t t
+s,@datadir@,${prefix}/share,;t t
+s,@sysconfdir@,${prefix}/etc,;t t
+s,@sharedstatedir@,${prefix}/com,;t t
+s,@localstatedir@,${prefix}/var,;t t
+s,@libdir@,${exec_prefix}/lib,;t t
+s,@includedir@,${prefix}/include,;t t
+s,@oldincludedir@,/usr/include,;t t
+s,@infodir@,${prefix}/info,;t t
+s,@mandir@,${prefix}/man,;t t
+s,@build_alias@,,;t t
+s,@host_alias@,,;t t
+s,@target_alias@,,;t t
+s,@DEFS@,-DPACKAGE_NAME=\"Lg3dProto\" -DPACKAGE_TARNAME=\"lg3dproto\" -DPACKAGE_VERSION=\"5.0\" -DPACKAGE_STRING=\"Lg3dProto\ 5.0\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=xorg\" -DPACKAGE=\"lg3dproto\" -DVERSION=\"5.0\" ,;t t
+s,@ECHO_C@,,;t t
+s,@ECHO_N@,-n,;t t
+s,@ECHO_T@,,;t t
+s,@LIBS@,,;t t
+s,@INSTALL_PROGRAM@,${INSTALL},;t t
+s,@INSTALL_SCRIPT@,${INSTALL},;t t
+s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
+s,@CYGPATH_W@,echo,;t t
+s,@PACKAGE@,lg3dproto,;t t
+s,@VERSION@,5.0,;t t
+s,@ACLOCAL@,aclocal -I /home/dj4236/lgn/x/xorg/cvs/head/modular/share/aclocal,;t t
+s,@AUTOCONF@,${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoconf,;t t
+s,@AUTOMAKE@,${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run automake-1.9,;t t
+s,@AUTOHEADER@,${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run autoheader,;t t
+s,@MAKEINFO@,${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run makeinfo,;t t
+s,@install_sh@,/home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/install-sh,;t t
+s,@STRIP@,,;t t
+s,@ac_ct_STRIP@,,;t t
+s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t
+s,@mkdir_p@,mkdir -p --,;t t
+s,@AWK@,gawk,;t t
+s,@SET_MAKE@,,;t t
+s,@am__leading_dot@,.,;t t
+s,@AMTAR@,${SHELL} /home/dj4236/lgn/x/xorg/cvs/head/proto/Lg3d/missing --run tar,;t t
+s,@am__tar@,${AMTAR} chof - "$$tardir",;t t
+s,@am__untar@,${AMTAR} xf -,;t t
+s,@LIBOBJS@,,;t t
+s,@LTLIBOBJS@,,;t t
+CEOF
+
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+ sed "/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+
+{ (exit 0); exit 0; }
diff --git a/lg3dproto/configure b/lg3dproto/configure
new file mode 100755
index 0000000..02d67c0
--- /dev/null
+++ b/lg3dproto/configure
@@ -0,0 +1,2626 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for Lg3dProto 5.0.
+#
+# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='Lg3dProto'
+PACKAGE_TARNAME='lg3dproto'
+PACKAGE_VERSION='5.0'
+PACKAGE_STRING='Lg3dProto 5.0'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures Lg3dProto 5.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of Lg3dProto 5.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+Lg3dProto configure 5.0
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='lg3dproto'
+ VERSION='5.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile lg3dproto.pc"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by Lg3dProto $as_me 5.0, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+Lg3dProto config.status 5.0
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "lg3dproto.pc" ) CONFIG_FILES="$CONFIG_FILES lg3dproto.pc" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/lg3dproto/configure.ac b/lg3dproto/configure.ac
new file mode 100644
index 0000000..d051ad0
--- /dev/null
+++ b/lg3dproto/configure.ac
@@ -0,0 +1,30 @@
+dnl Copyright (c) 2004, Sun Microsystems, Inc.
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation.
+dnl
+dnl The above copyright notice and this permission notice shall be included in
+dnl all copies or substantial portions of the Software.
+dnl
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+dnl SUN MICROSYSTEMS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+dnl AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+dnl CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+dnl
+dnl Except as contained in this notice, the name of Sun Microsystems shall not be
+dnl used in advertising or otherwise to promote the sale, use or other dealings
+dnl in this Software without prior written authorization from Sun Microsystems.
+
+AC_PREREQ([2.57])
+AC_INIT([Lg3dProto], [5.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+XORG_RELEASE_VERSION
+
+AC_OUTPUT([Makefile
+ lg3dproto.pc])
diff --git a/lg3dproto/install-sh b/lg3dproto/install-sh
new file mode 100755
index 0000000..77bc381
--- /dev/null
+++ b/lg3dproto/install-sh
@@ -0,0 +1,316 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2004-02-15.20
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=
+transform_arg=
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+
+usage="Usage: $0 [OPTION]... SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 -d DIRECTORIES...
+
+In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default.
+In the second, create the directory path DIR.
+
+Options:
+-b=TRANSFORMBASENAME
+-c copy source (using $cpprog) instead of moving (using $mvprog).
+-d create directories instead of installing files.
+-g GROUP $chgrp installed files to GROUP.
+-m MODE $chmod installed files to MODE.
+-o USER $chown installed files to USER.
+-s strip installed files (using $stripprog).
+-t=TRANSFORM
+--help display this help and exit.
+--version display version info and exit.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+ case $1 in
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ -c) instcmd=$cpprog
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ --help) echo "$usage"; exit 0;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ --version) echo "$0 $scriptversion"; exit 0;;
+
+ *) # When -d is used, all remaining arguments are directories to create.
+ test -n "$dir_arg" && break
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dstarg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dstarg"
+ shift # fnord
+ fi
+ shift # arg
+ dstarg=$arg
+ done
+ break;;
+ esac
+done
+
+if test -z "$1"; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src ;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ src=
+
+ if test -d "$dst"; then
+ instcmd=:
+ chmodcmd=
+ else
+ instcmd=$mkdirprog
+ fi
+ else
+ # Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dstarg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dstarg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst ;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ dst=$dst/`basename "$src"`
+ fi
+ fi
+
+ # This sed command emulates the dirname command.
+ dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+ # Make sure that the destination directory exists.
+
+ # Skip lots of stat calls in the usual case.
+ if test ! -d "$dstdir"; then
+ defaultIFS='
+ '
+ IFS="${IFS-$defaultIFS}"
+
+ oIFS=$IFS
+ # Some sh's can't handle IFS=/ for some reason.
+ IFS='%'
+ set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ IFS=$oIFS
+
+ pathcomp=
+
+ while test $# -ne 0 ; do
+ pathcomp=$pathcomp$1
+ shift
+ if test ! -d "$pathcomp"; then
+ $mkdirprog "$pathcomp" || lasterr=$?
+ # mkdir can fail with a `File exist' error in case several
+ # install-sh are creating the directory concurrently. This
+ # is OK.
+ test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; }
+ fi
+ pathcomp=$pathcomp/
+ done
+ fi
+
+ if test -n "$dir_arg"; then
+ $doit $instcmd "$dst" \
+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+ else
+ # If we're going to rename the final executable, determine the name now.
+ if test -z "$transformarg"; then
+ dstfile=`basename "$dst"`
+ else
+ dstfile=`basename "$dst" $transformbasename \
+ | sed $transformarg`$transformbasename
+ fi
+
+ # don't allow the sed command to completely eliminate the filename.
+ test -z "$dstfile" && dstfile=`basename "$dst"`
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Move or copy the file name to the temp name
+ $doit $instcmd "$src" "$dsttmp" &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $instcmd $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+ # Now remove or move aside any old file at destination location. We
+ # try this two ways since rm can't unlink itself on some systems and
+ # the destination file might be busy for other reasons. In this case,
+ # the final cleanup might fail but the new file should still install
+ # successfully.
+ {
+ if test -f "$dstdir/$dstfile"; then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+ || {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit
+ }
+ else
+ :
+ fi
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+ fi || { (exit 1); exit; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+ (exit 0); exit
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/lg3dproto/lg3dproto.pc b/lg3dproto/lg3dproto.pc
new file mode 100644
index 0000000..020b364
--- /dev/null
+++ b/lg3dproto/lg3dproto.pc
@@ -0,0 +1,9 @@
+prefix=/home/dj4236/lgn/x/xorg/cvs/head/modular
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Lg3dProto
+Description: LGE extension headers
+Version: 5.0
+Cflags: -I${includedir}
diff --git a/lg3dproto/lg3dproto.pc.in b/lg3dproto/lg3dproto.pc.in
new file mode 100644
index 0000000..11ae302
--- /dev/null
+++ b/lg3dproto/lg3dproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: Lg3dProto
+Description: LGE extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/lg3dproto/lgewire.h b/lg3dproto/lgewire.h
new file mode 100644
index 0000000..75ec0a4
--- /dev/null
+++ b/lg3dproto/lgewire.h
@@ -0,0 +1,120 @@
+/************************************************************
+
+Copyright (c) 2004, Sun Microsystems, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/*
+ * lge.h - Looking Glass Extension Definitions
+ */
+
+#ifndef _LGEWIRE_H
+#define _LGEWIRE_H
+
+#include "X11/Xfuncproto.h"
+
+#define LGE_NAME "LGE"
+
+/* Current interface version numbers */
+#define LGE_MAJOR_VERSION 5
+#define LGE_MINOR_VERSION 0
+
+/* Display Server is alive */
+#define X_LgeQueryVersion 0
+#define X_LgeRegisterClient 1
+#define X_LgeRegisterScreen 2
+#define X_LgeControlLgMode 3
+#define X_LgeSendEvent 4
+
+/* Arguments to XLgeRegisterClient */
+#define LGE_CLIENT_GENERIC 0
+#define LGE_CLIENT_PICKER 1
+#define LGE_CLIENT_EVENT_DELIVERER 2
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 lgeReqType;
+ CARD16 length B16;
+} xLgeQueryVersionReq;
+
+#define sz_xLgeQueryVersionReq sizeof(xLgeQueryVersionReq)
+
+typedef struct {
+ /* Always X_Reply */
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 implementation B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLgeQueryVersionReply;
+
+#define sz_xLgeQueryVersionReply sizeof(xLgeQueryVersionReply)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 lgeReqType;
+ CARD16 length B16;
+ CARD8 clientType;
+ BOOL sendEventDirect;
+ CARD16 pad2 B16;
+} xLgeRegisterClientReq;
+
+#define sz_xLgeRegisterClientReq sizeof(xLgeRegisterClientReq)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 lgeReqType;
+ CARD16 length B16;
+ /* The pseudo-root window of the screen */
+ Window prw;
+} xLgeRegisterScreenReq;
+
+#define sz_xLgeRegisterScreenReq sizeof(xLgeRegisterScreenReq)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 lgeReqType;
+ CARD16 length B16;
+ BOOL enable;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xLgeControlLgModeReq;
+
+#define sz_xLgeControlLgModeReq sizeof(xLgeControlLgModeReq)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 lgeReqType;
+ CARD16 length B16;
+ xEvent event;
+} xLgeSendEventReq;
+
+#define sz_xLgeSendEventReq sizeof(xLgeSendEventReq)
+
+#endif /* LGEWIRE_H */
+
diff --git a/lg3dproto/missing b/lg3dproto/missing
new file mode 100755
index 0000000..e7ef83a
--- /dev/null
+++ b/lg3dproto/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2003-09-02.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
+ # We have makeinfo, but it failed.
+ exit 1
+ fi
+
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ tar)
+ shift
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ fi
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/pmproto/.gitignore b/pmproto/.gitignore
new file mode 100644
index 0000000..21be2ee
--- /dev/null
+++ b/pmproto/.gitignore
@@ -0,0 +1,14 @@
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+config.log
+config.status
+configure
+install-sh
+missing
+xproxymngproto.pc
+*~
+xproxymanagementprotocol-*.tar.*
+ChangeLog
+tags
diff --git a/pmproto/COPYING b/pmproto/COPYING
new file mode 100644
index 0000000..3ce03b5
--- /dev/null
+++ b/pmproto/COPYING
@@ -0,0 +1,24 @@
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
diff --git a/pmproto/Makefile.am b/pmproto/Makefile.am
new file mode 100644
index 0000000..4781d1f
--- /dev/null
+++ b/pmproto/Makefile.am
@@ -0,0 +1,21 @@
+xproxymngdir = $(includedir)/X11/PM
+xproxymng_HEADERS = \
+ PM.h \
+ PMproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xproxymngproto.pc
+
+dist_doc_DATA = PM_spec
+
+EXTRA_DIST = xproxymngproto.pc.in
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog
diff --git a/pmproto/PM.h b/pmproto/PM.h
new file mode 100644
index 0000000..c96644c
--- /dev/null
+++ b/pmproto/PM.h
@@ -0,0 +1,54 @@
+/* $Xorg: PM.h,v 1.4 2001/02/09 02:05:34 xorgcvs Exp $ */
+
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+/* Proxy Management Protocol */
+
+#ifndef _PM_H_
+#define _PM_H_
+
+#define PM_PROTOCOL_NAME "PROXY_MANAGEMENT"
+
+#define PM_MAJOR_VERSION 1
+#define PM_MINOR_VERSION 0
+
+/*
+ * PM minor opcodes
+ */
+#define PM_Error ICE_Error /* == 0 */
+#define PM_GetProxyAddr 1
+#define PM_GetProxyAddrReply 2
+#define PM_StartProxy 3
+
+/*
+ * status return codes for GetProxyAddrReply
+ */
+#define PM_Unable 0
+#define PM_Success 1
+#define PM_Failure 2
+
+#endif /* _PM_H_ */
diff --git a/pmproto/PM_spec b/pmproto/PM_spec
new file mode 100644
index 0000000..b371d46
--- /dev/null
+++ b/pmproto/PM_spec
@@ -0,0 +1,153 @@
+ Proxy Management Protocol
+ Draft Version 1.0
+ Ralph Mor, X Consortium
+
+
+The Proxy Management Protocol is an ICE based protocol that provides a way
+for application servers to easily locate proxy services available to them.
+
+Typically, a service called a "proxy manager" is responsible for resolving
+requests for proxy services, starting new proxies when appropriate, and
+keeping track of all of the available proxy services. The proxy manager
+strives to reuse existing proxies whenever possible.
+
+In order to request a proxy service, the GET_PROXY_ADDR message is sent to
+the proxy manager. The proxy manager will in turn forward this message to
+a proxy that it thinks can satisfy the request.
+
+GET_PROXY_ADDR
+ proxy-service : STRING
+ server-address : STRING
+ host-address : STRING
+ options : STRING
+ auth-data-len : CARD16
+ auth-name : STRING or None
+ auth-data : LISTofCARD8 or None
+
+ -->
+
+ status : CARD8
+ proxy-address : STRING
+ failure-reason : STRING
+
+
+proxy-service is the name of the proxy service to be requested, for example
+"LBX". proxy-service is a case insensitive string.
+
+server-address is the network address of the target server. The format of
+the address is specific to proxy-service. For example, for a proxy service
+of "LBX", the address would be an X display address (e.g, "wkstn.x.org:0").
+
+host-address is the network address of the host on which the proxied
+application will run. This information might be used by the proxy to
+restrict access to a specific host.
+
+options are proxy specific options that will be passed to the proxy. The
+details of these options are not specified here. Their syntax and
+semantics are defined by each proxy service.
+
+If auth-data-len is nonzero, then auth-name and auth-data contain
+authentication or authorization information that should be passed to
+the proxy. The proxy will typically use this to authenticate and
+authorize itself to the target server. The details of how the
+auth fields are used are specific to each proxy service.
+
+
+After sending GET_PROXY_ADDR the proxy manager expects a reply from
+the proxy. The status field of the reply indicates if the request can
+be satisfied.
+
+If status is Success, proxy-address will contain the network address of the
+proxy willing to handle this request. The format of the proxy address is
+specific to the proxy service being used. For example, for a proxy service
+of "LBX", the proxy address would be the X display address of the proxy
+(e.g, "gateway.x.org:63"). The proxy manager will forward the successful
+GET_PROXY_ADDR reply to whomever requested the proxy service.
+
+If status is Unable, the proxy is not able to satisfy the request but
+it believes some other proxy might be able to do so. Proxy-address is
+the empty string and failure-reason indicates the reason for failure.
+The proxy manager may choose to forward the original GET_PROXY_ADDR to
+another already running proxy, or it may choose to start up a new
+proxy. In the event that the proxy manager can not find or start a
+proxy, it will send a GET_PROXY_ADDR reply (with status Failure and an
+appropriate failure-reason) to whomever requested the proxy service.
+
+If status is Failure, the proxy is not able to satisfy the request and
+in addition is informing the requester that the request is invalid in
+some way and should not be retried.
+
+
+If the proxy manager starts up a new proxy, the proxy manager will
+need an indication from the proxy that it is ready to accept
+requests. The proxy is required to send a START_PROXY message to the
+proxy manager to identify itself and signal its readiness to receive
+requests.
+
+START_PROXY
+ proxy-service : STRING (name of proxy service, e.g. "LBX")
+
+
+When the proxy manager receives the START_PROXY message from the
+proxy it checks that the proxy-service is the one that it's expecting.
+If the proxy-service is incorrect, an IceBadValue error will be sent
+to the proxy. Otherwise, the proxy manager will forward the original
+GET_PROXY_ADDR request to the proxy and the proxy will respond to the
+GET_PROXY_ADDR request in the same way as discussed above.
+
+
+Protocol
+--------
+
+ICE protocol name is "PROXY_MANAGEMENT".
+The major opcode is assigned at run-time by ICE.
+
+
+Types
+-----
+
+STRING
+ 2 CARD16 length
+ n LISTofCARD8 the string
+ p p = pad(2+n,8)
+
+
+
+Encoding
+--------
+
+GET_PROXY_ADDR
+
+ 1 ? PROXY_MANAGEMENT
+ 1 1 opcode
+ 2 n auth-data-len (in bytes)
+ 4 (a+b+c+d+e+n+p)/8 length of remaining data in 8-byte units
+ a STRING proxy-service
+ b STRING server-address
+ c STRING host-address
+ d STRING options
+ e STRING auth-name (if auth-data-len > 0)
+ n LISTofCARD8 auth-data (if auth-data-len > 0)
+ p unused, p=pad(n,8)
+
+GET_PROXY_ADDR_REPLY
+
+ 1 ? PROXY_MANAGEMENT
+ 1 2 opcode
+ 1 CARD8 status
+ 0 Unable
+ 1 Success
+ 2 Failure
+ 1 unused
+ 4 (a+b)/8 length of remaining data in 8-byte units
+ a STRING proxy-address
+ b STRING failure-reason
+
+
+START_PROXY
+
+ 1 ? PROXY_MANAGEMENT
+ 1 3 opcode
+ 2 unused
+ 4 a/8 length of remaining data in 8-byte units
+ a STRING proxy-service
diff --git a/pmproto/PMproto.h b/pmproto/PMproto.h
new file mode 100644
index 0000000..754e460
--- /dev/null
+++ b/pmproto/PMproto.h
@@ -0,0 +1,74 @@
+/* $Xorg: PMproto.h,v 1.4 2001/02/09 02:05:34 xorgcvs Exp $ */
+
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+/* Proxy Management Protocol */
+
+#ifndef _PMPROTO_H_
+#define _PMPROTO_H_
+
+typedef struct {
+ CARD8 majorOpcode;
+ CARD8 minorOpcode; /* == 1 */
+ CARD16 authLen B16;
+ CARD32 length B32;
+ /* STRING proxy-service */
+ /* STRING server-address */
+ /* STRING host-address */
+ /* STRING start-options */
+ /* STRING auth-name (if authLen > 0) */
+ /* LISTofCARD8 auth-data (if authLen > 0) */
+} pmGetProxyAddrMsg;
+
+#define sz_pmGetProxyAddrMsg 8
+
+
+typedef struct {
+ CARD8 majorOpcode;
+ CARD8 minorOpcode; /* == 2 */
+ CARD8 status;
+ CARD8 unused;
+ CARD32 length B32;
+ /* STRING proxy-address */
+ /* STRING failure-reason */
+} pmGetProxyAddrReplyMsg;
+
+#define sz_pmGetProxyAddrReplyMsg 8
+
+
+typedef struct {
+ CARD8 majorOpcode;
+ CARD8 minorOpcode; /* == 3 */
+ CARD16 unused B16;
+ CARD32 length B32;
+ /* STRING proxy-service */
+} pmStartProxyMsg;
+
+#define sz_pmStartProxyMsg 8
+
+
+#endif /* _PMPROTO_H_ */
diff --git a/pmproto/README b/pmproto/README
new file mode 100644
index 0000000..95b17af
--- /dev/null
+++ b/pmproto/README
@@ -0,0 +1,26 @@
+The Proxy Management Protocol is an ICE based protocol that provides a way
+for application servers to easily locate proxy services available to them.
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/pmproto
+
+ http://cgit.freedesktop.org/xorg/proto/pmproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/pmproto/autogen.sh b/pmproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/pmproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/pmproto/configure.ac b/pmproto/configure.ac
new file mode 100644
index 0000000..966bc5d
--- /dev/null
+++ b/pmproto/configure.ac
@@ -0,0 +1,12 @@
+AC_PREREQ([2.57])
+AC_INIT([XProxyManagementProtocol], [1.0.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+# Require xorg-macros 1.3 or later: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xproxymngproto.pc])
diff --git a/pmproto/xproxymngproto.pc.in b/pmproto/xproxymngproto.pc.in
new file mode 100644
index 0000000..4c4afcc
--- /dev/null
+++ b/pmproto/xproxymngproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XProxyManagementProtocol
+Description: X Proxy Management Protocol headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/printproto/.gitignore b/printproto/.gitignore
new file mode 100644
index 0000000..3873307
--- /dev/null
+++ b/printproto/.gitignore
@@ -0,0 +1,14 @@
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+config.log
+config.status
+configure
+install-sh
+missing
+printproto.pc
+*~
+printproto-*.tar.*
+ChangeLog
+tags
diff --git a/printproto/COPYING b/printproto/COPYING
new file mode 100644
index 0000000..69843ad
--- /dev/null
+++ b/printproto/COPYING
@@ -0,0 +1,29 @@
+(c) Copyright 1996 Hewlett-Packard Company
+(c) Copyright 1996 International Business Machines Corp.
+(c) Copyright 1996 Sun Microsystems, Inc.
+(c) Copyright 1996 Novell, Inc.
+(c) Copyright 1996 Digital Equipment Corp.
+(c) Copyright 1996 Fujitsu Limited
+(c) Copyright 1996 Hitachi, Ltd.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the names of the copyright holders shall
+not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from said
+copyright holders.
diff --git a/printproto/Makefile.am b/printproto/Makefile.am
new file mode 100644
index 0000000..6b2e7c8
--- /dev/null
+++ b/printproto/Makefile.am
@@ -0,0 +1,53 @@
+printdir = $(includedir)/X11/extensions
+print_HEADERS = \
+ Print.h \
+ Printstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = printproto.pc
+
+miscmandir = $(MISC_MAN_DIR)
+miscman_DATA = man/Xprint.$(MISC_MAN_SUFFIX)
+CLEANFILES = $(miscman_DATA)
+
+EXTRA_DIST = printproto.pc.in \
+ man/Xprint.man \
+ man/Xprint.sgml \
+ specs/xp_proto.book \
+ specs/xp_proto.mif \
+ specs/xp_proto.ps \
+ specs/xp_protoIX.doc \
+ specs/xp_protoTOC.doc \
+ specs/xp_proto_cov.mif
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog
+
+SED = sed
+
+# Strings to replace in man pages
+XORGRELSTRING = @PACKAGE_STRING@
+ XORGMANNAME = X Version 11
+
+MAN_SUBSTS = \
+ -e 's|__vendorversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+ -e 's|__xorgversion__|"$(XORGRELSTRING)" "$(XORGMANNAME)"|' \
+ -e 's|__datadir__|$(datadir)|g' \
+ -e 's|__libdir__|$(libdir)|g' \
+ -e 's|__sysconfdir__|$(sysconfdir)|g' \
+ -e 's|__appmansuffix__|$(APP_MAN_SUFFIX)|g' \
+ -e 's|__libmansuffix__|$(LIB_MAN_SUFFIX)|g' \
+ -e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g'
+
+SUFFIXES = .$(MISC_MAN_SUFFIX) .man
+
+.man.$(MISC_MAN_SUFFIX): man
+ $(MKDIR_P) man
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
diff --git a/printproto/Print.h b/printproto/Print.h
new file mode 100644
index 0000000..2d45082
--- /dev/null
+++ b/printproto/Print.h
@@ -0,0 +1,552 @@
+/* $Xorg: Print.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
+/******************************************************************************
+ ******************************************************************************
+ **
+ ** File: Print.h
+ **
+ ** Description: Definitions needed by the server, library, and
+ ** clients. Subportion restricted to library and
+ ** clients.
+ **
+ ** Server, Library, Client portion has:
+ ** o All sz_* defines
+ ** o Revision and Name defines
+ ** o Common defines and constants (e.g. Keywords, Masks)
+ ** o Extension version structure
+ **
+ ** Library and client subportion has:
+ ** o Convience Marcos
+ ** o Client side data structures
+ ** o Client side event structures (non wire)
+ ** o Library function prototypes
+ ** o some private stuff denoted with _whatever
+ **
+ ** Printstr.h for server and library, but NOT clients.
+ **
+ ******************************************************************************
+ **
+ ** (c) Copyright 1996 Hewlett-Packard Company
+ ** (c) Copyright 1996 International Business Machines Corp.
+ ** (c) Copyright 1996 Sun Microsystems, Inc.
+ ** (c) Copyright 1996 Novell, Inc.
+ ** (c) Copyright 1996 Digital Equipment Corp.
+ ** (c) Copyright 1996 Fujitsu Limited
+ ** (c) Copyright 1996 Hitachi, Ltd.
+ **
+ ** Permission is hereby granted, free of charge, to any person obtaining a copy
+ ** of this software and associated documentation files (the "Software"), to deal
+ ** in the Software without restriction, including without limitation the rights
+ ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ ** copies of the Software, and to permit persons to whom the Software is
+ ** furnished to do so, subject to the following conditions:
+ **
+ ** The above copyright notice and this permission notice shall be included in
+ ** all copies or substantial portions of the Software.
+ **
+ ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ **
+ ** Except as contained in this notice, the names of the copyright holders shall
+ ** not be used in advertising or otherwise to promote the sale, use or other
+ ** dealings in this Software without prior written authorization from said
+ ** copyright holders.
+ **
+ ******************************************************************************
+ *****************************************************************************/
+/* $XFree86: xc/include/extensions/Print.h,v 1.4 2000/01/25 18:37:31 dawes Exp $ */
+
+#ifndef _XpPrint_H_
+#define _XpPrint_H_
+
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#include <X11/Xresource.h>
+#include <X11/Xauth.h>
+#endif /* _XP_PRINT_SERVER_ */
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/******************************************************************************
+ *
+ * Definitions used by the server, library and client.
+ */
+
+/********************************************************************
+ *
+ * Naming and versioning information.
+ */
+#define XP_PRINTNAME "XpExtension"
+
+/*
+ * Add a define below for each major extension release.
+ */
+#define XP_DONT_CHECK 0
+#define XP_INITIAL_RELEASE 1
+
+/*
+ * For each single entry above, create one major/minor pair.
+ */
+#define XP_PROTO_MAJOR 1
+#define XP_PROTO_MINOR 0
+
+/*
+ * Identify current version.
+ */
+#define XP_MAJOR_VERSION XP_PROTO_MAJOR
+#define XP_MINOR_VERSION XP_PROTO_MINOR
+
+/*
+ * Misc version defines.
+ */
+#define XP_ABSENT 0 /* Prior to XP Print support */
+#define XP_PRESENT 1 /* With XP Print support */
+
+/********************************************************************
+ *
+ * Xp Print Error codes.
+ */
+#define XP_ERRORS 3 /* number of error types */
+
+#define XPBadContext 0 /* Print Context invalid or missing */
+#define XPBadSequence 1 /* Illegal sequence of XP operations */
+#define XPBadResourceID 2 /* X-resource not valid */
+
+/********************************************************************
+ *
+ * Xp Print Event masks and codes.
+ *
+ */
+#define XP_EVENTS 2 /* number of event types */
+
+#define XPNoEventMask 0 /* not an event - just a null mask */
+#define XPPrintMask (1L<<0)
+#define XPAttributeMask (1L<<1)
+
+#define XPPrintNotify 0 /* contains "detail" - see below */
+#define XPAttributeNotify 1 /* contains "detail" - see below */
+
+#define XPStartJobNotify 0 /* value for "detail" in XPPrintNotify*/
+#define XPEndJobNotify 1
+#define XPStartDocNotify 2
+#define XPEndDocNotify 3
+#define XPStartPageNotify 4
+#define XPEndPageNotify 5
+
+/********************************************************************
+ *
+ * Xp Print Attribute Object codes (subset of ISO DPA 10175). The
+ * Xp Server can get and set any of the values, while the Xp Library
+ * may only be able to set a subset of the attribute objects.
+ *
+ * note: the codes are also used as "detail" for XPAttributeNotify
+ *
+ * note: XPPageAttr is not defined in ISO DPA 10175. It is unique
+ * to Xp, and its attributes are a proper subset of XPDocAttr.
+ */
+typedef unsigned char XPAttributes; /* type of Xp*Attr codes */
+
+#define XP_ATTRIBUTES 5 /* those attrs currently supported */
+
+#define XPJobAttr 1 /* get/set */
+#define XPDocAttr 2 /* get/set */
+#define XPPageAttr 3 /* get/set - subset of XPDocAttr */
+#define XPPrinterAttr 4 /* get only (library) */
+#define XPServerAttr 5 /* get only (library), no
+ context needed */
+
+/*
+ * note: ISO DPA 10175 defines a number of "attribute objects", of
+ * which POSIX 1387.4 and the SI Xp will only support a
+ * subset.
+ */
+#define XPMediumAttr 6 /* DPA-Object Medium */
+#define XPFontAttr 7 /* DPA-Object Font */
+#define XPResAttr 8 /* DPA-Object Resource */
+#define XPTransAttr 9 /* DPA-Object Transfer method */
+#define XPDelAttr 10 /* DPA-Object Delivery method */
+#define XPAuxSPkg 11 /* DPA-Object Auxiliary sheet package */
+#define XPAuxS 12 /* DPA-Object Auxiliary sheet */
+#define XPFinishAttr 13 /* DPA-Object Finishing */
+#define XPOutputAttr 14 /* DPA-Object Output method */
+#define XPImpAttr 15 /* DPA-Object Imposition */
+#define XPSchedAttr 16 /* DPA-Object Scheduler */
+#define XPIntJobAttr 17 /* DPA-Object Initial value job */
+#define XPIntDocAttr 18 /* DPA-Object Initial value document */
+#define XPResConAttr 19 /* DPA-Object Resource context */
+
+
+/*
+ * Replacement rules for XpSetAttributes
+ */
+typedef unsigned char XPAttrReplacement;
+#define XPAttrReplace 1
+#define XPAttrMerge 2
+
+
+/*
+ * Return codes for XpGetDocumentData
+ */
+typedef unsigned char XPGetDocStatus;
+#define XPGetDocFinished 0 /* normal termination */
+#define XPGetDocSecondConsumer 1 /* setup error */
+#define XPGetDocError 2 /* runtime error, see generated error */
+
+
+/*
+ * Save data types for XpStartJob.
+ */
+typedef unsigned char XPSaveData;
+#define XPSpool 1 /* Job data sent to spooler */
+#define XPGetData 2 /* Job data via XpGetDocumentData */
+
+
+/*
+ * Document types for XpStartDoc.
+ */
+typedef unsigned char XPDocumentType;
+#define XPDocNormal 1 /* Doc data handled by Xserver */
+#define XPDocRaw 2 /* Doc data passed through Xserver */
+
+
+/********************************************************************
+ *
+ * Xp Print Property Names
+ */
+
+
+#ifndef _XP_PRINT_SERVER_
+
+/******************************************************************************
+ *
+ * Definitions used by the library and clients only.
+ */
+
+/*******************************************************************
+ *
+ * General API defines and such.
+ */
+
+/*
+ * Print Context for XpInitContext and related calls.
+ */
+typedef XID XPContext;
+
+/*
+ * Struct for XpGetPrinterList.
+ */
+typedef struct {
+ char *name; /* name */
+ char *desc; /* localized description */
+} XPPrinterRec, *XPPrinterList;
+
+/*
+ * Typedefs for XpGetDocumentData
+ */
+typedef void (*XPSaveProc)( Display *display,
+ XPContext context,
+ unsigned char *data,
+ unsigned int data_len,
+ XPointer client_data);
+
+typedef void (*XPFinishProc)( Display *display,
+ XPContext context,
+ XPGetDocStatus status,
+ XPointer client_data);
+
+/*
+ * Typedefs for XpSetLocaleHinter and XpGetLocaleHinter
+ */
+typedef char * (*XPHinterProc)(void);
+
+#if 0
+/*******************************************************************
+ *
+ * Extension version structures.
+ *
+ **** this structure is now defined localy in the one file that uses it
+ **** in order to avoid clashes with its definition in XI.h
+ */
+typedef struct {
+ int present;
+ short major_version;
+ short minor_version;
+} XExtensionVersion;
+#endif
+
+/********************************************************************
+ *
+ * Event structs for clients.
+ *
+ * note: these events are relative to a print context, and
+ * not to a window as in core X.
+ */
+typedef struct {
+ int type; /* base + XPPrintNotify */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XPContext context; /* print context where operation was requested */
+ Bool cancel; /* was detailed event canceled */
+ int detail; /* XPStartJobNotify, XPEndJobNotify,
+ XPStartDocNotify, XPEndDocNotify,
+ XPStartPageNotify, XPEndPageNotify */
+} XPPrintEvent;
+
+typedef struct {
+ int type; /* base + XPAttributeNotify */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XPContext context; /* print context where operation was requested */
+ int detail; /* XPJobAttr, XPDocAttr, XPPageAttr,
+ XPPrinterAttr, XPSpoolerAttr,
+ XPMediumAttr, XPServerAttr */
+} XPAttributeEvent;
+
+typedef struct {
+ int type; /* base + XPDataReadyNotify */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if from a SendEvent request */
+ Display *display; /* Display the event was read from */
+ XPContext context; /* print context where operation was requested */
+ unsigned long available; /* bytes available for retrieval */
+} XPDataReadyEvent;
+
+
+/**********************************************************
+ *
+ * Function prototypes for library side.
+ */
+
+extern XPContext XpCreateContext (
+ Display *display,
+ char *printer_name
+);
+
+extern void XpSetContext (
+ Display *display,
+ XPContext print_context
+);
+
+extern XPContext XpGetContext (
+ Display *display
+);
+
+extern void XpDestroyContext (
+ Display *display,
+ XPContext print_context
+);
+
+extern Screen *XpGetScreenOfContext (
+ Display *display,
+ XPContext print_context
+);
+
+extern Status XpGetPageDimensions (
+ Display *display,
+ XPContext print_context,
+ unsigned short *width, /* return value */
+ unsigned short *height, /* return value */
+ XRectangle *reproducible_area /* return value */
+);
+
+extern void XpStartJob (
+ Display *display,
+ XPSaveData save_data
+);
+
+extern void XpEndJob (
+ Display *display
+);
+
+extern void XpCancelJob (
+ Display *display,
+ Bool discard
+);
+
+extern void XpStartDoc (
+ Display *display,
+ XPDocumentType type
+);
+
+extern void XpEndDoc (
+ Display *display
+);
+
+extern void XpCancelDoc (
+ Display *display,
+ Bool discard
+);
+
+extern void XpPutDocumentData (
+ Display *display,
+ Drawable drawable,
+ unsigned char *data,
+ int data_len,
+ char *doc_fmt,
+ char *options
+);
+
+extern Status XpGetDocumentData (
+ Display *display,
+ XPContext context,
+ XPSaveProc save_proc,
+ XPFinishProc finish_proc,
+ XPointer client_data
+);
+
+extern void XpStartPage (
+ Display *display,
+ Window window
+);
+
+extern void XpEndPage (
+ Display *display
+);
+
+extern void XpCancelPage (
+ Display *display,
+ Bool discard
+);
+
+extern void XpSelectInput (
+ Display *display,
+ XPContext print_context,
+ unsigned long event_mask
+);
+
+extern unsigned long XpInputSelected (
+ Display *display,
+ XPContext print_context,
+ unsigned long *all_events_mask
+);
+
+extern Bool XpSetImageResolution (
+ Display *display,
+ XPContext print_context,
+ int image_res,
+ int *prev_res
+);
+
+extern int XpGetImageResolution (
+ Display *display,
+ XPContext print_context
+);
+
+extern char *XpGetAttributes (
+ Display *display,
+ XPContext print_context,
+ XPAttributes type
+);
+
+extern void XpSetAttributes (
+ Display *display,
+ XPContext print_context,
+ XPAttributes type,
+ char *pool,
+ XPAttrReplacement replacement_rule
+);
+
+extern char *XpGetOneAttribute (
+ Display *display,
+ XPContext print_context,
+ XPAttributes type,
+ char *attribute_name
+);
+
+extern XPPrinterList XpGetPrinterList (
+ Display *display,
+ char *printer_name,
+ int *list_count /* return value */
+);
+
+extern void XpFreePrinterList (
+ XPPrinterList printer_list
+);
+
+extern void XpRehashPrinterList (
+ Display *display
+);
+
+extern Status XpQueryVersion (
+ Display *display,
+ short *major_version, /* return value */
+ short *minor_version /* return value */
+);
+
+extern Bool XpQueryExtension (
+ Display *display,
+ int *event_base_return, /* return value */
+ int *error_base_return /* return value */
+);
+
+extern Screen **XpQueryScreens (
+ Display *display,
+ int *list_count /* return value */
+);
+
+extern Status XpGetPdmStartParams (
+ Display *print_display,
+ Window print_window,
+ XPContext print_context,
+ Display *video_display,
+ Window video_window,
+ Display **selection_display, /* return value */
+ Atom *selection, /* return value */
+ Atom *type, /* return value */
+ int *format, /* return value */
+ unsigned char **data, /* return value */
+ int *nelements /* return value */
+);
+
+extern Status XpGetAuthParams (
+ Display *print_display,
+ Display *video_display,
+ Display **selection_display, /* return value */
+ Atom *selection, /* return value */
+ Atom *target /* return value */
+);
+
+extern Status XpSendAuth (
+ Display *display,
+ Window window
+);
+
+extern Status XpSendOneTicket (
+ Display *display,
+ Window window,
+ Xauth *ticket,
+ Bool more
+);
+
+extern void XpSetLocaleHinter (
+ XPHinterProc hinter_proc,
+ char *hinter_desc
+);
+
+extern char *XpGetLocaleHinter (
+ XPHinterProc *hinter_proc
+);
+
+extern char *XpGetLocaleNetString(void);
+
+extern char *XpNotifyPdm (
+ Display *print_display,
+ Window print_window,
+ XPContext print_context,
+ Display *video_display,
+ Window video_window,
+ Bool auth_flag
+);
+
+#endif /* _XP_PRINT_SERVER_ */
+
+_XFUNCPROTOEND
+
+#endif /* _XpPrint_H_ */
diff --git a/printproto/Printstr.h b/printproto/Printstr.h
new file mode 100644
index 0000000..86fa001
--- /dev/null
+++ b/printproto/Printstr.h
@@ -0,0 +1,781 @@
+/* $Xorg: Printstr.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
+/******************************************************************************
+ ******************************************************************************
+ **
+ ** File: Printstr.h
+ **
+ ** Description: Definitions needed by the server and library, but
+ ** not clients.
+ **
+ ** Print.h for server, library and clients.
+ **
+ ******************************************************************************
+ **
+ ** (c) Copyright 1996 Hewlett-Packard Company
+ ** (c) Copyright 1996 International Business Machines Corp.
+ ** (c) Copyright 1996 Sun Microsystems, Inc.
+ ** (c) Copyright 1996 Novell, Inc.
+ ** (c) Copyright 1996 Digital Equipment Corp.
+ ** (c) Copyright 1996 Fujitsu Limited
+ ** (c) Copyright 1996 Hitachi, Ltd.
+ **
+ ** Permission is hereby granted, free of charge, to any person obtaining a copy
+ ** of this software and associated documentation files (the "Software"), to deal
+ ** in the Software without restriction, including without limitation the rights
+ ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ ** copies of the Software, and to permit persons to whom the Software is
+ ** furnished to do so, subject to the following conditions:
+ **
+ ** The above copyright notice and this permission notice shall be included in
+ ** all copies or substantial portions of the Software.
+ **
+ ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ **
+ ** Except as contained in this notice, the names of the copyright holders shall
+ ** not be used in advertising or otherwise to promote the sale, use or other
+ ** dealings in this Software without prior written authorization from said
+ ** copyright holders.
+ **
+ ******************************************************************************
+ *****************************************************************************/
+/* $XFree86: xc/include/extensions/Printstr.h,v 1.5 2001/08/01 00:44:35 tsi Exp $ */
+
+
+#ifndef _XpPrintstr_H_
+#define _XpPrintstr_H_
+
+/*
+ * NEED_EVENTS and NEED_REPLIES are hacks to limit the linker symbol-table
+ * size. When function prototypes are needed from Print.h, this sets up
+ * a cascading dependency on Printstr.h and eventually Xproto.h to provide
+ * the event and reply struct definitions.
+ */
+#ifndef NEED_EVENTS
+#define NEED_EVENTS
+#endif /* NEED_EVENTS */
+
+#define NEED_REPLIES
+
+#include <X11/Xproto.h>
+#ifndef _XP_PRINT_SERVER_
+#include <X11/Xlib.h>
+#endif /* _XP_PRINT_SERVER_ */
+
+/*
+ * Pull in other definitions. Print.h will hide some things if we're
+ * doing server side work.
+ */
+#include <X11/extensions/Print.h>
+
+#include <X11/Xfuncproto.h>
+
+_XFUNCPROTOBEGIN
+
+/******************************************************************************
+ *
+ * Protocol requests constants and alignment values
+ *
+ * Note: Xlib macro's expect X_ABC where ABC is the name of the
+ * protocol request.
+ */
+#define X_PrintQueryVersion 0
+#define X_PrintGetPrinterList 1
+#define X_PrintCreateContext 2
+#define X_PrintSetContext 3
+#define X_PrintGetContext 4
+#define X_PrintDestroyContext 5
+#define X_PrintGetContextScreen 6
+#define X_PrintStartJob 7
+#define X_PrintEndJob 8
+#define X_PrintStartDoc 9
+#define X_PrintEndDoc 10
+#define X_PrintPutDocumentData 11
+#define X_PrintGetDocumentData 12
+#define X_PrintStartPage 13
+#define X_PrintEndPage 14
+#define X_PrintSelectInput 15
+#define X_PrintInputSelected 16
+#define X_PrintGetAttributes 17
+#define X_PrintSetAttributes 18
+#define X_PrintGetOneAttribute 19
+#define X_PrintRehashPrinterList 20
+#define X_PrintGetPageDimensions 21
+#define X_PrintQueryScreens 22
+#define X_PrintSetImageResolution 23
+#define X_PrintGetImageResolution 24
+
+/********************************************************************
+ *
+ * Protocol data types
+ */
+#define PCONTEXT CARD32
+#define WINDOW CARD32
+#define DRAWABLE CARD32
+#define BITMASK CARD32
+
+/******************************************************************************
+ *
+ * Event wire struct definitions
+ *
+ * Note: Xlib macro's expect xABC struct names and sz_xABC size
+ * constants where ABC is the name of the protocol request.
+ */
+
+
+/*********************************************************************
+ *
+ * Events.
+ *
+ * See Print.h for the protocol "type" values.
+ */
+typedef struct _xPrintPrintEvent {
+ BYTE type; /* XPPrintNotify + extEntry->eventBase */
+ BYTE detail; /* XPStartJobNotify, XPEndJobNotify,
+ XPStartDocNotify, XPEndDocNotify,
+ XPStartPageNotify, XPEndPageNotify */
+ CARD16 sequenceNumber B16;
+ PCONTEXT printContext B32; /* print context */
+ BOOL cancel; /* canceled flag */
+ CARD8 pad1; /* rest is unused */
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xPrintPrintEvent;
+#define sz_xPrintPrintEvent 32;
+
+typedef struct _xPrintAttributeEvent {
+ BYTE type; /* XPAttributeNotify + extEntry->eventBase */
+ BYTE detail; /* XPJobAttr, XPDocAttr, XPPageAttr,
+ XPPrinterAttr, XPSpoolerAttr,
+ XPMediumAttr, XPServerAttr */
+ CARD16 sequenceNumber B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xPrintAttributeEvent;
+#define sz_xPrintAttributeEvent 32;
+
+
+/*********************************************************************
+ *
+ * Requests
+ */
+typedef struct _PrintQueryVersion {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintQueryVersion */
+ CARD16 length B16;
+} xPrintQueryVersionReq;
+#define sz_xPrintQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of Xp protocol */
+ CARD16 minorVersion B16; /* minor version of Xp protocol */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xPrintQueryVersionReply;
+#define sz_xPrintQueryVersionReply 32
+
+
+typedef struct _PrintGetPrinterList {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetPrinterList */
+ CARD16 length B16;
+ CARD32 printerNameLen B32; /* length of printer name */
+ CARD32 localeLen B32; /* length of locale string */
+
+ /* variable portion *****************************************
+ STRING8 printerName; * printer name *
+ BYTE pad(printerNameLen) * unused *
+ STRING8 locale; * locale *
+ BYTE pad(localeLen) * unused *
+ ************************************************************/
+} xPrintGetPrinterListReq;
+#define sz_xPrintGetPrinterListReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 listCount B32; /* of PRINTER recs below */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+ /* variable portion *****************************************
+ CARD32 nameLen B32; * length of name in bytes *
+ STRING8 name; * name *
+ BYTE pad(nameLen) * unused *
+
+ CARD32 descLen B32; * length of desc in bytes *
+ STRING8 desc; * localized description *
+ BYTE pad(descLen) * unused *
+ ************************************************************/
+} xPrintGetPrinterListReply;
+#define sz_xPrintGetPrinterListReply 32
+
+
+typedef struct _PrintRehashPrinterList {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintRehashPrinterList */
+ CARD16 length B16;
+} xPrintRehashPrinterListReq;
+#define sz_xPrintRehashPrinterListReq 4
+
+
+typedef struct _PrintCreateContext {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintInitSetContext */
+ CARD16 length B16;
+ CARD32 contextID B32; /* ID for context */
+ CARD32 printerNameLen B32; /* length of printerName in bytes */
+ CARD32 localeLen B32; /* length of locale in bytes */
+
+ /* variable portion *****************************************
+ STRING8 printerName * printer name *
+ BYTE pad(printerNameLen) * unused *
+ STRING8 locale * locale *
+ BYTE pad(locale) * unused *
+ ************************************************************/
+} xPrintCreateContextReq;
+#define sz_xPrintCreateContextReq 16
+
+
+typedef struct _PrintSetContext {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintSetContext */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintSetContextReq;
+#define sz_xPrintSetContextReq 8
+
+
+typedef struct _PrintGetContext {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetContext */
+ CARD16 length B16;
+} xPrintGetContextReq;
+#define sz_xPrintGetContextReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ PCONTEXT printContext B32; /* print context */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xPrintGetContextReply;
+#define sz_xPrintGetContextReply 32
+
+
+typedef struct _PrintDestroyContext {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintDestroyContext */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintDestroyContextReq;
+#define sz_xPrintDestroyContextReq 8
+
+
+typedef struct _PrintGetContextScreen {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetContextScreen */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintGetContextScreenReq;
+#define sz_xPrintGetContextScreenReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ WINDOW rootWindow; /* screenPtr represented as rootWin */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xPrintGetContextScreenReply;
+#define sz_xPrintGetContextScreenReply 32
+
+
+typedef struct _PrintStartJob {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintStartJob */
+ CARD16 length B16;
+ CARD8 saveData; /* save data boolean */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xPrintStartJobReq;
+#define sz_xPrintStartJobReq 8
+
+typedef struct _PrintEndJob {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintEndJob */
+ CARD16 length B16;
+ BOOL cancel; /* cancel boolean */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xPrintEndJobReq;
+#define sz_xPrintEndJobReq 8
+
+
+typedef struct _PrintStartDoc {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintStartDoc */
+ CARD16 length B16;
+ CARD8 type; /* type for document */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xPrintStartDocReq;
+#define sz_xPrintStartDocReq 8
+
+typedef struct _PrintEndDoc {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintEndDoc */
+ CARD16 length B16;
+ BOOL cancel; /* cancel boolean */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xPrintEndDocReq;
+#define sz_xPrintEndDocReq 8
+
+
+typedef struct _PrintPutDocumentData {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintPutDocumentData */
+ CARD16 length B16;
+ DRAWABLE drawable B32; /* target drawable */
+ CARD32 len_data B32; /* big len in bytes */
+ CARD16 len_fmt; /* len in bytes */
+ CARD16 len_options; /* len in bytes */
+
+ /* variable portion *****************************************
+ LISTofBYTE data; * data *
+ BYTE pad(len_data) * unused *
+ STRING8 doc_fmt; * ISO compliant desc of data type *
+ BYTE pad(len_fmt) * unused *
+ STRING8 options; * additional device-dependent desc *
+ BYTE pad(len_options) * unused *
+ ************************************************************/
+} xPrintPutDocumentDataReq;
+#define sz_xPrintPutDocumentDataReq 16
+
+
+typedef struct _PrintGetDocumentData {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetDocumentData */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD32 maxBufferSize B32; /* maximum buffer size requested */
+} xPrintGetDocumentDataReq;
+#define sz_xPrintGetDocumentDataReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 statusCode B32; /* status code for reply */
+ CARD32 finishedFlag B32; /* is this the last reply */
+ CARD32 dataLen B32; /* data length */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+
+ /* variable portion *****************************************
+ LISTofBYTE data; * data *
+ BYTE pad(count) * unused *
+ ************************************************************/
+} xPrintGetDocumentDataReply;
+#define sz_xPrintGetDocumentDataReply 32
+
+
+typedef struct _PrintStartPage {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintStartPage */
+ CARD16 length B16;
+ WINDOW window B32; /* window */
+} xPrintStartPageReq;
+#define sz_xPrintStartPageReq 8
+
+typedef struct _PrintEndPage {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintEndPage */
+ CARD16 length B16;
+ BOOL cancel; /* cancel boolean */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xPrintEndPageReq;
+#define sz_xPrintEndPageReq 8
+
+
+typedef struct _PrintSelectInput {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintSelectInput */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ BITMASK eventMask B32;
+} xPrintSelectInputReq;
+#define sz_xPrintSelectInputReq 12
+
+
+typedef struct _PrintInputSelected {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintInputSelected */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintInputSelectedReq;
+#define sz_xPrintInputSelectedReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BITMASK eventMask B32; /* your event mask */
+ BITMASK allEventsMask B32; /* all event mask */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xPrintInputSelectedReply;
+#define sz_xPrintInputSelectedReply 32
+
+typedef struct _PrintGetAttributes {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetAttributes */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD8 type; /* type */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16; /* unused */
+} xPrintGetAttributesReq;
+#define sz_xPrintGetAttributesReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 stringLen B32; /* length of xrm db string */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+ /* variable portion *****************************************
+ STRING8 string; * xrm db as a string *
+ BYTE pad(stringLen) * unused *
+ ************************************************************/
+} xPrintGetAttributesReply;
+#define sz_xPrintGetAttributesReply 32
+
+
+typedef struct _PrintSetAttributes {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintSetAttributes */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD32 stringLen B32; /* length of xrm db string */
+ CARD8 type; /* type */
+ CARD8 rule; /* replacement rule */
+ CARD16 pad1 B16; /* unused */
+
+ /* variable portion *****************************************
+ STRING8 string; * xrm db as a string *
+ BYTE pad(stringLen) * unused *
+ ************************************************************/
+} xPrintSetAttributesReq;
+#define sz_xPrintSetAttributesReq 16
+
+
+typedef struct _PrintGetOneAttribute {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetOneAttribute */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD32 nameLen; /* length of name string */
+ CARD8 type; /* type */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16; /* unused */
+
+ /* variable portion *****************************************
+ STRING8 name; * name as a string *
+ BYTE pad(name) * unused *
+ ************************************************************/
+} xPrintGetOneAttributeReq;
+#define sz_xPrintGetOneAttributeReq 16
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 valueLen B32; /* length of value string */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+ /* variable portion *****************************************
+ STRING8 value; * value as a string *
+ BYTE pad(value) * unused *
+ ************************************************************/
+} xPrintGetOneAttributeReply;
+#define sz_xPrintGetOneAttributeReply 32
+
+
+typedef struct _PrintGetPageDimensions {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetPageDimensions */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintGetPageDimensionsReq;
+#define sz_xPrintGetPageDimensionsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 width; /* total pixel width */
+ CARD16 height; /* total pixel height */
+ CARD16 rx; /* reproducable x pixel offset */
+ CARD16 ry; /* reproducable y pixel offset */
+ CARD16 rwidth; /* reproducable x pixel width */
+ CARD16 rheight; /* reproducable y pixel width */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xPrintGetPageDimensionsReply;
+#define sz_xPrintGetPageDimensionsReply 32
+
+
+typedef struct _PrintQueryScreens {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintQueryScreens */
+ CARD16 length B16;
+} xPrintQueryScreensReq;
+#define sz_xPrintQueryScreensReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 listCount; /* number of screens following */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+ /* variable portion *****************************************
+ WINDOW rootWindow; * root window of screen *
+ ************************************************************/
+} xPrintQueryScreensReply;
+#define sz_xPrintQueryScreensReply 32
+
+typedef struct _PrintSetImageResolution {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintSetImageResolution */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+ CARD16 imageRes B16; /* image resolution */
+ CARD16 pad1 B16;
+} xPrintSetImageResolutionReq;
+#define sz_xPrintSetImageResolutionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL status; /* accepted or not */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 prevRes B16; /* previous resolution */
+ CARD16 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xPrintSetImageResolutionReply;
+#define sz_xPrintSetImageResolutionReply 32
+
+typedef struct _PrintGetImageResolution {
+ CARD8 reqType; /* always PrintReqCode */
+ CARD8 printReqType; /* always X_PrintGetImageResolution */
+ CARD16 length B16;
+ PCONTEXT printContext B32; /* print context */
+} xPrintGetImageResolutionReq;
+#define sz_xPrintGetImageResolutionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 imageRes B16; /* image resolution */
+ CARD16 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xPrintGetImageResolutionReply;
+#define sz_xPrintGetImageResolutionReply 32
+
+#ifndef _XP_PRINT_SERVER_
+/***********************************************************************
+ *
+ * Library-only definitions.
+ */
+extern XPHinterProc _xp_hinter_proc;
+extern char *_xp_hinter_desc;
+extern int _xp_hinter_init;
+
+#else /* _XP_PRINT_SERVER_ */
+
+/***********************************************************************
+ *
+ * Server-only definitions shared between the extension and DDX layers.
+ *
+ */
+
+/*
+ * Internal return code used to indicate that the requesting
+ * client has been suspended.
+ */
+#define Suspended 84
+
+struct _XpContext;
+
+extern void XpRegisterPrinterScreen(
+ ScreenPtr pScreen,
+ int (*CreateContext)(struct _XpContext *));
+
+typedef struct _xpprintFuncs {
+ int (*StartJob)(
+ struct _XpContext * /* pContext */,
+ Bool /* sendClientData */,
+ ClientPtr /* client */);
+ int (*EndJob)(struct _XpContext *, int);
+ int (*StartDoc)(
+ struct _XpContext * /* pContext */,
+ XPDocumentType /* type */);
+ int (*EndDoc)(struct _XpContext *, int);
+ int (*StartPage)(
+ struct _XpContext * /* pContext */,
+ WindowPtr /* pWin */);
+ int (*EndPage)(
+ struct _XpContext * /* pContext */,
+ WindowPtr /* pWin */);
+ int (*PutDocumentData)(
+ struct _XpContext * /* pContext */,
+ DrawablePtr /* pDraw */,
+ char * /* pData */,
+ int /* len_data */,
+ char * /* pDoc_fmt */,
+ int /* len_fmt */,
+ char * /* pOptions */,
+ int /* len_options */,
+ ClientPtr /* client */);
+ int (*GetDocumentData)(
+ struct _XpContext * /* pContext */,
+ ClientPtr /* client */,
+ int /* maxBufferSize */);
+ int (*DestroyContext)(
+ struct _XpContext *); /* pContext */
+ char *(*GetAttributes)(
+ struct _XpContext *,
+ XPAttributes /* pool */);
+ char *(*GetOneAttribute)(
+ struct _XpContext * /* pContext */,
+ XPAttributes /* pool */,
+ char * /* attrs */);
+ int (*SetAttributes)(
+ struct _XpContext * /* pContext */,
+ XPAttributes /* pool */,
+ char * /* attrs */);
+ int (*AugmentAttributes)(
+ struct _XpContext * /* pContext */,
+ XPAttributes /* pool */,
+ char * /* attrs */);
+ int (*GetMediumDimensions)(
+ struct _XpContext * /* pPrintContext */,
+ CARD16 * /* pWidth */,
+ CARD16 * /* pHeight */);
+ int (*GetReproducibleArea)(
+ struct _XpContext * /* pPrintContext */,
+ xRectangle * /* pRect */);
+ int (*SetImageResolution)(
+ struct _XpContext * /* pPrintContext */,
+ int /* imageRes */,
+ Bool * /* pStatus */);
+} XpDriverFuncs, *XpDriverFuncsPtr;
+
+/*
+ * Each print context is represented by one of the following structs
+ * associated with a resource ID of type RTcontext . A pointer to
+ * the context is placed in the Xp extension's devPrivates
+ * element in each client * which establishes a context via
+ * either initContext or setContext.
+ * The context pointer is also placed in the struct indicated by the
+ * RTpage resource associated with each StartPage'd window.
+ */
+typedef struct _XpContext {
+ XID contextID;
+ char *printerName;
+ int screenNum; /* screen containing the printer */
+ struct _XpClient *clientHead; /* list of clients */
+ CARD32 state;
+ VisualID pageWin;
+ PrivateRec *devPrivates;
+ XpDriverFuncs funcs;
+ ClientPtr clientSlept;
+ int imageRes;
+} XpContextRec, *XpContextPtr;
+
+#include <X11/fonts/fontstruct.h> /* FontResolutionPtr */
+
+extern FontResolutionPtr XpGetClientResolutions(ClientPtr, int *);
+extern XpContextPtr XpContextOfClient(ClientPtr);
+extern XpContextPtr XpGetPrintContext(ClientPtr);
+extern int XpRehashPrinterList(void);
+extern void XpSetFontResFunc(ClientPtr);
+extern void XpUnsetFontResFunc(ClientPtr);
+extern void XpRegisterInitFunc(ScreenPtr, char *, int (*)(struct _XpContext *));
+
+#endif /* _XP_PRINT_SERVER_ */
+
+_XFUNCPROTOEND
+
+#endif /* _XpPrintstr_H_ */
diff --git a/printproto/autogen.sh b/printproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/printproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/printproto/configure.ac b/printproto/configure.ac
new file mode 100644
index 0000000..8b369d2
--- /dev/null
+++ b/printproto/configure.ac
@@ -0,0 +1,12 @@
+AC_PREREQ([2.57])
+AC_INIT([PrintProto], [1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+# Require xorg-macros 1.3 or later: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ printproto.pc])
diff --git a/printproto/man/Xprint.man b/printproto/man/Xprint.man
new file mode 100644
index 0000000..39b0ccc
--- /dev/null
+++ b/printproto/man/Xprint.man
@@ -0,0 +1,421 @@
+.\" -*- coding: us-ascii -*-
+.TH Xprint __miscmansuffix__ "8 October 2004"
+.SH NAME
+Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol
+.SH SYNOPSIS
+Xprint is a very flexible, extensible, scaleable, client/server
+print system based on ISO 10175 (and some other specs) and the X11
+rendering protocol.
+Using Xprint an application can search, query and use devices like
+printers, FAX machines or create documents in formats like PDF.
+In particular, an application can seek a printer, query supported
+attributes (like paper size, trays, fonts etc.), configure the printer
+device to match it\(cqs needs and print on it like on any other X device
+reusing parts of the code which is used for the video card Xserver.
+.SH OVERVIEW
+The "X Print Service" technology allows X rendering to devices such as
+printers and fax. Most of the service is available in the X11
+technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
+Modifications have also been made to the LessTif/Motif/Qt technology
+stacks to support Xprint.
+.PP
+The Xp portion consists of:
+.TP 0.2i
+\(bu
+Xp Extension for the X-Server (included in the X-Server Xprt)
+.TP 0.2i
+\(bu
+Xp Extension API for the client side (libXp/libXprintUtils)
+.TP 0.2i
+\(bu
+PCL ddx driver that converts core X to native PCL
+.TP 0.2i
+\(bu
+PDF ddx driver that converts core X to native PDF
+.TP 0.2i
+\(bu
+PostScript ddx driver that converts core X to native PostScript
+.TP 0.2i
+\(bu
+Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters
+.PP
+.PP
+From an X clients perspective, it can attach to one of two nearly
+identical X-Servers, a "Video" X-Server, and a "Print" X-Server
+which has the additional Xp capability but otherwise looks and
+behaves the same.
+.SH "HOW THE X PRINT SERVICE WORKS"
+The X Print Service expands on the traditional X-Server and Xlib world
+in four ways.
+.TP 0.4i
+1.
+Most obvious is the use of "print ddx drivers" instead of
+"video ddx drivers". While a video ddx driver modifies pixels
+in a video frame buffer, a print ddx driver generates "page
+description language (PDL)" output (such as PCL, PDF or PostScript)
+or sends the print rendering instructions to a platform-specific
+print API (like Win32/GDI).
+
+Once a print ddx driver generates PDL output, it can be sent to
+a spooler such as \fBlp\fR(1)
+or retrieved by the client (to implement functionality like "print-to-file").
+
+Though not currently done, a single X-Server can support both
+print and video ddx drivers.
+.TP 0.4i
+2.
+Since printers support "paged" output, unlike video, a portion
+of the Xp Extension supports APIs to delineate printed output.
+For example, XpStartPage and XpEndPage tell the X-Server where
+a physical page starts and ends in an otherwise continuous
+stream of X rendering primitives. Likewise, XpStartJob and
+XpEndJob determine when a collection of pages starts and ends.
+XpEndJob typically causes the generated PDL to be submitted to
+a spooler, such as \fBlp\fR(1).
+.TP 0.4i
+3.
+Since printers have extensive capabilities, another portion of
+the Xp Extension supports APIs to manipulate "print contexts".
+
+Once a printer is selected using the Xp Extension API, a print
+context to represent it can be created. A print context
+embodies the printer selected - it contains the printer's
+default capabilities, selectable range of capabilities,
+printer state, and generated output. Some "attributes" within
+the print context can be modified by the user, and the
+X-Server and print ddx driver will react accordingly. For
+example, the attribute "content-orientation" can be set to
+"landscape" or "portrait" (if the printer supports these
+values - which can be queried using the Xprint API as well).
+.TP 0.4i
+4.
+Since printers can have "built in" fonts, the Xp Extension in
+the X-Server works with the print ddx drivers to make
+available (for printing only) additional fonts on a per print
+context basis.
+
+When a print context is created and set for a given printer,
+the X font calls may be able to access additional printer
+fonts. To do this (typically), the X-Server must have access
+to "printer metric files" (.pmf) that describe at minimum the
+metrics of the built in fonts.
+.PP
+.SH USAGE
+There are three tasks to start the X Print Service:
+.TP 0.4i
+1.
+configuring the X Print Server,
+.TP 0.4i
+2.
+starting the X Print Service
+.TP 0.4i
+3.
+configuring the user session so that clients can find the running X Print Service
+.PP
+.PP
+The tasks are described in detail below.
+.SH "SERVER CONFIGURATION"
+The X Print Server (Xprt) can read a number of configuration files which
+control its behavior and support for printers. Each vendor platform has
+a default location for this information. Xprt can also read the
+environment variable \fBXPCONFIGDIR\fR to locate alternate configuration
+directories. Common settings include:
+
+export XPCONFIGDIR=/X11/lib/X11/XpConfig/
+.PP
+export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/
+
+.PP
+Xprt has many built-in defaults, and lacking any configuration files,
+will immediately try to support all printers visible via \fBlpstat\fR(1).
+.PP
+In order of importance for configuration by a system administrator, the
+configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more
+details (including support for non-"C" locales)):
+.TP
+\fB${XPCONFIGDIR}/C/print/Xprinters\fR
+\&'Xprinters' is the top most configuration file. It tells
+Xprt which specific printer names (e.g. mylaser) should
+be supported, and whether \fBlpstat\fR(1) or other commands
+should be used to automatically supplement the list of
+printers.
+.TP
+\fB${XPCONFIGDIR}/C/print/attributes/printer\fR
+The 'printer' file maps printer names to model
+configurations (see 'model-config' below). For example,
+"mylaser" could be mapped to a "HPDJ1600C", and all other
+arbitrary printers could be mapped to a default, such as
+"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters
+file, setting up defaults in 'printer' becomes all the
+more important.
+.TP
+\fB${XPCONFIGDIR}/C/print/attributes/document\fR
+The 'document' file specifies the initial document values
+for any print jobs. For example, which paper tray to
+use, what default resolution, etc.
+.TP
+\fB${XPCONFIGDIR}/C/print/attributes/job\fR
+The 'job' file specifies the initial job values for any
+print jobs. For example, "notification-profile" can be
+set so that when a print job is successfully sent to a
+printer, e-mail is sent to the user.
+.TP
+\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR
+The 'model-config' file has attributes that describe the
+printer model\(cqs capabilities and default settings.
+Printer model fonts may also be present. The model-config
+file also identifies the print ddx driver to be used.
+For each printer model supported, a complete hierarchy of
+files should exist. In most cases, these files do not
+need to be modified.
+.TP
+\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR
+The print ddx drivers can have highly specific
+configuration files to control their behavior. In most
+cases, these files do not need to be modified.
+.PP
+More information in how to configure and customize the X print server can be found in the
+\fBXprt\fR(__appmansuffix__)
+manual page.
+.SH "STARTING UP"
+The summary checklist for starting the X Print Service is as follows:
+.TP 0.4i
+1.
+Choose an execution model for the X Print Service. The X
+Print Service can be run on a per-user session basis, per
+machine basis, or can be run on a few machines globally
+available to a number of users.
+.TP 0.4i
+2.
+If print jobs are to be submitted to a spooler (almost always
+the case), make sure all needed printers are available to the
+spooler subsystem (most often \fBlp\fR(1))
+on the same machine running the X Print Service.
+.TP 0.4i
+3.
+Configure the X Print Server. See ``X Print Server
+Configuration''.
+.TP 0.4i
+4.
+Depending on #1, start the X Print Server process "Xprt", and
+then the toolkit-specific Print Dialog Manager Daemon process
+(such as CDEnext's "dtpdmd") at the appropriate times.
+Note that libXprintUtils-based applications/toolkits do not need
+a Print Dialog Manager Daemon process to use Xprint.
+.PP
+The details are described below.
+.PP
+Because the X Print Service is based on X, it can be easily distributed.
+The most significant factors in which execution model to choose will be
+driven by:
+.TP 0.2i
+\(bu
+how many printers will be accessable through the printer
+subsystem on any given machine. A system administrator may
+choose to cluster printers on a few given machines, or
+scatter them across an organization and possibly make
+extensive use of remote spoolers to make them globally
+available.
+.TP 0.2i
+\(bu
+how many machines will need a copy of the X Print Server
+configuration files. The files have been architected so
+that one super-set version of them can be maintained and
+distributed (e.g. via NFS), and a per-machine or per-user
+version of the `Xprinters' is all that is needed to have the
+appropriate information in them utilized or ignored.
+.TP 0.2i
+\(bu
+how many users can demand services from a given X Print
+Service.
+.PP
+With the above in mind, some obvious execution models include:
+.TP 0.2i
+\(bu
+Global - in this model, the system administrator is choosing
+to run the X Print Service on a *few* select machines with
+appropriate printers configured, and allow clients access to
+the global resource. This can centralize the administration
+of printers and configuration files, but may have to be
+monitored for performance loading.
+
+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
+.TP 0.2i
+\(bu
+Per-machine - every machine with potential X Print Service
+users would run the service. Printer and configuration file
+administration is decentralized, and usage would be limited
+to the users on the machine.
+
+Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR).
+.TP 0.2i
+\(bu
+Per-user session - every user would run an entire X Print
+Service for themselves. In the future, the Video X Server
+normally started may contain Print X Server capability, so
+this model becomes very natural.
+
+Startup would likely be done at session login or by
+launching actions or processes manually once the user
+logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
+.PP
+.PP
+Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
+.TP 0.4i
+1.
+
+.nf
+[machineA] % Xprt [\-XpFile <Xprinters file>] [:dispNum] &
+.fi
+
+
+Note that Xprt will look for configuration files in either
+a default location or where \fBXPCONFIGDIR\fR points.
+
+\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather
+than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'.
+.TP 0.4i
+2.
+
+.nf
+[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] &
+.fi
+
+
+The dtpdmd will maintain an X-Selection on the X-Server,
+and will start dtpdm's as required to service requests.
+.PP
+.PP
+In all but the per-user session model, the machine running the dtpdmd
+(thus dtpdm's) will need display authorization to the users video
+display.
+.SH "CLIENT CONFIGURATION"
+Once a X Print Server and dtpdmd have been started -- many of them
+in some cases -- clients will need to find and use them. There are
+two mechanisms that allow clients to discover X Print Servers and
+printers.
+.TP 0.2i
+\(bu
+"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
+applications, the following notation is understood:
+
+
+.nf
+printer_name@machine[:dispNum]
+.fi
+
+
+For example:
+
+
+.nf
+colorlj7@printhub:2
+.fi
+
+
+In the above example, the X Print Server running at `printhub:2'
+is assumed to support the printer named `colorlj7'.
+.TP 0.2i
+\(bu
+\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs,
+the environment variable \fB${XPSERVERLIST}\fR can contain a list
+of X Print Servers. For example:
+
+
+.nf
+XPSERVERLIST="printhub:2 printhub:3 otherdept:0"
+.fi
+
+
+Then in the dialogs, only a printer name needs to be entered.
+The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR
+for a server than supports the printer, and then establish
+contact.
+.PP
+.SH "END-USER SEQUENCE"
+From most CDEnext applications, printing is accomplished by bringing
+down the <File> menu and selecting <Print...>. This will result in
+the DtPrintSetupBox dialog, which will request the name of a printer,
+and offer limited capability to configure print options (e.g. number
+of copies). If the user wishes, they can select <Setup...>, which
+will start a dtpdm capable of modifying additional print options.
+Finally, the user should select <Print>.
+.SH ENVIRONMENT
+.TP
+\fB${XPCONFIGDIR}\fR
+This environment variable points to the root
+of the Xprint server configuration directory hierarchy.
+If the variable is not defined, the default
+path is be assumed. The default path may be
+\fB/usr/X11R6/lib/X11/xserver/\fR,
+\fB/usr/lib/X11/xserver/\fR,
+\fB/usr/share/Xprint/xserver/\fR or
+\fB/usr/openwin/server/etc/XpConfig\fR, depending on the
+system, and may be configured in \fB/etc/init.d/xprint\fR.
+.TP
+\fB${LANG}\fR
+This environment variable selects the locale settings used by the Xprint server.
+Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR)
+which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR).
+If \fB${LANG}\fR is not set "C" is assumed.
+.TP
+\fB${XPSERVERLIST}\fR
+The environment variable \fB${XPSERVERLIST}\fR contains a list
+of display identifiers (separated by whitespace) which tell an
+application where it can find the Xprint servers. Usually
+\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g.
+\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of
+\fB/etc/init.d/xprint get_xpserverlist\fR.
+
+Example:
+
+.nf
+
+ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"
+.fi
+
+
+Alternatively \fB${XPSERVERLIST}\fR can be set
+manually. Example:
+
+.nf
+
+ export XPSERVERLIST="littlecat:80 bitdog:72"
+.fi
+
+instructs an application to find an Xprint server at display
+80 on the machine "littlecat" and at display 72 on the
+machine bigdog.
+.TP
+\fB${XPRINTER}\fR
+The environment variable \fB${XPRINTER}\fR
+defines the default printer used by print
+applications. The syntax is either
+\fIprintername\fR or
+\fIprintername\fR@\fIdisplay\fR.
+
+Examples:
+.RS
+.TP
+\fBXPRINTER=ps003\fR
+tells an application to look for the
+first printer named "ps003" on all Xprint
+servers.
+.TP
+\fBXPRINTER=hplaser19@littlecat:80\fR
+tells an application to use the printer "hplaser19"
+on the Xprint server at display
+"littlecat:80".
+.RE
+
+
+If \fB${XPRINTER}\fR is not set the applications
+will examine the values of the \fB${PDPRINTER}\fR,
+\fB${LPDEST}\fR, and
+\fB${PRINTER}\fR environment variables (in that order).
+.SH "SEE ALSO"
+\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/)
+.SH AUTHORS
+This manual page was written by
+Roland Mainz <roland.mainz@nrubsig.org> based on the original X11R6.6
+\fBxc/programs/Xserver/XpConfig/README\fR.
diff --git a/printproto/man/Xprint.sgml b/printproto/man/Xprint.sgml
new file mode 100644
index 0000000..1f7e0a7
--- /dev/null
+++ b/printproto/man/Xprint.sgml
@@ -0,0 +1,627 @@
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.2//EN" 'http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'>
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+ page: 'docbook-to-man manpage.sgml > manpage.1'. You may view
+ the manual page with: 'docbook-to-man manpage.sgml | nroff -man | less'.
+ A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+ docbook-to-man $< > $@
+
+HTML generation can be done like this:
+% xsltproc ==docbook /usr/share/sgml/docbook/docbook-xsl-stylesheets-1.60.1/html/docbook.xsl Xprint.sgml >Xprint.html
+ -->
+
+<refentry id="Xprint">
+ <refmeta>
+ <refentrytitle>Xprint</refentrytitle>
+ <manvolnum>__miscmansuffix__</manvolnum>
+ </refmeta>
+ <refnamediv>
+ <refname>Xprint</refname>
+
+ <refpurpose>The "X print service" - a portable, network-transparent printing system based on the X11 protocol</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <para>Xprint is a very flexible, extensible, scaleable, client/server
+ print system based on ISO 10175 (and some other specs) and the X11
+ rendering protocol.
+ Using Xprint an application can search, query and use devices like
+ printers, FAX machines or create documents in formats like PDF.
+ In particular, an application can seek a printer, query supported
+ attributes (like paper size, trays, fonts etc.), configure the printer
+ device to match it&rsquo;s needs and print on it like on any other X device
+ reusing parts of the code which is used for the video card Xserver.
+ </para>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>OVERVIEW</title>
+ <para>
+ The "X Print Service" technology allows X rendering to devices such as
+ printers and fax. Most of the service is available in the X11
+ technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE).
+ Modifications have also been made to the LessTif/Motif/Qt technology
+ stacks to support Xprint.
+ </para>
+ <para>
+ The Xp portion consists of:
+ <itemizedlist>
+ <listitem><para>Xp Extension for the X-Server (included in the X-Server Xprt)</para></listitem>
+ <listitem><para>Xp Extension API for the client side (libXp/libXprintUtils)</para></listitem>
+ <listitem><para>PCL ddx driver that converts core X to native PCL</para></listitem>
+ <listitem><para>PDF ddx driver that converts core X to native PDF</para></listitem>
+ <listitem><para>PostScript ddx driver that converts core X to native PostScript</para></listitem>
+ <listitem><para>Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters</para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ From an X clients perspective, it can attach to one of two nearly
+ identical X-Servers, a "Video" X-Server, and a "Print" X-Server
+ which has the additional Xp capability but otherwise looks and
+ behaves the same.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>HOW THE X PRINT SERVICE WORKS</title>
+ <para>
+ The X Print Service expands on the traditional X-Server and Xlib world
+ in four ways.
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Most obvious is the use of "print ddx drivers" instead of
+ "video ddx drivers". While a video ddx driver modifies pixels
+ in a video frame buffer, a print ddx driver generates "page
+ description language (PDL)" output (such as PCL, PDF or PostScript)
+ or sends the print rendering instructions to a platform-specific
+ print API (like Win32/GDI).
+ </para>
+ <para>
+ Once a print ddx driver generates PDL output, it can be sent to
+ a spooler such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ or retrieved by the client (to implement functionality like "print-to-file").
+ </para>
+ <para>
+ Though not currently done, a single X-Server can support both
+ print and video ddx drivers.
+ <!-- FIXME: IBM/AIX people have integrated Xprt into their main Xserver (currently experimental) ... -->
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Since printers support "paged" output, unlike video, a portion
+ of the Xp Extension supports APIs to delineate printed output.
+ For example, <function>XpStartPage</function> and <function>XpEndPage</function> tell the X-Server where
+ a physical page starts and ends in an otherwise continuous
+ stream of X rendering primitives. Likewise, <function>XpStartJob</function> and
+ <function>XpEndJob</function> determine when a collection of pages starts and ends.
+ <function>XpEndJob</function> typically causes the generated PDL to be submitted to
+ a spooler, such as <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Since printers have extensive capabilities, another portion of
+ the Xp Extension supports APIs to manipulate "print contexts".
+ </para>
+ <para>
+ Once a printer is selected using the Xp Extension API, a print
+ context to represent it can be created. A print context
+ embodies the printer selected - it contains the printer's
+ default capabilities, selectable range of capabilities,
+ printer state, and generated output. Some "attributes" within
+ the print context can be modified by the user, and the
+ X-Server and print ddx driver will react accordingly. For
+ example, the attribute "content-orientation" can be set to
+ "landscape" or "portrait" (if the printer supports these
+ values - which can be queried using the Xprint API as well).
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Since printers can have "built in" fonts, the Xp Extension in
+ the X-Server works with the print ddx drivers to make
+ available (for printing only) additional fonts on a per print
+ context basis.
+ </para>
+ <para>
+ When a print context is created and set for a given printer,
+ the X font calls may be able to access additional printer
+ fonts. To do this (typically), the X-Server must have access
+ to "printer metric files" (.pmf) that describe at minimum the
+ metrics of the built in fonts.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>USAGE</title>
+ <para>
+ There are three tasks to start the X Print Service:
+ <orderedlist>
+ <listitem><para>configuring the X Print Server,</para></listitem>
+ <listitem><para>starting the X Print Service</para></listitem>
+ <listitem><para>configuring the user session so that clients can find the running X Print Service</para></listitem>
+ </orderedlist>
+ </para>
+ <para>
+ The tasks are described in detail below.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>SERVER CONFIGURATION</title>
+ <para>
+ The X Print Server (Xprt) can read a number of configuration files which
+ control its behavior and support for printers. Each vendor platform has
+ a default location for this information. Xprt can also read the
+ environment variable <envar>XPCONFIGDIR</envar> to locate alternate configuration
+ directories. Common settings include:
+
+ <simplelist type="vert">
+ <member>export XPCONFIGDIR=/X11/lib/X11/XpConfig/</member>
+ <member>export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/</member>
+ </simplelist>
+ </para>
+ <para>
+ Xprt has many built-in defaults, and lacking any configuration files,
+ will immediately try to support all printers visible via <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
+ </para>
+ <para>
+ In order of importance for configuration by a system administrator, the
+ configuration files for a "C" locale are as follows (see <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry> for more
+ details (including support for non-"C" locales)):
+ <variablelist>
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/Xprinters</filename></term>
+ <listitem>
+ <para>
+ 'Xprinters' is the top most configuration file. It tells
+ Xprt which specific printer names (e.g. mylaser) should
+ be supported, and whether <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> or other commands
+ should be used to automatically supplement the list of
+ printers.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/attributes/printer</filename></term>
+ <listitem>
+ <para>
+ The 'printer' file maps printer names to model
+ configurations (see 'model-config' below). For example,
+ "mylaser" could be mapped to a "HPDJ1600C", and all other
+ arbitrary printers could be mapped to a default, such as
+ "HPLJ4SI". When depending on <citerefentry><refentrytitle>lpstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> in the Xprinters
+ file, setting up defaults in 'printer' becomes all the
+ more important.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/attributes/document</filename></term>
+ <listitem>
+ <para>
+ The 'document' file specifies the initial document values
+ for any print jobs. For example, which paper tray to
+ use, what default resolution, etc.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/attributes/job</filename></term>
+ <listitem>
+ <para>
+ The 'job' file specifies the initial job values for any
+ print jobs. For example, "notification-profile" can be
+ set so that when a print job is successfully sent to a
+ printer, e-mail is sent to the user.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/model-config</filename></term>
+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir</filename></term>
+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf</filename></term>
+ <term><filename>${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf</filename></term>
+
+ <listitem>
+ <para>
+ The 'model-config' file has attributes that describe the
+ printer model&rsquo;s capabilities and default settings.
+ Printer model fonts may also be present. The model-config
+ file also identifies the print ddx driver to be used.
+
+ For each printer model supported, a complete hierarchy of
+ files should exist. In most cases, these files do not
+ need to be modified.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pcl</filename></term>
+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/pdf</filename></term>
+ <term><filename>${XPCONFIGDIR}/C/print/ddx-config/raster/postscript</filename></term>
+
+ <listitem>
+ <para>
+ The print ddx drivers can have highly specific
+ configuration files to control their behavior. In most
+ cases, these files do not need to be modified.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ More information in how to configure and customize the X print server can be found in the
+ <citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry>
+ manual page.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>STARTING UP</title>
+ <para>
+ The summary checklist for starting the X Print Service is as follows:
+
+ <orderedlist>
+ <listitem>
+ <para>
+ Choose an execution model for the X Print Service. The X
+ Print Service can be run on a per-user session basis, per
+ machine basis, or can be run on a few machines globally
+ available to a number of users.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If print jobs are to be submitted to a spooler (almost always
+ the case), make sure all needed printers are available to the
+ spooler subsystem (most often <citerefentry><refentrytitle>lp</refentrytitle><manvolnum>1</manvolnum></citerefentry>)
+ on the same machine running the X Print Service.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Configure the X Print Server. See ``X Print Server
+ Configuration''.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Depending on #1, start the X Print Server process "Xprt", and
+ then the toolkit-specific Print Dialog Manager Daemon process
+ (such as CDEnext's "dtpdmd") at the appropriate times.
+ Note that libXprintUtils-based applications/toolkits do not need
+ a Print Dialog Manager Daemon process to use Xprint.
+ </para>
+ </listitem>
+ </orderedlist>
+ The details are described below.
+ </para>
+ <para>
+ Because the X Print Service is based on X, it can be easily distributed.
+ The most significant factors in which execution model to choose will be
+ driven by:
+ <itemizedlist>
+ <listitem>
+ <para>
+ how many printers will be accessable through the printer
+ subsystem on any given machine. A system administrator may
+ choose to cluster printers on a few given machines, or
+ scatter them across an organization and possibly make
+ extensive use of remote spoolers to make them globally
+ available.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ how many machines will need a copy of the X Print Server
+ configuration files. The files have been architected so
+ that one super-set version of them can be maintained and
+ distributed (e.g. via NFS), and a per-machine or per-user
+ version of the `Xprinters' is all that is needed to have the
+ appropriate information in them utilized or ignored.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ how many users can demand services from a given X Print
+ Service.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ With the above in mind, some obvious execution models include:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Global - in this model, the system administrator is choosing
+ to run the X Print Service on a *few* select machines with
+ appropriate printers configured, and allow clients access to
+ the global resource. This can centralize the administration
+ of printers and configuration files, but may have to be
+ monitored for performance loading.
+ </para>
+ <para>
+ Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Per-machine - every machine with potential X Print Service
+ users would run the service. Printer and configuration file
+ administration is decentralized, and usage would be limited
+ to the users on the machine.
+ </para>
+ <para>
+ Startup would likely be done by boot-up scripts (such as <filename>/etc/init.d/xprint</filename>).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Per-user session - every user would run an entire X Print
+ Service for themselves. In the future, the Video X Server
+ normally started may contain Print X Server capability, so
+ this model becomes very natural.
+ </para>
+ <para>
+ Startup would likely be done at session login or by
+ launching actions or processes manually once the user
+ logs in. Note: Deamons like "dtpdmd" must be started after Xprt.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage):
+ <orderedlist>
+ <listitem>
+ <para>
+ <programlisting>[machineA] % Xprt [-XpFile &lt;Xprinters file&gt;] [:dispNum] &amp;</programlisting>
+ </para>
+ <para>
+ Note that Xprt will look for configuration files in either
+ a default location or where <envar>XPCONFIGDIR</envar> points.
+ </para>
+ <para>
+ <option>-XpFile</option> specifies an alternate `Xprinters' file, rather
+ than the default one or `<filename>${XPCONFIGDIR}/C/print/Xprinters</filename>'.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <programlisting>[machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] &amp;</programlisting>
+ </para>
+ <para>
+ The dtpdmd will maintain an X-Selection on the X-Server,
+ and will start dtpdm's as required to service requests.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ <para>
+ In all but the per-user session model, the machine running the dtpdmd
+ (thus dtpdm's) will need display authorization to the users video
+ display.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>CLIENT CONFIGURATION</title>
+ <para>
+ Once a X Print Server and dtpdmd have been started -- many of them
+ in some cases -- clients will need to find and use them. There are
+ two mechanisms that allow clients to discover X Print Servers and
+ printers.
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print
+ applications, the following notation is understood:
+ </para>
+ <para>
+ <programlisting>printer_name@machine[:dispNum]</programlisting>
+ </para>
+ <para>
+ For example:
+ </para>
+ <para>
+ <programlisting>colorlj7@printhub:2</programlisting>
+ </para>
+ <para>
+ In the above example, the X Print Server running at `printhub:2'
+ is assumed to support the printer named `colorlj7'.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <envar>${XPSERVERLIST}</envar> - assuming usage of the DtPrint print dialogs,
+ the environment variable <envar>${XPSERVERLIST}</envar> can contain a list
+ of X Print Servers. For example:
+ </para>
+ <para>
+ <programlisting>XPSERVERLIST="printhub:2 printhub:3 otherdept:0"</programlisting>
+ </para>
+ <para>
+ Then in the dialogs, only a printer name needs to be entered.
+ The dialog will then search the X Print Servers in <envar>${XPSERVERLIST}</envar>
+ for a server than supports the printer, and then establish
+ contact.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>END-USER SEQUENCE</title>
+ <para>
+ From most CDEnext applications, printing is accomplished by bringing
+ down the &lt;File&gt; menu and selecting &lt;Print...&gt;. This will result in
+ the DtPrintSetupBox dialog, which will request the name of a printer,
+ and offer limited capability to configure print options (e.g. number
+ of copies). If the user wishes, they can select &lt;Setup...&gt;, which
+ will start a dtpdm capable of modifying additional print options.
+ Finally, the user should select &lt;Print&gt;.
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>ENVIRONMENT</title>
+ <variablelist>
+ <varlistentry>
+ <term><envar>${XPCONFIGDIR}</envar></term>
+ <listitem>
+ <para> This environment variable points to the root
+ of the Xprint server configuration directory hierarchy.
+ If the variable is not defined, the default
+ path is be assumed. The default path may be
+ <filename>/usr/X11R6/lib/X11/xserver/</filename>,
+ <filename>/usr/lib/X11/xserver/</filename>,
+ <filename>/usr/share/Xprint/xserver/</filename> or
+ <filename>/usr/openwin/server/etc/XpConfig</filename>, depending on the
+ system, and may be configured in <filename>/etc/init.d/xprint</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><envar>${LANG}</envar></term>
+ <listitem>
+ <para>
+ This environment variable selects the locale settings used by the Xprint server.
+ Xprt allows language-specific settings (stored in <filename>${XPCONFIGDIR}/${LANG}/print/</filename>)
+ which will override the default settings (stored in <filename>${XPCONFIGDIR}/C/print/</filename>).
+ If <envar>${LANG}</envar> is not set "C" is assumed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><envar>${XPSERVERLIST}</envar></term>
+ <listitem>
+ <para>The environment variable <envar>${XPSERVERLIST}</envar> contains a list
+ of display identifiers (separated by whitespace) which tell an
+ application where it can find the Xprint servers. Usually
+ <envar>${XPSERVERLIST}</envar> is set by the profile startup scripts (e.g.
+ <filename>/etc/profile</filename> or <filename>/etc/profile.d/xprint.sh</filename>) using the output of
+ <userinput>/etc/init.d/xprint get_xpserverlist</userinput>.</para>
+ <para>Example:
+ <informalexample>
+ <programlisting>
+ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`"</programlisting>
+ </informalexample>
+ </para>
+ <para>Alternatively <envar>${XPSERVERLIST}</envar> can be set
+ manually. Example:</para>
+ <informalexample>
+ <programlisting>
+ export XPSERVERLIST="littlecat:80 bitdog:72"</programlisting>
+ </informalexample>
+ <para>
+ instructs an application to find an Xprint server at display
+ 80 on the machine "littlecat" and at display 72 on the
+ machine bigdog.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><envar>${XPRINTER}</envar>
+ </term>
+ <listitem>
+ <para>The environment variable <envar>${XPRINTER}</envar>
+ defines the default printer used by print
+ applications. The syntax is either
+ <replaceable>printername</replaceable> or
+ <replaceable>printername</replaceable>@<replaceable>display</replaceable>.</para>
+ <para>Examples:
+ <variablelist>
+ <varlistentry>
+ <term><userinput>XPRINTER=ps003</userinput></term>
+ <listitem><para>
+ tells an application to look for the
+ first printer named "ps003" on all Xprint
+ servers.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <!-- brain dead <term> does not permit quote marks
+ (in XPRINTER="hplaser19@littlecat:80"), so omit them -->
+ <term><userinput>XPRINTER=hplaser19@littlecat:80</userinput></term>
+ <listitem><para>
+ tells an application to use the printer "hplaser19"
+ on the Xprint server at display
+ "littlecat:80".</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </para>
+ <para>If <envar>${XPRINTER}</envar> is not set the applications
+ will examine the values of the <envar>${PDPRINTER}</envar>,
+ <envar>${LPDEST}</envar>, and
+ <envar>${PRINTER}</envar> environment variables (in that order).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+ <para>
+ <simplelist type="inline">
+ <!-- specific references -->
+ <!-- none -->
+
+ <!-- Xprint general references -->
+<!--
+ <member><citerefentry><refentrytitle>Xprint</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
+-->
+ <member><citerefentry><refentrytitle>X11</refentrytitle><manvolnum>__miscmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xplsprinters</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xprehashprinterlist</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xphelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xpxmhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xpawhelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xpxthelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>xpsimplehelloworld</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>Xserver</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>Xprt</refentrytitle><manvolnum>__appmansuffix__</manvolnum></citerefentry></member>
+ <!-- ToDO: Add manual pages for the single Xprint DDX implementations (PostScript/PDF/PCL/PCL-MONO/Raster/etc.) -->
+ <member><citerefentry><refentrytitle>libXp</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>libXprintUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>libXprintAppUtils</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>XmPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
+ <member><citerefentry><refentrytitle>XawPrintShell</refentrytitle><manvolnum>__libmansuffix__</manvolnum></citerefentry></member>
+ <member>Xprint FAQ (<ulink url="http://xprint.mozdev.org/docs/Xprint_FAQ.html">http://xprint.mozdev.org/docs/Xprint_FAQ.html</ulink>)</member>
+ <member>Xprint main site (<ulink url="http://xprint.mozdev.org/">http://xprint.mozdev.org/</ulink>)</member>
+ </simplelist>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>AUTHORS</title>
+ <para>
+ This manual page was written by
+ Roland Mainz <email>roland.mainz@nrubsig.org</email> based on the original X11R6.6
+ <filename>xc/programs/Xserver/XpConfig/README</filename>.
+ </para>
+ </refsect1>
+</refentry>
+
diff --git a/printproto/printproto.pc.in b/printproto/printproto.pc.in
new file mode 100644
index 0000000..e43f540
--- /dev/null
+++ b/printproto/printproto.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: PrintProto
+Description: Print extension headers
+Version: @PACKAGE_VERSION@
+Requires: xau
+Cflags: -I${includedir}
diff --git a/printproto/specs/xp_proto.book b/printproto/specs/xp_proto.book
new file mode 100644
index 0000000..c9b76e4
--- /dev/null
+++ b/printproto/specs/xp_proto.book
Binary files differ
diff --git a/printproto/specs/xp_proto.mif b/printproto/specs/xp_proto.mif
new file mode 100644
index 0000000..3ff4705
--- /dev/null
+++ b/printproto/specs/xp_proto.mif
@@ -0,0 +1,73304 @@
+<MIFFile 5.00> # Generated by FrameMaker xm5.0P3f
+# Options:
+# Paragraph Text
+# Paragraph Tags
+# Paragraph Formats
+# Font Information
+# Markers
+# Anchored Frames
+# Tables
+# Graphics and TextRect Layout
+# Master Page Items
+# Condition Catalog
+# Table Catalogs
+# Font Catalog
+# Paragraph Catalog
+# Document Template
+# Document Dictionary
+# Variables
+#
+<Units Uin>
+<ColorCatalog
+ <Color
+ <ColorTag `Black'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 100.000000>
+ <ColorAttribute ColorIsBlack>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `White'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsWhite>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Red'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsRed>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Green'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsGreen>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Blue'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsBlue>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Cyan'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsCyan>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Magenta'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsMagenta>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Yellow'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsYellow>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `PANTONE 485 CV'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 99.998474>
+ <ColorYellow 90.979004>
+ <ColorBlack 0.000000>
+ <ColorPantoneValue `485'>
+ > # end of Color
+ <Color
+ <ColorTag `Dark Blue Shading'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 16.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 30.000000>
+ > # end of Color
+> # end of ColorCatalog
+<ConditionCatalog
+ <Condition
+ <CTag `Comment'>
+ <CState CHidden>
+ <CStyle CUnderline>
+ <CSeparation 2>
+ <CColor `Red'>
+ > # end of Condition
+ <Condition
+ <CTag `Open Issue'>
+ <CState CHidden>
+ <CStyle CUnderline>
+ <CSeparation 4>
+ <CColor `Blue'>
+ > # end of Condition
+ <Condition
+ <CTag `Unimplemented'>
+ <CState CHidden>
+ <CStyle CUnderline>
+ <CSeparation 6>
+ <CColor `Magenta'>
+ > # end of Condition
+> # end of ConditionCatalog
+<PgfCatalog
+ <Pgf
+ <PgfTag `#define'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `#define'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `1Heading'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement PageTop>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 27.0 pt>
+ <PgfSpAfter 19.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 18.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `H:<n+\>\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `1Step'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Step'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.75">
+ <PgfLIndent 0.94">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 5.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `S:<n=1\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.94">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `2Heading'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 21.0 pt>
+ <PgfSpAfter 7.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `H:<n\>.<n+\>\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `3Heading'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 18.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `H:<n\>.<n\>.<n+\> \\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `4Heading'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 17.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 11.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `H:<n\>.<n\>.<n\>.<n+\> \\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Author'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `1Heading'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 3.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Body'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `BodyClose'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Bullet'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `B:\xa5 \\t'>
+ <PgfNumberFont `Bullet Symbol'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Bullet2'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `B:\xa5 \\t'>
+ <PgfNumberFont `Bullet Symbol'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `BulletCont'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.94">
+ <PgfLIndent 0.94">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `'>
+ <PgfNumberFont `Bullet Symbol'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 0.94">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.19">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Bulleted'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `\xa5 \\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 7>
+ <TabStop
+ <TSX 0.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CBullet'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.1909">
+ <PgfLIndent 0.1909">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 3.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellBody'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellBodyCntr'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellHeading'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Bottom>
+ <PgfCellMargins 0.0 pt 4.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellHeadingCntr'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Bottom>
+ <PgfCellMargins 0.0 pt 4.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `centeredcell'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Code Example'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.0">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 14>
+ <TabStop
+ <TSX 1.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 7.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 7.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `ComposeCellBody'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CStep'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.1909">
+ <PgfLIndent 0.1909">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 3.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Definition'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 1.75">
+ <PgfRIndent 0.5">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 10>
+ <TabStop
+ <TSX 1.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `DefinitionBelowTerm'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.0">
+ <PgfRIndent 0.5">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 10>
+ <TabStop
+ <TSX 1.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Encode-arrow'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Encode-form'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.375">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 0.875">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Encode-form'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Encode-form'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.875">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 0.875">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.625">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Encode-heading'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Encode-form'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 14.0 pt>
+ <PgfSpAfter 7.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Encode-literal'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Encode-literal'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.875">
+ <PgfLIndent 0.875">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 1.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Encode-type'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Encode-form'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 14.0 pt>
+ <PgfSpAfter 7.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 4.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Equation'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 10.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 0.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `E:(EQ <n+\>)'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd Yes>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Extract'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.25">
+ <PgfLIndent 1.25">
+ <PgfRIndent 0.75">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 7.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Figure'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.1909">
+ <PgfLIndent 0.1909">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `Table Rule'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 16.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 0.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `F:FIGURE <n+\>. '>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Footnote'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 3.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Function Decl'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 7.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 4>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Function Intro'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Function Decl'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.65">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 16.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `header right'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Right>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Heading1'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 14.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Heading2'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 10.0 pt>
+ <PgfSpAfter 3.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `HeadingRunIn'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle RunIn>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Indented'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.25">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Note'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Numbered'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n+\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered-decrement'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Numbered'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n-\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered0'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Numbered'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n=0\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered1'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Numbered'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n=1\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `ProgramExample'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 6>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Programlisting'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 6>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Protocol-item'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 42.0 pt>
+ <PgfSpAfter 7.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol-arrow'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Protocol-item'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.4">
+ <PgfLIndent 0.4">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 4.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Symbol'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Symbol'>
+ <FEncoding `Symbol'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol-errors'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 1.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 1.0">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol-item'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Protocol-item'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.9">
+ <PgfRIndent 1.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 2.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol-item-indent'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Protocol-item'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.0">
+ <PgfRIndent 1.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 1.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Protocol-item-indent-2'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Protocol-item'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.0">
+ <PgfRIndent 1.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 3>
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `RefSect1Title'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `RefSect1Para'>
+ <PgfAlignment LeftRight>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `\\t'>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 11.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 11.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `right footer'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Step'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.75">
+ <PgfLIndent 0.94">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 5.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `S:<n+\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.94">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Structure Decl'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 7.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 14>
+ <TabStop
+ <TSX 0.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 7.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 7.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `SubTitle'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Author'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TableFootnote'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.16667">
+ <PgfLIndent 0.16667">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 3.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TableTitle'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.191">
+ <PgfLIndent 0.191">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `T:TABLE <n+\>. '>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Term'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Varlistentry'>
+ <PgfAlignment LeftRight>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle RunIn>
+ <PgfRunInDefaultPunct `\\t'>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Term_i'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Varlistentry_i'>
+ <PgfAlignment LeftRight>
+ <PgfFIndent 1.75">
+ <PgfLIndent 1.75">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle RunIn>
+ <PgfRunInDefaultPunct `\\t'>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 2.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Title'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Author'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 18.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 5.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TitleBanner'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 5.0 pt>
+ <PgfSpAfter 3.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 80>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TitleBanner1'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 5.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 0.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 80>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TitleBanner2'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 4.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 0.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 80>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Varlistentry'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Term'>
+ <PgfAlignment Left>
+ <PgfFIndent 1.75">
+ <PgfLIndent 1.75">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Varlistentry_i'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Term_i'>
+ <PgfAlignment Left>
+ <PgfFIndent 2.75">
+ <PgfLIndent 2.75">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 2.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Varlistentry_i_'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Term_i'>
+ <PgfAlignment Left>
+ <PgfFIndent 2.75">
+ <PgfLIndent 2.75">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 2.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `WritersNote'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 14.0 pt>
+ <PgfSpAfter 14.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Italic'>
+ <FPostScriptName `Times-BoldItalic'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `XPTabLine3'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 4>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.625">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `XPTabLine3NoSpace'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 4>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.75">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.625">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+> # end of PgfCatalog
+<FontCatalog
+ <Font
+ <FTag `ArgInList'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Argument'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `BitLabel'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Bullet Symbol'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Callout'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Definition term'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Emphasis'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `EquationVariables'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Field Reference'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Figure Label'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Function'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Keycap'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Keycap Table'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Keycap Text'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Literal'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Message'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `New Term'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Node Label'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Path'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Program'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Protocol'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Run-In Heading'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Subscript'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Superscript'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Tree Cap'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Type Name'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `Variable Reference'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `WritersNote'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Italic'>
+ <FPostScriptName `Times-BoldItalic'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPArgument'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPEvent'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPFunction'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPMessage'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPRequest'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPValue'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <Font
+ <FTag `XPValueInText'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+> # end of FontCatalog
+<RulingCatalog
+ <Ruling
+ <RulingTag `Thin'>
+ <RulingPenWidth 0.5 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Medium'>
+ <RulingPenWidth 2.0 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Double'>
+ <RulingPenWidth 0.5 pt>
+ <RulingGap 2.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 2>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Thick'>
+ <RulingPenWidth 3.0 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Very Thin'>
+ <RulingPenWidth 0.25 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+> # end of RulingCatalog
+<TblCatalog
+ <TblFormat
+ <TblTag `Compose Table'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 4.0 pt 6.0 pt 2.0 pt>
+ <TblLIndent 0.0">
+ <TblRIndent 0.0">
+ <TblAlignment Center>
+ <TblPlacement Float>
+ <TblSpBefore 2.0 pt>
+ <TblSpAfter 2.0 pt>
+ <TblBlockSize 2>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `Medium'>
+ <TblBRuling `Medium'>
+ <TblRRuling `Medium'>
+ <TblTRuling `Medium'>
+ <TblColumnRuling `Very Thin'>
+ <TblXColumnRuling `Very Thin'>
+ <TblBodyRowRuling `Very Thin'>
+ <TblXRowRuling `Very Thin'>
+ <TblHFRowRuling `'>
+ <TblSeparatorRuling `Medium'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement None>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 3.0 pt>
+ <TblInitNumColumns 3>
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 5>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+ <TblFormat
+ <TblTag `Sequence Examples'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.39641">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 2.10255">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 0.79896">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.75">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 4>
+ <TblColumnWidth 0.95443">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 4.0 pt 6.0 pt 2.0 pt>
+ <TblLIndent 0.108">
+ <TblRIndent 0.0">
+ <TblAlignment Center>
+ <TblPlacement Anywhere>
+ <TblSpBefore 2.0 pt>
+ <TblSpAfter 2.0 pt>
+ <TblBlockSize 2>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `Thin'>
+ <TblBRuling `Thin'>
+ <TblRRuling `Thin'>
+ <TblTRuling `Thin'>
+ <TblColumnRuling `Very Thin'>
+ <TblXColumnRuling `Very Thin'>
+ <TblBodyRowRuling `Very Thin'>
+ <TblXRowRuling `Very Thin'>
+ <TblHFRowRuling `'>
+ <TblSeparatorRuling `Thin'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 2>
+ <TblLastBRuling No>
+ <TblTitlePlacement None>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 0.0 pt>
+ <TblInitNumColumns 5>
+ <TblInitNumHRows 1>
+ <TblInitNumBodyRows 3>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+ <TblFormat
+ <TblTag `Format B'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 0.75">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 0.75">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 0.75">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 4.0 pt 6.0 pt 2.0 pt>
+ <TblLIndent 0.10756">
+ <TblRIndent 0.0">
+ <TblAlignment Left>
+ <TblPlacement Anywhere>
+ <TblSpBefore 4.0 pt>
+ <TblSpAfter 2.0 pt>
+ <TblBlockSize 2>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblHFRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement None>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 3.0 pt>
+ <TblInitNumColumns 3>
+ <TblInitNumHRows 1>
+ <TblInitNumBodyRows 3>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+ <TblFormat
+ <TblTag `table3cols'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellBodyCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 4.0 pt 6.0 pt 2.0 pt>
+ <TblLIndent 0.5">
+ <TblRIndent 0.0">
+ <TblAlignment Center>
+ <TblPlacement Float>
+ <TblSpBefore 2.0 pt>
+ <TblSpAfter 2.0 pt>
+ <TblBlockSize 2>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblHFRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement None>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 3.0 pt>
+ <TblInitNumColumns 3>
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 5>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+ <TblFormat
+ <TblTag `Format A'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 2.0 pt 6.0 pt 2.0 pt>
+ <TblLIndent 0.5">
+ <TblRIndent 0.0">
+ <TblAlignment Left>
+ <TblPlacement Anywhere>
+ <TblSpBefore 0.0 pt>
+ <TblSpAfter 0.0 pt>
+ <TblBlockSize 1>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblHFRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement None>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ <Pgf
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfSpBefore 8.0 pt>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumFormat ` Encoding: '>
+ <PgfNumberFont `Label'>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ > # end of TblTitlePgf1
+ <TblTitleGap 6.0 pt>
+ <TblInitNumColumns 3>
+ <TblInitNumHRows 1>
+ <TblInitNumBodyRows 9>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+> # end of TblCatalog
+<Views
+ <View
+ <ViewNumber 1>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 2>
+ <ViewCutout `White'>
+ <ViewInvisible `Red'>
+ <ViewInvisible `Green'>
+ <ViewInvisible `Blue'>
+ <ViewInvisible `Cyan'>
+ <ViewInvisible `Magenta'>
+ > # end of View
+ <View
+ <ViewNumber 3>
+ <ViewInvisible `Black'>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 4>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 5>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 6>
+ <ViewCutout `White'>
+ > # end of View
+> # end of Views
+<VariableFormats
+ <VariableFormat
+ <VariableName `Page Count'>
+ <VariableDef `<$lastpagenum\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Date (Long)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Date (Short)'>
+ <VariableDef `<$monthnum\>/<$daynum\>/<$shortyear\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Modification Date (Long)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\> <$hour\>:<$minute00\> <$ampm\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Modification Date (Short)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Creation Date (Long)'>
+ <VariableDef `<$dayname\>, <$monthname\> <$daynum01\>, <$year\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Creation Date (Short)'>
+ <VariableDef `<$monthnum\>/<$daynum\>/<$shortyear\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Filename (Long)'>
+ <VariableDef `<$fullfilename\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Filename (Short)'>
+ <VariableDef `<$filename\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 1'>
+ <VariableDef `<$paratext[1Heading]\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 2'>
+ <VariableDef `<$paratext[2Heading]\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Page #'>
+ <VariableDef `<$curpagenum\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 3'>
+ <VariableDef `<$marker1\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 4'>
+ <VariableDef `<$marker2\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Table Continuation'>
+ <VariableDef ` (Continued)'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Table Sheet'>
+ <VariableDef ` (Sheet <$tblsheetnum\> of <$tblsheetcount\>)'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `protocol'>
+ <VariableDef `<Protocol\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `header1'>
+ <VariableDef `<header1\>'>
+ > # end of VariableFormat
+> # end of VariableFormats
+<XRefFormats
+ <XRefFormat
+ <XRefName `Heading & Page'>
+ <XRefDef `\xd2 <$paratext\>\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Page'>
+ <XRefDef `page <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `See Heading & Page'>
+ <XRefDef `See \xd2 <$paratext\>\xd3 on page\x11 <$pagenum\>.'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table & Page'>
+ <XRefDef `Table\x11 <$paranumonly\>, \xd2 <$paratext\>,\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table All'>
+ <XRefDef `Table\x11 <$paranumonly\>, \xd2 <$paratext\>,\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table Number & Page'>
+ <XRefDef `Table\x11 <$paranumonly\> on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Section & Page'>
+ <XRefDef `Section\x11 <$paranum\> on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Figure & Page'>
+ <XRefDef `Figure\x11 <$paranumonly\>, \xd2 <$paratext\>,\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Section'>
+ <XRefDef `section\x11 <$paranum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Figure'>
+ <XRefDef `Figure\x11 <$paranumonly\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Number'>
+ <XRefDef `<$paranum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Heading'>
+ <XRefDef `\xd2 <$paratext\>\xd3 '>
+ > # end of XRefFormat
+> # end of XRefFormats
+<Document
+ <DViewRect 48 27 876 644 >
+ <DWindowRect 24 1 920 747 >
+ <DViewScale 140.0%>
+ <DNextUnique 717706>
+ <DPageSize 8.5" 11.0">
+ <DMenuBar `'>
+ <DVoMenuBar `'>
+ <DStartPage 1>
+ <DPageNumStyle Arabic>
+ <DPagePointStyle Arabic>
+ <DTwoSides Yes>
+ <DParity FirstRight>
+ <DFrozenPages No>
+ <DPageRounding MakePageCountEven>
+ <DFNoteMaxH 4.0">
+ <FNoteStartNum 1>
+ <DFNoteRestart PerPage>
+ <DFNoteTag `Footnote'>
+ <DFNoteLabels `*\xa0 \xe0 '>
+ <DFNoteNumStyle Arabic>
+ <DFNoteAnchorPos FNSuperscript>
+ <DFNoteNumberPos FNBaseline>
+ <DFNoteAnchorPrefix `'>
+ <DFNoteAnchorSuffix `'>
+ <DFNoteNumberPrefix `'>
+ <DFNoteNumberSuffix `. '>
+ <DTblFNoteTag `TableFootnote'>
+ <DTblFNoteLabels `*\xa0 \xe0 '>
+ <DTblFNoteNumStyle LCAlpha>
+ <DTblFNoteAnchorPos FNSuperscript>
+ <DTblFNoteNumberPos FNBaseline>
+ <DTblFNoteAnchorPrefix `'>
+ <DTblFNoteAnchorSuffix `'>
+ <DTblFNoteNumberPrefix `'>
+ <DTblFNoteNumberSuffix `. '>
+ <DLinebreakChars `- \xd0 \xd1 '>
+ <DPunctuationChars `:;,.\xc9 !?'>
+ <DChBarGap 0.0">
+ <DChBarWidth 0.0 pt>
+ <DChBarPosition NearestEdge>
+ <DChBarColor `Black'>
+ <DAutoChBars No>
+ <DShowAllConditions No>
+ <DDisplayOverrides Yes>
+ <DPageScrolling Variable>
+ <DViewOnly No>
+ <DViewOnlyXRef GotoBehavior>
+ <DViewOnlySelect Yes>
+ <DViewOnlyWinBorders Yes>
+ <DViewOnlyWinMenubar Yes>
+ <DViewOnlyWinPopup Yes>
+ <DViewOnlyWinPalette No>
+ <DGridOn No>
+ <DPageGrid 0.5">
+ <DSnapGrid 0.125">
+ <DSnapRotation 0.0>
+ <DRulersOn Yes>
+ <DFullRulers Yes>
+ <DGraphicsOff No>
+ <DCurrentView 1>
+ <DBordersOn Yes>
+ <DSymbolsOn Yes>
+ <DLinkBoundariesOn No>
+ <DSmartQuotesOn Yes>
+ <DSmartSpacesOn Yes>
+ <DUpdateTextInsetsOnOpen Yes>
+ <DUpdateXRefsOnOpen Yes>
+ <DLanguage USEnglish>
+ <DSuperscriptSize 80.0%>
+ <DSubscriptSize 80.0%>
+ <DSmallCapsSize 80.0%>
+ <DSuperscriptShift 40.0%>
+ <DSubscriptShift 25.0%>
+ <DMathAlphaCharFontFamily `Times'>
+ <DMathSmallIntegral 14.0 pt>
+ <DMathMediumIntegral 18.0 pt>
+ <DMathLargeIntegral 24.0 pt>
+ <DMathSmallSigma 14.0 pt>
+ <DMathMediumSigma 18.0 pt>
+ <DMathLargeSigma 24.0 pt>
+ <DMathSmallLevel1 9.0 pt>
+ <DMathMediumLevel1 12.0 pt>
+ <DMathLargeLevel1 14.0 pt>
+ <DMathSmallLevel2 7.0 pt>
+ <DMathMediumLevel2 9.0 pt>
+ <DMathLargeLevel2 12.0 pt>
+ <DMathSmallLevel3 5.0 pt>
+ <DMathMediumLevel3 6.0 pt>
+ <DMathLargeLevel3 8.0 pt>
+ <DMathSmallHoriz 0.0 pt>
+ <DMathMediumHoriz 0.0 pt>
+ <DMathLargeHoriz 0.0 pt>
+ <DMathSmallVert 0.0 pt>
+ <DMathMediumVert 0.0 pt>
+ <DMathLargeVert 0.0 pt>
+ <DMathShowCustom No>
+ <DMathFunctions `'>
+ <DMathNumbers `'>
+ <DMathVariables `EquationVariables'>
+ <DMathStrings `'>
+ <DMathGreek `'>
+ <DMathCatalog >
+ <DPrintSkipBlankPages Yes>
+ <DPrintSeparations No>
+ <DGenerateAcrobatInfo No>
+ <DAcrobatParagraphBookmarks Yes>
+ <DAcrobatBookmarksIncludeTagNames No>
+> # end of Document
+<BookComponent
+ <FileName `<c\>xp_proto.mifIOM.doc'>
+ <Unique 34>
+ <FileNameSuffix `IOM'>
+ <DeriveLinks No>
+ <DeriveType IOM>
+ <DeriveTag `Index'>
+> # end of BookComponent
+<BookComponent
+ <FileName `<c\>xp_proto.mifIX.doc'>
+ <Unique 36>
+ <FileNameSuffix `IX'>
+ <DeriveLinks Yes>
+ <DeriveType IDX>
+ <DeriveTag `Index'>
+> # end of BookComponent
+<BookComponent
+ <FileName `<c\>xp_proto.mifTC.doc'>
+ <Unique 38>
+ <FileNameSuffix `TC'>
+ <DeriveLinks No>
+ <DeriveType TOC>
+ <DeriveTag `1Heading'>
+ <DeriveTag `2Heading'>
+ <DeriveTag `3Heading'>
+> # end of BookComponent
+<InitialAutoNums
+> # end of InitialAutoNums
+<Dictionary
+<OKWord `????'>
+<OKWord `?????'>
+<OKWord `AllocColor'>
+<OKWord `BadMatch'>
+<OKWord `BadValue'>
+<OKWord `Bool'>
+<OKWord `ConfigureWindow'>
+<OKWord `Gilg'>
+<OKWord `InternAtom'>
+<OKWord `InvalidateTag'>
+<OKWord `MotionNotify'>
+<OKWord `Pixmap'>
+<OKWord `PrintGetPdmStartParams'>
+<OKWord `PrintSetContext'>
+<OKWord `QueryTag'>
+<OKWord `Reencoding'>
+<OKWord `XGetWindowAttributes'>
+<OKWord `XPBadContext'>
+<OKWord `XPBadSequence'>
+<OKWord `XPEndJobNotify'>
+<OKWord `XPGetData'>
+<OKWord `XPPrintNotify'>
+<OKWord `XPPrinterAttr'>
+<OKWord `XPSpool'>
+<OKWord `XPStartDocNotify'>
+<OKWord `X_ChangeProperty'>
+<OKWord `X_FillPoly'>
+<OKWord `X_LbxChangeProperty'>
+<OKWord `X_LbxGetProperty'>
+<OKWord `X_LbxIncrementPixel'>
+<OKWord `X_LbxModifySequence'>
+<OKWord `X_LookupColor'>
+<OKWord `X_PolyArc'>
+<OKWord `X_PolyFillArc'>
+<OKWord `X_PolyFillRectangle'>
+<OKWord `X_PolyLine'>
+<OKWord `X_PolyPoint'>
+<OKWord `X_PolyRectangle'>
+<OKWord `X_PolySegment'>
+<OKWord `Xauthority'>
+<OKWord `Xlib'>
+<OKWord `XpEndJob'>
+<OKWord `XpGetDocumentData'>
+<OKWord `XpNotify'>
+<OKWord `XpStartJob'>
+<OKWord `Xp_DataAvailable'>
+<OKWord `Xp_StartJobEvent'>
+<OKWord `_,'>
+<OKWord `contextID'>
+<OKWord `doc_fmt'>
+<OKWord `metrics'>
+<OKWord `printerName'>
+<OKWord `reencode'>
+<OKWord `reencoded'>
+<OKWord `saveData'>
+<OKWord `save_data'>
+<OKWord `spooler'>
+<OKWord `unset'>
+<OKWord `unsets'>
+<OKWord `{}'>
+<OKWord `\xd2 {}\xd3 '>
+<OKWord `\xd3 .'>
+<OKWord `\xd4 \xd5 '>
+> # end of Dictionary
+<AFrames
+ <Frame
+ <ID 1>
+ <Unique 912>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.22222" 0.25" 0.25">
+ <BRect 1.0" 4.22222" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 10>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 12>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 2>
+ <Unique 945>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.39166" 0.25" 0.26111">
+ <BRect 1.0" 5.39166" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 15>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 17>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 19>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 21>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 3>
+ <Unique 1284>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 6.26666" 0.25" 0.26111">
+ <BRect 1.0" 6.26666" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 24>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 26>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 28>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 30>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 4>
+ <Unique 1294>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 0.25" 0.26111">
+ <BRect 1.0" 1.125" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 33>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 35>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 37>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 39>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 5>
+ <Unique 1312>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.13889" 0.25" 0.25">
+ <BRect 1.0" 7.13889" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 42>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 44>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 6>
+ <Unique 1065>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.625" 0.25" 0.25">
+ <BRect 1.0" 1.625" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 47>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 49>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 7>
+ <Unique 962>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 3.79444" 0.25" 0.26111">
+ <BRect 1.0" 3.79444" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 52>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 54>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 56>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 58>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 8>
+ <Unique 975>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 3.33611" 0.25" 0.26111">
+ <BRect 1.0" 3.33611" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 61>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 63>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 65>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 67>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 9>
+ <Unique 1022>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.50278" 0.25" 0.26111">
+ <BRect 1.0" 2.50278" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 70>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 72>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 74>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 76>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 10>
+ <Unique 1011>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.76666" 0.25" 0.26111">
+ <BRect 1.0" 5.76666" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 79>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 81>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 83>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 85>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 11>
+ <Unique 1024>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.47499" 0.25" 0.26111">
+ <BRect 1.0" 9.47499" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 88>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 90>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 92>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 94>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 12>
+ <Unique 1034>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.65555" 0.25" 0.26111">
+ <BRect 1.0" 8.65555" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 97>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 99>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 101>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 103>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 13>
+ <Unique 1044>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.7111" 0.25" 0.26111">
+ <BRect 1.0" 9.7111" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 106>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 108>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 110>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 112>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 14>
+ <Unique 1044>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.65555" 0.25" 0.26111">
+ <BRect 1.0" 8.65555" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 115>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 117>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 119>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 121>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 15>
+ <Unique 1055>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.52777" 0.25" 0.25">
+ <BRect 1.0" 9.52777" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 124>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 126>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 16>
+ <Unique 1110>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.16944" 0.25" 0.26111">
+ <BRect 1.0" 4.16944" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 129>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 131>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 133>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 135>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 17>
+ <Unique 1074>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 3.50278" 0.25" 0.26111">
+ <BRect 1.0" 3.50278" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 138>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 140>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 142>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 144>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 18>
+ <Unique 1084>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.21111" 0.25" 0.26111">
+ <BRect 1.0" 7.21111" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 147>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 149>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 151>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 153>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 19>
+ <Unique 1094>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.82222" 0.25" 0.26111">
+ <BRect 1.0" 5.82222" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 156>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 158>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 160>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 162>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 20>
+ <Unique 1104>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.44722" 0.25" 0.26111">
+ <BRect 1.0" 8.44722" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 165>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 167>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 169>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 171>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 21>
+ <Unique 1114>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.66944" 0.25" 0.26111">
+ <BRect 1.0" 2.66944" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 174>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 176>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 178>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 180>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 22>
+ <Unique 1124>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.98889" 0.25" 0.26111">
+ <BRect 1.0" 5.98889" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 183>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 185>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 187>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 189>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 23>
+ <Unique 1134>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.80833" 0.25" 0.26111">
+ <BRect 1.0" 8.80833" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 192>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 194>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 196>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 198>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 24>
+ <Unique 1140>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.43333" 0.25" 0.26111">
+ <BRect 1.0" 7.43333" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 201>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 203>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 205>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 207>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 25>
+ <Unique 1100>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.88889" 0.25" 0.25">
+ <BRect 1.0" 7.88889" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 210>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 212>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 26>
+ <Unique 1173>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.90555" 0.25" 0.26111">
+ <BRect 1.0" 8.90555" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 215>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 217>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 219>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 221>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 27>
+ <Unique 1174>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.86389" 0.25" 0.26111">
+ <BRect 1.0" 5.86389" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 224>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 226>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 228>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 230>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 28>
+ <Unique 1194>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.46111" 0.25" 0.26111">
+ <BRect 1.0" 7.46111" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 233>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 235>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 237>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 239>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 29>
+ <Unique 1184>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.61111" 0.25" 0.25">
+ <BRect 1.0" 9.61111" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 242>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 244>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 30>
+ <Unique 1190>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.16944" 0.25" 0.26111">
+ <BRect 1.0" 2.16944" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 247>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 249>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 251>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 253>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 31>
+ <Unique 1328>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.09722" 0.25" 0.25">
+ <BRect 1.0" 4.09722" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 256>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 258>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 32>
+ <Unique 1038>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.31944" 0.25" 0.25">
+ <BRect 1.0" 4.31944" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 261>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 263>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 33>
+ <Unique 1344>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 6.30555" 0.25" 0.25">
+ <BRect 1.0" 6.30555" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 266>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 268>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 34>
+ <Unique 1352>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 0.25" 0.25">
+ <BRect 1.0" 1.125" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 271>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 273>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 35>
+ <Unique 1360>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.70833" 0.25" 0.25">
+ <BRect 1.0" 5.70833" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 276>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 278>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 36>
+ <Unique 1368>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 0.25" 0.25">
+ <BRect 1.0" 1.125" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 281>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 283>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 37>
+ <Unique 1124>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.65278" 0.25" 0.25">
+ <BRect 1.0" 5.65278" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 286>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 288>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 38>
+ <Unique 1392>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.04167" 0.25" 0.25">
+ <BRect 1.0" 4.04167" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 291>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 293>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 39>
+ <Unique 1400>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.75" 0.25" 0.25">
+ <BRect 1.0" 7.75" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 296>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 298>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 40>
+ <Unique 1408>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 6.52778" 0.25" 0.25">
+ <BRect 1.0" 6.52778" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 301>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 303>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 41>
+ <Unique 1416>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.43055" 0.25" 0.25">
+ <BRect 1.0" 9.43055" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 306>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 308>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 42>
+ <Unique 1424>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 3.81944" 0.25" 0.25">
+ <BRect 1.0" 3.81944" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 311>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 313>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 43>
+ <Unique 1432>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 7.30555" 0.25" 0.25">
+ <BRect 1.0" 7.30555" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 316>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 318>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 44>
+ <Unique 1440>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.84722" 0.25" 0.25">
+ <BRect 1.0" 9.84722" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 321>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 323>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 45>
+ <Unique 1200>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.70833" 0.25" 0.25">
+ <BRect 1.0" 2.70833" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 326>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 328>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 46>
+ <Unique 1456>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 6.29166" 0.25" 0.25">
+ <BRect 1.0" 6.29166" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 331>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 333>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 47>
+ <Unique 1320>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.93056" 0.25" 0.25">
+ <BRect 1.0" 5.93056" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 336>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 338>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 48>
+ <Unique 3893>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.16944" 0.25" 0.26111">
+ <BRect 1.0" 5.16944" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 341>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 343>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 345>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 347>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 49>
+ <Unique 5243>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.00277" 0.25" 0.26111">
+ <BRect 1.0" 4.00277" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 350>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 352>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 354>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 356>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 50>
+ <Unique 5254>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 4.19444" 0.25" 0.25">
+ <BRect 1.0" 4.19444" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 359>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 361>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 51>
+ <Unique 3506>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 9.05833" 0.25" 0.26111">
+ <BRect 1.0" 9.05833" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 364>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 366>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 368>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 370>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 52>
+ <Unique 3551>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.5" 0.25" 0.25">
+ <BRect 1.0" 1.5" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 373>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 375>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 53>
+ <Unique 3587>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 6.90278" 0.25" 0.25">
+ <BRect 1.0" 6.90278" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 378>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 380>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 54>
+ <Unique 3608>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 5.91944" 0.25" 0.26111">
+ <BRect 1.0" 5.91944" 0.25" 0.26111">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.11111">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 383>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 385>
+ <PenWidth 0.5 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 387>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 389>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.25" 0.0">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <ID 55>
+ <Unique 3863>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 8.94444" 0.25" 0.25">
+ <BRect 1.0" 8.94444" 0.25" 0.25">
+ <FrameType Left>
+ <AnchorBeside TextFrame>
+ <NSOffset -0.25">
+ <BLOffset -0.03241">
+ <AnchorAlign Center>
+ <Cropped No>
+ <PolyLine
+ <Unique 392>
+ <Pen 0>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.0">
+ <Point 0.0" 0.25">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 394>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.25">
+ <Point 0.25" 0.25">
+ > # end of PolyLine
+ > # end of Frame
+> # end of AFrames
+<Tbls
+ <Tbl
+ <TblID 56>
+ <TblTag `Compose Table'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblLIndent 0.5">
+ <TblAlignment Left>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblInitNumColumns 2>
+ <TblInitNumBodyRows 4>
+ > # end of TblFormat
+ <TblNumColumns 2>
+ <Unique 1903>
+ <TblColumnWidth 1.0">
+ <TblColumnWidth 4.0">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellLRuling `None'>
+ <CellBRuling `Thin'>
+ <CellRRuling `None'>
+ <CellTRuling `None'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1905>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <String `ATOM'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1907>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `DATA RECEIVED'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1909>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_START'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1911>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `Request that a dialog be managed for a particular print context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 57>
+ <TblTag `Compose Table'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblLIndent 0.5">
+ <TblAlignment Left>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblInitNumColumns 2>
+ <TblInitNumBodyRows 4>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 1920>
+ <TblColumnWidth 1.0">
+ <TblColumnWidth 1.5">
+ <TblColumnWidth 2.5">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1922>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PARAMETER'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1924>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `FORMAT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1926>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `DESCRIPTION'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1928>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `video-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1930>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 host:port[.screen]\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1932>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `X display of video server'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1934>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `video-window'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1936>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 0x12345678\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1938>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `Window to act as parent of PDM dialog'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1940>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `print-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1942>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 host:port[.screen]\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1944>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `X display of print server'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.38889">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1946>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `print-window'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1948>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 0x12345678\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1950>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `Window on print server for subsequent '>
+ >
+ <ParaLine
+ <String `communication'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1952>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `print-context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1954>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 0x12345678\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1956>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `Context of print job'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1958>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `locale'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1960>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `\xd2 C\xd3 '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1962>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `Hint to PDM regarding the locale'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 58>
+ <TblTag `Compose Table'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblLIndent 0.5">
+ <TblAlignment Left>
+ <TblBlockSize 1>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblInitNumColumns 2>
+ <TblInitNumBodyRows 4>
+ > # end of TblFormat
+ <TblNumColumns 2>
+ <Unique 1967>
+ <TblColumnWidth 2.0">
+ <TblColumnWidth 4.0">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellLRuling `None'>
+ <CellBRuling `Thin'>
+ <CellRRuling `None'>
+ <CellTRuling `None'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1969>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `ATOM'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1971>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `DESCRIPTION'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1973>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_START_OK'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1975>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM was started successfully'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1977>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_START_VXAUTH'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1979>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM was not authorized to connect to video-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1981>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_START_PXAUTH'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1983>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM was not authorized to connect to print-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1985>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_START_ERROR'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1987>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM encountered an error'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 59>
+ <TblTag `Compose Table'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 2.46152">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.78092">
+ <TblColumnH
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBodyCntr'>
+ <Pgf
+ <PgfAlignment Center>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeadingCntr'>
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblLIndent 0.5">
+ <TblAlignment Left>
+ <TblLRuling `'>
+ <TblBRuling `'>
+ <TblRRuling `'>
+ <TblTRuling `'>
+ <TblColumnRuling `'>
+ <TblXColumnRuling `'>
+ <TblBodyRowRuling `'>
+ <TblXRowRuling `'>
+ <TblSeparatorRuling `'>
+ <TblInitNumColumns 2>
+ <TblInitNumBodyRows 4>
+ > # end of TblFormat
+ <TblNumColumns 2>
+ <Unique 1991>
+ <TblColumnWidth 2.0">
+ <TblColumnWidth 4.0">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellLRuling `None'>
+ <CellBRuling `Thin'>
+ <CellRRuling `None'>
+ <CellTRuling `None'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1993>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `ATOM'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellBRuling `Thin'>
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1995>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `DESCRIPTION'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.38889">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1997>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_EXIT_OK'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 1999>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The user selected \xd2 OK\xd3 . The PDM may or may not have changed '>
+ >
+ <ParaLine
+ <String `any attributes.'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.38889">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2001>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_EXIT_CANCEL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2003>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The user selected \xd2 Cancel\xd3 . Attributes have been left in the state they '>
+ >
+ <ParaLine
+ <String `were in before communication began.'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2005>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_EXIT_VXAUTH'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2007>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM was not authorized to connect to video-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2009>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_EXIT_PXAUTH'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2011>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM was not authorized to connect to print-display'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2013>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `PDM_EXIT_ERROR'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2015>
+ <PgfTag `CellBody'>
+ <ParaLine
+ <String `The PDM encountered an error'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 60>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2016>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2030>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2032>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2034>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major im'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2036>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2038>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2040>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2042>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2044>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2046>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 61>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2049>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2063>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2065>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2067>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2069>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2071>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2073>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2075>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2077>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2079>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2081>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2083>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2085>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2087>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2089>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2091>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major-version'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2093>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2095>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2097>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor-version'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2099>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `20'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2101>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2103>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 62>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2110>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2124>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2126>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2128>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2130>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2132>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2134>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2136>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2138>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3+(nl+np + ll+lp)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2140>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2142>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2144>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2146>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `printerNameLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2148>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2150>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2152>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `localeLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2154>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nl'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2156>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2158>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `printer-name'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2160>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `np'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2162>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2164>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(nl)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2166>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `ll'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2168>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2170>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `locale'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2172>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `lp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2174>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2176>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `lp=pad(ll)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 63>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumBodyRows 7>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2179>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2193>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2195>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2197>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2199>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2201>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2203>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2205>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2207>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2209>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequenceNumber'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.33333">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2211>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2213>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String ` (8 + nl+nlp + dl+dlp)/4 computed '>
+ >
+ <ParaLine
+ <String `listCount times'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2215>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2217>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2219>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2221>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `listCount'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2223>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `20'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2225>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2227>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.94444">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2229>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String ` (8 + '>
+ >
+ <ParaLine
+ <String `nl+nlp + '>
+ >
+ <ParaLine
+ <String `dl+dlp) '>
+ >
+ <ParaLine
+ <String `computed '>
+ >
+ <ParaLine
+ <String `listCount '>
+ >
+ <ParaLine
+ <String `times'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2231>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `LISTofPRINTER'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2233>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `printers'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2235>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2237>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2239>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2241>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PRINTER'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2243>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2245>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2247>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2249>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2251>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nameLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2253>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nl'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2255>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2257>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `name'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2259>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nlp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2261>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2263>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nlp=pad(nl)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2265>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2267>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2269>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `descLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2271>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dl'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2273>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2275>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `description'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2277>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dlp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2279>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2281>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dlp=pad(dl)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 64>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2288>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2302>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2304>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2306>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2308>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2310>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `20'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2312>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2314>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2316>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2318>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 65>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2325>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2339>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2341>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2343>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2345>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2347>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2349>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2351>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2353>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 + (nl+np + ll+lp)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2355>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2357>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2359>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2361>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context-id'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2363>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2365>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2367>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `printerNameLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2369>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2371>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2373>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `localeLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2375>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nl'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2377>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2379>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `printer-name'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2381>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `np'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2383>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2385>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `np=pad(nl)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2387>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `ll'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2389>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2391>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `locale'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2393>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `lp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2395>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2397>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `lp=pad(ll)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 66>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2404>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2418>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2420>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2422>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2424>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2426>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2428>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2430>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2432>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2434>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2436>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2438>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2440>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 67>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2447>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2461>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2463>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2465>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2467>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2469>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2471>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2473>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2475>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2477>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 68>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2479>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2493>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2495>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2497>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2499>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2501>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2503>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2505>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2507>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2509>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2511>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2513>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2515>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2517>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2519>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2521>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2523>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2525>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2527>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 69>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2534>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2548>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2550>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2552>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2554>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2556>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `5'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2558>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2560>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2562>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2564>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2566>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2568>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2570>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 70>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2577>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2591>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2593>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2595>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2597>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2599>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `6'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2601>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2603>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2605>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2607>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 71>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 4178>
+ <TblColumnWidth 1.23973">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4192>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4194>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4196>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4198>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4200>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4202>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4204>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4206>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4208>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4210>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4212>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4214>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4216>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4218>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `WINDOW'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4220>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `root'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4222>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4224>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4226>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 72>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2665>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2679>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2681>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2683>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2685>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2687>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `7'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2689>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2691>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2693>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2695>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2697>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2699>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2701>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `output-mode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2703>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2705>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2707>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 73>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2714>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2728>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2730>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2732>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2734>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2736>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2738>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2740>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2742>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2744>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2746>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2748>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BOOL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2750>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `cancel'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2752>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2754>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2756>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 74>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2763>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2777>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2779>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2781>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2783>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2785>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `9'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2787>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2789>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2791>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2793>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2795>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2797>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2799>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `driver-mode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2801>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2803>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2805>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 75>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2812>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2826>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2828>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2830>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2832>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2834>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `10'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2836>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2838>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2840>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2842>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2844>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2846>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BOOL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2848>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `cancel'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2850>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2852>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2854>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 76>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2861>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2875>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2877>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2879>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2881>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2883>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `11'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2885>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2887>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2889>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 + (d+dp + f+fp + o+op)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2891>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2893>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2895>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `DRAWABLE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2897>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `drawable'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2899>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2901>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2903>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `len_data'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2905>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2907>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2909>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `len_fmt'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2911>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2913>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2915>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `len_options'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2917>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `d'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2919>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `LISTofBYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2921>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `data'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2923>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2925>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2927>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dp=pad(d)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2929>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `f'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2931>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2933>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `doc-format'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2935>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `fp'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2937>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE '>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2939>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `fp=pad(f)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2941>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `o'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2943>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2945>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `options'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2947>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `op'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2949>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2951>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `op=pad(o)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 77>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 2958>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2972>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2974>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2976>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2978>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2980>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `12'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2982>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2984>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2986>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2988>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2990>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2992>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2994>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2996>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 2998>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3000>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `max-bytes'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 78>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 4397>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4405>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4407>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4409>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4411>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4413>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4415>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4417>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4419>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4421>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4423>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4425>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `(n + p)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4427>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.33333">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4429>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4431>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0 XPGetDocFinished'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `1 XPGetDocSecondConsumer'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4433>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `status-code'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4435>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4437>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4439>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `finished-flag'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4441>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4443>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4445>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `dataLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4447>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `12'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4449>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4451>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4453>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `n'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4455>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `LISTofBYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4457>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `data'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4459>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4461>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4463>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(n)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 79>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3080>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3094>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3096>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3098>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3100>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3102>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `13'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3104>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3106>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3108>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3110>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3112>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3114>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `WINDOW'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3116>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `window'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 80>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3123>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3137>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3139>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3141>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3143>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3145>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `14'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3147>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3149>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3151>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3153>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3155>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3157>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BOOL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3159>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `cancel'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3161>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3163>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3165>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 81>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3172>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3186>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3188>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3190>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3192>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3194>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `15'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3196>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3198>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3200>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3202>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3204>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3206>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3208>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3210>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3212>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BITMASK'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3214>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `event-mask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4475>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4477>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `#x00000000'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4479>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `XPNoEventMask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4469>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4471>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `#x00000001'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4473>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `XPPrintMask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4463>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4465>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `#x00000002'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4467>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `XPAttributeMask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 82>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3220>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3234>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3236>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3238>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3240>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3242>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3244>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3246>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3248>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3250>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3252>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3254>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3256>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 83>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 4479>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4487>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4489>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4491>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4493>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4495>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4497>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4499>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4501>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4503>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4505>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4507>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4509>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4511>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4513>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BITMASK'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4515>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `event-mask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4517>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4519>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BITMASK'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4521>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `all-events-mask'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4523>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4525>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4527>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 84>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3318>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3332>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3334>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3336>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3338>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3340>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `17'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3342>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3344>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3346>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3348>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3350>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3352>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3354>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3356>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3358>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3360>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `pool'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3362>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3364>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3366>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 85>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 4538>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4546>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4548>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4550>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4552>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4554>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4556>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4558>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4560>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4562>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4564>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4566>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `(n+p)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4568>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4570>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4572>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4574>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `stringLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4576>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `20'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4578>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4580>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4582>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `n'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4584>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4586>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `attributes'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4588>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4590>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4592>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(n)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 86>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 4286>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4300>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4302>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4304>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4306>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4308>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `19'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4310>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4312>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4314>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 + (n+p)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4316>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4318>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4320>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4322>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4324>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4326>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4328>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `nameLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4330>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4332>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4334>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `pool'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4336>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4338>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4340>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4342>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `n'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4344>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4346>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `name'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4348>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4350>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4352>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(n)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 87>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 4603>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4611>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4613>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4615>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4617>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4619>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4621>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4623>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4625>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4627>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4629>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4631>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `(n+p)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4633>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4635>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4637>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4639>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `valueLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4641>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `20'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4643>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4645>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4647>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `n'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4649>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4651>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `value'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4653>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4655>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4657>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(n)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 88>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3567>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3581>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3583>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3585>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3587>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3589>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `18'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3591>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3593>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3595>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 + (n+p)/4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3597>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3599>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3601>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3603>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3605>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3607>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD32'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3609>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `stringLen'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3611>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3613>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3615>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `pool'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3617>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3619>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3621>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `rule'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3623>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3625>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3627>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3629>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `n'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3631>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `STRING8'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3633>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `attributes'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3635>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3637>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BYTE'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3639>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `p=pad(n)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 89>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 4659>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4673>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4675>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4677>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4679>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4681>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `21'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4683>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4685>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4687>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4689>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4691>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4693>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4695>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 90>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 4697>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4711>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4713>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4715>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4717>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4719>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4721>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4723>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4725>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4727>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4729>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4731>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4733>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4735>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4737>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4739>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `width'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4741>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4743>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4745>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `height'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4747>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4749>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4751>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `offset-x'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4753>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4755>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4757>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `offset-y'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4759>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4761>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4763>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `reproducible-width'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4765>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4767>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `16'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4769>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `reproducible-height'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4771>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `12'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4773>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4775>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 91>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3770>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3784>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3786>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3788>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3790>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3792>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `22'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3794>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3796>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3798>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `2'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3800>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 92>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3802>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3816>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3818>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3820>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3822>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3824>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3826>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3828>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3830>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3832>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3834>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3836>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `listCount'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3838>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3840>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `4'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3842>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CAR'>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `D32'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3844>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `listCount'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3846>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `20'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3848>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3850>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.33333">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3852>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `4 * list'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `Count'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3854>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `LISTofWINDOW'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3856>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `roots'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3858>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3860>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3862>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.33333">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3864>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `ROOT'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `WINDOW'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3866>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3868>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3870>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `4'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3872>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `WINDOW'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3874>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `rootWindow'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 93>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ <Pgf
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfSpBefore 10.0 pt>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumFormat ` Encoding: '>
+ <PgfNumberFont `Label'>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ > # end of TblTitlePgf1
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3881>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3895>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3897>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0 + base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3899>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `code'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 1.22222">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3901>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3903>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0 XPStartJobNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3904>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1 XPEndJobNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3905>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2 XPStartDocNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3906>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3 XPEndDocNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3907>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 XPStartPageNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3908>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `5 XPEndPageNotify'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3910>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `detail'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3912>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3914>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3916>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3918>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3920>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3922>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3924>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3926>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BOOL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3928>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `cancel'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3930>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `23'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3932>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3934>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 94>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ <Pgf
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfSpBefore 10.0 pt>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumFormat ` Encoding: '>
+ <PgfNumberFont `Label'>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ > # end of TblTitlePgf1
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3938>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 2.21693">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3952>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3954>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1 + base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3956>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `code'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 1.43056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3958>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3960>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1 XPJobAttr'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3961>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2 XPDocAttr'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3962>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3 XPPageAttr'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3963>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4 XPPrinterAttr'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3964>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `5 XPServerAttr'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3965>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `6 XPMediumAttr (future use)'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3966>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `7 XPSpoolerAttr (future use)'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3968>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `detail'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3970>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3972>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3974>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3976>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3978>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3980>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3982>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `24'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3984>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3986>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 95>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3993>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4007>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4009>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4011>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Error'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4013>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4015>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `0 +'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4017>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `code'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4019>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4021>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4023>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 96>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 4027>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4041>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4043>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4045>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Error'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4047>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4049>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `1 +'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4051>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `code'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4053>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4055>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4057>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 97>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3620>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3622>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3624>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3626>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3628>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3630>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `23'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3632>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3634>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3636>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `3'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3638>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3640>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3642>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3644>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3646>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3648>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3650>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `image-resolution'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3652>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3654>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3656>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 98>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 3659>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3661>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3663>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3665>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3667>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3669>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `BOOL'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3671>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `status'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3673>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3675>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3677>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3679>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3681>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3683>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3685>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3687>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3689>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `previous-resolution'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3691>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `22'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3693>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3695>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 99>
+ <TblTag `Format A'>
+ <TblFormat
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.23973">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.92446">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.874">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 0.77778">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ > # end of TblColumnBody
+ <TblColumnF
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfAlignment Center>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblInitNumHRows 0>
+ <TblInitNumBodyRows 3>
+ > # end of TblFormat
+ <TblNumColumns 3>
+ <Unique 3946>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3948>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3950>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `base'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3952>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `major opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3954>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3956>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `24'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3958>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `minor opcode'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3960>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3962>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3964>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `request length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3966>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3968>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3970>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `context'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+ <Tbl
+ <TblID 100>
+ <TblTag `Format A'>
+ <TblNumColumns 3>
+ <Unique 3985>
+ <TblColumnWidth 0.75">
+ <TblColumnWidth 1.92446">
+ <TblColumnWidth 1.874">
+ <TblBody
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3987>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3989>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3991>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Reply'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3993>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `1'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3995>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3997>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3999>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4001>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4003>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `sequence number'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4005>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `4'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4007>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `0'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4009>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `reply length'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4011>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `2'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4013>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `CARD16'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4015>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `image-resolution'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ <Row
+ <RowMaxHeight 14.0">
+ <RowHeight 0.18056">
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4017>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `22'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4019>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ <Cell
+ <CellContent
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 4021>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `unused'>
+ >
+ > # end of Para
+ > # end of CellContent
+ > # end of Cell
+ > # end of Row
+ > # end of TblBody
+ > # end of Tbl
+> # end of Tbls
+<Page
+ <Unique 713331>
+ <PageType LeftMasterPage>
+ <PageTag `Left'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 101>
+ <Unique 713332>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 10.334" 6.0" 0.1569">
+ <BRect 1.0" 10.334" 6.0" 0.1569">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 102>
+ <Unique 713333>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2865>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.0" 10.25">
+ <Point 7.0" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 103>
+ <Unique 713335>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.0" 0.211">
+ <BRect 1.0" 0.5" 6.0" 0.211">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 104>
+ <Unique 713336>
+ <Overprint No>
+ <ShapeRect 1.0" 10.334" 6.5" 0.1569">
+ <BRect 1.0" 10.334" 6.5" 0.1569">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 105>
+ <Unique 713337>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.125">
+ <BRect 1.0" 1.0" 6.5" 9.125">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2873>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.0" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+> # end of Page
+<Page
+ <Unique 713364>
+ <PageType RightMasterPage>
+ <PageTag `Right'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 106>
+ <Unique 713369>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2877>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.0" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 107>
+ <Unique 713371>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 10.334" 6.5" 0.1569">
+ <BRect 1.0" 10.334" 6.5" 0.1569">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2881>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.5" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 108>
+ <Unique 713506>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.211">
+ <BRect 1.0" 0.5" 6.5" 0.211">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 479>
+ <PageType OtherMasterPage>
+ <PageTag `First'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 109>
+ <Unique 480>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2888>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.0" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 110>
+ <Unique 482>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 10.334" 6.5" 0.1569">
+ <BRect 1.0" 10.334" 6.5" 0.1569">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2892>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.5" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 111>
+ <Unique 484>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.211">
+ <BRect 1.0" 0.5" 6.5" 0.211">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 513>
+ <PageType OtherMasterPage>
+ <PageTag `cover'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 112>
+ <Unique 514>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2899>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.0" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 113>
+ <Unique 516>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 10.334" 6.5" 0.1569">
+ <BRect 1.0" 10.334" 6.5" 0.1569">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <PolyLine
+ <Unique 2903>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 1.5" 10.25">
+ <Point 7.5" 10.25">
+ > # end of PolyLine
+ <TextRect
+ <ID 114>
+ <Unique 518>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.211">
+ <BRect 1.0" 0.5" 6.5" 0.211">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713401>
+ <PageType ReferencePage>
+ <PageTag `Reference'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextLine
+ <Unique 713402>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <TLOrigin 1.0" 0.625">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <Font
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <String `Footnote'>
+ > # end of TextLine
+ <Frame
+ <Unique 713403>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 0.69444" 2.52778" 0.27778">
+ <BRect 1.0" 0.69444" 2.52778" 0.27778">
+ <FrameType NotAnchored>
+ <Tag `Footnote'>
+ <PolyLine
+ <Unique 2910>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.16667">
+ <Point 1.83333" 0.16667">
+ > # end of PolyLine
+ > # end of Frame
+ <TextLine
+ <Unique 713405>
+ <Overprint No>
+ <TLOrigin 1.02845" 1.70441">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `TableFootnote'>
+ > # end of TextLine
+ <Frame
+ <Unique 713406>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.76745" 2.52778" 0.09722">
+ <BRect 1.0" 1.76745" 2.52778" 0.09722">
+ <FrameType NotAnchored>
+ <Tag `TableFootnote'>
+ <PolyLine
+ <Unique 2914>
+ <Pen 0>
+ <PenWidth 0.25 pt>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.08333" 0.0534">
+ <Point 1.83333" 0.0534">
+ > # end of PolyLine
+ > # end of Frame
+> # end of Page
+<Page
+ <Unique 713409>
+ <PageType ReferencePage>
+ <PageTag `TOC'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 115>
+ <Unique 713410>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.5" 4.0" 6.0" 3.0">
+ <BRect 1.5" 4.0" 6.0" 3.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextLine
+ <Unique 713411>
+ <Overprint No>
+ <TLOrigin 1.5" 3.8629">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Table of Contents Specification'>
+ > # end of TextLine
+> # end of Page
+<Page
+ <Unique 713416>
+ <PageType ReferencePage>
+ <PageTag `IX'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 116>
+ <Unique 713417>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.5" 4.0" 5.5" 1.625">
+ <BRect 1.5" 4.0" 5.5" 1.625">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextLine
+ <Unique 713418>
+ <Overprint No>
+ <TLOrigin 1.5" 3.88623">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Index Specification'>
+ > # end of TextLine
+> # end of Page
+<Page
+ <Unique 713427>
+ <PageType ReferencePage>
+ <PageTag `LOF'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 117>
+ <Unique 713428>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.5" 4.0" 6.0" 3.0">
+ <BRect 1.5" 4.0" 6.0" 3.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextLine
+ <Unique 713429>
+ <Overprint No>
+ <TLOrigin 1.5" 3.8629">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `List of Figures Specification'>
+ > # end of TextLine
+> # end of Page
+<Page
+ <Unique 713432>
+ <PageType ReferencePage>
+ <PageTag `LOT'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 118>
+ <Unique 713433>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.5" 4.0" 6.0" 3.0">
+ <BRect 1.5" 4.0" 6.0" 3.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextLine
+ <Unique 713434>
+ <Overprint No>
+ <TLOrigin 1.5" 3.8629">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `List of Tables Specification'>
+ > # end of TextLine
+> # end of Page
+<Page
+ <Unique 10368>
+ <PageType BodyPage>
+ <PageNum `1'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 119>
+ <Unique 10369>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 120>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713316>
+ <PageType BodyPage>
+ <PageNum `2'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 120>
+ <Unique 713317>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 121>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713319>
+ <PageType BodyPage>
+ <PageNum `3'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 121>
+ <Unique 713320>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 122>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713322>
+ <PageType BodyPage>
+ <PageNum `4'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 122>
+ <Unique 713323>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 123>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713325>
+ <PageType BodyPage>
+ <PageNum `5'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 123>
+ <Unique 713326>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 124>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713328>
+ <PageType BodyPage>
+ <PageNum `6'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 124>
+ <Unique 713329>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 125>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713436>
+ <PageType BodyPage>
+ <PageNum `7'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 125>
+ <Unique 713437>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 126>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713439>
+ <PageType BodyPage>
+ <PageNum `8'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 126>
+ <Unique 713440>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 127>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 713654>
+ <PageType BodyPage>
+ <PageNum `9'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 127>
+ <Unique 713655>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 128>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 491>
+ <PageType BodyPage>
+ <PageNum `10'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 128>
+ <Unique 492>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 129>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 574>
+ <PageType BodyPage>
+ <PageNum `11'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 129>
+ <Unique 575>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 130>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1719>
+ <PageType BodyPage>
+ <PageNum `12'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 130>
+ <Unique 1720>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 131>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1722>
+ <PageType BodyPage>
+ <PageNum `13'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 131>
+ <Unique 1723>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 132>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1725>
+ <PageType BodyPage>
+ <PageNum `14'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 132>
+ <Unique 1726>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 133>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1728>
+ <PageType BodyPage>
+ <PageNum `15'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 133>
+ <Unique 1729>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 134>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1731>
+ <PageType BodyPage>
+ <PageNum `16'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 134>
+ <Unique 1732>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 135>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1734>
+ <PageType BodyPage>
+ <PageNum `17'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 135>
+ <Unique 1735>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 136>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1737>
+ <PageType BodyPage>
+ <PageNum `18'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 136>
+ <Unique 1738>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 137>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1740>
+ <PageType BodyPage>
+ <PageNum `19'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 137>
+ <Unique 1741>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 138>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1743>
+ <PageType BodyPage>
+ <PageNum `20'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 138>
+ <Unique 1744>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 139>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1746>
+ <PageType BodyPage>
+ <PageNum `21'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 139>
+ <Unique 1747>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 140>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1749>
+ <PageType BodyPage>
+ <PageNum `22'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 140>
+ <Unique 1750>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 141>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1752>
+ <PageType BodyPage>
+ <PageNum `23'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 141>
+ <Unique 1753>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 142>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1755>
+ <PageType BodyPage>
+ <PageNum `24'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 142>
+ <Unique 1756>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 143>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1758>
+ <PageType BodyPage>
+ <PageNum `25'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 143>
+ <Unique 1759>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 144>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 1761>
+ <PageType BodyPage>
+ <PageNum `26'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 144>
+ <Unique 1762>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 145>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 2022>
+ <PageType BodyPage>
+ <PageNum `27'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 145>
+ <Unique 2023>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 146>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 2025>
+ <PageType BodyPage>
+ <PageNum `28'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 146>
+ <Unique 2026>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 147>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 2002>
+ <PageType BodyPage>
+ <PageNum `29'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 147>
+ <Unique 2003>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 148>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 4098>
+ <PageType BodyPage>
+ <PageNum `30'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 148>
+ <Unique 4099>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 149>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 4101>
+ <PageType BodyPage>
+ <PageNum `31'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 149>
+ <Unique 4102>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 150>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 3564>
+ <PageType BodyPage>
+ <PageNum `32'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 150>
+ <Unique 3565>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.125" 6.5" 9.0">
+ <BRect 1.0" 1.125" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713349>
+ <Pgf
+ <PgfTag `left footer'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 3.0">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 101>
+ <Variable
+ <VariableName `Current Page #'>
+ <Unique 713341>
+ > # end of Variable
+ <Char Tab>
+ <Variable
+ <VariableName `Current Date (Long)'>
+ <Unique 713344>
+ > # end of Variable
+ <Char Tab>
+ <Variable
+ <VariableName `Running H/F 1'>
+ <Unique 713347>
+ > # end of Variable
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713350>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 102>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713351>
+ <PgfTag `header right'>
+ <Pgf
+ <PgfAlignment Left>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 103>
+ <Font
+ <FTag `'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FLocked No>
+ > # end of Font
+ <Variable
+ <VariableName `Current Page #'>
+ <Unique 444>
+ > # end of Variable
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <Font
+ <FTag `'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FLocked No>
+ > # end of Font
+ <Variable
+ <VariableName `Running H/F 1'>
+ <Unique 501>
+ > # end of Variable
+ <Variable
+ <VariableName `protocol'>
+ <Unique 447>
+ > # end of Variable
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713477>
+ <Pgf
+ <PgfTag `left footer'>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 104>
+ <String `Release 6.4'>
+ <Char Tab>
+ <Char Tab>
+ <String `X Version 11'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713362>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 105>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713374>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 106>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713381>
+ <PgfTag `right footer'>
+ <ParaLine
+ <TextRectID 107>
+ <String `X Version 11'>
+ <Char Tab>
+ <String `Release 6.4'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713510>
+ <PgfTag `Heading1'>
+ <Pgf
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 108>
+ <Variable
+ <VariableName `protocol'>
+ <Unique 713559>
+ > # end of Variable
+ <Variable
+ <VariableName `Running H/F 1'>
+ <Unique 504>
+ > # end of Variable
+ <Char Tab>
+ <Variable
+ <VariableName `Current Page #'>
+ <Unique 715799>
+ > # end of Variable
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 485>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 109>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 489>
+ <PgfTag `right footer'>
+ <ParaLine
+ <TextRectID 110>
+ <String `X Version 11'>
+ <Char Tab>
+ <String `Release 6.4'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 496>
+ <PgfTag `Heading1'>
+ <Pgf
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 111>
+ <Variable
+ <VariableName `protocol'>
+ <Unique 491>
+ > # end of Variable
+ <Char Tab>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 519>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 112>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 523>
+ <PgfTag `right footer'>
+ <ParaLine
+ <TextRectID 113>
+ <String `X Version 11'>
+ <Char Tab>
+ <String `Release 6.4'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 527>
+ <PgfTag `Heading1'>
+ <Pgf
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 114>
+ <Variable
+ <VariableName `protocol'>
+ <Unique 525>
+ > # end of Variable
+ <Char Tab>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `TOC'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713412>
+ <Pgf
+ <PgfTag `1HeadingTOC'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfLIndent 0.5">
+ <PgfSpBefore 5.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithNext No>
+ <PgfBlockSize 2>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Fixed>
+ <PgfLeading 2.0 pt>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr `.'>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 115>
+ <String `<$paranum\>'>
+ <Char Tab>
+ <String `<$paratext\>'>
+ <Char Tab>
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713413>
+ <Pgf
+ <PgfTag `2HeadingTOC'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 1.0">
+ <PgfSpBefore 2.0 pt>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr `.'>
+ > # end of TabStop
+ > # end of Pgf
+ <ParaLine
+ <String `<$paranum\>'>
+ <Char Tab>
+ <String `<$paratext\>'>
+ <Char Tab>
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713414>
+ <Pgf
+ <PgfTag `3HeadingTOC'>
+ <PgfFIndent 1.0">
+ <PgfLIndent 1.5">
+ <PgfSpBefore 0.0 pt>
+ <PgfBlockSize 1>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 1.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr `.'>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <PgfMinWordSpace 75>
+ <PgfMaxWordSpace 125>
+ > # end of Pgf
+ <ParaLine
+ <String `<$paranum\>'>
+ <Char Tab>
+ <String `<$paratext\>'>
+ <Char Tab>
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `IX'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713419>
+ <Pgf
+ <PgfTag `Level2IX'>
+ <PgfFIndent 0.125">
+ <PgfLIndent 0.375">
+ <PgfLeading 1.0 pt>
+ <PgfNumTabs 0>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 116>
+ <String `Level2IX'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713420>
+ <Pgf
+ <PgfTag `Level1IX'>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.5">
+ > # end of Pgf
+ <ParaLine
+ <String `Level1IX'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713421>
+ <Pgf
+ <PgfTag `SpecIX'>
+ <PgfLIndent 0.0">
+ <PgfLeading 2.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String ` 1, 2'>
+ <Char EnDash>
+ <String `3'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713422>
+ <Pgf
+ <PgfTag `SortSpecIX'>
+ > # end of Pgf
+ <ParaLine
+ <String `<$symbols\><$numerics\><$alphabetics\>'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713423>
+ <Pgf
+ <PgfTag `GroupTitlesIX'>
+ <PgfSpBefore 11.0 pt>
+ <PgfWithNext Yes>
+ > # end of Pgf
+ <ParaLine
+ <String `Symbols[\\ ];Numerics[0];A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713424>
+ <Pgf
+ <PgfTag `IndexIX'>
+ <PgfSpBefore 0.0 pt>
+ <PgfWithNext No>
+ > # end of Pgf
+ <ParaLine
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713425>
+ <Pgf
+ <PgfTag `Paragraph'>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `LOF'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713430>
+ <Pgf
+ <PgfTag `FigureLOF'>
+ <PgfLIndent 1.0">
+ <PgfSpBefore 2.0 pt>
+ <PgfBlockSize 2>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Right>
+ <TSLeaderStr `.'>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 117>
+ <String `<$paranum\>'>
+ <Char Tab>
+ <String `<$paratext\>'>
+ <Char Tab>
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `LOT'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 713435>
+ <Pgf
+ <PgfTag `TableTitleLOT'>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 118>
+ <String `<$paranum\>'>
+ <Char Tab>
+ <String `<$paratext\>'>
+ <Char Tab>
+ <String `<$pagenum\>'>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 3808>
+ <PgfTag `1Heading'>
+ <PgfNumString `1\t'>
+ <ParaLine
+ <TextRectID 119>
+ <String `Overview'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3809>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `X Print Service is an X extension that allows X imaging to non-display devices such as printers and fax '>
+ >
+ <ParaLine
+ <String `machines. The core of the X Print Service is the X Print Server. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 435>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Applications that require printing operations can make a connection to X Print Server and list the available '>
+ >
+ <ParaLine
+ <String `printers using the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetPrinterList'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request. After selecting a printer, an application must create and set '>
+ >
+ <ParaLine
+ <String `a print context using the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintCreateContext'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetContext'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` requests. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 715581>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The \xd2 print context\xd3 is a fundamental X Print Service concept. A print context:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 493>
+ <PgfTag `Bullet'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar Yes>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar No>
+ <FLocked No>
+ > # end of Font
+ <String `Contains a printer\xd5 s default capabilities'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 496>
+ <PgfTag `Bullet2'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar Yes>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar No>
+ <FLocked No>
+ > # end of Font
+ <String `Contains a printer\xd5 s range of capabilities'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 497>
+ <PgfTag `Bullet2'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar Yes>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar No>
+ <FLocked No>
+ > # end of Font
+ <String `Maintains the state of the settings on a printer'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 498>
+ <PgfTag `Bullet2'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar Yes>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar No>
+ <FLocked No>
+ > # end of Font
+ <String `Maintains the state of rendering against a printer'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 499>
+ <PgfTag `Bullet2'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar Yes>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar No>
+ <FLocked No>
+ > # end of Font
+ <String `Maintains rendered output'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 500>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `A print context also affects how the DDX driver generates its page description language (PDL), and how the '>
+ >
+ <ParaLine
+ <String `PDL is submitted to a spooler. It may affect fonts and other elements in the DDX layer of the X Print Server. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 494>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Printer capabilities are defined by attribute pools within the print context. They contain information related '>
+ >
+ <ParaLine
+ <String `to a context\xd5 s server, printer, job, document, and page options. '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetAttributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetAttributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `are used to access and modify attribute pools. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 505>
+ <PgfTag `Body'>
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` are used to delineate print jobs. A \xd2 job\xd3 is a collection of documents '>
+ >
+ <ParaLine
+ <String `delineated by '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. Each document is, in turn, a collection of \xd2 pages\xd3 . Upon '>
+ >
+ <ParaLine
+ <String `completion the server sends any resulting PDL to a print spooler, or makes it available for retrieval by an '>
+ >
+ <ParaLine
+ <String `application.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 715291>
+ <PgfTag `1Heading'>
+ <PgfNumString `2\t'>
+ <ParaLine
+ <TextRectID 120>
+ <String `Protocols'>
+ >
+ > # end of Para
+ <Para
+ <Unique 715292>
+ <PgfTag `2Heading'>
+ <PgfNumString `2.1\t'>
+ <ParaLine
+ <String `Formats, Syntactic Conventions, and Common Types'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713194>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The type '>
+ <Marker
+ <MType 2>
+ <MText `PCONTEXT, type'>
+ <MCurrPage `2'>
+ <Unique 3879>
+ > # end of Marker
+ <String `PCONTEXT is a 32-bit value. Its top three bits are guaranteed to be zero.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5028>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Refer to the '>
+ <Font
+ <FTag `'>
+ <FAngle `Italic'>
+ <FPostScriptName `Times-Italic'>
+ <FLocked No>
+ > # end of Font
+ <String `X Window System'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` Protocol specification for a description of other formats, syntactic conven'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `tions and common types established in that publication and used in the current document as well.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 717705>
+ <PgfTag `2Heading'>
+ <PgfNumString `2.2\t'>
+ <ParaLine
+ <String `Errors'>
+ <Marker
+ <MType 2>
+ <MText `errors'>
+ <MCurrPage `2'>
+ <Unique 3876>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 709>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `X Print Service can return the following messages, in addition to X core request errors.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 710>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `XPBadContext, error description'>
+ <MCurrPage `2'>
+ <Unique 3877>
+ > # end of Marker
+ <String `XPBadContext'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <String `An incorrect print context ID was specified.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 712>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `XPBadSequence, error description'>
+ <MCurrPage `2'>
+ <Unique 3878>
+ > # end of Marker
+ <String `XPBadSequence'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <String `Requests were not specified in the proper order with respect to other '>
+ >
+ <ParaLine
+ <String `requests. For example, a request was specified before a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetContext'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `request.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 697>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Other errors that are context specific for a particular request are documented in the description of the request '>
+ >
+ <ParaLine
+ <String `itself. If the above errors have a specific meaning for a particular request, they are documented in the request '>
+ >
+ <ParaLine
+ <String `itself as well.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 525>
+ <PgfTag `2Heading'>
+ <PgfNumString `2.3\t'>
+ <ParaLine
+ <String `X Print Service Requests'>
+ >
+ > # end of Para
+ <Para
+ <Unique 530>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 3>
+ <String `PrintCreateContext'>
+ <Marker
+ <MType 2>
+ <MText `PrintCreateContext:request'>
+ <MCurrPage `2'>
+ <Unique 438>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 713600>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `context-id'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ <Para
+ <Unique 713610>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `printer-name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1423>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `locale'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 717435>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 5>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `Match, IDChoice'>
+ >
+ > # end of Para
+ <Para
+ <Unique 717252>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request creates a new print context and assigns context-id to it. The attributes associated with the new '>
+ >
+ <ParaLine
+ <String `context are those determined by the printer-name. Printer-name is encoded in COMPOUND_TEXT. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 5064>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The client must select the context-id by ORing some combination of bits in the connection resource-id-mask '>
+ >
+ <ParaLine
+ <String `with the resource-id-base.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1638>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The locale argument is used as a \xd2 hint\xd3 to the print server, and is used to initialize attribute pools with any '>
+ >
+ <ParaLine
+ <String `localized attribute values.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1640>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `A '>
+ <Font
+ <FTag `Message'>
+ <FLocked No>
+ > # end of Font
+ <String `Match'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is generated when the printer-name does not exist. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 638>
+ <PgfTag `Protocol'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 2050>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 121>
+ <AFrame 4>
+ <String `PrintSetContext'>
+ <Marker
+ <MType 2>
+ <MText `PrintSetContext:request'>
+ <MCurrPage `3'>
+ <Unique 439>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1447>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT or '>
+ <Font
+ <FTag `XPValue'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `None'>
+ >
+ > # end of Para
+ <Para
+ <Unique 491>
+ <PgfTag `Protocol-errors'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FWeight `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FLocked No>
+ > # end of Font
+ <AFrame 6>
+ <Font
+ <FTag `Literal'>
+ <FWeight `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FLocked No>
+ > # end of Font
+ <String `Errors:'>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String ` XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1451>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request associates the context specified with all subsequent print operations for this client. If context is '>
+ >
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `None'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the print context previously associated with this client is unset. If no print context was previously set, '>
+ >
+ <ParaLine
+ <String `then no action is taken when '>
+ <Font
+ <FTag `Argument'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `None'>
+ <Font
+ <FTag `'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `is specified. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 603>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The execution of the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetContext'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request may affect the interpretation of the font path. The font path '>
+ >
+ <ParaLine
+ <String `contains font path elements for all printers associated with a print server. Only those associated with the cur'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `rent print context are returned and used for print rendering.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1458>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 7>
+ <String `PrintGetContext'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetContext:request'>
+ <MCurrPage `3'>
+ <Unique 440>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1459>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 605>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 1>
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT or None'>
+ >
+ > # end of Para
+ <Para
+ <Unique 607>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns the current print context for the connection.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 950>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 2>
+ <String `PrintDestroyContext'>
+ <Marker
+ <MType 2>
+ <MText `PrintDestroyContext:request'>
+ <MCurrPage `3'>
+ <Unique 949>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 951>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 956>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 47>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1483>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request unsets and destroys a print context. If a print context is destroyed before print operations associ'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `ated with it have been completed, the print server cancels all those operations as if a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `CancelJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request had '>
+ >
+ <ParaLine
+ <String `been issued.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1146>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 24>
+ <String `PrintGetPrinterList'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetPrinterList:request'>
+ <MCurrPage `3'>
+ <Unique 1145>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1148>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `printer-name: STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 992>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `locale'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1944>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1151>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `printers'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: LISTofPRINTER'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5065>
+ <PgfTag `Protocol-item'>
+ <Pgf
+ <PgfSpBefore 2.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `where:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1153>
+ <PgfTag `Protocol-item-indent'>
+ <Pgf
+ <PgfFIndent 0.75">
+ <PgfLIndent 0.75">
+ <PgfSpBefore 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `PRINTER:'>
+ <Char Tab>
+ <String `name: STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5066>
+ <PgfTag `Protocol-item-indent-2'>
+ <Pgf
+ <PgfFIndent 1.5">
+ <PgfLIndent 1.5">
+ > # end of Pgf
+ <ParaLine
+ <String `description: STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3860>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 55>
+ >
+ > # end of Para
+ <Para
+ <Unique 1162>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request retrieves a list of all printers supported on a print server.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1163>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 122>
+ <String `If '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `printer-name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is an empty string, then a list of all printers is returned. Otherwise '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `the print record that '>
+ >
+ <ParaLine
+ <String `matches the printer-name specified is returned. If no records match printer-name, then an empty list is '>
+ >
+ <ParaLine
+ <String `returned. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1164>
+ <PgfTag `Body'>
+ <ParaLine
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `printer-name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is a '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `COMPOUND_TEXT'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` string. The '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `description'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` fields returned are '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `COMPOUND_TEXT'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. If '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `printer-name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is provided in a code-set that the print server cannot convert, then it '>
+ >
+ <ParaLine
+ <String `may not be possible to locate the requested printer. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1165>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The locale argument is used as a \xd2 hint\xd3 to locate a localized description for each printer in the list. If the '>
+ >
+ <ParaLine
+ <String `print server cannot interpret the hint, then it describes the printers in the server\xd5 s current locale.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1490>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 8>
+ <String `PrintGetScreenOfContext'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetScreenOfContext:request'>
+ <MCurrPage `4'>
+ <Unique 442>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1948>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 653>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `root'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `WINDOW'>
+ >
+ > # end of Para
+ <Para
+ <Unique 664>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 31>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1496>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns the root window associated with the current print context.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2062>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Each printer supported by a print server is associated with exactly one of the screens returned in the connec'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `tion setup reply. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 429>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 10>
+ <String `PrintStartJob'>
+ <Marker
+ <MType 2>
+ <MText `PrintStartJob:request'>
+ <MCurrPage `4'>
+ <Unique 444>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1520>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `output-mode'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `{'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPSpool, XPGetData'>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1523>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 33>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSequence, Value'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1524>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request signals the beginning of a new print job. It results in the generation of an '>
+ <Font
+ <FTag `Message'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrintNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event, '>
+ >
+ <ParaLine
+ <String `with the detail field set to '>
+ <Font
+ <FTag `Message'>
+ <FLocked No>
+ > # end of Font
+ <String `XPStartJobNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 722>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If output-mode is set to '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPSpool'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then the document data is typically sent to a spooler. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1026>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If output-mode is set to '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGetData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then the document data is made available to '>
+ <Font
+ <FTag `Message'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `and the resulting job is not spooled. In this case, the print server suspends processing further requests on this '>
+ >
+ <ParaLine
+ <String `print context until some other client sends '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData. '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `Subsequent operations that use the '>
+ >
+ <ParaLine
+ <String `print context may be suspended at any time pending the processing of '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` replies to '>
+ >
+ <ParaLine
+ <String `read any buffered output.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1048>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Any changes to the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` pool must be made before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob. '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `Further modifications can only be '>
+ >
+ <ParaLine
+ <String `made to the attribute pool after a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request is executed.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 662>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 11>
+ <String `PrintEndJob'>
+ <Marker
+ <MType 2>
+ <MText `PrintEndJob:request'>
+ <MCurrPage `4'>
+ <Unique 445>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1533>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `BOOL'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1536>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <TextRectID 123>
+ <AFrame 34>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, XPBadSequence'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1537>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request causes the print job associated with the current print context to end. If '>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `FALSE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, any '>
+ >
+ <ParaLine
+ <String `accumulated print data that remains is either sent to the printer or made available to '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocument'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `Data'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1021>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The request generates an '>
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrintNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event with its detail field set to '>
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `XPEndJobNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 415>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When cancel'>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the job currently being processed is canceled. The server may discard any pending '>
+ >
+ <ParaLine
+ <String `output or may produce partial output. If the job was started in '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGetData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` mode, then the entire data output '>
+ >
+ <ParaLine
+ <String `stream is implementation-defined.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1057>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is called immediately after '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then a synthetic '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is generated by '>
+ >
+ <ParaLine
+ <String `print server before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. The pool of '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attributes that was frozen when the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStart'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `Job'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request was executed is released when '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is called.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1116>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 16>
+ <String `PrintGetDocumentData'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetDocumentData:request'>
+ <MCurrPage `5'>
+ <Unique 1115>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1117>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1118>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `max-bytes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `CARD32'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1119>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ <Font
+ <FTag `'>
+ <FSize 9.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String `+'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1120>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `status-code: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGetDocFinished, XPGetDocSecondConsumer, XPGetDocError'>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1121>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `finished-flag'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `CARD32'>
+ <Font
+ <FTag `WritersNote'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1122>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `data'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `LISTofBYTE'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1127>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 37>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, XPBadSequence, Value'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1129>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns data generated on a context by other clients. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1009>
+ <PgfTag `Body'>
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` should be sent only after a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request with save_data set to '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGet'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `Data'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` has been executed. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1016>
+ <PgfTag `Body'>
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` generates multiple replies. Each reply is no larger than the value specified in max-'>
+ >
+ <ParaLine
+ <String `bytes. The final reply is generated by '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and has finished-flag set to '>
+ <Font
+ <FTag `'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1132>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If the value for max-bytes is zero, a '>
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `Value'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is generated. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2087>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `An '>
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSequence'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is generated if '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is executed before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` or if '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is executed after '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` with save_data set to '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPSpool'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1050>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 12>
+ <AFrame 14>
+ <String `PrintPutDocumentData'>
+ <Marker
+ <MType 2>
+ <MText `PrintPutDocumentData:request'>
+ <MCurrPage `5'>
+ <Unique 1049>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1051>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `drawable'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `DRAWABLE'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1052>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `data'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `LISTofBYTE'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1053>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `doc-format, options'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1058>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 15>
+ <String `Errors: '>
+ <Char Tab>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, XPBadSequence, Match, Value, Drawable'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1061>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 124>
+ <String `This request allows an application to send and incorporate data into the print output. It functions in two '>
+ >
+ <ParaLine
+ <String `modes, depending on whether the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` driver-mode is set to '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` or '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocRaw'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1062>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` sends data to the print server and integrates data '>
+ >
+ <ParaLine
+ <String `into the output. The root of the drawable must be the root of the current print '>
+ >
+ <ParaLine
+ <String `context. The doc-format and options parameters describe the format of data, '>
+ >
+ <ParaLine
+ <String `which in turn guides the way the server interprets it. The '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-embedded-for'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `mats-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute in the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrinterAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` pool defines valid values '>
+ >
+ <ParaLine
+ <String `for doc-format in this mode, else a '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `Match'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1063>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocRaw'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` sends data directly to the print server output. The '>
+ >
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `print server'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` does not emit document or page control codes into the output, '>
+ >
+ <ParaLine
+ <String `and data is passed through unmodified. Drawable must be None, else a '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `Drawable'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued. The '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-raw-formats-supported'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute in the '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrinterAttr'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` pool defines valid values for doc-format in this mode, else a '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `Match'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3891>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If doc-format is not in '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-embedded-formats-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` or '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-raw-formats-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` a '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `Value'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is '>
+ >
+ <ParaLine
+ <String `issued. The options field is implementation-dependent and the permitted values may depend on the current '>
+ >
+ <ParaLine
+ <String `settings of other attributes and the value of doc-format. If an unknown options value is specified a '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `Value'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `error is issued, else if options is not valid in the current state a '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `Match'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3899>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 48>
+ <String `PrintStartDoc'>
+ <Marker
+ <MType 2>
+ <MText `PrintStartDoc:request'>
+ <MCurrPage `6'>
+ <Unique 3898>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1561>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `driver-mode'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal, XPDocRaw'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1562>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 35>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `Value, XPBadSequence'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1563>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request indicates the beginning of an individual document within a print job. The server performs the '>
+ >
+ <ParaLine
+ <String `actions necessary to define a new document, and generates an '>
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrintNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event with its detail field set to '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `XPStartDocNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 762>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The value of driver-mode'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `can be:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 756>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <String `Print server generates document data. Depending on the DDX driver, it can '>
+ >
+ <ParaLine
+ <String `incorporate data from '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` into the document. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1048>
+ <PgfTag `Definition'>
+ <ParaLine
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocRaw'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <Char Tab>
+ <String `The client provides all data for the document using '>
+ <Font
+ <FTag `Message'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocument'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `Data'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String `. The print server does not generate any data of its own into the docu'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `ment.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1049>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is sent immediately after '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then a synthetic '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` with driver-'>
+ >
+ <ParaLine
+ <String `mode '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will be generated internally by print server before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1050>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Any changes to the '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute pool must be made before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `is executed. Further '>
+ >
+ <ParaLine
+ <String `modifications can only be made to the attribute pool after a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request is executed.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 765>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 13>
+ <String `PrintEndDoc'>
+ <Marker
+ <MType 2>
+ <MText `PrintEndDoc:request'>
+ <MCurrPage `6'>
+ <Unique 447>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1572>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <TextRectID 125>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `BOOL'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1575>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 36>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSequence'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1576>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request signals the end of a print document. The resulting document data is assembled and combined '>
+ >
+ <ParaLine
+ <String `with data that was sent by '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 402>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When cancel is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the document currently being processed is canceled. The server may discard any '>
+ >
+ <ParaLine
+ <String `pending output or may produce partial output. If the job was started with '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGetData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` mode, then the entire '>
+ >
+ <ParaLine
+ <String `data output stream is implementation-defined for this document.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1080>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XpDocAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` pool that was frozen when the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request was executed is released when '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `Print'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `EndDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is called.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 471>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 17>
+ <String `PrintStartPage'>
+ <Marker
+ <MType 2>
+ <MText `PrintStartPage:request'>
+ <MCurrPage `7'>
+ <Unique 450>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 501>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `WINDOW'>
+ >
+ > # end of Para
+ <Para
+ <Unique 513>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 38>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSequence, Window'>
+ >
+ > # end of Para
+ <Para
+ <Unique 550>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request indicates the beginning of a single print page within a document. W'>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `indow'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is the drawable that '>
+ >
+ <ParaLine
+ <String `represents the page. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 551>
+ <PgfTag `Body'>
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` causes '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` to be mapped. Within a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `/'>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` sequence, any '>
+ >
+ <ParaLine
+ <String `attempts to resize, move, or unmap '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will be ignored. To resize or move inferiors of '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the stan'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `dard semantics used for '>
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `ConfigureWindow'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` apply, except that the contents of the configured window may be '>
+ >
+ <ParaLine
+ <String `lost. If the contents of a window are lost, an '>
+ <Font
+ <FTag `XPEvent'>
+ <FLocked No>
+ > # end of Font
+ <String `Expose'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event is generated.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 547>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `A '>
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `Window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued if '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is not a descendent of the root window of the current print context. '>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String `An '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSequence'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` error is issued if '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` is called in an '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocRaw'>
+ <Font
+ <FTag `Function'>
+ <FLocked No>
+ > # end of Font
+ <String ` document.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5186>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Any changes to the '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPageAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute pool must be made before '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `is executed. Further '>
+ >
+ <ParaLine
+ <String `modifications can only be made to the attribute pool after a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request is executed.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 475>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 18>
+ <String `PrintEndPage'>
+ <Marker
+ <MType 2>
+ <MText `PrintEndPage:request'>
+ <MCurrPage `7'>
+ <Unique 451>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 372>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `BOOL'>
+ >
+ > # end of Para
+ <Para
+ <Unique 373>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 39>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, XPBadSequence'>
+ >
+ > # end of Para
+ <Para
+ <Unique 374>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request indicates the end of a print page, and causes '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `window'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` to be unmapped. If '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the '>
+ >
+ <ParaLine
+ <String `current print page is canceled. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1076>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When cancel'>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the job currently being processed is canceled. The server may discard any pending '>
+ >
+ <ParaLine
+ <String `output or may produce partial output. If the job was started with '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPGetData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` mode, then the entire data out'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `put stream is implementation-defined for this page.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1071>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The pool of job attributes that was frozen when the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request was executed is freed when '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is called.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5264>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 126>
+ >
+ > # end of Para
+ <Para
+ <Unique 5265>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 5266>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 5267>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 1028>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 9>
+ <String `PrintGetPageDimensions'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetPageDimensions:request'>
+ <MCurrPage `8'>
+ <Unique 1027>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1029>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1952>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1031>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `width: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1032>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `height: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1033>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `offset-x: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1034>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `offset-y: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1035>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `reproducible-width: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1036>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `ArgInList'>
+ <FLocked No>
+ > # end of Font
+ <String `reproducible-height'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1041>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 32>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1042>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns the total width and height of a page in pixels, together with the net reproducible area '>
+ >
+ <ParaLine
+ <String `within the page. The net reproducible area is the portion of the page on which the printer is physically capa'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `ble of placing ink.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 483>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 19>
+ <String `PrintSelectInput'>
+ <Marker
+ <MType 2>
+ <MText `PrintSelectInput:request'>
+ <MCurrPage `8'>
+ <Unique 452>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 412>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT'>
+ >
+ > # end of Para
+ <Para
+ <Unique 424>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `event-mask'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `BITMASK'>
+ >
+ > # end of Para
+ <Para
+ <Unique 395>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 40>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, Value'>
+ >
+ > # end of Para
+ <Para
+ <Unique 396>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpAfter 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `This request specifies the print events, from those in the specified print context, the client is interested in. '>
+ >
+ <ParaLine
+ <String `Possible values for the event-mask BITMASK are:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4637>
+ <PgfTag `Bullet'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `XPNoEventMask'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4641>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `XPPrintMask'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4645>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `XPAttributeMask'>
+ >
+ > # end of Para
+ <Para
+ <Unique 625>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 20>
+ <String `PrintInputSelected'>
+ <Marker
+ <MType 2>
+ <MText `PrintInputSelected:request'>
+ <MCurrPage `8'>
+ <Unique 453>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 448>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1956>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 461>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `event-mask, all-events-mask'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `BITMASK'>
+ >
+ > # end of Para
+ <Para
+ <Unique 450>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 41>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 446>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 127>
+ <String `This request queries which X Print Server events the client has selected to receive from the specified print '>
+ >
+ <ParaLine
+ <String `context. all-events-mask returns the set of all events selected by all clients.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5268>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 5269>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 904>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 21>
+ <String `PrintGetAttributes'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetAttributes:request'>
+ <MCurrPage `9'>
+ <Unique 454>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 466>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 476>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `pool'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr, XPDocAttr, XPPageAttr, XPPrinterAttr, XPServerAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1960>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 486>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `attributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 471>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 42>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, Value'>
+ >
+ > # end of Para
+ <Para
+ <Unique 472>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns an attribute'>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String ` pool'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` from the specified print context. attributes is the attribute pool specified '>
+ >
+ <ParaLine
+ <String `by pool, and is encoded in '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `COMPOUND_TEXT'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1079>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The format used for attributes is the same as the format used for an X resource file. For a description see '>
+ >
+ <ParaLine
+ <String `Section 15.1, \xd2 Resource File Syntax\xd3 , in the Xlib specification.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 816>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `See '>
+ <XRef
+ <XRefName `Section'>
+ <XRefSrcText `15258: 1Heading: 3 X Print Attributes'>
+ <XRefSrcIsElem No>
+ <XRefSrcFile `'>
+ <XRefLastUpdate 878830728 493774>
+ <Unique 928>
+ > # end of XRef
+ <String `section'>
+ <Char HardSpace>
+ <String `3'>
+ <XRefEnd >
+ <String ` for a detailed description of attributes.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 499>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 22>
+ <String `PrintGetOneAttribute'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetOneAttribute:request'>
+ <MCurrPage `9'>
+ <Unique 455>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 493>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 494>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `pool'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr, XPDocAttr, XPPageAttr, XPPrinterAttr, XPServerAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1095>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `name'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1964>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 500>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `value'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 501>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 43>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, Value'>
+ >
+ > # end of Para
+ <Para
+ <Unique 502>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request retrieves a single attribute from the specified print context. It is similar to '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintGetAttributes, '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Tree Cap'>
+ <FLocked No>
+ > # end of Font
+ <String `but returns only one '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `attribute value'>
+ <Font
+ <FTag `Tree Cap'>
+ <FLocked No>
+ > # end of Font
+ <String ` instead of an entire pool of attributes. The specific attribute is specified '>
+ >
+ <ParaLine
+ <String `by name. value is encoded in COMPOUND_TEXT.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 655>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 23>
+ <String `PrintSetAttributes'>
+ <Marker
+ <MType 2>
+ <MText `PrintSetAttributes:request'>
+ <MCurrPage `9'>
+ <Unique 456>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 497>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 515>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `pool: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr, XPDocAttr, XPPageAttr, XPPrinterAttr, XPServerAttr'>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 446>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `rule'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `{'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPAttrMerge, XPAttrReplace'>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 525>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `attributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `STRING8'>
+ >
+ > # end of Para
+ <Para
+ <Unique 546>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 44>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext, XPBadSequence, Value, Match'>
+ >
+ > # end of Para
+ <Para
+ <Unique 547>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 128>
+ <String `This request sets the names and values for one or more attributes within the specified attribute pool. '>
+ >
+ <ParaLine
+ <String `attributes is encoded in '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `COMPOUND_TEXT'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` that represents new name/value pairs according to the value '>
+ >
+ <ParaLine
+ <String `specified in '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `rule'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. For '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPAttrReplace'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the existing attribute pool is discarded and replaced with '>
+ <Font
+ <FTag `XPFunction'>
+ <FLocked No>
+ > # end of Font
+ <String `attributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ <ParaLine
+ <String `For '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPAttrMerge'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, attributes is merged into the existing attribute pool; existing name/value pairs are '>
+ >
+ <ParaLine
+ <String `replaced and new ones are added.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1997>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The format used for attributes is the same as the format used for an X resource file. For a description see '>
+ >
+ <ParaLine
+ <String `Section 15.1, \xd2 Resource File Syntax\xd3 , in the Xlib specification.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2001>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `See '>
+ <XRef
+ <XRefName `Section'>
+ <XRefSrcText `15258: 1Heading: 3 X Print Attributes'>
+ <XRefSrcIsElem No>
+ <XRefSrcFile `'>
+ <XRefLastUpdate 878830728 494306>
+ <Unique 1999>
+ > # end of XRef
+ <String `section'>
+ <Char HardSpace>
+ <String `3'>
+ <XRefEnd >
+ <String ` for a detailed description of attributes.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 573>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `A '>
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `Match'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` message is returned if read-only attribute pools attempt to use '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetAttributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. An '>
+ <Font
+ <FTag `XPMessage'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadSe'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `quence'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` message is issued when a request is sent to an attribute pool at a time when the attribute pool cannot '>
+ >
+ <ParaLine
+ <String `be modified. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 731>
+ <PgfTag `Protocol'>
+ <Pgf
+ <PgfSpAfter 6.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <AFrame 49>
+ <String `PrintRehashPrinterList'>
+ <Marker
+ <MType 2>
+ <MText `PrintRehashPrinterList:request'>
+ <MCurrPage `10'>
+ <Unique 459>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 442>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <AFrame 50>
+ >
+ > # end of Para
+ <Para
+ <Unique 5251>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request causes the print server to update its list of available printers together with their attributes. The '>
+ >
+ <ParaLine
+ <String `print facilities underlying X Server may provide it with the ability to detect changes in printer topology and '>
+ >
+ <ParaLine
+ <String `dynamically update the list to reflect the changes. If X Server does not have this capability, the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintRe'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `hashPrinterList'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` must be used to notify it of changes.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 670>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 27>
+ <String `PrintQueryVersion'>
+ <Marker
+ <MType 2>
+ <MText `PrintQueryVersion:request'>
+ <MCurrPage `10'>
+ <Unique 460>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1968>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 737>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 46>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `major-version, minor-version'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 541>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns the major and minor version numbers of the X Print Service.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 776>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 28>
+ <String `PrintQueryScreens'>
+ <Marker
+ <MType 2>
+ <MText `PrintQueryScreens:request'>
+ <MCurrPage `10'>
+ <Unique 462>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1972>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 766>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 25>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `roots'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: LISTofWINDOW'>
+ >
+ > # end of Para
+ <Para
+ <Unique 783>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns a list of the X Server screens that support the X Print Service Extension.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3512>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintSetImageResolution:request'>
+ <MCurrPage `10'>
+ <Unique 3922>
+ > # end of Marker
+ <AFrame 51>
+ <String `PrintSetImageResolution'>
+ <Marker
+ <MType 2>
+ <MText `PrintSetAttributes:request'>
+ <MCurrPage `10'>
+ <Unique 3511>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 3513>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3549>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `image-resolution'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3560>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3558>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <TextRectID 129>
+ <String `status: BOOL'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3563>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <String `previous-resolution: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3554>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 52>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3555>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request sets the resolution for subsequent '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PutImage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` requests on the screen of context, in pixels per '>
+ >
+ <ParaLine
+ <String `inch.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3543>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When status is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then the contents of any subsequent '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PutImage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request to a Pixmap or to a Window '>
+ >
+ <ParaLine
+ <String `on the screen of the specified print context will automatically be scaled as part of the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PutImage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request. The '>
+ >
+ <ParaLine
+ <String `scale factor is:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3544>
+ <PgfTag `ProgramExample'>
+ <ParaLine
+ <String `default-printer-resolution / image-resolution'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3527>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `where default-printer-resolution is the current value of that page attribute. Only the image itself is scaled '>
+ >
+ <ParaLine
+ <String `(meaning the effective width and height of the image change), the dst-x and dst-y parameters to '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PutImage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `are not altered. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3569>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `As a special case, a value of zero for image_res resets the resolution to automatically track the printer reso'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `lution. In this case (which is also the default setting for a newly created print context), subsequent images '>
+ >
+ <ParaLine
+ <String `will not be scaled.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3570>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `previous-resolution is the previous image resolution that was set for context in pixels per inch. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3571>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `If status is '>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `FALSE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then the print server does not support image scaling foor the particular resolution given '>
+ >
+ <ParaLine
+ <String `the current configuration of the printer, and the application is responsible for any desired scaling.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3580>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 54>
+ <String `PrintGetImageResolution'>
+ <Marker
+ <MType 2>
+ <MText `PrintGetImageResolution:request'>
+ <MCurrPage `11'>
+ <Unique 3579>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 3581>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: '>
+ <Font
+ <FTag `XPValue'>
+ <FLocked No>
+ > # end of Font
+ <String `PCONTEXT '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3583>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3585>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <String `image-resolution: CARD16'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3590>
+ <PgfTag `Protocol-errors'>
+ <ParaLine
+ <AFrame 53>
+ <String `Errors: '>
+ <Font
+ <FTag `Literal'>
+ <FLocked No>
+ > # end of Font
+ <String `XPBadContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3592>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This request returns the current image-resolution for context in pixels per inch. A value of zero means the '>
+ >
+ <ParaLine
+ <String `resolution automatically tracks the printer resolution. If the request fails in some way, a negative value is '>
+ >
+ <ParaLine
+ <String `returned.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1171>
+ <PgfTag `2Heading'>
+ <PgfNumString `2.4\t'>
+ <ParaLine
+ <String `Events'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1179>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 26>
+ <String `XPPrintNotify'>
+ <Marker
+ <MType 2>
+ <MText `XPPrintNotify:event'>
+ <MCurrPage `11'>
+ <Unique 1178>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1181>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `detail'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPStartJobNotify, XPEndJobNotify, XPStartDocNotify, XPEndDocNotify, '>
+ >
+ <ParaLine
+ <String `XPStartPageNotify, XPEndPageNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1182>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: PCONTEXT'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1187>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 29>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `cancel'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: BOOL'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1188>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 130>
+ <String `This event is generated when requests to '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintStartPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndDoc'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndJob'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintEndPage'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` have been processed and completed. It is reported to clients selecting '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPPrintMask'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1196>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <AFrame 30>
+ <String `XPAttributeNotify'>
+ <Marker
+ <MType 2>
+ <MText `XPAttributeNotify:event'>
+ <MCurrPage `12'>
+ <Unique 1195>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1198>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `detail'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: {'>
+ <Font
+ <FTag `XPValueInText'>
+ <FLocked No>
+ > # end of Font
+ <String `XPJobAttr, XPDocAttr, XPPageAttr, XPPrinterAttr, XPServerAttr, XPMe'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `diumAttr, XPSpoolerAttr'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `}'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1203>
+ <PgfTag `Protocol-item'>
+ <ParaLine
+ <AFrame 45>
+ <Font
+ <FTag `XPArgument'>
+ <FLocked No>
+ > # end of Font
+ <String `context'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `: PCONTEXT'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1204>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This event is generated when any of the print attribute pools maintained by the print server have been modi'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `fied. The modifications may have been initiated by the print server itself or by a '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetAttributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request. '>
+ >
+ <ParaLine
+ <String `It is reported to clients selecting '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `XPAttributeMask'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 464>
+ <PgfTag `1Heading'>
+ <PgfNumString `3\t'>
+ <ParaLine
+ <TextRectID 131>
+ <Marker
+ <MType 9>
+ <MText `15258: 1Heading: 3 X Print Attributes'>
+ <MCurrPage `13'>
+ <Unique 5228>
+ > # end of Marker
+ <String `X Print Attributes'>
+ <Marker
+ <MType 2>
+ <MText `<$startrange\>attributes'>
+ <MCurrPage `13'>
+ <Unique 3798>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 936>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Printing-specific attributes play a key role in the X Print Service. They provide a general-purpose mecha'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `nism for storing information associated with printing. This information includes user print setup options, '>
+ >
+ <ParaLine
+ <String `printer capabilities, and spooler subsystem options.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 940>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The X Print Service selects attributes in a way that is consistent with the X Window System, ISO/IEC '>
+ >
+ <ParaLine
+ <String `10175 (ISO DPA), and POSIX 1387.4 print standards. The ISO DPA defines a number of abstract objects '>
+ >
+ <ParaLine
+ <String `that are managed and manipulated during the printing process. These are known as DPA-Objects. Each '>
+ >
+ <ParaLine
+ <String `DPA-Object is represented by a set of attributes which characterize that object. Each attribute in turn is com'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `posed of an attribute-type (attribute name) and zero or more attribute-values.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 950>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <String `The X Print Service utilizes selected DPA-Objects, and for each of these, a subset of the associated '>
+ >
+ <ParaLine
+ <String `attributes. The DPA-Objects used are:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1857>
+ <PgfTag `Term'>
+ <ParaLine
+ <String `Server Object'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1858>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies attributes defined for the X print server.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1859>
+ <PgfTag `Term'>
+ <ParaLine
+ <String `Job Object'>
+ >
+ > # end of Para
+ <Para
+ <Unique 954>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies attributes for a single print request as sent to the spooler.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 955>
+ <PgfTag `Term'>
+ <ParaLine
+ <String `Document Object'>
+ >
+ > # end of Para
+ <Para
+ <Unique 956>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies attributes used to define a single document within a job. If supported by '>
+ >
+ <ParaLine
+ <String `the implementation, multiple documents may be submitted within a given job.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 957>
+ <PgfTag `Term'>
+ <ParaLine
+ <String `Printer Object'>
+ >
+ > # end of Para
+ <Para
+ <Unique 958>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies attributes that identify printer capabilities.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 959>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfSpBefore 0.0 pt>
+ <PgfNumTabs 0>
+ > # end of Pgf
+ <ParaLine
+ <String `The X Print Service also provides for changing certain attributes on a page-by-page basis. This is a '>
+ >
+ <ParaLine
+ <String `capability for which the ISO DPA does not define a separate DPA-Object. This set of attributes is known '>
+ >
+ <ParaLine
+ <String `within the X Print Service as Page Attributes.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 960>
+ <ParaLine
+ <String `The X Print Service requires some additional attributes that are not defined by the ISO DPA. The attribute '>
+ >
+ <ParaLine
+ <String `names for these attributes are prefixed with \xd2 '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `\xd3 .'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2000>
+ <ParaLine
+ <String `A server implementation can define additional attributes.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 961>
+ <ParaLine
+ <String `This section defines the following sets of attributes for the X Print Service:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 962>
+ <PgfTag `Bullet'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `Server Attributes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 963>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `Printer Attributes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 964>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `Job Attributes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 965>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `Document Attributes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 966>
+ <PgfTag `Bullet2'>
+ <PgfNumString `\xa5 \t'>
+ <ParaLine
+ <String `Page Attributes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 967>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.1\t'>
+ <ParaLine
+ <String `Attribute Value Defaults And Validation'>
+ >
+ > # end of Para
+ <Para
+ <Unique 968>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `This section provides an overview of the handling of default attribute values and the procedure for the vali'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `dation of attribute values within the X Print Service. Details for individual attributes can be found in the rest '>
+ >
+ <ParaLine
+ <String `of this chapter.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 969>
+ <PgfTag `3Heading'>
+ <PgfNumString `3.1.1 \t'>
+ <ParaLine
+ <String `Assigning Attribute Value Defaults'>
+ <Marker
+ <MType 2>
+ <MText `attributes:defaults;defaults, attributes'>
+ <MCurrPage `13'>
+ <Unique 3799>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 970>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `An attribute specification with an empty value indicates that the attribute has no value. Within X Print Ser'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `vice configuration files and attribute pools, an attribute specification that omits the value is effectively '>
+ >
+ <ParaLine
+ <String `treated as if there were no attribute specification. An empty valued attribute specification that has precedence '>
+ >
+ <ParaLine
+ <String `over a non-empty attribute specification (for instance, an empty printer qualified attribute over a non-empty '>
+ >
+ <ParaLine
+ <TextRectID 132>
+ <String `model qualified attribute) will effectively \xd2 unset\xd3 the lower precedence attribute specification. When a print '>
+ >
+ <ParaLine
+ <String `job commences, the X Print Service may infer a default value for an attribute that has no value. In some '>
+ >
+ <ParaLine
+ <String `cases the X Print Service may explicitly assign a default value to an attribute before presenting it in an '>
+ >
+ <ParaLine
+ <String `attribute pool.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 973>
+ <PgfTag `3Heading'>
+ <PgfNumString `3.1.2 \t'>
+ <ParaLine
+ <Marker
+ <MType 9>
+ <MText `25826: 2Sect: 7.2.2 Validation of Attribute Values'>
+ <MCurrPage `14'>
+ <Unique 972>
+ > # end of Marker
+ <String `Validating Attribute Values'>
+ <Marker
+ <MType 2>
+ <MText `attributes:validating;validating attributes'>
+ <MCurrPage `14'>
+ <Unique 3800>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 974>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The X Print Server ensures that attribute pools presented to the client are always comprised of valid attribute '>
+ >
+ <ParaLine
+ <String `specifications for attributes defined by the X Print Service. Validation is first performed when a print context '>
+ >
+ <ParaLine
+ <String `is created. Validation is also performed whenever a client requests an update to an attribute pool.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 975>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Validation involves checking the attribute value against its set of valid values. The process may also take into '>
+ >
+ <ParaLine
+ <String `account the current values of other attributes and the capabilities of the DDX driver.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 976>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Attributes may be single-valued or multi-valued. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 5013>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When a print context is created, if the server determines that an attribute value is invalid, the server will '>
+ >
+ <ParaLine
+ <String `ignore the invalid attribute specification and may set an explicit default for the attribute in the pool. For '>
+ >
+ <ParaLine
+ <String `multi-valued attributes, the server will ignore each value component that is invalid. If all of the specified '>
+ >
+ <ParaLine
+ <String `components are invalid the server will reject the attribute specification, and for certain attributes will set an '>
+ >
+ <ParaLine
+ <String `explicit default for the attribute in the pool.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 977>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `When the client requests an update to an attribute pool (e.g. when issuing '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintSetAttributes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `), if the server '>
+ >
+ <ParaLine
+ <String `determines that a single-valued attribute is invalid, that attribute will not be updated. If all components of a '>
+ >
+ <ParaLine
+ <String `multi-valued attribute are invalid the attribute will not be updated, otherwise any invalid components are '>
+ >
+ <ParaLine
+ <String `ignored. Unrecognized attributes will be stored in the corresponding attribute pool and returned in '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `Print'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `GetAttribute'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, but are otherwise ignored.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 979>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `As part of the validation for a given attribute, the print server may alter other attributes in response to the '>
+ >
+ <ParaLine
+ <String `change. For example, changing the value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `document-format'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute might cause the value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-'>
+ >
+ <ParaLine
+ <String `embedded-formats-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute to change as. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 5011>
+ <PgfTag `3Heading'>
+ <PgfNumString `3.1.3 \t'>
+ <ParaLine
+ <String `Structured Values'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5012>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 980>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.2\t'>
+ <ParaLine
+ <String `Server Attributes'>
+ <Marker
+ <MType 2>
+ <MText `attributes:server;server attributes'>
+ <MCurrPage `14'>
+ <Unique 3801>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 982>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The server attribute pool is identified by XPServerAttr and describes the capabilities of the X Print Server. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1033>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <String `locale'>
+ <Marker
+ <MType 2>
+ <MText `locale, attribute'>
+ <MCurrPage `14'>
+ <Unique 3803>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1034>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value of this attribute is the locale in which the X Print Server is running.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1035>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <String `multiple-documents-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1036>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `multiple-documents-supported'>
+ <MCurrPage `14'>
+ <Unique 3802>
+ > # end of Marker
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `This attribute indicates whether the server supports jobs containing multiple '>
+ >
+ <ParaLine
+ <String `documents. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1038>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.3\t'>
+ <ParaLine
+ <Marker
+ <MType 9>
+ <MText `23135: 1Sect: 9.3 Printer Attribute Definitions'>
+ <MCurrPage `14'>
+ <Unique 1037>
+ > # end of Marker
+ <String `Printer Attributes'>
+ <Marker
+ <MType 2>
+ <MText `attributes:printer;printer attributes'>
+ <MCurrPage `14'>
+ <Unique 3804>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1040>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The printer attribute pool is identified by XPPrinterAttr and describes printer capabilities. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1237>
+ <PgfTag `Term'>
+ <ParaLine
+ <TextRectID 133>
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <String `content-orientations-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1238>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `content-orientations-supported'>
+ <MCurrPage `15'>
+ <Unique 3805>
+ > # end of Marker
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of orientations supported in the print context. The list is a group of strings '>
+ >
+ <ParaLine
+ <String `separated by white space. Valid values are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ >
+ <ParaLine
+ <String `and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1239>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The default value is determined by the DDX, and is explicitly set in the printer pool. '>
+ >
+ <ParaLine
+ <String `Validation for this attribute is as described for multi-valued attributes in '>
+ <Font
+ <FTag `CITESECT'>
+ <FLocked No>
+ > # end of Font
+ <XRef
+ <XRefName `Heading'>
+ <XRefSrcText `25826: 2Sect: 7.2.2 Validation of Attribute Values'>
+ <XRefSrcIsElem No>
+ <XRefSrcFile `'>
+ <XRefLastUpdate 878830728 495163>
+ <Unique 1241>
+ > # end of XRef
+ <String `\xd2 '>
+ <String `Validating '>
+ >
+ <ParaLine
+ <String `Attribute Values'>
+ <String `\xd3 '>
+ <XRefEnd >
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1243>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The initial value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `content-orientations-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is typically set by '>
+ >
+ <ParaLine
+ <String `the printer vendor in the '>
+ <Font
+ <FTag `Filename'>
+ <FLocked No>
+ > # end of Font
+ <String `model-config'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` file.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1869>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `descriptor'>
+ <MCurrPage `15'>
+ <Unique 3806>
+ > # end of Marker
+ <String `descriptor'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1870>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `descriptor'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is a human readable description of the printer encoded as '>
+ >
+ <ParaLine
+ <String `COMPOUND_TEXT. This description may contain more than one line. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1248>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `document-attributes-supported'>
+ <MCurrPage `15'>
+ <Unique 3807>
+ > # end of Marker
+ <String `document-attributes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1249>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of document attributes supported in the print context. This list is returned as a '>
+ >
+ <ParaLine
+ <String `set of whitespace-delimited attribute names.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1251>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `document-formats-supported'>
+ <MCurrPage `15'>
+ <Unique 3808>
+ > # end of Marker
+ <String `document-formats-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1252>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of document formats, including format variants and format versions that are '>
+ >
+ <ParaLine
+ <String `supported in the print context. Each entry in the list is a structure comprised of the '>
+ >
+ <ParaLine
+ <String `document-format, document-format-variant, and a document-format-version. '>
+ >
+ <ParaLine
+ <String `Variant and version may be omitted in some cases. The triple value is enclosed by '>
+ >
+ <ParaLine
+ <String `curly braces \xd2 {}\xd3 and delimited by whitespace. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1266>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `input-trays-medium'>
+ <MCurrPage `15'>
+ <Unique 2017>
+ > # end of Marker
+ <String `i'>
+ <Marker
+ <MType 2>
+ <MText `input-trays-medium'>
+ <MCurrPage `15'>
+ <Unique 3809>
+ > # end of Marker
+ <String `nput-trays-medium'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1267>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This attribute identifies what medium is loaded in each printer tray. The value is '>
+ >
+ <ParaLine
+ <String `specified as a list of structures, each of which contains a tray identifier and a '>
+ >
+ <ParaLine
+ <String `medium identifier. Valid tray identifiers are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `top'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `middle'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `bottom'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `envelope'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `manual'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `large-capacity'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `main'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `side'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. The X Print Service defines valid medium '>
+ >
+ <ParaLine
+ <String `identifiers to be the standard values of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-size'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute as specified in '>
+ >
+ <ParaLine
+ <String `ISO/IEC 10175-1.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1269>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `For each tray / medium (size) combination, the tray must be present in the value of '>
+ >
+ <ParaLine
+ <String `the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-source-sizes-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute, and the medium size must be listed '>
+ >
+ <ParaLine
+ <String `for that tray.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1274>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `job-attributes-supported'>
+ <MCurrPage `15'>
+ <Unique 3810>
+ > # end of Marker
+ <String `job-attributes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1275>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of the job attributes supported for the printer. This list is returned as a set of '>
+ >
+ <ParaLine
+ <String `whitespace-delimited attribute names.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1277>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `medium-source-sizes-supported'>
+ <MCurrPage `15'>
+ <Unique 3811>
+ > # end of Marker
+ <String `medium-source-sizes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1278>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `This attribute identifies or specifies the sizes of media that are supported by the '>
+ >
+ <ParaLine
+ <String `printer. For each input tray a set of supported media sizes is indicated. For each '>
+ >
+ <ParaLine
+ <String `medium, the page size, an indicator as to the medium feed direction, and the assured '>
+ >
+ <ParaLine
+ <String `reproduction area the printer supports are specified.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1279>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Valid input tray values are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `top'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `middle'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `bottom'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `envelope'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `manual'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `large-capacity'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `main'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `side'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. If the printer has only one input tray, specification '>
+ >
+ <ParaLine
+ <String `of this value is optional.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1280>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The page size is a descriptive-name indicating the size of the page. Examples are '>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `iso-a4'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `na-letter'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `na-legal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. The complete list of valid values is the set of '>
+ >
+ <ParaLine
+ <String `descriptive-names defined for the standard values of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-size'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute as '>
+ >
+ <ParaLine
+ <String `specified in ISO/IEC 10175-1.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1281>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <TextRectID 134>
+ <String `The medium feed direction is represented as a boolean value indicating whether the '>
+ >
+ <ParaLine
+ <String `long edge ('>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `TRUE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `) or the short edge ('>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `FALSE'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `) feeds into the printer so that '>
+ >
+ <ParaLine
+ <String `orientation is specified.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1282>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The assured reproduction area is the area within the current medium tp which the '>
+ >
+ <ParaLine
+ <String `printer can render. This area is specified in millimeters according to the RCS '>
+ >
+ <ParaLine
+ <String `coordinate system defined by the ISO DPA. The area value is defined by a structure '>
+ >
+ <ParaLine
+ <String `containing the minimum-x, maximum-x, minimum-y, and maximum-y. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1283>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value for a medium size is specified in a structure comprised of the page size, '>
+ >
+ <ParaLine
+ <String `the feed direction indicator, and the assured reproduction area. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1284>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-source-sizes-supported'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is a list of structures, '>
+ >
+ <ParaLine
+ <String `each comprised of the input tray value and a set of medium size values. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1290>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `plexes-supported'>
+ <MCurrPage `16'>
+ <Unique 3812>
+ > # end of Marker
+ <String `plexes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1291>
+ <PgfTag `Varlistentry'>
+ <PgfEndCond Yes>
+ <PgfCondFullPgf Yes>
+ <ParaLine
+ <String `A list of plex options that the printer supports. The list is a group of strings '>
+ >
+ <ParaLine
+ <String `separated by white space. Valid values are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `simplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `duplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `tumble'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1297>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `printer-model'>
+ <MCurrPage `16'>
+ <Unique 3813>
+ > # end of Marker
+ <String `printer-model'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1298>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Human-readable text that identifies the make and model of the printer. This value is '>
+ >
+ <ParaLine
+ <String `encoded as COMPOUND_TEXT.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1302>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `printer-name'>
+ <MCurrPage `16'>
+ <Unique 3814>
+ > # end of Marker
+ <String `printer-name'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1303>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This attribute uniquely identifies a printer on a given X Print Server. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1304>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `printer-resolutions-supported'>
+ <MCurrPage `16'>
+ <Unique 3815>
+ > # end of Marker
+ <String `printer-resolutions-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1305>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of the resolutions in dots per inch that the printer supports. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1326>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-embedded-formats-supported'>
+ <MCurrPage `16'>
+ <Unique 3816>
+ > # end of Marker
+ <String `xp-embedded-formats-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1327>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `This attribute identifies the set of data formats recognized as valid values for the '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Parameter'>
+ <FLocked No>
+ > # end of Font
+ <String `doc_fmt'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` parameter of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, when this request is issued within a '>
+ >
+ <ParaLine
+ <String `print document of '>
+ <Font
+ <FTag `Parameter'>
+ <FLocked No>
+ > # end of Font
+ <String `type'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocNormal'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1337>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value is a list of data formats. Each entry in the list is a structure comprised of '>
+ >
+ <ParaLine
+ <String `the data format, a format variant, and a format version. The variant and the version '>
+ >
+ <ParaLine
+ <String `may be omitted in some cases. Structure values are enclosed by curly braces \xd2 {}\xd3 '>
+ >
+ <ParaLine
+ <String `and delimited by whitespace. Valid values are defined by the printer DDX driver. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1343>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-listfonts-modes-supported'>
+ <MCurrPage `16'>
+ <Unique 3817>
+ > # end of Marker
+ <String `xp-listfonts-modes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1344>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Defines the set of values that may be used to comprise the value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-'>
+ >
+ <ParaLine
+ <String `modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` document / page attribute. The value is a whitespace delimited list of '>
+ >
+ <ParaLine
+ <String `listfonts mode values, which are defined below.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1361>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-page-attributes-supported'>
+ <MCurrPage `16'>
+ <Unique 3818>
+ > # end of Marker
+ <String `xp-page-attributes-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1362>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A list of page attributes supported for the printer. This list is comprised of a set of '>
+ >
+ <ParaLine
+ <String `whitespace-delimited attribute names.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1364>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-raw-formats-supported'>
+ <MCurrPage `16'>
+ <Unique 3819>
+ > # end of Marker
+ <String `xp-raw-formats-supported'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1365>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `This attribute identifies the set of data formats recognized as valid values for the '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Parameter'>
+ <FLocked No>
+ > # end of Font
+ <String `doc_fmt'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` parameter of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `PrintPutDocumentData'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, when this function is called within '>
+ >
+ <ParaLine
+ <String `a print document of '>
+ <Font
+ <FTag `Parameter'>
+ <FLocked No>
+ > # end of Font
+ <String `type'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `XPDocRaw'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1375>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value is a list of data formats. Each entry in the list is a structure comprised of '>
+ >
+ <ParaLine
+ <String `the data format, an optional format variant, and an optional format version. Structure '>
+ >
+ <ParaLine
+ <String `values are enclosed by curly braces \xd2 {}\xd3 and delimited by whitespace. Valid values '>
+ >
+ <ParaLine
+ <String `are defined based on the physical printer\xd5 s capabilities.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1378>
+ <PgfTag `Term'>
+ <ParaLine
+ <TextRectID 135>
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-setup-proviso'>
+ <MCurrPage `17'>
+ <Unique 3820>
+ > # end of Marker
+ <String `xp-setup-proviso'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1379>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This attribute indicates whether or not a required attribute or set of attributes must be '>
+ >
+ <ParaLine
+ <String `set prior to commencing the print job. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1380>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Valid values for this attribute are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-mandatory'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-optional'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. If '>
+ >
+ <ParaLine
+ <String `this attribute is not specified, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-optional'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is assumed.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1381>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The initial value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-proviso'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is typically set by the printer '>
+ >
+ <ParaLine
+ <String `vendor in the '>
+ <Font
+ <FTag `Filename'>
+ <FLocked No>
+ > # end of Font
+ <String `model-config'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` file.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1400>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.4\t'>
+ <ParaLine
+ <Marker
+ <MType 9>
+ <MText `37951: 1Sect: 4.9 Job Object Attribute Definitions'>
+ <MCurrPage `17'>
+ <Unique 1399>
+ > # end of Marker
+ <String `Job Attributes'>
+ <Marker
+ <MType 2>
+ <MText `attributes:job;job attributes'>
+ <MCurrPage `17'>
+ <Unique 3821>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1402>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The job attribute pool is identified by XPJobAttr and provides information on how to process a print job. '>
+ >
+ <ParaLine
+ <String `Typically, job attributes are set by the Print Dialog Manager based on user input from the setup dialog.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1455>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `job-name'>
+ <MCurrPage `17'>
+ <Unique 3822>
+ > # end of Marker
+ <String `job-name'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1456>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This is the name of the job to be used in subsequent processing and in printing '>
+ >
+ <ParaLine
+ <String `banner pages. The value is free form text.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1458>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `job-owner'>
+ <MCurrPage `17'>
+ <Unique 3823>
+ > # end of Marker
+ <String `job-owner'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1459>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This attribute identifies the human owner of the print job. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1460>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `notification-profile'>
+ <MCurrPage `17'>
+ <Unique 3824>
+ > # end of Marker
+ <String `notification-profile'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1461>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `This attribute is a specification of events about which the user is to be notified. The '>
+ >
+ <ParaLine
+ <String `X Print service uses this attribute to determine whether or not to notify the user of '>
+ >
+ <ParaLine
+ <String `print job completion via electronic mail, or in ISO DPA parlance, the X Print '>
+ >
+ <ParaLine
+ <String `Service recognizes the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `event-report-job-completed'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event with a '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `delivery-method'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `electronic-mail'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1462>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The values may be '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `{{event-report-job-completed} electronic-mail}'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` to send an '>
+ >
+ <ParaLine
+ <String `email message, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `{}'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` if no message is to be sent. Servers may implement additional '>
+ >
+ <ParaLine
+ <String `values.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1464>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-setup-state'>
+ <MCurrPage `17'>
+ <Unique 3825>
+ > # end of Marker
+ <String `xp-setup-state'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1465>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `If the value of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-proviso'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` printer attribute is '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-mandatory'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, then '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-state'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is used to indicate the current setup state as determined byX Print '>
+ >
+ <ParaLine
+ <String `Server. If the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-proviso'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-optional'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-'>
+ >
+ <ParaLine
+ <String `state'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is ignored.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1466>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Valid values for '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-state'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-ok'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-incomplete'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-'>
+ >
+ <ParaLine
+ <String `setup-ok'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` indicates that all attributes the print server requires the user to set are valid, '>
+ >
+ <ParaLine
+ <String `indicating a client may commence printing if desired. '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-setup-incomplete'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `indicates that one or more attributes the driver requires are unspecified or invalid; '>
+ >
+ <ParaLine
+ <String `printing should not be attempted.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1468>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-spooler-command-options'>
+ <MCurrPage `17'>
+ <Unique 3826>
+ > # end of Marker
+ <String `xp-spooler-command-options'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1469>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A free form text string that will be included verbatim on the command line used to '>
+ >
+ <ParaLine
+ <String `invoke the spooler. Valid values are spooler-dependent.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1471>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-spooler-command-results'>
+ <MCurrPage `17'>
+ <Unique 3827>
+ > # end of Marker
+ <String `xp-spooler-command-results'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1472>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `A free form text string that will contain the spooler command output that would '>
+ >
+ <ParaLine
+ <String `otherwise appear on a terminal (e.g. stderr and stdout). This text may be useful to '>
+ >
+ <ParaLine
+ <String `present to the user to allow tracking of the resulting spooler job. Applications should '>
+ >
+ <ParaLine
+ <String `retrieve this value following receipt of the '>
+ <Font
+ <FTag `Type'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `XPEndJobNotify'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` event.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1894>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.5\t'>
+ <ParaLine
+ <Marker
+ <MType 9>
+ <MText `27436: 1Sect: 4.8 Document Object Attribute Definitions'>
+ <MCurrPage `17'>
+ <Unique 1476>
+ > # end of Marker
+ <String `Document Attributes'>
+ <Marker
+ <MType 2>
+ <MText `attributes:document;document attributes'>
+ <MCurrPage `17'>
+ <Unique 3828>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1479>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The document attribute pool is identified by XPDocAttr and indicates how to process the current document. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1894>
+ <PgfTag `Term'>
+ <ParaLine
+ <TextRectID 136>
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `content-orientation'>
+ <MCurrPage `18'>
+ <Unique 3829>
+ > # end of Marker
+ <String `content-orientation'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1557>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the orientation to be used for this document. Valid values are:'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1562>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `copy-count'>
+ <MCurrPage `18'>
+ <Unique 3830>
+ > # end of Marker
+ <String `copy-count'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1563>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char Tab>
+ <String `Specifies the number of copies of this document to print.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1564>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The default value is implicitly taken to be '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `1'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` by the X Print Server.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1568>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-printer-resolution'>
+ <MCurrPage `18'>
+ <Unique 3831>
+ > # end of Marker
+ <String `default-printer-resolution'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1569>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char Tab>
+ <String `Specifies the resolution in dots per inch to be used for this document.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1574>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-input-tray'>
+ <MCurrPage `18'>
+ <Unique 3832>
+ > # end of Marker
+ <String `default-input-tray'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1575>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The name of the input tray from which media will be drawn for printing the '>
+ >
+ <ParaLine
+ <String `document. Valid values are: '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `top'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `middle'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `bottom'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `envelope'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `manual'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `large-'>
+ >
+ <ParaLine
+ <String `capacity'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `main'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `side'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. If the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-medium'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is specified, it will take '>
+ >
+ <ParaLine
+ <String `precedence over '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-input-tray'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1580>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-medium'>
+ <MCurrPage `18'>
+ <Unique 3833>
+ > # end of Marker
+ <String `default-medium'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1581>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the medium on which the document is to be printed. The X Print Service '>
+ >
+ <ParaLine
+ <String `defines valid '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-medium'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` values to be the standard values of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-size'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `attribute as specified in ISO/IEC 10175-1.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1586>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `document-format'>
+ <MCurrPage `18'>
+ <Unique 3834>
+ > # end of Marker
+ <String `document-format'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1587>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the format of the document. The value is a structure comprised of the '>
+ >
+ <ParaLine
+ <String `document-format, an optional document-format-variant, and an optional document-'>
+ >
+ <ParaLine
+ <String `format-version. Specific printer DDX drivers may require specification of the '>
+ >
+ <ParaLine
+ <String `optional values. The structure values are enclosed by curly braces \xd2 {}\xd3 and '>
+ >
+ <ParaLine
+ <String `delimited by whitespace. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1592>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `plex'>
+ <MCurrPage `18'>
+ <Unique 3835>
+ > # end of Marker
+ <String `plex'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1593>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `plex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` to be used for this document. Valid values are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `simplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `duplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ >
+ <ParaLine
+ <String `and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `tumble'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1598>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-listfonts-modes'>
+ <MCurrPage `18'>
+ <Unique 3836>
+ > # end of Marker
+ <String `xp-listfonts-modes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1599>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value of this attribute controls the behavior of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` when a print context has been set. The value is a whitespace '>
+ >
+ <ParaLine
+ <String `delimited list of one or more listfonts mode values. Valid listfonts mode values '>
+ >
+ <ParaLine
+ <String `include '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-internal-printer-fonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-glyph-fonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1601>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `When a print context is set on a display connection, the default behavior of '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is to list all of the fonts normally associated with '>
+ >
+ <ParaLine
+ <String `the X print server (i.e. fonts containing glyphs) as well as any internal printer fonts '>
+ >
+ <ParaLine
+ <String `defined for the printer. The '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is provided so that '>
+ >
+ <ParaLine
+ <String `applications can control the behavior of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `and is'>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `typically to show just internal printer fonts. Using only internal printer fonts is '>
+ >
+ <ParaLine
+ <String `useful for performance reasons; the glyphs associated with the font are contained '>
+ >
+ <ParaLine
+ <String `within the printer and do not have to be downloaded to it.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1605>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `If the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` includes '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-glyph-fonts,'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will include all of the fonts available to the server which have '>
+ >
+ <ParaLine
+ <String `glyphs associated with them. If the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` includes '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-'>
+ >
+ <ParaLine
+ <String `internal-printer-fonts,'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` then '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will include all of '>
+ >
+ <ParaLine
+ <String `the fonts defined as internal printer fonts.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1612>
+ <PgfTag `2Heading'>
+ <PgfNumString `3.6\t'>
+ <ParaLine
+ <String `Page Attributes'>
+ <Marker
+ <MType 2>
+ <MText `attributes:page;page attributes'>
+ <MCurrPage `18'>
+ <Unique 3837>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1614>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The page attribute pool is identified by XPPageAttr. These are document attributes that can be overridden on '>
+ >
+ <ParaLine
+ <String `a page by page basis within the X Print Service.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1615>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The default for each page attribute is the current value of the corresponding document attribute. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1676>
+ <PgfTag `Term'>
+ <ParaLine
+ <TextRectID 137>
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `content-orientation'>
+ <MCurrPage `19'>
+ <Unique 3838>
+ > # end of Marker
+ <String `content-orientation'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1677>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the orientation to be used for this page. Valid values are:'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-portrait'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `reverse-landscape'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1678>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-printer-resolution'>
+ <MCurrPage `19'>
+ <Unique 3839>
+ > # end of Marker
+ <String `default-printer-resolution'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1679>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Specifies the resolution in dots per inch to be used for this page.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5217>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-input-tray'>
+ <MCurrPage `19'>
+ <Unique 3840>
+ > # end of Marker
+ <String `default-input-tray'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5218>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The name of the input tray from which media will be drawn for printing the '>
+ >
+ <ParaLine
+ <String `document. Valid values are: '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `top'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `middle'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `bottom'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `envelope'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `manual'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `large-'>
+ >
+ <ParaLine
+ <String `capacity'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `main'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `side'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `. If the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-medium'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is specified, it will take '>
+ >
+ <ParaLine
+ <String `precedence over '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-input-tray'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5219>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `default-medium'>
+ <MCurrPage `19'>
+ <Unique 3841>
+ > # end of Marker
+ <String `default-medium'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5220>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the medium on which the document is to be printed. The X Print Service '>
+ >
+ <ParaLine
+ <String `defines valid '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `default-medium'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` values to be the standard values of the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `medium-size'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `attribute as specified in ISO/IEC 10175-1.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5223>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `plex'>
+ <MCurrPage `19'>
+ <Unique 3842>
+ > # end of Marker
+ <String `plex'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5224>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `Specifies the '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `plex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` to be used for this document. Valid values are '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `simplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `duplex'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `, '>
+ >
+ <ParaLine
+ <String `and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `tumble'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5225>
+ <PgfTag `Term'>
+ <ParaLine
+ <Font
+ <FTag `Constant'>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `xp-listfonts-modes'>
+ <MCurrPage `19'>
+ <Unique 3843>
+ > # end of Marker
+ <String `xp-listfonts-modes'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5226>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `The value of this attribute controls the behavior of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` when a print context has been set. The value is a whitespace '>
+ >
+ <ParaLine
+ <String `delimited list of one or more listfonts mode values. Valid listfonts mode values '>
+ >
+ <ParaLine
+ <String `include '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-internal-printer-fonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-glyph-fonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5227>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `When a print context is set on a display connection, the default behavior of '>
+ >
+ <ParaLine
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is to list all of the fonts normally associated with '>
+ >
+ <ParaLine
+ <String `the X print server (i.e. fonts containing glyphs) as well as any internal printer fonts '>
+ >
+ <ParaLine
+ <String `defined for the printer. The '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` attribute is provided so that '>
+ >
+ <ParaLine
+ <String `applications can control the behavior of '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `and is'>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `typically to show just internal printer fonts. Using only internal printer fonts is '>
+ >
+ <ParaLine
+ <String `useful for performance reasons; the glyphs associated with the font are contained '>
+ >
+ <ParaLine
+ <String `within the printer and do not have to be downloaded to it.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 5228>
+ <PgfTag `Varlistentry'>
+ <ParaLine
+ <String `If the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` includes '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-glyph-fonts,'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ >
+ <ParaLine
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will include all of the fonts available to the server which have '>
+ >
+ <ParaLine
+ <String `glyphs associated with them. If the value of '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-listfonts-modes'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` includes '>
+ <Font
+ <FTag `Constant'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `xp-list-'>
+ >
+ <ParaLine
+ <String `internal-printer-fonts,'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` then '>
+ <Font
+ <FTag `Function'>
+ <FWeight `Bold'>
+ <FPostScriptName `Times-Bold'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFonts'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` and '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ListFontsWithInfo'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` will include all of '>
+ >
+ <ParaLine
+ <String `the fonts defined as internal printer fonts.'>
+ <Marker
+ <MType 2>
+ <MText `<$endrange\>attributes'>
+ <MCurrPage `19'>
+ <Unique 3875>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1899>
+ <PgfTag `1Heading'>
+ <PgfNumString `4\t'>
+ <ParaLine
+ <TextRectID 138>
+ <String `Communication with the Print Dialog Manager'>
+ <Marker
+ <MType 2>
+ <MText `Print Dialog Manager, communicating with'>
+ <MCurrPage `20'>
+ <Unique 3844>
+ > # end of Marker
+ >
+ > # end of Para
+ <Para
+ <Unique 1900>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Print Dialog Managers (PDMs) provide users with a graphical interface to specify printer-specific and '>
+ >
+ <ParaLine
+ <String `spooler-specific information. This section describes the interaction between X Print Service and PDMs.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1901>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `For each server wanting to use print dialog services, a Print Dialog Manager acquires ownership of a selec'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `tion named PDM_MANAGER on the default root window (a different name can be used, as long as it is '>
+ >
+ <ParaLine
+ <String `known to both the client and the PDM). Print Dialog Managers should comply with the conventions for '>
+ >
+ <ParaLine
+ <String `\xd2 Manager Selections\xd3 described in section 2.8 of the'>
+ <Font
+ <FTag `'>
+ <FAngle `Italic'>
+ <FPostScriptName `Times-Italic'>
+ <FLocked No>
+ > # end of Font
+ <String ` Inter-Client Communication Conventions Manual'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ <ParaLine
+ <String `(ICCCM). A printing client establishes a print context, and then requests services of the Print Dialog Man'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `ager by issuing conversion requests on this selection.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1902>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `Print Dialog Managers should support conversion of the following targets on their manager selection:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1916>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 56>
+ >
+ > # end of Para
+ <Para
+ <Unique 1918>
+ <Pgf
+ <PgfTag `2HeadingApp'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfSpBefore 21.0 pt>
+ <PgfSpAfter 7.0 pt>
+ <PgfWithNext Yes>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLeading 1.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat ` '>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.5">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ > # end of Pgf
+ <PgfNumString ` '>
+ <ParaLine
+ <String `The PDM_START Selection Target'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1919>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The PDM_START target is parametized (ICCCM section 2.2), and the property named in the '>
+ <Font
+ <FTag `XPRequest'>
+ <FLocked No>
+ > # end of Font
+ <String `ConvertSelec'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `tion'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` request contains the following list of information:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1963>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 57>
+ >
+ > # end of Para
+ <Para
+ <Unique 1964>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The PDM_START target has a side effect (ICCCM, section 2.6.3). The PDM interprets the parameters listed '>
+ >
+ <ParaLine
+ <String `above and provides a user interface dialog on behalf of the client in which the user can modify attributes on '>
+ >
+ <ParaLine
+ <String `the print-context on the print-display provided.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1965>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The PDM will use the video-display, video-window, and locale parameters to configure and manage its user '>
+ >
+ <ParaLine
+ <String `interface.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1966>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The selection reply is placed in the property provided, where type is ATOM, format is 32, and the data con'>
+ <Char SoftHyphen>
+ >
+ <ParaLine
+ <String `sists of a single ATOM element:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 1988>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 58>
+ >
+ > # end of Para
+ <Para
+ <Unique 1989>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 139>
+ <String `If the PDM starts successfully, once the user completes the PDM dialog, the PDM finishes communication '>
+ >
+ <ParaLine
+ <String `with the client by sending a ClientMessage to print-window on the print-display. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 1990>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The type of this ClientMessage is \xd2 PDM_REPLY\xd3 , its format is 32, and the data consists of a single ATOM '>
+ >
+ <ParaLine
+ <String `element:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2016>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 59>
+ >
+ > # end of Para
+ <Para
+ <Unique 2018>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 2019>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 2001>
+ <PgfTag `1Heading'>
+ <PgfNumString `5\t'>
+ <ParaLine
+ <TextRectID 140>
+ <String `Protocol Encoding'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2007>
+ <PgfTag `Body'>
+ <ParaLine
+ <String `The following sections describe protocol encoding for X Print Extension Protocol requests, events, and '>
+ >
+ <ParaLine
+ <String `errors. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4445>
+ <PgfTag `2Heading'>
+ <PgfNumString `5.1\t'>
+ <ParaLine
+ <String `Request Protocol Encoding'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4151>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintQueryVersion:encoding'>
+ <MCurrPage `22'>
+ <Unique 3845>
+ > # end of Marker
+ <String `PrintQueryVersion'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2047>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 60>
+ >
+ > # end of Para
+ <Para
+ <Unique 4236>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FFamily `Times'>
+ <FPostScriptName `Times-Roman'>
+ <FLocked No>
+ > # end of Font
+ <ATbl 61>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4448>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetPrinterList:encoding'>
+ <MCurrPage `22'>
+ <Unique 3846>
+ > # end of Marker
+ <String `PrintGetPrinterList'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2177>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 62>
+ >
+ > # end of Para
+ <Para
+ <Unique 4240>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2282>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 63>
+ >
+ > # end of Para
+ <Para
+ <Unique 2284>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 141>
+ <Marker
+ <MType 2>
+ <MText `PrintRehashPrinterList:encoding'>
+ <MCurrPage `23'>
+ <Unique 3847>
+ > # end of Marker
+ <String `PrintRehashPrinterList'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2319>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 64>
+ >
+ > # end of Para
+ <Para
+ <Unique 2321>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintCreateContext:encoding'>
+ <MCurrPage `23'>
+ <Unique 3848>
+ > # end of Marker
+ <String `PrintCreateContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2398>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 65>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2399>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 2400>
+ <PgfTag `Protocol'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3559>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 142>
+ <Marker
+ <MType 2>
+ <MText `PrintSetContext:encoding'>
+ <MCurrPage `24'>
+ <Unique 3849>
+ > # end of Marker
+ <String `PrintSetContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2441>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 66>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2443>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetContext:encoding'>
+ <MCurrPage `24'>
+ <Unique 3850>
+ > # end of Marker
+ <String `PrintGetContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2478>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 67>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4256>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2528>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 68>
+ >
+ > # end of Para
+ <Para
+ <Unique 2530>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintDestroyContext:encoding'>
+ <MCurrPage `24'>
+ <Unique 3851>
+ > # end of Marker
+ <String `PrintDestroyContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2571>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 69>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2573>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetScreenOfContext:encoding'>
+ <MCurrPage `24'>
+ <Unique 3852>
+ > # end of Marker
+ <String `PrintGetScreenofContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2608>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 70>
+ >
+ > # end of Para
+ <Para
+ <Unique 4260>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4227>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 143>
+ <ATbl 71>
+ >
+ > # end of Para
+ <Para
+ <Unique 4235>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintStartJob:encoding'>
+ <MCurrPage `25'>
+ <Unique 3853>
+ > # end of Marker
+ <String `PrintStartJob'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2708>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 72>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2710>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintEndJob:encoding'>
+ <MCurrPage `25'>
+ <Unique 3854>
+ > # end of Marker
+ <String `PrintEndJob'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2757>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 73>
+ >
+ > # end of Para
+ <Para
+ <Unique 2759>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintStartDoc:encoding'>
+ <MCurrPage `25'>
+ <Unique 3855>
+ > # end of Marker
+ <String `PrintStartDoc'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2806>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 74>
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 2808>
+ <PgfTag `Protocol'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3586>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 144>
+ <Marker
+ <MType 2>
+ <MText `PrintEndDoc:encoding'>
+ <MCurrPage `26'>
+ <Unique 3856>
+ > # end of Marker
+ <String `PrintEndDoc'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2855>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 75>
+ >
+ > # end of Para
+ <Para
+ <Unique 2857>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintPutDocumentData:encoding'>
+ <MCurrPage `26'>
+ <Unique 3857>
+ > # end of Marker
+ <String `PrintPutDocumentData'>
+ >
+ > # end of Para
+ <Para
+ <Unique 2952>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 76>
+ >
+ > # end of Para
+ <Para
+ <Unique 2954>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetDocumentData:encoding'>
+ <MCurrPage `26'>
+ <Unique 3858>
+ > # end of Marker
+ <String `PrintGetDocumentData'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4275>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 77>
+ >
+ > # end of Para
+ <Para
+ <Unique 4363>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae +'>
+ <ATbl 78>
+ >
+ > # end of Para
+ <Para
+ <Unique 4394>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 145>
+ >
+ > # end of Para
+ <Para
+ <Unique 3076>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintStartPage:encoding'>
+ <MCurrPage `27'>
+ <Unique 3859>
+ > # end of Marker
+ <String `PrintStartPage'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3117>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 79>
+ >
+ > # end of Para
+ <Para
+ <Unique 3119>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintEndPage:encoding'>
+ <MCurrPage `27'>
+ <Unique 3860>
+ > # end of Marker
+ <String `PrintEndPage'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3166>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 80>
+ >
+ > # end of Para
+ <Para
+ <Unique 3168>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintSelectInput:encoding'>
+ <MCurrPage `27'>
+ <Unique 3861>
+ > # end of Marker
+ <String `PrintSelectInput '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3215>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 81>
+ >
+ > # end of Para
+ <Para
+ <Unique 3217>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintInputSelected:encoding'>
+ <MCurrPage `27'>
+ <Unique 3862>
+ > # end of Marker
+ <String `PrintInputSelected'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3312>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 82>
+ >
+ > # end of Para
+ <Para
+ <Unique 4474>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <TextRectID 146>
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4471>
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 83>
+ >
+ > # end of Para
+ <Para
+ <Unique 4466>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3314>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetAttributes:encoding'>
+ <MCurrPage `28'>
+ <Unique 3863>
+ > # end of Marker
+ <String `PrintGetAttributes'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3428>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 84>
+ >
+ > # end of Para
+ <Para
+ <Unique 4535>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3381>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <ATbl 85>
+ >
+ > # end of Para
+ <Para
+ <Unique 4532>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3430>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetOneAttribute:encoding'>
+ <MCurrPage `28'>
+ <Unique 3864>
+ > # end of Marker
+ <String `PrintGetOneAttribute'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4414>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 86>
+ >
+ > # end of Para
+ <Para
+ <Unique 4361>
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 147>
+ >
+ > # end of Para
+ <Para
+ <Unique 4598>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4594>
+ <PgfTag `CellHeading'>
+ <Pgf
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 8.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 87>
+ >
+ > # end of Para
+ <Para
+ <Unique 4593>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 4415>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintSetAttributes:encoding'>
+ <MCurrPage `29'>
+ <Unique 3865>
+ > # end of Marker
+ <String `PrintSetAttributes'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3640>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 88>
+ >
+ > # end of Para
+ <Para
+ <Unique 3642>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `PrintGetPageDimensions:encoding'>
+ <MCurrPage `29'>
+ <Unique 3866>
+ > # end of Marker
+ <String `PrintGetPageDimensions'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 4696>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <ATbl 89>
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 4785>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4776>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <ATbl 90>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 4777>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 148>
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `PrintQueryScreens:encoding'>
+ <MCurrPage `30'>
+ <Unique 3867>
+ > # end of Marker
+ <String `PrintQueryScreens'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 3801>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <ATbl 91>
+ <String ` '>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 4789>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3875>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <ATbl 92>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ >
+ > # end of Para
+ <Para
+ <Unique 3619>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintSetImageResolution:encoding'>
+ <MCurrPage `30'>
+ <Unique 3868>
+ > # end of Marker
+ <String `PrintSetImageResolution'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3657>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 97>
+ >
+ > # end of Para
+ <Para
+ <Unique 3658>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3708>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <ATbl 98>
+ >
+ > # end of Para
+ <Para
+ <Unique 3709>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfFIndent 0.5">
+ <PgfLIndent 0.5">
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 149>
+ >
+ > # end of Para
+ <Para
+ <Unique 3945>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintGetImageResolution:encoding'>
+ <MCurrPage `31'>
+ <Unique 3869>
+ > # end of Marker
+ <String `PrintGetImageResolution'>
+ <Font
+ <FTag `Type'>
+ <FFamily `Courier'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FLocked No>
+ > # end of Font
+ <String ` '>
+ >
+ > # end of Para
+ <Para
+ <Unique 3983>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 99>
+ >
+ > # end of Para
+ <Para
+ <Unique 3984>
+ <PgfTag `Protocol-arrow'>
+ <ParaLine
+ <String `\xae '>
+ >
+ > # end of Para
+ <Para
+ <Unique 4022>
+ <PgfTag `CellBody'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 9.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <ATbl 100>
+ >
+ > # end of Para
+ <Para
+ <Unique 3879>
+ <PgfTag `2Heading'>
+ <PgfNumString `5.2\t'>
+ <ParaLine
+ <String `Event Protocol Encoding'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3880>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `PrintNotify, encoding'>
+ <MCurrPage `31'>
+ <Unique 3870>
+ > # end of Marker
+ <String `PrintNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3935>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 93>
+ >
+ > # end of Para
+ <Para
+ <Unique 3937>
+ <PgfTag `Protocol'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3766>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <TextRectID 150>
+ <Marker
+ <MType 2>
+ <MText `AttributeNotify, encoding'>
+ <MCurrPage `32'>
+ <Unique 3871>
+ > # end of Marker
+ <String `AttributeNotify'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3987>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <ATbl 94>
+ >
+ > # end of Para
+ <Para
+ <Unique 3988>
+ <Pgf
+ <PgfTag `Para'>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 10.0 pt>
+ <PgfLineSpacing Fixed>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3989>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 3990>
+ <PgfTag `2Heading'>
+ <PgfNumString `5.3\t'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <String `E'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `rror Protocol Encoding'>
+ >
+ > # end of Para
+ <Para
+ <Unique 3991>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FChangeBar Yes>
+ <FLocked No>
+ > # end of Font
+ <Marker
+ <MType 2>
+ <MText `BadContext, encoding'>
+ <MCurrPage `32'>
+ <Unique 3872>
+ > # end of Marker
+ <String `B'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String `adContext'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4024>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `Type'>
+ <FLocked No>
+ > # end of Font
+ <ATbl 95>
+ >
+ > # end of Para
+ <Para
+ <Unique 4025>
+ <PgfTag `Protocol'>
+ <ParaLine
+ <Marker
+ <MType 2>
+ <MText `BadSequence, encoding'>
+ <MCurrPage `32'>
+ <Unique 3873>
+ > # end of Marker
+ <String `BadSequence'>
+ >
+ > # end of Para
+ <Para
+ <Unique 4058>
+ <Pgf
+ <PgfTag `RefSect1Para'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfRunInDefaultPunct `\\t '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 10.0 pt>
+ <PgfBlockSize 3>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <PgfMinWordSpace 100>
+ <PgfMaxWordSpace 100>
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `Type'>
+ <FLocked No>
+ > # end of Font
+ <ATbl 96>
+ >
+ > # end of Para
+ <Para
+ <Unique 4092>
+ <ParaLine
+ >
+ > # end of Para
+> # end of TextFlow
+# End of MIFFile
diff --git a/printproto/specs/xp_proto.ps b/printproto/specs/xp_proto.ps
new file mode 100644
index 0000000..47fad33
--- /dev/null
+++ b/printproto/specs/xp_proto.ps
@@ -0,0 +1,10422 @@
+%!PS-Adobe-3.0
+%%BoundingBox: (atend)
+%%Pages: (atend)
+%%PageOrder: (atend)
+%%DocumentFonts: (atend)
+%%Creator: Frame 5.1
+%%DocumentData: Clean7Bit
+%%EndComments
+%%BeginProlog
+%-
+%- Frame ps_prolog 5.0, for use with Frame 5.0 products
+%- This ps_prolog file is Copyright (c) 1986-1996 Adobe Systems, Incoporated.
+%- All rights reserved. This ps_prolog file may be freely copied and
+%- distributed in conjunction with documents created using FrameMaker,
+%- FrameMaker/SGML FrameReader and FrameViewer as long as this
+%- copyright notice is preserved.
+%-
+%- FrameMaker users specify the proper paper size for each print job in the
+%- "Print" dialog's "Printer Paper Size" "Width" and "Height~ fields. If the
+%- printer that the PS file is sent to does not support the requested paper
+%- size, or if there is no paper tray of the proper size currently installed,
+%- then the job will not be printed. The following flag, if set to true, will
+%- cause the job to print on the default paper in such cases.
+/FMAllowPaperSizeMismatch false def
+%-
+%- Frame products normally print colors as their true color on a color printer
+%- or as shades of gray, based on luminance, on a black-and white printer. The
+%- following flag, if set to true, forces all non-white colors to print as pure
+%- black. This has no effect on bitmap images.
+/FMPrintAllColorsAsBlack false def
+%-
+%- Frame products can either set their own line screens or use a printer's
+%- default settings. Three flags below control this separately for no
+%- separations, spot separations and process separations. If a flag
+%- is true, then the default printer settings will not be changed. If it is
+%- false, Frame products will use their own settings from a table based on
+%- the printer's resolution.
+/FMUseDefaultNoSeparationScreen true def
+/FMUseDefaultSpotSeparationScreen true def
+/FMUseDefaultProcessSeparationScreen false def
+%-
+%- For any given PostScript printer resolution, Frame products have two sets of
+%- screen angles and frequencies for printing process separations, which are
+%- recomended by Adobe. The following variable chooses the higher frequencies
+%- when set to true or the lower frequencies when set to false. This is only
+%- effective if the appropriate FMUseDefault...SeparationScreen flag is false.
+/FMUseHighFrequencyScreens true def
+%-
+%- The following is a set of predefined optimal frequencies and angles for various
+%- common dpi settings. This is taken from "Advances in Color Separation Using
+%- PostScript Software Technology," from Adobe Systems (3/13/89 P.N. LPS 0043)
+%- and corrolated with information which is in various PPD (4.0) files.
+%-
+%- The "dpiranges" figure is the minimum dots per inch device resolution which
+%- can support this setting. The "low" and "high" values are controlled by the
+%- setting of the FMUseHighFrequencyScreens flag above. The "TDot" flags control
+%- the use of the "Yellow Triple Dot" feature whereby the frequency id divided by
+%- three, but the dot function is "trippled" giving a block of 3x3 dots per cell.
+%-
+%- PatFreq is a compromise pattern frequency for ps Level 2 printers which is close
+%- to the ideal WYSIWYG pattern frequency of 9 repetitions/inch but does not beat
+%- (too badly) against the screen frequencies of any separations for that DPI.
+% This is computed by taking dpi/9 as the ideal pixels per repetition, and then
+% computing a tiling size in printer pixels for each of the four separations as
+% (dpi/screenFreq)*(cos(screenAngle)+sin(screenAngle)) Actually, this is the same
+% for Cyan and Magenta). Then, we take a "nice" LCM of the tile sizes close to
+% the desired pattern tile where the beat factor is not more than 2 or 3.
+%
+/dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def
+/CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def
+/YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def
+/KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def
+/CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def
+/MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def
+/YLowTDot [ true true false true true false false false ] def
+
+/CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def
+/YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def
+/KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def
+/CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def
+/MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def
+/YHighTDot [ false false true false false true true false ] def
+
+/PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def
+%-
+%- PostScript Level 2 printers contain an "Accurate Screens" feature which can
+%- improve process separation rendering at the expense of compute time. This
+%- flag is ignored by PostScript Level 1 printers.
+/FMUseAcccurateScreens true def
+%-
+%- The following PostScript procedure defines the spot function that Frame
+%- products will use for process separations. You may un-comment-out one of
+%- the alternative functions below, or use your own.
+%-
+%- Dot function
+/FMSpotFunction {abs exch abs 2 copy add 1 gt
+ {1 sub dup mul exch 1 sub dup mul add 1 sub }
+ {dup mul exch dup mul add 1 exch sub }ifelse } def
+%-
+%- Line function
+%- /FMSpotFunction { pop } def
+%-
+%- Elipse function
+%- /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add
+%- sqrt 1 exch sub } def
+%-
+%-
+
+/FMversion (5.0) def % matches PS_VERSION in fmprintdriver
+
+% PostScript Level 1 = true, 2 = false
+/fMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def
+
+% Set up Color vs. Black-and-White
+/FMPColor
+ fMLevel1 {
+ false
+ /colorimage where {pop pop true} if
+ } {
+% statusdict /processcolors known {
+% statusdict /processcolors get exec
+% } {1} ifelse
+% 1 gt
+ true
+ } ifelse
+def
+
+/FrameDict 400 dict def % should check this value each time changes made
+
+%
+% For NeWS we add a fake errordict, so we can psh files
+%
+systemdict /errordict known not {/errordict 10 dict def
+ errordict /rangecheck {stop} put} if
+
+%- The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk
+FrameDict /tmprangecheck errordict /rangecheck get put % save old rangecheck
+errordict /rangecheck {FrameDict /bug true put} put % will flag bug found
+FrameDict /bug false put % flag bug not found
+mark % since we're not sure what will happen next
+%- Some PS machines read past the CR, so keep the following 3 lines together!
+currentfile 5 string readline
+00
+0000000000
+cleartomark % junk from readline and rangecheck
+errordict /rangecheck FrameDict /tmprangecheck get put % restore rangecheck
+FrameDict /bug get { % redefine readline if last one got a rangecheck
+ /readline {
+ /gstring exch def
+ /gfile exch def
+ /gindex 0 def
+ {
+ gfile read pop % get a char
+ dup 10 eq {exit} if % exit if LF
+ dup 13 eq {exit} if % exit if CR
+ gstring exch gindex exch put % store it away
+ /gindex gindex 1 add def % bump index
+ } loop
+ pop % eol character
+ gstring 0 gindex getinterval true % simulate real readline
+ } bind def
+ } if
+
+% outer-world defs
+
+/FMshowpage /showpage load def
+/FMquit /quit load def
+
+/FMFAILURE { % enter with two error strings on the stack
+ dup = flush % send a copy of the message to the console
+ FMshowpage % msg on a page by itself, so it can't be, say, black on black
+ /Helvetica findfont 12 scalefont setfont
+ 72 200 moveto show
+ 72 220 moveto show
+ FMshowpage % we might be in the middle of some EPS, where "showpage"
+ FMquit % and "quit" are redefined
+ } def % only used once at most, so no bind
+
+/FMVERSION {
+ FMversion ne {
+ (Adobe Frame product version does not match ps_prolog! Check installation;)
+ (also check ~/fminit and ./fminit for old versions) FMFAILURE
+ } if
+ } def % only used at startup, so no bind
+
+/FMBADEPSF { % Call with bad operator name on stack (as a string)
+ (Adobe's PostScript Language Reference Manual, 2nd Edition, section H.2.4)
+ (says your EPS file is not valid, as it calls X )
+ dup dup (X) search pop exch pop exch pop length % parmstr errstr errstr indx
+ 5 -1 roll % errstr errstr index parmstr
+ putinterval % errstr
+ FMFAILURE
+ } def
+
+% standard concatprocs routine
+/fmConcatProcs
+ {
+ /proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
+ newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx
+}def
+
+% Put all local variables here in alphabetical order.
+FrameDict begin [
+ /ALDsave
+ /FMdicttop
+ /FMoptop
+ /FMpointsize
+ /FMsaveobject
+ /b
+ /bitmapsave
+ /blut
+ /bpside
+ /bs
+ /bstring
+ /bwidth
+ /c
+ /cf
+ /cs
+ /cynu
+ /depth
+ /edown
+ /fh
+ /fillvals
+ /fw
+ /fx
+ /fy
+ /g
+ /gfile
+ /gindex
+ /grnt
+ /gryt
+ /gstring
+ /height
+ /hh
+ /i
+ /im
+ /indx
+ /is
+ /k
+ /kk
+ /landscape
+ /lb
+ /len
+ /llx
+ /lly
+ /m
+ /magu
+ /manualfeed
+ /n
+ /offbits
+ /onbits
+ /organgle
+ /orgbangle
+ /orgbfreq
+ /orgbproc
+ /orgbxfer
+ /orgfreq
+ /orggangle
+ /orggfreq
+ /orggproc
+ /orggxfer
+ /orgmatrix
+ /orgproc
+ /orgrangle
+ /orgrfreq
+ /orgrproc
+ /orgrxfer
+ /orgxfer
+ /pagesave
+ /paperheight
+ /papersizedict
+ /paperwidth
+ /pos
+ /pwid
+ /r
+ /rad
+ /redt
+ /sl
+ /str
+ /tran
+ /u
+ /urx
+ /ury
+ /val
+ /width
+ /width
+ /ws
+ /ww
+ /x
+ /x1
+ /x2
+ /xindex
+ /xpoint
+ /xscale
+ /xx
+ /y
+ /y1
+ /y2
+ /yelu
+ /yindex
+ /ypoint
+ /yscale
+ /yy
+] { 0 def } forall
+
+% Start of PDF/Acrobat support
+
+% Bind def
+/FmBD {bind def} bind def
+
+systemdict /pdfmark known {
+ /fMAcrobat true def
+
+ % FmPD is a conditional PDFMark
+ /FmPD /pdfmark load def
+
+ % FmPT is a show text operator which only show up when distiller is active
+ /FmPT /show load def
+
+ % FmPD2 and FmPA are Acrobat 2.0-specific
+ currentdistillerparams /CoreDistVersion get 2000 ge {
+
+ % FmPD2 is like FmPD but for Acrobat 2.0-specific PDF
+ /FmPD2 /pdfmark load def
+
+ % x y/name FmPA
+ % is equivalent to
+ % [/Dest/name/View[/FitH x y FmDC exch pop]/DEST FmPD
+ % It is a shortcut for pagragraph Uinique ID designators whic occurr commonly.
+ /FmPA { mark exch /Dest exch 5 3 roll
+ /View [ /XYZ null 6 -2 roll FmDC exch pop null] /DEST FmPD
+ }FmBD
+ } {
+ % These are No-Ops for Distiller 1.0
+ /FmPD2 /cleartomark load def
+ /FmPA {pop pop pop}FmBD
+ } ifelse
+} {
+ % these are the No-Ops for regular PostScript
+ /fMAcrobat false def
+ /FmPD /cleartomark load def
+ /FmPD2 /cleartomark load def
+ /FmPT /pop load def
+ /FmPA {pop pop pop}FmBD
+} ifelse
+
+% This convert a set of X Y coordinates from the current user space to the default
+% PostScript coordinates needed by some pdfmark variants. We also convert to
+% integer because the distiller doesn't always like floats!
+/FmDC {
+ transform fMDefaultMatrix itransform cvi exch cvi exch
+}FmBD
+
+% This converts four numbers into a bounding box making sure the first two are maller than the last two
+/FmBx {
+ dup 3 index lt {3 1 roll exch} if
+ 1 index 4 index lt {4 -1 roll 3 1 roll exch 4 1 roll} if
+}FmBD
+
+% End of PDF/Acrobat support
+
+%
+% Color separation code
+%
+
+% Constants.
+
+/FMnone 0 def
+/FMcyan 1 def
+/FMmagenta 2 def
+/FMyellow 3 def
+/FMblack 4 def
+/FMcustom 5 def
+
+/fMNegative false def % we are inverting the page
+
+% Variables.
+
+/FrameSepIs FMnone def % separation we are printing
+% If FrameSepIs is FMcustom, this is the custom color
+/FrameSepBlack 0 def
+/FrameSepYellow 0 def
+/FrameSepMagenta 0 def
+/FrameSepCyan 0 def
+/FrameSepRed 1 def
+/FrameSepGreen 1 def
+/FrameSepBlue 1 def
+/FrameCurGray 1 def
+/FrameCurPat null def
+
+/FrameCurColors [ 0 0 0 1 0 0 0 ] def % c m y k r g b
+
+% Utility routines
+
+/FrameColorEpsilon .001 def % epsilon by which values can differ and sill be equal
+/eqepsilon { % v1 v2 eqeps bool
+ sub dup 0 lt {neg} if
+ FrameColorEpsilon le
+} bind def
+
+% are the cmyk and cmykrgb arrays on the stack the same color?
+/FrameCmpColorsCMYK { % [ c1 m1 y1 k1 ] [ c2 m2 y2 k2 r2 g2 b2] -> bool
+ 2 copy 0 get exch 0 get eqepsilon {
+ 2 copy 1 get exch 1 get eqepsilon {
+ 2 copy 2 get exch 2 get eqepsilon {
+ 3 get exch 3 get eqepsilon
+ } {pop pop false} ifelse
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+% are the rgb and cmykrgb arrays on the stack the same color?
+/FrameCmpColorsRGB { % [ r1 g1 b1 ] [ c2 m2 y2 k2 r2 g2 b2] -> bool
+ 2 copy 4 get exch 0 get eqepsilon {
+ 2 copy 5 get exch 1 get eqepsilon {
+ 6 get exch 2 get eqepsilon
+ }{pop pop false} ifelse
+ } {pop pop false} ifelse
+} bind def
+
+% convert r g b to c m y k
+/RGBtoCMYK { % r g b
+ 1 exch sub % r g y
+ 3 1 roll % y r g
+ 1 exch sub % y r m
+ 3 1 roll % m y r
+ 1 exch sub % m y c
+ 3 1 roll % c m y
+ 3 copy % c m y c m y
+ 2 copy % c m y c m y m y
+ le { pop } { exch pop } ifelse % c m y c min(m,y)
+ 2 copy % c m y c min(m,y) c min(m,y)
+ le { pop } { exch pop } ifelse % c m y min(c, min(m,y))
+ dup dup dup % c m y k k k k
+ 6 1 roll % c k m y k k k
+ 4 1 roll % c k m k y k k
+ 7 1 roll % k c k m k y k
+ sub % k c k m k y
+ 6 1 roll % y k c k m k
+ sub % y k c k m
+ 5 1 roll % m y k c k
+ sub % m y k c
+ 4 1 roll % c m y k
+} bind def
+/CMYKtoRGB { % c m y k CMYKtoRGB r g b
+ dup dup 4 -1 roll add % c m k k y+k
+ 5 1 roll 3 -1 roll add % y+k c k m+k
+ 4 1 roll add % m+k y+k c+k
+ 1 exch sub dup 0 lt {pop 0} if 3 1 roll % r m+k y+k
+ 1 exch sub dup 0 lt {pop 0} if exch % r b m+k
+ 1 exch sub dup 0 lt {pop 0} if exch % r g b
+} bind def
+
+% Public routines
+
+
+% Happens at the top of each page that is a separation
+/FrameSepInit {
+ 1.0 RealSetgray
+} bind def
+% Tell the separation code that this separation is for a custom color
+/FrameSetSepColor { % c m y k r g b
+ /FrameSepBlue exch def
+ /FrameSepGreen exch def
+ /FrameSepRed exch def
+ /FrameSepBlack exch def
+ /FrameSepYellow exch def
+ /FrameSepMagenta exch def
+ /FrameSepCyan exch def
+ /FrameSepIs FMcustom def
+ setCurrentScreen
+} bind def
+% Tell the separation code that this separation is Cyan
+/FrameSetCyan {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 1.0 def
+ /FrameSepIs FMcyan def
+ setCurrentScreen
+} bind def
+
+% Tell the separation code that this separation is Magenta
+/FrameSetMagenta {
+ /FrameSepBlue 1.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 1.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMmagenta def
+ setCurrentScreen
+} bind def
+
+% Tell the separation code that this separation is Yellow
+/FrameSetYellow {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 1.0 def
+ /FrameSepRed 1.0 def
+ /FrameSepBlack 0.0 def
+ /FrameSepYellow 1.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMyellow def
+ setCurrentScreen
+} bind def
+
+% Tell the separation code that this separation is Black
+/FrameSetBlack {
+ /FrameSepBlue 0.0 def
+ /FrameSepGreen 0.0 def
+ /FrameSepRed 0.0 def
+ /FrameSepBlack 1.0 def
+ /FrameSepYellow 0.0 def
+ /FrameSepMagenta 0.0 def
+ /FrameSepCyan 0.0 def
+ /FrameSepIs FMblack def
+ setCurrentScreen
+} bind def
+
+% Tell the separation code we are not doing a separation
+/FrameNoSep { %
+ /FrameSepIs FMnone def
+ setCurrentScreen
+} bind def
+
+% Initialize the separation code with all the custom colors we are
+% separating (not process colors)
+/FrameSetSepColors { % list of arrays of [c m y k r g b] count
+ FrameDict begin
+ [ exch 1 add 1 roll ]
+ /FrameSepColors % array of arrays of colors we are separating
+ exch def end
+ } bind def
+
+% is this color array in the array of custom color separations?
+/FrameColorInSepListCMYK { % [ c m y k ] -> bool
+ FrameSepColors { % color elem-of-array
+ exch dup 3 -1 roll % color color elem
+ FrameCmpColorsCMYK % color bool
+ { pop true exit } if
+ } forall % exits with either [color] or true
+ dup true ne {pop false} if
+ } bind def
+/FrameColorInSepListRGB { % [ r g b ] -> bool
+ FrameSepColors { % color elem-of-array
+ exch dup 3 -1 roll % color color elem
+ FrameCmpColorsRGB % color bool
+ { pop true exit } if
+ } forall % exits with either [color] or true
+ dup true ne {pop false} if
+ } bind def
+
+% Level 1 color operators saved and redefined
+/RealSetgray /setgray load def
+/RealSetrgbcolor /setrgbcolor load def
+/RealSethsbcolor /sethsbcolor load def
+end
+
+% Setgray patch
+/setgray { % num
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetgray }
+ { % go to white unless the current sep color is black
+ FrameSepIs FMblack eq
+ { RealSetgray }
+ { FrameSepIs FMcustom eq
+ FrameSepRed 0 eq and
+ FrameSepGreen 0 eq and
+ FrameSepBlue 0 eq and {
+ RealSetgray
+ } {
+ 1 RealSetgray pop
+ } ifelse
+ } ifelse
+ } ifelse
+ end
+} bind def
+/setrgbcolor { % r g b
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetrgbcolor }
+ {
+ 3 copy [ 4 1 roll ] % r g b [ r g b ]
+ FrameColorInSepListRGB
+ {
+ FrameSepBlue eq exch
+ FrameSepGreen eq and exch
+ FrameSepRed eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FMPColor {
+ RealSetrgbcolor
+ currentcmykcolor
+ } {
+ RGBtoCMYK
+ } ifelse
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+} bind def
+/sethsbcolor {
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSethsbcolor }
+ {
+ RealSethsbcolor % safe since we will overwrite the color state
+ currentrgbcolor % r g b - Let PostsCript to the conversion.
+ setrgbcolor % call our version
+ }
+ ifelse
+ end
+} bind def
+FrameDict begin
+
+/setcmykcolor where {
+ pop /RealSetcmykcolor /setcmykcolor load def
+} {
+ /RealSetcmykcolor {
+ 4 1 roll
+ 3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat
+ RealSetrgbcolor pop
+ } bind def
+} ifelse
+userdict /setcmykcolor { % c m y k
+ FrameDict begin
+ FrameSepIs FMnone eq
+ { RealSetcmykcolor }
+ {
+ 4 copy [ 5 1 roll ]
+ FrameColorInSepListCMYK
+ {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ { 0 } { 1 } ifelse
+ }
+ {
+ FrameSepIs FMblack eq
+ {1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ RealSetgray
+ }
+ ifelse
+ end
+ } bind put
+
+% Set up a prototype pattern for PostScript Level 2
+fMLevel1 {
+ % set up screen functions for the patterns in PS level 1
+ % each entry contains an angle, spot function, flipped spot function,
+ % gray level and frequency multiplier.
+ /patScreenDict 7 dict dup begin
+ <0f1e3c78f0e1c387> [ 45 { pop } {exch pop} .5 2 sqrt] FmBD
+ <0f87c3e1f0783c1e> [ 135 { pop } {exch pop} .5 2 sqrt] FmBD
+ <cccccccccccccccc> [ 0 { pop } dup .5 2 ] FmBD
+ <ffff0000ffff0000> [ 90 { pop } dup .5 2 ] FmBD
+ <8142241818244281> [ 45 { 2 copy lt {exch} if pop} dup .75 2 sqrt] FmBD
+ <03060c183060c081> [ 45 { pop } {exch pop} .875 2 sqrt] FmBD
+ <8040201008040201> [ 135 { pop } {exch pop} .875 2 sqrt] FmBD
+ end def
+} { % prototype level 2 pattern dictionary
+ % define some PostScript procedures for known jaggy patterns.
+ /patProcDict 5 dict dup begin
+ <0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ <8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -1 -1 moveto 9 9 lineto stroke } bind def
+ <03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
+ 4 -4 moveto 12 4 lineto stroke
+ -4 4 moveto 4 12 lineto stroke} bind def
+ <8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
+ -4 4 moveto 4 -4 lineto stroke
+ 4 12 moveto 12 4 lineto stroke} bind def
+ end def
+ /patDict 15 dict dup begin
+ /PatternType 1 def % Always 1 for PS Level 2
+ /PaintType 2 def % Uncolored pattern
+ /TilingType 3 def % constant spacing and faster tiling
+ /BBox [ 0 0 8 8 ] def % bounding box
+ /XStep 8 def % X offset
+ /YStep 8 def % Y offset
+ /PaintProc {
+ begin
+ patProcDict bstring known {
+ patProcDict bstring get exec
+ } {
+ 8 8 true [1 0 0 -1 0 8] bstring imagemask
+ } ifelse
+ end
+ } bind def
+ end def
+} ifelse
+
+%combineColor puts together the current gray value (which could also be
+%a fraction of on bits for a fill pattern and the current color and calls
+%the appropriate function
+%
+/combineColor {
+ FrameSepIs FMnone eq
+ {
+ graymode fMLevel1 or not {
+ % Level 2 pattern
+ [/Pattern [/DeviceCMYK]] setcolorspace
+ FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
+ } {
+ FrameCurColors 3 get 1.0 ge {
+ FrameCurGray RealSetgray
+ } {
+ fMAcrobat not FMPColor graymode and and {
+ 0 1 3 {
+ FrameCurColors exch get
+ 1 FrameCurGray sub mul
+ } for
+ RealSetcmykcolor
+ } {
+ 4 1 6 {
+ FrameCurColors exch get
+ graymode {
+ 1 exch sub 1 FrameCurGray sub mul 1 exch sub
+ } {
+ 1.0 lt {FrameCurGray} {1} ifelse
+ } ifelse
+ } for
+ RealSetrgbcolor
+ } ifelse
+ } ifelse
+ } ifelse
+ } { % separation case
+ FrameCurColors 0 4 getinterval aload
+ FrameColorInSepListCMYK {
+ FrameSepBlack eq exch
+ FrameSepYellow eq and exch
+ FrameSepMagenta eq and exch
+ FrameSepCyan eq and
+ FrameSepIs FMcustom eq and
+ { FrameCurGray } { 1 } ifelse
+ } {
+ FrameSepIs FMblack eq
+ {FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
+ FrameSepIs FMyellow eq
+ {pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
+ FrameSepIs FMmagenta eq
+ {pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
+ FrameSepIs FMcyan eq
+ {pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
+ {pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
+ } ifelse
+ graymode fMLevel1 or not {
+ % Level 2 pattern
+ [/Pattern [/DeviceGray]] setcolorspace
+ FrameCurPat setcolor
+ } {
+ graymode not fMLevel1 and {
+ % Level 1 patterns are either all there or not there at all
+ dup 1 lt {pop FrameCurGray} if
+ } if
+ RealSetgray
+ } ifelse
+ } ifelse
+} bind def
+
+/savematrix {
+ orgmatrix currentmatrix pop
+ } bind def
+/restorematrix {
+ orgmatrix setmatrix
+ } bind def
+/fMDefaultMatrix matrix defaultmatrix def
+/fMatrix2 matrix def
+/dpi 72 0 fMDefaultMatrix dtransform
+ dup mul exch dup mul add sqrt def
+
+% freq and sangle are used for ps Level 1 pattern building.
+/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
+/sangle 1 0 fMDefaultMatrix dtransform exch atan def
+ sangle fMatrix2 rotate
+ fMDefaultMatrix fMatrix2 concatmatrix
+ dup 0 get /sflipx exch def
+ 3 get /sflipy exch def
+
+%
+% screen index depending on dpi
+% - screenIndex smallint
+/screenIndex {
+ 0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
+} bind def
+
+%
+% These routines get the standard Adobe frequencies, angles, and spot functions
+% depending on the DPI
+%
+% - getCyanScreen freq angle spotfunction
+/getCyanScreen {
+ FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+
+%
+% - getMagentaScreen freq angle spotFunction
+/getMagentaScreen {
+ FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
+} bind def
+
+%
+% - getYellowScreen freq angle spotFunction
+% note that some of these use a "tripple dot" function at 1/3 the frequency
+/getYellowScreen {
+ FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
+ screenIndex dup 3 1 roll get 3 1 roll get { 3 div
+ {2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
+ FMSpotFunction } } {/FMSpotFunction load } ifelse
+ 0.0 exch
+} bind def
+
+%
+% - getBlackScreen freq angle spotFunction
+/getBlackScreen {
+ FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
+ screenIndex get 45.0 /FMSpotFunction load
+} bind def
+
+%
+% - getSpotScreen freq angle spotFunction
+/getSpotScreen {
+ getBlackScreen
+} bind def
+
+%
+% - getCompositeScreen freq angle spotFunction
+/getCompositeScreen {
+ getBlackScreen
+} bind def
+
+% FmSetScreen sets the screen for either PostScript Level 1 or Level 2 and optionally
+% sets the accuratescreens flag in the latter case
+% freq angle spotfunction FMSetScreen -
+/FMSetScreen
+ fMLevel1 { /setscreen load
+ }{ {
+ 8 dict begin
+ /HalftoneType 1 def
+ /SpotFunction exch def
+ /Angle exch def
+ /Frequency exch def
+ /AccurateScreens FMUseAcccurateScreens def
+ currentdict end sethalftone
+ } bind } ifelse
+def
+
+% This sets the default screen as was set at the beginning of the job
+% - setDefaultScreen -
+/setDefaultScreen {
+ FMPColor {
+ orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
+ }
+ {
+ orgxfer cvx settransfer
+ } ifelse
+ orgfreq organgle orgproc cvx setscreen
+} bind def
+
+% This sets the current screen depending on FrameSepIs
+% - setCurrentScreen -
+/setCurrentScreen {
+ FrameSepIs FMnone eq {
+ FMUseDefaultNoSeparationScreen {
+ setDefaultScreen
+ } {
+ getCompositeScreen FMSetScreen
+ } ifelse
+ } {
+ FrameSepIs FMcustom eq {
+ FMUseDefaultSpotSeparationScreen {
+ setDefaultScreen
+ } {
+ getSpotScreen FMSetScreen
+ } ifelse
+ } {
+ FMUseDefaultProcessSeparationScreen {
+ setDefaultScreen
+ } {
+ FrameSepIs FMcyan eq {
+ getCyanScreen FMSetScreen
+ } {
+ FrameSepIs FMmagenta eq {
+ getMagentaScreen FMSetScreen
+ } {
+ FrameSepIs FMyellow eq {
+ getYellowScreen FMSetScreen
+ } {
+ getBlackScreen FMSetScreen
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+} bind def
+
+
+end
+
+% End of Color separation code
+%
+
+/FMDOCUMENT { % xscale yscale edown negative paperwidth paperheight manfeed numcopies numfonts
+ array /FMfonts exch def % Why isn't this in FrameDict???
+ /#copies exch def
+ FrameDict begin
+ 0 ne /manualfeed exch def
+ /paperheight exch def
+ /paperwidth exch def
+ 0 ne /fMNegative exch def % invert page
+ 0 ne /edown exch def % flip page along y axis
+ /yscale exch def
+ /xscale exch def
+
+ fMLevel1 {
+ manualfeed {setmanualfeed} if
+ /FMdicttop countdictstack 1 add def % some PS's leave junk on dict ...
+ /FMoptop count def % ...or on operand stack...
+ setpapername % This stuff may alter the transfer/screen/angle
+ manualfeed {true} {papersize} ifelse % true->more work to do
+ {manualpapersize} {false} ifelse % true->more work to do
+ {desperatepapersize} {false} ifelse % true->failed completely
+ {papersizefailure} if
+ count -1 FMoptop {pop pop} for
+ countdictstack -1 FMdicttop {pop end} for %...if tray not installed
+ }
+ {2 dict
+ dup /PageSize [paperwidth paperheight] put
+ manualfeed {dup /ManualFeed manualfeed put} if
+ {setpagedevice} stopped {papersizefailure} if
+ }
+ ifelse % fMLevel1
+
+ FMPColor {
+ currentcolorscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+ cvlit /orgbproc exch def
+ /orgbangle exch def
+ /orgbfreq exch def
+ cvlit /orggproc exch def
+ /orggangle exch def
+ /orggfreq exch def
+ cvlit /orgrproc exch def
+ /orgrangle exch def
+ /orgrfreq exch def
+
+ currentcolortransfer
+ fMNegative {
+ 1 1 4 {
+ pop { 1 exch sub } fmConcatProcs 4 1 roll
+ } for
+ 4 copy
+ setcolortransfer
+ } if
+ cvlit /orgxfer exch def
+ cvlit /orgbxfer exch def
+ cvlit /orggxfer exch def
+ cvlit /orgrxfer exch def
+ } {
+ currentscreen
+ cvlit /orgproc exch def
+ /organgle exch def
+ /orgfreq exch def
+
+ currenttransfer
+ fMNegative {
+ { 1 exch sub } fmConcatProcs
+ dup settransfer
+ } if
+ cvlit /orgxfer exch def
+ } ifelse
+
+ end % FrameDict
+} def % only used at startup, so no bind
+
+/FMBEGINPAGE { % pagewidth pageheight landscape color-arrays count
+ FrameDict begin % for the whole page...
+ /pagesave save def
+ 3.86 setmiterlimit
+ /landscape exch 0 ne def
+ landscape { % check for landscape
+ 90 rotate 0 exch dup /pwid exch def neg translate pop
+ }{
+ pop /pwid exch def
+ } ifelse
+ edown { [-1 0 0 1 pwid 0] concat } if
+% paint the whole page in "white". If the page is inverted, then
+% this will actually paint our black background
+ 0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
+ 0 paperheight lineto 0 0 lineto 1 setgray fill
+ xscale yscale scale
+ /orgmatrix matrix def
+ gsave % for CLIP
+} def % only used infrequently, so no bind
+
+/FMENDPAGE {
+ grestore % for CLIP
+ pagesave restore
+ end % FrameDict
+ showpage
+ } def % only used infrequently, so no bind
+
+/FMFONTDEFINE { % fontindex nonstd_encoding fontname --
+ FrameDict begin
+ findfont % fontindex nonstd_encoding font
+ ReEncode % fontindex font'
+ 1 index exch % fontindex fontindex font'
+ definefont % fontindex font"
+ FMfonts 3 1 roll % FMfonts fontindex font"
+ put
+ end % FrameDict
+ } def % only used infrequently, so no bind
+
+/FMFILLS {
+ FrameDict begin dup
+ array /fillvals exch def
+ dict /patCache exch def
+ end % framedict
+ } def % Only called once, so no bind
+
+/FMFILL {
+ FrameDict begin
+ fillvals 3 1 roll put
+ end % FrameDict
+ } def % only used infrequently, so no bind
+
+% Set things to a known, quiescent state, for when we switch to another writer
+/FMNORMALIZEGRAPHICS {
+ newpath
+ 1 setlinewidth
+ 0 setlinecap
+ 0 0 0 sethsbcolor
+ 0 setgray % Not FMsetgray; only called outside of our environment!
+ } bind def
+
+/FMBEGINEPSF { % <theta> llx lly urx ury fw fh fx fy
+ end % FrameDict
+ /FMEPSF save def % in userdict
+ /showpage {} def % this def is in userdict
+%- See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
+%- "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
+ /banddevice {(banddevice) FMBADEPSF} def
+ /clear {(clear) FMBADEPSF} def
+ /cleardictstack {(cleardictstack) FMBADEPSF} def % FMBADEPSF knows this is the longest!
+ /copypage {(copypage) FMBADEPSF} def
+ /erasepage {(erasepage) FMBADEPSF} def
+ /exitserver {(exitserver) FMBADEPSF} def
+ /framedevice {(framedevice) FMBADEPSF} def
+ /grestoreall {(grestoreall) FMBADEPSF} def
+ /initclip {(initclip) FMBADEPSF} def
+ /initgraphics {(initgraphics) FMBADEPSF} def
+% /initmatrix {(initmatrix) FMBADEPSF} def % Aldus Freehand 4.0 epsf uses this harmlessly <Gus 4/26/95>
+ /quit {(quit) FMBADEPSF} def
+ /renderbands {(renderbands) FMBADEPSF} def
+ /setglobal {(setglobal) FMBADEPSF} def
+ /setpagedevice {(setpagedevice) FMBADEPSF} def
+ /setshared {(setshared) FMBADEPSF} def
+ /startjob {(startjob) FMBADEPSF} def
+ /lettertray {(lettertray) FMBADEPSF} def
+ /letter {(letter) FMBADEPSF} def
+ /lettersmall {(lettersmall) FMBADEPSF} def
+ /11x17tray {(11x17tray) FMBADEPSF} def
+ /11x17 {(11x17) FMBADEPSF} def
+ /ledgertray {(ledgertray) FMBADEPSF} def
+ /ledger {(ledger) FMBADEPSF} def
+ /legaltray {(legaltray) FMBADEPSF} def
+ /legal {(legal) FMBADEPSF} def
+ /statementtray {(statementtray) FMBADEPSF} def
+ /statement {(statement) FMBADEPSF} def
+ /executivetray {(executivetray) FMBADEPSF} def
+ /executive {(executive) FMBADEPSF} def
+ /a3tray {(a3tray) FMBADEPSF} def
+ /a3 {(a3) FMBADEPSF} def
+ /a4tray {(a4tray) FMBADEPSF} def
+ /a4 {(a4) FMBADEPSF} def
+ /a4small {(a4small) FMBADEPSF} def
+ /b4tray {(b4tray) FMBADEPSF} def
+ /b4 {(b4) FMBADEPSF} def
+ /b5tray {(b5tray) FMBADEPSF} def
+ /b5 {(b5) FMBADEPSF} def
+ FMNORMALIZEGRAPHICS % in case we're in a strange state
+ [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall % neat trick
+ fx fw 2 div add fy fh 2 div add translate
+ rotate
+ fw 2 div neg fh 2 div neg translate
+ fw urx llx sub div fh ury lly sub div scale % then scale
+ llx neg lly neg translate % then compensate for LL offset
+ /FMdicttop countdictstack 1 add def % high-water mark of dict stack
+ /FMoptop count def % tricky! "/FMoptop" on stack
+ } bind def
+
+/FMENDEPSF {
+ count -1 FMoptop {pop pop} for % clear EPS junk from operand stack
+ countdictstack -1 FMdicttop {pop end} for % ditto for dict stack
+ FMEPSF restore
+ FrameDict begin % for the whole page...
+ } bind def
+
+FrameDict begin % put most defs here
+
+/setmanualfeed {
+%%BeginFeature *ManualFeed True
+ statusdict /manualfeed true put
+%%EndFeature
+ } bind def
+
+/max {2 copy lt {exch} if pop} bind def
+/min {2 copy gt {exch} if pop} bind def
+/inch {72 mul} def
+
+/pagedimen { % name width height
+ paperheight sub abs 16 lt exch % 16pt is an arbitrary slop amount
+ paperwidth sub abs 16 lt and
+ {/papername exch def} {pop} ifelse
+ } bind def
+
+/setpapername { % Already set up: paperwidth paperheight and manualfeed
+ /papersizedict 14 dict def % one for /papername, one for /unknown
+ papersizedict begin
+ /papername /unknown def % in case no match
+ /Letter 8.5 inch 11.0 inch pagedimen
+ /LetterSmall 7.68 inch 10.16 inch pagedimen
+ /Tabloid 11.0 inch 17.0 inch pagedimen
+ /Ledger 17.0 inch 11.0 inch pagedimen
+ /Legal 8.5 inch 14.0 inch pagedimen
+ /Statement 5.5 inch 8.5 inch pagedimen
+ /Executive 7.5 inch 10.0 inch pagedimen
+ /A3 11.69 inch 16.5 inch pagedimen
+ /A4 8.26 inch 11.69 inch pagedimen
+ /A4Small 7.47 inch 10.85 inch pagedimen
+ /B4 10.125 inch 14.33 inch pagedimen
+ /B5 7.16 inch 10.125 inch pagedimen
+ end
+ } bind def
+
+/papersize {
+ papersizedict begin
+ /Letter {lettertray letter} def
+ /LetterSmall {lettertray lettersmall} def
+ /Tabloid {11x17tray 11x17} def
+ /Ledger {ledgertray ledger} def
+ /Legal {legaltray legal} def
+ /Statement {statementtray statement} def
+ /Executive {executivetray executive} def
+ /A3 {a3tray a3} def
+ /A4 {a4tray a4} def
+ /A4Small {a4tray a4small} def
+ /B4 {b4tray b4} def
+ /B5 {b5tray b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ statusdict begin stopped end % return true if more work to do
+ } bind def
+
+/manualpapersize {
+ papersizedict begin
+ /Letter {letter} def
+ /LetterSmall {lettersmall} def
+ /Tabloid {11x17} def
+ /Ledger {ledger} def
+ /Legal {legal} def
+ /Statement {statement} def
+ /Executive {executive} def
+ /A3 {a3} def
+ /A4 {a4} def
+ /A4Small {a4small} def
+ /B4 {b4} def
+ /B5 {b5} def
+ /unknown {unknown} def
+ papersizedict dup papername known {papername} {/unknown} ifelse get
+ end
+ stopped % return true if more work to do
+ } bind def
+
+/desperatepapersize {
+ statusdict /setpageparams known
+ {
+ paperwidth paperheight 0 1
+ statusdict begin
+ {setpageparams} stopped % return true iff failed
+ end
+ } {true} ifelse % return true iff failed
+ } bind def
+
+/papersizefailure {
+ FMAllowPaperSizeMismatch not
+ {
+(The requested paper size is not available in any currently-installed tray)
+(Edit the PS file to "FMAllowPaperSizeMismatch true" to use default tray)
+ FMFAILURE } if
+ } def
+
+%
+% Font re-encoding to include diacritics
+%
+/DiacriticEncoding [
+
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
+/numbersign /dollar /percent /ampersand /quotesingle /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
+/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
+/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
+/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
+/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
+/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
+/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
+/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
+/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
+/udieresis /dagger /.notdef /cent /sterling /section /bullet
+/paragraph /germandbls /registered /copyright /trademark /acute
+/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
+/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
+/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
+/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
+/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
+/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
+/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
+/periodcentered /quotesinglbase /quotedblbase /perthousand
+/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
+/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
+/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
+/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
+
+] def
+
+/ReEncode { % nonstd_encoding font -- reencodedfont
+ dup % nonstd_encoding font font
+ length % nonstd_encoding font dictlength
+ dict begin % nonstd_encoding font % currentdict = newdict
+ {% forall % forall is over font to be copied
+ 1 index /FID ne % skip FID
+ {def} % defs go into newfontdict which is currentdict
+ {pop pop} ifelse % copy all keys including /Encoding
+ } forall % nonstd_encoding
+ 0 eq {/Encoding DiacriticEncoding def} if % --
+ currentdict % push a copy of the copied font dict onto operand stack
+ end % font' % before popping it off dictionary stack
+ } bind def
+
+FMPColor
+ % setup procs for color printing
+ {
+
+ /BEGINBITMAPCOLOR { % iw, ih, width, height, theta, x y
+ BITMAPCOLOR} def
+ /BEGINBITMAPCOLORc { % iw, ih, width, height, theta, x y
+ BITMAPCOLORc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUECOLOR } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUECOLORc } def
+ /BEGINBITMAPCMYK {
+ BITMAPCMYK } def
+ /BEGINBITMAPCMYKc {
+ BITMAPCMYKc } def
+ }
+ % setup procs for B&W printing
+ {
+ /BEGINBITMAPCOLOR { % iw, ih, width, height, theta, x y
+ BITMAPGRAY} def
+ /BEGINBITMAPCOLORc { % iw, ih, width, height, theta, x y
+ BITMAPGRAYc} def
+ /BEGINBITMAPTRUECOLOR {
+ BITMAPTRUEGRAY } def
+ /BEGINBITMAPTRUECOLORc {
+ BITMAPTRUEGRAYc } def
+ /BEGINBITMAPCMYK {
+ BITMAPCMYKGRAY } def
+ /BEGINBITMAPCMYKc {
+ BITMAPCMYKGRAYc } def
+ }
+ifelse
+
+/K { % c m y k r g b SEPARATION
+ FMPrintAllColorsAsBlack {
+ dup 1 eq 2 index 1 eq and 3 index 1 eq and not
+ {7 {pop} repeat 0 0 0 1 0 0 0} if
+ } if
+ FrameCurColors astore
+ pop combineColor
+} bind def
+%
+% graymode is true if we are just doing gray fills, this way do not keep calling
+% setscreen. I don't know what the cost is on calling setscreen with defaults, but
+% this is easy to keep track of, and we know for sure we aren't wasting cycles.
+% if graymode is false and fMLevel1 is false, then we are using Level 2 patterns.
+%
+/graymode true def
+
+% used by level 1 patterns
+% defaultflip matrixentry fmGetFlit -> eith -1 or 1
+fMLevel1 {
+ /fmGetFlip {
+ fMatrix2 exch get mul 0 lt { -1 } { 1 } ifelse
+ } FmBD
+} if
+
+/setPatternMode {
+ fMLevel1 {
+ 2 index patScreenDict exch known {
+ pop pop
+ patScreenDict exch get aload pop % angle spot fspot gray mult
+ freq % freq
+ mul % times multiplier
+ 5 2 roll % angle spot fspot gray mult freq -> gray freq angle spot fspot
+ fMatrix2 currentmatrix 1 get 0 ne {
+ 3 -1 roll 90 add 3 1 roll % landscape
+ sflipx 1 fmGetFlip sflipy 2 fmGetFlip neg mul
+ } { % portrait
+ sflipx 0 fmGetFlip sflipy 3 fmGetFlip mul
+ } ifelse
+ 0 lt {exch pop} {pop} ifelse % take regular or flipped spot function
+ fMNegative {
+ {neg} fmConcatProcs % invert spot function
+ } if
+ bind
+ % we need to bypass any screen filter and go directly to systemdict
+ % to avoid problems with Kodak Precision calibration software
+ % <Gus 9/13/93>
+ systemdict /setscreen get exec % leave graylevel on stack
+ /FrameCurGray exch def
+ } {
+ /bwidth exch def
+ /bpside exch def
+ /bstring exch def
+ /onbits 0 def /offbits 0 def
+ freq sangle landscape {90 add} if
+ {/ypoint exch def
+ /xpoint exch def
+ /xindex xpoint 1 add 2 div bpside mul cvi def
+ /yindex ypoint 1 add 2 div bpside mul cvi def
+ bstring yindex bwidth mul xindex 8 idiv add get
+ 1 7 xindex 8 mod sub bitshift and 0 ne fMNegative {not} if
+ {/onbits onbits 1 add def 1}
+ {/offbits offbits 1 add def 0}
+ ifelse
+ }
+ setscreen
+ offbits offbits onbits add div fMNegative {1.0 exch sub} if
+ /FrameCurGray exch def
+ } ifelse
+ } { % Level 2 version
+ pop pop
+ dup patCache exch known {
+ patCache exch get
+ } { % not in cache
+ dup
+ patDict /bstring 3 -1 roll put
+ patDict
+ 9 PatFreq screenIndex get div dup matrix scale
+% 9 orgfreq
+% organgle sin abs organgle cos abs add div
+% dup 16 div round dup 0 le {pop 1} if % Unix pattern size
+% dup 9 div round dup 0 le {pop 1} if % Mac larger (WYSIWYG) size
+% div div dup matrix scale % This gives Unix pattern size.
+ makepattern
+ dup
+ patCache 4 -1 roll 3 -1 roll put
+ } ifelse
+ /FrameCurGray 0 def
+ /FrameCurPat exch def
+ } ifelse
+ /graymode false def
+ combineColor
+} bind def
+
+/setGrayScaleMode {
+ graymode not {
+ /graymode true def
+ fMLevel1 {
+ setCurrentScreen
+ } if
+ } if
+ /FrameCurGray exch def
+ combineColor
+} bind def
+
+/normalize {
+ transform round exch round exch itransform
+ } bind def
+
+/dnormalize {
+ dtransform round exch round exch idtransform
+ } bind def
+
+/lnormalize { % line widths are always odd so that arrow heads work
+ 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
+ } bind def
+
+/H { % THICK
+ lnormalize setlinewidth
+ } bind def
+
+/Z {
+ setlinecap
+ } bind def
+
+% This is used to fill or stroke white behind a Level 2 pattern
+/PFill {
+ graymode fMLevel1 or not {
+ gsave 1 setgray eofill grestore
+ } if
+} bind def
+/PStroke {
+ graymode fMLevel1 or not {
+ gsave 1 setgray stroke grestore
+ } if
+ stroke
+} bind def
+
+/X { % TEXTURE
+ fillvals exch get
+ dup type /stringtype eq
+ {8 1 setPatternMode} % Silly to pass parameters here
+ {setGrayScaleMode}
+ ifelse
+ } bind def
+
+/V { % FILL
+ PFill gsave eofill grestore
+ } bind def
+
+/Vclip {
+ clip
+ } bind def
+
+/Vstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+
+/N { % PEN
+ PStroke
+ } bind def
+
+/Nclip {
+ strokepath clip newpath
+ } bind def
+
+/Nstrk {
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+
+/M {newpath moveto} bind def
+/E {lineto} bind def
+/D {curveto} bind def
+/O {closepath} bind def
+
+/L { % POLYLINE
+ /n exch def
+ newpath
+ normalize
+ moveto
+ 2 1 n {pop normalize lineto} for
+ } bind def
+
+/Y { % POLYGON !!!
+ L % POLYLINE
+ closepath
+ } bind def
+
+/R { % RECT x1 y1 x2 y2
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ x1 y1
+ x2 y1
+ x2 y2
+ x1 y2
+ 4 Y % POLYGON
+ } bind def
+
+/rarc % Leaves all sorts of junk on the operand stack for caller to clear off
+ {rad % arcto might fail if we're scaled way down
+ arcto
+ } bind def
+
+/RR { % ROUNDRECT x1 y1 x2 y2 r
+ /rad exch def
+ normalize
+ /y2 exch def
+ /x2 exch def
+ normalize
+ /y1 exch def
+ /x1 exch def
+ mark
+ newpath
+ {
+ x1 y1 rad add moveto
+ x1 y2 x2 y2 rarc
+ x2 y2 x2 y1 rarc
+ x2 y1 x1 y1 rarc
+ x1 y1 x1 y2 rarc
+ closepath
+ } stopped {x1 y1 x2 y2 R} if % in case rarc failed for degenerate arcs
+ cleartomark
+ } bind def
+
+/RRR { % ROUNDRECT ROTATED xs ys x1 y1 x2 y2 x3 y3 x4 y4 r
+ /rad exch def
+ normalize /y4 exch def /x4 exch def
+ normalize /y3 exch def /x3 exch def
+ normalize /y2 exch def /x2 exch def
+ normalize /y1 exch def /x1 exch def
+ newpath
+ normalize moveto % eats xs ys
+ mark
+ {
+ x2 y2 x3 y3 rarc
+ x3 y3 x4 y4 rarc
+ x4 y4 x1 y1 rarc
+ x1 y1 x2 y2 rarc
+ closepath
+ } stopped
+ {x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
+ cleartomark
+ } bind def
+
+/C { % CLIP
+ grestore
+ gsave
+ R % RECT
+ clip
+ setCurrentScreen
+} bind def
+
+/CP { % CLIPPOLY p1x p1y p2x p2y ... n
+ grestore
+ gsave
+ Y % POLYGON
+ clip
+ setCurrentScreen
+} bind def
+
+/F { % FONT
+ FMfonts exch get
+ FMpointsize scalefont
+ setfont
+ } bind def
+
+/Q { % POINTSIZE (& font)
+ /FMpointsize exch def
+ F % could be slightly optimized here
+ } bind def
+
+/T { % TEXT <string> <x> <y>
+ moveto show
+ } bind def
+
+% Callers of RF (rotate/flip) must gsave (or save) first; (g)restore when done
+/RF { % <flip> <theta>
+ rotate
+ 0 ne {-1 1 scale} if
+ } bind def
+
+/TF { % TEXTFLIPROTATE <string> <flip> <theta> <x> <y>
+ gsave
+ moveto
+ RF
+ show
+ grestore
+ } bind def
+
+/P { % PADTEXT <pad> <string> <x> <y>
+ moveto
+ 0 32 3 2 roll widthshow
+ } bind def
+
+/PF { % PADTEXTFLIPROTATE <pad> <string> <flip> <theta> <x> <y>
+ gsave
+ moveto
+ RF
+ 0 32 3 2 roll widthshow
+ grestore
+ } bind def
+
+/S { % SPREADTEXT <spread> <string> <x> <y>
+ moveto
+ 0 exch ashow
+ } bind def
+
+/SF { % SPREADTEXTFLIPROTATE <spread> <string> <flip> <theta> <x> <y>
+ gsave
+ moveto
+ RF
+ 0 exch ashow
+ grestore
+ } bind def
+
+/B { % PADSPREADTEXT <pad> <spread> <string> <x> <y>
+ moveto
+ 0 32 4 2 roll 0 exch awidthshow
+ } bind def
+
+/BF { % PADSPREADTEXTFLIPROTATE <pad> <spread> <string> <flip> <theta> <x> <y>
+ gsave
+ moveto
+ RF
+ 0 32 4 2 roll 0 exch awidthshow
+ grestore
+ } bind def
+
+/G { % ARCFILL theta1 theta2 width height x y
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto % eats x y
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ PFill fill
+ grestore
+ } bind def
+
+/Gstrk {
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch % theta1 theta2 width height x y
+ normalize 2 index 2 div sub exch 3 index 2 div add exch % theta1 theta2 width height x y
+ translate
+ scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+
+/Gclip { % ARCFILL theta1 theta2 width height x y swid
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto % eats x y
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+
+/GG { % ARCFILL ROTATED theta1 theta2 width height angle x y
+ gsave
+ newpath
+ normalize translate 0.0 0.0 moveto % eats x y
+ rotate % eats angle
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ PFill
+ fill
+ grestore
+ } bind def
+
+/GGclip { % ARCFILL ROTATED theta1 theta2 width height angle x y
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto % eats x y
+ rotate % eats angle
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ clip newpath
+ restorematrix
+ } bind def
+
+/GGstrk { % ARCFILL ROTATED swid theta1 theta2 width height angle x y
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto % eats x y
+ rotate % eats angle
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ restorematrix
+ currentlinewidth exch setlinewidth PStroke setlinewidth
+ } bind def
+
+/A { % ARCPEN theta1 theta2 width height x y
+ gsave
+ savematrix
+ newpath
+ 2 index 2 div add exch 3 index 2 div sub exch % theta1 theta2 width height x y
+ normalize 2 index 2 div sub exch 3 index 2 div add exch % theta1 theta2 width height x y
+ translate
+ scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+
+/Aclip {
+ newpath
+ savematrix
+ normalize translate 0.0 0.0 moveto % eats x y
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+
+/Astrk {
+ Gstrk
+} bind def
+
+/AA { % ARCPEN ROTATED theta1 theta2 width height angle x y
+ gsave
+ savematrix
+ newpath
+ % theta1 theta2 width height angle x y
+ 3 index 2 div add exch 4 index 2 div sub exch
+ % theta1 theta2 width height angle x y
+ normalize 3 index 2 div sub exch 4 index 2 div add exch
+ translate % eats x y
+ rotate % eats angle
+ scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ restorematrix
+ PStroke
+ grestore
+ } bind def
+
+/AAclip {
+ savematrix
+ newpath
+ normalize translate 0.0 0.0 moveto % eats x y
+ rotate % eats angle
+ dnormalize scale % eats width height
+ 0.0 0.0 1.0 5 3 roll arc % eats theta1 theta2
+ closepath
+ strokepath clip newpath
+ restorematrix
+} bind def
+
+/AAstrk {
+ GGstrk
+} bind def
+
+/BEGINPRINTCODE { % -x -y width height
+ /FMdicttop countdictstack 1 add def % high-water mark of dict stack
+ /FMoptop count 7 sub def % tricky! 7 params on stack, plus "/FMoptop"
+ /FMsaveobject save def
+ userdict begin % insulate user from FrameDict; not in /FMdicttop count
+ /showpage {} def % this def is in userdict
+ FMNORMALIZEGRAPHICS % in case we're in a strange state
+ 3 index neg 3 index neg translate
+ } bind def
+
+/ENDPRINTCODE {
+ count -1 FMoptop {pop pop} for % clear user junk from operand stack
+ countdictstack -1 FMdicttop {pop end} for % ditto for dict stack
+ FMsaveobject restore % this is now safe, unless user very malicious
+ } bind def
+
+/gn { % get a number in a funny encoding scheme
+ 0 % result on stack
+ { 46 mul % shift old digits
+ cf read pop % get next character
+ 32 sub % zero is the space character
+ dup 46 lt {exit} if % quit if we're the last digit
+ 46 sub add % add in this digit and loop around for next
+ } loop
+ add % result on stack
+ } bind def
+
+/cfs { % create a string of length "sl" filled with "val"s
+ /str sl string def % create string as "str"
+ 0 1 sl 1 sub {str exch val put} for % fill array
+ str def % define real array name, too; name is on stack from caller
+ } bind def
+
+/ic [ % "case" stmt list of procedures that the image commands should call
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
+ 0
+ {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
+ {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
+ {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
+ {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
+ {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
+ {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
+ {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
+ {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
+ {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
+ ] def
+
+/ms { % make all the strings
+ /sl exch def % remember length of currently existing strings
+ /val 255 def % that's white
+ /ws cfs % make "ws" a string filled with white
+ /im cfs % and "im" is a complete image scanline
+ /val 0 def % that's black
+ /bs cfs % make "bs" a string filled with black
+ /cs cfs % here's where we'll put complete command lines
+ } bind def
+
+400 ms % make strings that will be plenty long for most applications
+
+/ip { % image procedure; reads and executes commands to make scanlines
+ is % leave image string and...
+ 0 % ...image position on stack all through this procedure
+ cf cs readline pop % get a string of commands
+ { ic exch get exec % execute next command
+ add % all commands leave a length on the stack; update pos
+ } forall % step through all commands
+ pop % get rid of image position pointer
+ % image string left on stack, so it's returned to image primitive
+ } bind def
+/rip { % this is similar to ip above, except for 24 bit images
+ % this takes an extra argument, the width of the image
+ % do red
+ bis ris copy pop % copy blue to red
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop % remove is and position from stack
+ ris gis copy pop % copy red to green
+ dup is exch % position of green is width bytes into is
+ % do green
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ gis bis copy pop % copy green to blue
+ dup add is exch % position of blue is 2*width bytes into is
+ % do blue
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+
+/rip4 { % this is similar to ip above, except for 32 bit images
+ % this takes an extra argument, the width of the image
+ % do cyan
+ kis cis copy pop % copy black to cyan
+ is
+ 0
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop % remove is and position from stack
+ cis mis copy pop % copy cyan to magenta
+ dup is exch % position of magenta is width bytes into is
+ % do magenta
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ mis yis copy pop % copy magenta to yellow
+ dup dup add is exch % position of yellow is 2*width bytes into is
+ % do yellow
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop pop
+ yis kis copy pop % copy yellow to black
+ 3 mul is exch % position of black is 3*width bytes into is
+ % do black
+ cf cs readline pop
+ { ic exch get exec
+ add
+ } forall
+ pop
+
+ } bind def
+
+
+/wh { % fill a number of bytes with "white"
+ /len exch def % number of bytes to fill
+ /pos exch def % position to put them at
+ ws 0 len getinterval im pos len getinterval copy pop
+ pos len % remember where we got to
+ } bind def
+
+/bl { % fill a number of bytes with "black"
+ /len exch def % number of bytes to fill
+ /pos exch def % position to put them at
+ bs 0 len getinterval im pos len getinterval copy pop
+ pos len % remember where we got to
+ } bind def
+
+/s1 1 string def
+
+/fl { % fill a number of bytes with a specific hex value
+ /len exch def % number of bytes to fill
+ /pos exch def % position to put them at
+ /val cf s1 readhexstring pop 0 get def
+ pos 1 pos len add 1 sub {im exch val put} for
+ pos len % remember where we got to
+ } bind def
+
+/hx { % read hex bytes directly; on entry, stack has <str> <pos> <len>
+ 3 copy getinterval % stack has <str> <pos> <len> <substr>
+ cf exch readhexstring pop pop % stack back to <str> <pos> <len>
+ } bind def
+
+/wbytes { % width depth -> wb find width in bytes given 1, 2, 8 or 24 or 32
+ dup dup
+ 8 gt { pop 8 idiv mul }
+ { 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
+ } bind def
+/BEGINBITMAPBWc { % iw, ih, width, height, theta, x y
+ 1 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAPGRAYc { % iw, ih, width, height, theta, x y
+ 8 {} COMMONBITMAPc
+ } bind def
+/BEGINBITMAP2BITc { % iw, ih, width, height, theta, x y
+ 2 {} COMMONBITMAPc
+ } bind def
+%
+% Common routine for imaging compressed images
+%
+/COMMONBITMAPc { % iw, ih, width, height, theta, x y depth proc
+ % (x,y) is the lower left corner of the image
+ /cvtProc exch def
+ /depth exch def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def % LW+ has a buggy memory leak!
+ cvtProc % run the desired proc after save has occurred
+ /is im 0 lb getinterval def % image substring
+ ws 0 lb getinterval is copy pop % whiten it
+ /cf currentfile def % evaluate "currentfile" only once
+ width height depth [width 0 0 height neg 0 height] % top to bottom
+ {ip} image % zap!
+ bitmapsave restore % avoid occasional disaster on the LW+
+ grestore
+ } bind def
+/BEGINBITMAPBW { % iw, ih, width, height, theta, x y
+ 1 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAPGRAY { % iw, ih, width, height, theta, x y
+ 8 {} COMMONBITMAP
+ } bind def
+/BEGINBITMAP2BIT { % iw, ih, width, height, theta, x y
+ 2 {} COMMONBITMAP
+ } bind def
+%
+% Common routine for uncompressed images
+%
+/COMMONBITMAP { % iw, ih, width, height, theta, x y depth proc
+ /cvtProc exch def
+ /depth exch def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def % LW+ has a buggy memory leak!
+ cvtProc % run the desired proc after save has occurred
+ /is width depth wbytes string def
+ /cf currentfile def % evaluate "currentfile" only once
+ width height depth [width 0 0 height neg 0 height] % top to bottom
+ {cf is readhexstring pop} image
+ bitmapsave restore % avoid occasional disaster on the LW+
+ grestore
+ } bind def
+
+%
+% All this hairy color setup stuff gus wrote on the mac, I just copied and
+% changed the variable names to be humanly readable.
+
+/ngrayt 256 array def
+/nredt 256 array def
+/nbluet 256 array def
+/ngreent 256 array def
+
+fMLevel1 {
+/colorsetup {
+ currentcolortransfer
+ /gryt exch def
+ /blut exch def
+ /grnt exch def
+ /redt exch def
+ 0 1 255 {
+ /indx exch def
+ /cynu 1 red indx get 255 div sub def
+ /magu 1 green indx get 255 div sub def
+ /yelu 1 blue indx get 255 div sub def
+ /kk cynu magu min yelu min def
+% The HP PaintJet XL300 ignores the gray transfer curve but still sets its
+% default black generation and undercolor removal functions as if it is
+% used. This causes black colors not to work. Bug#56844 <Gus 2/22/93>
+% - We go back to the old (correct?) way of doing this since this code
+% is now bypassed for PS Level 2 printers in favor of colorSetup2 which
+% uses PS Level 2 indexed color, which is much cleaner. <Gus 3/3/93>
+ /u kk currentundercolorremoval exec def
+%- /u 0 def
+ nredt indx 1 0 cynu u sub max sub redt exec put
+ ngreent indx 1 0 magu u sub max sub grnt exec put
+ nbluet indx 1 0 yelu u sub max sub blut exec put
+ ngrayt indx 1 kk currentblackgeneration exec sub gryt exec put
+ } for
+ {255 mul cvi nredt exch get}
+ {255 mul cvi ngreent exch get}
+ {255 mul cvi nbluet exch get}
+ {255 mul cvi ngrayt exch get}
+ setcolortransfer
+ {pop 0} setundercolorremoval
+ {} setblackgeneration
+ } bind def
+}
+{
+% Here, we set up indexed color for imaging on PS Level 2 without mucking around
+% with the transfer functions.
+
+/colorSetup2 {
+ [ /Indexed /DeviceRGB 255
+ {dup red exch get 255 div
+ exch dup green exch get 255 div
+ exch blue exch get 255 div}
+ ] setcolorspace
+} bind def
+} ifelse
+
+%
+% Setup a transfer function to convert psuedo color values into grayscale
+% values based on the color lookup tables.
+%
+/fakecolorsetup {
+ /tran 256 string def
+ 0 1 255 {/indx exch def
+ tran indx
+ red indx get 77 mul
+ green indx get 151 mul
+ blue indx get 28 mul
+ add add 256 idiv put} for
+ currenttransfer
+ {255 mul cvi tran exch get 255.0 div}
+ exch fmConcatProcs settransfer
+} bind def
+%
+% image a color image
+%
+/BITMAPCOLOR { % iw, ih, width, height, theta, x y
+ /depth 8 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def
+ fMLevel1 {
+ colorsetup
+ /is width depth wbytes string def
+ /cf currentfile def % evaluate "currentfile" only once
+ width height depth [width 0 0 height neg 0 height] % top to bottom
+ {cf is readhexstring pop} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is width depth wbytes string def
+ /cf currentfile def % evaluate "currentfile" only once
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width width def
+ /Height height def
+ /ImageMatrix [width 0 0 height neg 0 height] def
+ /DataSource {cf is readhexstring pop} bind def
+ /BitsPerComponent depth def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+%
+% Compressed color image rendering
+%
+/BITMAPCOLORc { % iw, ih, width, height, theta, x y
+ /depth 8 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def
+ fMLevel1 {
+ colorsetup
+ /is im 0 lb getinterval def % image substring
+ ws 0 lb getinterval is copy pop % whiten it
+ /cf currentfile def % evaluate "currentfile" only once
+ width height depth [width 0 0 height neg 0 height] % top to bottom
+ {ip} {is} {is} true 3 colorimage
+ } {
+ colorSetup2
+ /is im 0 lb getinterval def % image substring
+ ws 0 lb getinterval is copy pop % whiten it
+ /cf currentfile def % evaluate "currentfile" only once
+ 7 dict dup begin
+ /ImageType 1 def
+ /Width width def
+ /Height height def
+ /ImageMatrix [width 0 0 height neg 0 height] def
+ /DataSource {ip} bind def
+ /BitsPerComponent depth def
+ /Decode [0 255] def
+ end image
+ } ifelse
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLORc {
+ /depth 24 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def % Whole scanline
+ /ris im 0 width getinterval def % red part of im
+ /gis im width width getinterval def % green part of im
+ /bis im width 2 mul width getinterval def % blue part of im
+
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop ris} {gis} {bis} true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKc {
+ /depth 32 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def % Whole scanline
+ /cis im 0 width getinterval def % cyan part of im
+ /mis im width width getinterval def % magenta part of im
+ /yis im width 2 mul width getinterval def % yellow part of im
+ /kis im width 3 mul width getinterval def % black part of im
+
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip4 pop cis} {mis} {yis} {kis} true 4 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPTRUECOLOR {
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /gis width string def
+ /bis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop }
+ { cf gis readhexstring pop }
+ { cf bis readhexstring pop }
+ true 3 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYK {
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /mis width string def
+ /yis width string def
+ /kis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop }
+ { cf mis readhexstring pop }
+ { cf yis readhexstring pop }
+ { cf kis readhexstring pop }
+ true 4 colorimage
+ bitmapsave restore
+ grestore
+ } bind def
+%
+% image a color image to a b&width device
+%
+/BITMAPTRUEGRAYc {
+ /depth 24 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def % Whole scanline
+ /ris im 0 width getinterval def % red part of im
+ /gis im width width getinterval def % green part of im
+ /bis im width 2 mul width getinterval def % blue part of im
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop ris gis bis width gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKGRAYc {
+ /depth 32 def
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /lb width depth wbytes def % so "lb" has width in bytes
+ sl lb lt {lb ms} if % maybe make bigger strings
+ /bitmapsave save def
+
+ /is im 0 lb getinterval def % Whole scanline
+ /cis im 0 width getinterval def % cyan part of im
+ /mis im width width getinterval def % magenta part of im
+ /yis im width 2 mul width getinterval def % yellow part of im
+ /kis im width 3 mul width getinterval def % black part of im
+ ws 0 lb getinterval is copy pop
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ {width rip pop cis mis yis kis width cgray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/cgray { % c m y k width
+ /ww exch def
+ /k exch def
+ /y exch def
+ /m exch def
+ /c exch def
+ 0 1 ww 1 sub { /i exch def c i get m i get y i get k i get CMYKtoRGB
+ .144 mul 3 1 roll .587 mul 3 1 roll .299 mul add add
+ c i 3 -1 roll floor cvi put } for
+ c
+ } bind def
+/gray { % r g b width
+ /ww exch def
+ /b exch def
+ /g exch def
+ /r exch def
+ 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
+ b i get .114 mul add add r i 3 -1 roll floor cvi put } for
+ r
+ } bind def
+/BITMAPTRUEGRAY {
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /gis width string def
+ /bis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop
+ cf gis readhexstring pop
+ cf bis readhexstring pop width gray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPCMYKGRAY {
+ gsave
+ % rotate about center of image
+ 3 index 2 div add exch % iw ih width height theta y+(height/2) x
+ 4 index 2 div add exch % iw ih width height theta x+(width/2) y+(height/2)
+ translate % iw ih width height theta
+ rotate % iw ih width height
+ 1 index 2 div neg % iw ih width height -(width/2)
+ 1 index 2 div neg % iw ih width height -(width/2) -(height/2)
+ translate % iw ih width height
+ scale % iw ih
+ /height exch def /width exch def
+ /bitmapsave save def
+ /is width string def
+ /yis width string def
+ /mis width string def
+ /kis width string def
+ /cf currentfile def
+ width height 8 [width 0 0 height neg 0 height]
+ { cf is readhexstring pop
+ cf mis readhexstring pop
+ cf yis readhexstring pop
+ cf kis readhexstring pop width cgray} image
+ bitmapsave restore
+ grestore
+ } bind def
+/BITMAPGRAY { % iw, ih, width, height, theta, x y
+ 8 {fakecolorsetup} COMMONBITMAP
+ } bind def
+/BITMAPGRAYc { % iw, ih, width, height, theta, x y
+ 8 {fakecolorsetup} COMMONBITMAPc
+ } bind def
+/ENDBITMAP {
+ } bind def
+end % of FrameDict definitions
+
+% OPI stuff
+ /ALDmatrix matrix def ALDmatrix currentmatrix pop
+/StartALD {
+ /ALDsave save def
+ savematrix
+ ALDmatrix setmatrix
+ } bind def
+/InALD {
+ restorematrix
+ } bind def
+/DoneALD {
+ ALDsave restore
+ } bind def
+
+% Dashed lines stuff
+/I { setdash } bind def
+/J { [] 0 setdash } bind def
+
+%%EndProlog
+%%BeginSetup
+(5.0) FMVERSION
+1 1 0 0 612 792 0 1 11 FMDOCUMENT
+0 0 /Times-Bold FMFONTDEFINE
+1 0 /Times-Roman FMFONTDEFINE
+2 0 /Times-Italic FMFONTDEFINE
+3 1 /Symbol FMFONTDEFINE
+4 0 /Courier FMFONTDEFINE
+32 FMFILLS
+0 0 FMFILL
+1 0.1 FMFILL
+2 0.3 FMFILL
+3 0.5 FMFILL
+4 0.7 FMFILL
+5 0.9 FMFILL
+6 0.97 FMFILL
+7 1 FMFILL
+8 <0f1e3c78f0e1c387> FMFILL
+9 <0f87c3e1f0783c1e> FMFILL
+10 <cccccccccccccccc> FMFILL
+11 <ffff0000ffff0000> FMFILL
+12 <8142241818244281> FMFILL
+13 <03060c183060c081> FMFILL
+14 <8040201008040201> FMFILL
+16 1 FMFILL
+17 0.9 FMFILL
+18 0.7 FMFILL
+19 0.5 FMFILL
+20 0.3 FMFILL
+21 0.1 FMFILL
+22 0.03 FMFILL
+23 0 FMFILL
+24 <f0e1c3870f1e3c78> FMFILL
+25 <f0783c1e0f87c3e1> FMFILL
+26 <3333333333333333> FMFILL
+27 <0000ffff0000ffff> FMFILL
+28 <7ebddbe7e7dbbd7e> FMFILL
+29 <fcf9f3e7cf9f3f7e> FMFILL
+30 <7fbfdfeff7fbfdfe> FMFILL
+%%EndSetup
+%%Page: "i" 1
+%%BeginPaperSize: Letter
+%%EndPaperSize
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+J
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+72 33.32 540 43.32 R
+V
+72 746 540 756 R
+V
+72 33.32 540 43.32 R
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+0 18 Q
+0 X
+(X Print Ser) 247.1 572 T
+(vice) 334.91 572 T
+0 10 Q
+(Pr) 263.12 540.33 T
+(otocol V) 273.49 540.33 T
+(ersion 1.0) 307.77 540.33 T
+(X Consortium Standard) 254.33 514.33 T
+(X V) 252.62 501.33 T
+(ersion 11, Release 6.4) 268.56 501.33 T
+1 F
+(A. Deininger) 279.89 440.33 T
+(T) 291.92 427.33 T
+(. Gilg) 297.3 427.33 T
+( J. Miller) 287.8 414.33 T
+(H. Phinne) 283.58 401.33 T
+(y) 323.42 401.33 T
+(C. Prince) 287.39 388.33 T
+(He) 264.27 362.33 T
+(wlett-P) 275.67 362.33 T
+(ackard Co.) 304.42 362.33 T
+(K. Samborn) 281.83 297.33 T
+(R. Swick) 287.67 284.33 T
+(X Consortium, Inc.) 267.39 258.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "i" 1
+%%Page: "ii" 2
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+72 33.32 540 43.32 R
+V
+72 746 540 756 R
+V
+72 33.32 540 43.32 R
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+1 10 Q
+0 X
+(Copyright \050c\051 1996 Hewlett-Packard Company) 72 569.33 T
+(Copyright \050c\051 1996 International Business Machines, Inc.) 72 557.33 T
+(Copyright \050c\051 1996 Sun Microsystems, Inc.) 72 545.33 T
+(Copyright \050c\051 1996 Novell, Inc.) 72 533.33 T
+(Copyright \050c\051 1996 Digital Equipment Corp.) 72 521.33 T
+(Copyright \050c\051 1996 Fujitsu Limited) 72 509.33 T
+(Copyright \050c\051 1996 Hitachi, Ltd.) 72 497.33 T
+(Copyright \050c\051 1996 X Consortium, Inc.) 72 485.33 T
+(Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated) 72 461.33 T
+(documentation files \050the "Software"\051, to deal in the Software without restriction, including without limitation the) 72 449.33 T
+(rights to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the Software, and to permit) 72 437.33 T
+(persons to whom the Software is furnished to do so, subject to the following conditions:) 72 425.33 T
+(The above copyright notice and this permission notice shall be included in all copies or substantial portions of the) 72 401.33 T
+(Software.) 72 389.33 T
+(THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,) 72 365.33 T
+(INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A) 72 353.33 T
+(PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE) 72 341.33 T
+(LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF) 72 329.33 T
+(CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE) 72 317.33 T
+(SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.) 72 305.33 T
+(Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to) 72 281.33 T
+(promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.) 72 269.33 T
+2 F
+(X Window System) 72 245.33 T
+1 F
+( is a trademark of X Consortium, Inc.) 143.66 245.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "ii" 2
+%%Page: "1" 3
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 33.32 540 43.32 R
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 18 Q
+0 X
+(T) 238.33 708 T
+(able of Contents) 248.68 708 T
+1 10 Q
+(1) 72 598.33 T
+(Ov) 90 598.33 T
+(ervie) 102.07 598.33 T
+(w) 121.81 598.33 T
+(...................................................................................................................................................) 130 598.33 T
+(1) 499 598.33 T
+(2) 72 581.33 T
+(Protocols) 90 581.33 T
+(...................................................................................................................................................) 130 581.33 T
+(2) 499 581.33 T
+0 0 0 1 0 0 0 K
+(2.1) 108 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Formats, Syntactic Conventions, and Common Types) 126 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(.............................................................) 345 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2) 499 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2.2) 108 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Errors) 126 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(.........................................................................................................................................) 155 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2) 499 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2.3) 108 545.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( X Print Service Requests) 126 545.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(...........................................................................................................) 230 545.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2) 499 545.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(2.4) 108 533.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Events) 126 533.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(......................................................................................................................................) 157.5 533.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(11) 494 533.33 T
+0 0 0 1 0 0 0 K
+(3) 72 516.33 T
+(X Print Attrib) 90 516.33 T
+(utes) 145.36 516.33 T
+(....................................................................................................................................) 162.5 516.33 T
+(13) 494 516.33 T
+0 0 0 1 0 0 0 K
+(3.1) 108 504.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Attribute Value Defaults And Validation) 126 504.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(................................................................................) 292.5 504.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(13) 494 504.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3.2) 108 492.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Server Attributes) 126 492.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(......................................................................................................................) 197.5 492.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(14) 494 492.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3.3) 108 480.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Printer Attributes) 126 480.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(.....................................................................................................................) 200 480.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(14) 494 480.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3.4) 108 468.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Job Attributes) 126 468.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(...........................................................................................................................) 185 468.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(17) 494 468.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3.5) 108 456.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Document Attributes) 126 456.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(...............................................................................................................) 215 456.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(17) 494 456.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(3.6) 108 444.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Page Attributes) 126 444.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(........................................................................................................................) 192.5 444.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(18) 494 444.33 T
+0 0 0 1 0 0 0 K
+(4) 72 427.33 T
+(Communication with the Print Dialog Manager) 90 427.33 T
+(.....................................................................................) 280 427.33 T
+(20) 494 427.33 T
+(5) 72 410.33 T
+(Protocol Encoding) 90 410.33 T
+(...................................................................................................................................) 165 410.33 T
+(22) 494 410.33 T
+0 0 0 1 0 0 0 K
+(5.1) 108 398.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Request Protocol Encoding) 126 398.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(.....................................................................................................) 240 398.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(22) 494 398.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5.2) 108 386.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Event Protocol Encoding) 126 386.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(.........................................................................................................) 230 386.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(31) 494 386.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(5.3) 108 374.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+( Error Protocol Encoding) 126 374.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(..........................................................................................................) 227.5 374.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(32) 494 374.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "1" 3
+%%Page: "2" 4
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 33.32 540 43.32 R
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "2" 4
+%%Page: "1" 5
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Ov) 72 746.67 T
+(er) 89.75 746.67 T
+(view) 102.04 746.67 T
+(1) 533 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 18 Q
+(1) 72 699 T
+(Ov) 108 699 T
+(er) 130.82 699 T
+(view) 146.63 699 T
+1 10 Q
+(X Print Service is an X e) 108 666.33 T
+(xtension that allo) 207.28 666.33 T
+(ws X imaging to non-display de) 275.92 666.33 T
+(vices such as printers and f) 403.72 666.33 T
+(ax) 511.65 666.33 T
+(machines. The core of the X Print Service is the X Print Serv) 108 654.33 T
+(er) 351.98 654.33 T
+(.) 359.2 654.33 T
+(Applications that require printing operations can mak) 108 630.33 T
+(e a connection to X Print Serv) 321.76 630.33 T
+(er and list the a) 442.15 630.33 T
+(v) 503.05 630.33 T
+(ailable) 507.8 630.33 T
+(printers using the) 108 618.33 T
+0 F
+(PrintGetPrinterList) 179.94 618.33 T
+1 F
+( request. After selecting a printer) 265.48 618.33 T
+(, an application must create and set) 396.71 618.33 T
+(a print conte) 108 606.33 T
+(xt using the) 157.84 606.33 T
+0 F
+(PrintCr) 207.01 606.33 T
+(eateContext) 240.71 606.33 T
+1 F
+( and) 291.8 606.33 T
+0 F
+(PrintSetContext) 311.24 606.33 T
+1 F
+( requests.) 380.67 606.33 T
+(The \322print conte) 108 582.33 T
+(xt\323 is a fundamental X Print Service concept. A print conte) 173.39 582.33 T
+(xt:) 409.59 582.33 T
+(\245) 108 564.33 T
+(Contains a printer\325) 126 564.33 T
+(s def) 200.44 564.33 T
+(ault capabilities) 219.5 564.33 T
+(\245) 108 552.33 T
+(Contains a printer\325) 126 552.33 T
+(s range of capabilities) 200.44 552.33 T
+(\245) 108 540.33 T
+(Maintains the state of the settings on a printer) 126 540.33 T
+(\245) 108 528.33 T
+(Maintains the state of rendering ag) 126 528.33 T
+(ainst a printer) 265.09 528.33 T
+(\245) 108 516.33 T
+(Maintains rendered output) 126 516.33 T
+-0.2 (A print conte) 108 492.33 P
+-0.2 (xt also af) 160.23 492.33 P
+-0.2 (fects ho) 196.24 492.33 P
+-0.2 (w the DDX dri) 227.17 492.33 P
+-0.2 (v) 286.04 492.33 P
+-0.2 (er generates its page description language \050PDL\051, and ho) 290.89 492.33 P
+-0.2 (w the) 515.95 492.33 P
+-0.22 (PDL is submitted to a spooler) 108 480.33 P
+-0.22 (. It may af) 225.54 480.33 P
+-0.22 (fect fonts and other elements in the DDX layer of the X Print Serv) 265.73 480.33 P
+-0.22 (er) 528 480.33 P
+-0.22 (.) 535.22 480.33 P
+(Printer capabilities are de\336ned by attrib) 108 456.33 T
+(ute pools within the print conte) 265.83 456.33 T
+(xt. The) 390.4 456.33 T
+(y contain information related) 418.58 456.33 T
+-0.11 (to a conte) 108 444.33 P
+-0.11 (xt\325) 146.51 444.33 P
+-0.11 (s serv) 157.07 444.33 P
+-0.11 (er) 179.86 444.33 P
+-0.11 (, printer) 187.23 444.33 P
+-0.11 (, job, document, and page options.) 218.38 444.33 P
+0 F
+-0.11 (PrintGetAttrib) 357.71 444.33 P
+-0.11 (utes) 421.94 444.33 P
+1 F
+-0.11 ( and) 439.16 444.33 P
+0 F
+-0.11 (PrintSetAttrib) 458.38 444.33 P
+-0.11 (utes) 520.39 444.33 P
+1 F
+(are used to access and modify attrib) 108 432.33 T
+(ute pools.) 251.1 432.33 T
+0 F
+(PrintStartJ) 108 408.33 T
+(ob) 156.73 408.33 T
+1 F
+( and) 167.29 408.33 T
+0 F
+(PrintEndJ) 186.73 408.33 T
+(ob) 231.59 408.33 T
+1 F
+( are used to delineate print jobs. A \322job\323 is a collection of documents) 242.15 408.33 T
+(delineated by) 108 396.33 T
+0 F
+(PrintStartDoc) 164.1 396.33 T
+1 F
+( and) 224.64 396.33 T
+0 F
+(PrintEndDoc) 244.08 396.33 T
+1 F
+(. Each document is, in turn, a collection of \322pages\323. Upon) 300.75 396.33 T
+(completion the serv) 108 384.33 T
+(er sends an) 186.73 384.33 T
+(y resulting PDL to a print spooler) 231.01 384.33 T
+(, or mak) 365.05 384.33 T
+(es it a) 398 384.33 T
+(v) 421.13 384.33 T
+(ailable for retrie) 425.88 384.33 T
+(v) 490.05 384.33 T
+(al by an) 494.8 384.33 T
+(application.) 108 372.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "1" 5
+%%Page: "2" 6
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(2) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(2) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 18 Q
+0 X
+(2) 72 699 T
+(Pr) 108 699 T
+(otocols) 126.67 699 T
+0 14 Q
+(2.1) 72 661.67 T
+(F) 108 661.67 T
+(ormats, Syntactic Con) 116.2 661.67 T
+(v) 248.24 661.67 T
+(entions, and Common T) 255.1 661.67 T
+(ypes) 397.97 661.67 T
+1 10 Q
+(The type PCONTEXT is a 32-bit v) 108 637.33 T
+(alue. Its top three bits are guaranteed to be zero.) 247.74 637.33 T
+(Refer to the) 108 613.33 T
+2 F
+(X W) 157.71 613.33 T
+(indow System) 174.1 613.33 T
+1 F
+( Protocol speci\336cation for a description of other formats, syntactic con) 228.82 613.33 T
+(v) 510.32 613.33 T
+(en-) 515.17 613.33 T
+(tions and common types established in that publication and used in the current document as well.) 108 601.33 T
+0 14 Q
+(2.2) 72 565.67 T
+(Err) 108 565.67 T
+(ors) 129.52 565.67 T
+1 10 Q
+(X Print Service can return the follo) 108 541.33 T
+(wing messages, in addition to X core request errors.) 248.28 541.33 T
+0 F
+(XPBadContext) 108 517.33 T
+1 F
+(An incorrect print conte) 198 517.33 T
+(xt ID w) 293.66 517.33 T
+(as speci\336ed.) 324.11 517.33 T
+0 F
+(XPBadSequence) 108 493.33 T
+1 F
+(Requests were not speci\336ed in the proper order with respect to other) 198 493.33 T
+(requests. F) 198 481.33 T
+(or e) 241.18 481.33 T
+(xample, a request w) 256.3 481.33 T
+(as speci\336ed before a) 336.18 481.33 T
+0 F
+(PrintSetContext) 420.04 481.33 T
+1 F
+(request.) 198 469.33 T
+-0.24 (Other errors that are conte) 108 445.33 P
+-0.24 (xt speci\336c for a particular request are documented in the description of the request) 211.83 445.33 P
+-0.24 (itself. If the abo) 108 433.33 P
+-0.24 (v) 170.45 433.33 P
+-0.24 (e errors ha) 175.3 433.33 P
+-0.24 (v) 216.82 433.33 P
+-0.24 (e a speci\336c meaning for a particular request, the) 221.66 433.33 P
+-0.24 (y are documented in the request) 411.48 433.33 P
+(itself as well.) 108 421.33 T
+0 14 Q
+(2.3) 72 385.67 T
+(X Print Ser) 108 385.67 T
+(vice Requests) 176.29 385.67 T
+0 12 Q
+(PrintCr) 108 330 T
+(eateContext) 148.44 330 T
+1 10 Q
+(conte) 108 310.33 T
+(xt-id: PCONTEXT) 129.51 310.33 T
+(printer) 108 298.33 T
+(-name: STRING8) 134.46 298.33 T
+(locale: STRING8) 108 286.33 T
+(Errors:) 108 262.33 T
+0 F
+(Match, IDChoice) 138.27 262.33 T
+1 F
+(This request creates a ne) 108 238.33 T
+(w print conte) 206.05 238.33 T
+(xt and assigns conte) 258.67 238.33 T
+(xt-id to it. The attrib) 338.79 238.33 T
+(utes associated with the ne) 419.98 238.33 T
+(w) 526.38 238.33 T
+(conte) 108 226.33 T
+(xt are those determined by the printer) 129.51 226.33 T
+(-name. Printer) 279.28 226.33 T
+(-name is encoded in COMPOUND_TEXT) 336.29 226.33 T
+(.) 506.08 226.33 T
+-0.28 (The client must select the conte) 108 202.33 P
+-0.28 (xt-id by ORing some combination of bits in the connection resource-id-mask) 232.82 202.33 P
+(with the resource-id-base.) 108 190.33 T
+(The locale ar) 108 166.33 T
+(gument is used as a \322hint\323 to the print serv) 160.02 166.33 T
+(er) 330.13 166.33 T
+(, and is used to initialize attrib) 337.5 166.33 T
+(ute pools with an) 458.13 166.33 T
+(y) 526.59 166.33 T
+(localized attrib) 108 154.33 T
+(ute v) 167.51 154.33 T
+(alues.) 186.98 154.33 T
+(A) 108 130.33 T
+0 F
+(Match) 117.72 130.33 T
+1 F
+( error is generated when the printer) 145.49 130.33 T
+(-name does not e) 285.8 130.33 T
+(xist.) 353.69 130.33 T
+72 322 90 340.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 340.8 72 322.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 340.8 90 340.8 2 L
+0.5 H
+N
+72 340.8 72 322.8 2 L
+N
+72 340.8 90 340.8 2 L
+N
+0 0 612 792 C
+72 260 90 278 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 278 72 260 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 260 90 260 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "2" 6
+%%Page: "3" 7
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocols) 86.52 746.67 T
+(3) 533 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(PrintSetContext) 108 703 T
+1 10 Q
+(conte) 108 683.33 T
+(xt: PCONTEXT or) 129.51 683.33 T
+0 F
+(None) 208.12 683.33 T
+1 F
+(Errors:) 108 659.33 T
+0 F
+( XPBadContext) 135.77 659.33 T
+1 F
+-0.03 (This request associates the conte) 108 635.33 P
+-0.03 (xt speci\336ed with all subsequent print operations for this client. If conte) 238.28 635.33 P
+-0.03 (xt is) 520.6 635.33 P
+0 F
+-0.1 (None) 108 623.33 P
+1 F
+-0.1 (, the print conte) 130.22 623.33 P
+-0.1 (xt pre) 192.54 623.33 P
+-0.1 (viously associated with this client is unset. If no print conte) 215.24 623.33 P
+-0.1 (xt w) 451.59 623.33 P
+-0.1 (as pre) 468.89 623.33 P
+-0.1 (viously set,) 492.14 623.33 P
+(then no action is tak) 108 611.33 T
+(en when) 188.45 611.33 T
+0 F
+(None) 224.55 611.33 T
+1 F
+(is speci\336ed.) 249.27 611.33 T
+(The e) 108 587.33 T
+(x) 130.34 587.33 T
+(ecution of the) 135.19 587.33 T
+0 F
+(PrintSetContext) 192.68 587.33 T
+1 F
+( request may af) 262.11 587.33 T
+(fect the interpretation of the font path. The font path) 323.23 587.33 T
+-0.1 (contains font path elements for all printers associated with a print serv) 108 575.33 P
+-0.1 (er) 387.56 575.33 P
+-0.1 (. Only those associated with the cur-) 394.78 575.33 P
+(rent print conte) 108 563.33 T
+(xt are returned and used for print rendering.) 168.95 563.33 T
+0 12 Q
+(PrintGetContext) 108 508 T
+3 10 Q
+(\256) 100.8 488.33 T
+1 F
+(conte) 108 472.33 T
+(xt: PCONTEXT or None) 129.51 472.33 T
+(This request returns the current print conte) 108 448.33 T
+(xt for the connection.) 278.37 448.33 T
+0 12 Q
+(PrintDestr) 108 393 T
+(oyContext) 162.43 393 T
+1 10 Q
+(conte) 108 373.33 T
+(xt: PCONTEXT) 129.51 373.33 T
+(Errors:) 108 349.33 T
+0 F
+(XPBadContext) 138.27 349.33 T
+1 F
+-0.21 (This request unsets and destro) 108 325.33 P
+-0.21 (ys a print conte) 227.61 325.33 P
+-0.21 (xt. If a print conte) 288.21 325.33 P
+-0.21 (xt is destro) 359.16 325.33 P
+-0.21 (yed before print operations associ-) 402.53 325.33 P
+-0.09 (ated with it ha) 108 313.33 P
+-0.09 (v) 164.47 313.33 P
+-0.09 (e been completed, the print serv) 169.32 313.33 P
+-0.09 (er cancels all those operations as if a) 296.47 313.33 P
+0 F
+-0.09 (CancelJ) 444.6 313.33 P
+-0.09 (ob) 478.89 313.33 P
+1 F
+-0.09 ( request had) 489.45 313.33 P
+(been issued.) 108 301.33 T
+0 12 Q
+(PrintGetPrinterList) 108 246 T
+1 10 Q
+(printer) 108 226.33 T
+(-name: STRING8) 134.46 226.33 T
+(locale: STRING8) 108 214.33 T
+3 F
+(\256) 100.8 198.33 T
+1 F
+(printers: LIST) 108 182.33 T
+(ofPRINTER) 164.14 182.33 T
+(where:) 108 168.33 T
+(PRINTER:) 126 156.33 T
+(name: STRING8) 180 156.33 T
+(description: STRING8) 180 144.33 T
+(This request retrie) 108 108.33 T
+(v) 180.51 108.33 T
+(es a list of all printers supported on a print serv) 185.36 108.33 T
+(er) 373.52 108.33 T
+(.) 380.74 108.33 T
+72 692.2 90 711 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 711 72 693 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 711 90 711 2 L
+0.5 H
+N
+72 711 72 693 2 L
+N
+72 711 90 711 2 L
+N
+0 0 612 792 C
+72 657 90 675 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 675 72 657 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 657 90 657 2 L
+N
+0 0 612 792 C
+72 500 90 518.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 518.8 72 500.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 518.8 90 518.8 2 L
+0.5 H
+N
+72 518.8 72 500.8 2 L
+N
+72 518.8 90 518.8 2 L
+N
+0 0 612 792 C
+72 470 90 488 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 488 72 470 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 470 90 470 2 L
+N
+0 0 612 792 C
+72 385 90 403.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 403.8 72 385.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 403.8 90 403.8 2 L
+0.5 H
+N
+72 403.8 72 385.8 2 L
+N
+72 403.8 90 403.8 2 L
+N
+0 0 612 792 C
+72 347 90 365 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 365 72 347 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 347 90 347 2 L
+N
+0 0 612 792 C
+72 238 90 256.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 256.8 72 238.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 256.8 90 256.8 2 L
+0.5 H
+N
+72 256.8 72 238.8 2 L
+N
+72 256.8 90 256.8 2 L
+N
+0 0 612 792 C
+72 130 90 148 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 148 72 130 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 130 90 130 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "3" 7
+%%Page: "4" 8
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(4) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(4) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+(If printer) 108 704.33 T
+(-name is an empty string, then a list of all printers is returned. Otherwise the print record that) 143.62 704.33 T
+(matches the printer) 108 692.33 T
+(-name speci\336ed is returned. If no records match printer) 184.45 692.33 T
+(-name, then an empty list is) 404.47 692.33 T
+(returned.) 108 680.33 T
+(printer) 108 656.33 T
+(-name is a COMPOUND_TEXT string. The name and description \336elds returned are) 134.46 656.33 T
+(COMPOUND_TEXT) 108 644.33 T
+(. If printer) 195.03 644.33 T
+(-name is pro) 235.65 644.33 T
+(vided in a code-set that the print serv) 285.49 644.33 T
+(er cannot con) 433.37 644.33 T
+(v) 486.84 644.33 T
+(ert, then it) 491.69 644.33 T
+(may not be possible to locate the requested printer) 108 632.33 T
+(.) 308.53 632.33 T
+(The locale ar) 108 608.33 T
+(gument is used as a \322hint\323 to locate a localized description for each printer in the list. If the) 160.02 608.33 T
+(print serv) 108 596.33 T
+(er cannot interpret the hint, then it describes the printers in the serv) 145.9 596.33 T
+(er\325) 413.76 596.33 T
+(s current locale.) 424.31 596.33 T
+0 12 Q
+(PrintGetScr) 108 541 T
+(eenOfContext) 170.44 541 T
+3 10 Q
+(\256) 100.8 521.33 T
+1 F
+(root: WINDO) 108 505.33 T
+(W) 163.47 505.33 T
+(Errors:) 108 481.33 T
+0 F
+(XPBadContext) 138.27 481.33 T
+1 F
+(This request returns the root windo) 108 457.33 T
+(w associated with the current print conte) 248.01 457.33 T
+(xt.) 410.05 457.33 T
+-0.02 (Each printer supported by a print serv) 108 433.33 P
+-0.02 (er is associated with e) 258.81 433.33 P
+-0.02 (xactly one of the screens returned in the connec-) 346.33 433.33 P
+(tion setup reply) 108 421.33 T
+(.) 169.57 421.33 T
+0 12 Q
+(PrintStartJ) 108 366 T
+(ob) 166.48 366 T
+1 10 Q
+(output-mode: {) 108 346.33 T
+0 F
+(XPSpool, XPGetData) 169.19 346.33 T
+1 F
+(}) 260.85 346.33 T
+(Errors:) 108 322.33 T
+0 F
+(XPBadSequence, V) 138.27 322.33 T
+(alue) 220.13 322.33 T
+1 F
+-0.17 (This request signals the be) 108 298.33 P
+-0.17 (ginning of a ne) 213.29 298.33 P
+-0.17 (w print job) 272.82 298.33 P
+-0.17 (. It results in the generation of an) 315.98 298.33 P
+0 F
+-0.17 (XPPrintNotify) 449.36 298.33 P
+1 F
+-0.17 ( e) 511.57 298.33 P
+-0.17 (v) 518.09 298.33 P
+-0.17 (ent,) 522.95 298.33 P
+(with the detail \336eld set to) 108 286.33 T
+0 F
+(XPStartJ) 211.89 286.33 T
+(obNotify) 251.73 286.33 T
+1 F
+(.) 288.3 286.33 T
+(If output-mode is set to) 108 262.33 T
+0 F
+(XPSpool) 203.83 262.33 T
+1 F
+(, then the document data is typically sent to a spooler) 241.06 262.33 T
+(.) 452.99 262.33 T
+-0.02 (If output-mode is set to) 108 238.33 P
+0 F
+-0.02 (XPGetData) 203.74 238.33 P
+1 F
+-0.02 (, then the document data is made a) 253.17 238.33 P
+-0.02 (v) 391.16 238.33 P
+-0.02 (ailable to) 395.91 238.33 P
+0 F
+-0.02 (PrintGetDocumentData) 435.32 238.33 P
+1 F
+-0.22 (and the resulting job is not spooled. In this case, the print serv) 108 226.33 P
+-0.22 (er suspends processing further requests on this) 352.96 226.33 P
+(print conte) 108 214.33 T
+(xt until some other client sends) 150.9 214.33 T
+0 F
+(PrintGetDocumentData.) 278.12 214.33 T
+1 F
+(Subsequent operations that use the) 385.32 214.33 T
+(print conte) 108 202.33 T
+(xt may be suspended at an) 150.9 202.33 T
+(y time pending the processing of) 256.01 202.33 T
+0 F
+(PrintGetDocumentData) 389.33 202.33 T
+1 F
+( replies to) 491.53 202.33 T
+(read an) 108 190.33 T
+(y b) 137 190.33 T
+(uf) 149.3 190.33 T
+(fered output.) 157.38 190.33 T
+-0.29 (An) 108 166.33 P
+-0.29 (y changes to the) 120.07 166.33 P
+0 F
+-0.29 (XPJ) 186.13 166.33 P
+-0.29 (obAttr) 204.31 166.33 P
+1 F
+-0.29 ( pool must be made before) 233.19 166.33 P
+0 F
+-0.29 (PrintStartJ) 340.34 166.33 P
+-0.29 (ob) 389.07 166.33 P
+-0.29 (.) 399.23 166.33 P
+1 F
+-0.29 (Further modi\336cations can only be) 403.94 166.33 P
+(made to the attrib) 108 154.33 T
+(ute pool after a) 178.07 154.33 T
+0 F
+(PrintEndJ) 240.83 154.33 T
+(ob) 285.69 154.33 T
+1 F
+( request is e) 296.25 154.33 T
+(x) 343.59 154.33 T
+(ecuted.) 348.44 154.33 T
+0 12 Q
+(PrintEndJ) 108 99 T
+(ob) 161.83 99 T
+1 10 Q
+(cancel: BOOL) 108 79.33 T
+72 533 90 551.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 551.8 72 533.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 551.8 90 551.8 2 L
+0.5 H
+N
+72 551.8 72 533.8 2 L
+N
+72 551.8 90 551.8 2 L
+N
+0 0 612 792 C
+72 479 90 497 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 497 72 479 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 479 90 479 2 L
+N
+0 0 612 792 C
+72 358 90 376.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 376.8 72 358.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 376.8 90 376.8 2 L
+0.5 H
+N
+72 376.8 72 358.8 2 L
+N
+72 376.8 90 376.8 2 L
+N
+0 0 612 792 C
+72 320 90 338 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 338 72 320 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 320 90 320 2 L
+N
+0 0 612 792 C
+72 91 90 109.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 109.8 72 91.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 109.8 90 109.8 2 L
+0.5 H
+N
+72 109.8 72 91.8 2 L
+N
+72 109.8 90 109.8 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "4" 8
+%%Page: "5" 9
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocols) 86.52 746.67 T
+(5) 533 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(Errors:) 108 704.33 T
+0 F
+(XPBadContext, XPBadSequence) 138.27 704.33 T
+1 F
+(This request causes the print job associated with the current print conte) 108 680.33 T
+(xt to end. If cancel is) 391.97 680.33 T
+0 F
+(F) 478.34 680.33 T
+(ALSE) 483.55 680.33 T
+1 F
+(, an) 509.67 680.33 T
+(y) 523.96 680.33 T
+(accumulated print data that remains is either sent to the printer or made a) 108 668.33 T
+(v) 399.69 668.33 T
+(ailable to) 404.44 668.33 T
+0 F
+(PrintGetDocument-) 443.88 668.33 T
+(Data) 108 656.33 T
+1 F
+(.) 128.55 656.33 T
+(The request generates an) 108 632.33 T
+0 F
+(XPPrintNotify) 209.63 632.33 T
+1 F
+( e) 271.84 632.33 T
+(v) 278.53 632.33 T
+(ent with its detail \336eld set to) 283.38 632.33 T
+0 F
+(XPEndJ) 399.22 632.33 T
+(obNotify) 435.19 632.33 T
+1 F
+(.) 471.76 632.33 T
+(When cancel is) 108 608.33 T
+0 F
+(TR) 171.59 608.33 T
+(UE) 185.18 608.33 T
+1 F
+(, the job currently being processed is canceled. The serv) 199.07 608.33 T
+(er may discard an) 423.03 608.33 T
+(y pending) 493.69 608.33 T
+-0.14 (output or may produce partial output. If the job w) 108 596.33 P
+-0.14 (as started in) 305 596.33 P
+0 F
+-0.14 (XPGetData) 354.86 596.33 P
+1 F
+-0.14 ( mode, then the entire data output) 404.29 596.33 P
+(stream is implementation-de\336ned.) 108 584.33 T
+(If) 108 560.33 T
+0 F
+(PrintEndJ) 117.16 560.33 T
+(ob) 162.02 560.33 T
+1 F
+( is called immediately after) 172.58 560.33 T
+0 F
+(PrintEndP) 283.95 560.33 T
+(age) 329.97 560.33 T
+1 F
+(, then a synthetic) 344.41 560.33 T
+0 F
+(PrintEndDoc) 414.68 560.33 T
+1 F
+( is generated by) 471.35 560.33 T
+(print serv) 108 548.33 T
+(er before) 145.9 548.33 T
+0 F
+(PrintEndJ) 184.21 548.33 T
+(ob) 229.07 548.33 T
+1 F
+(. The pool of) 239.23 548.33 T
+0 F
+(XPJ) 293.39 548.33 T
+(obAttr) 311.57 548.33 T
+1 F
+( attrib) 340.45 548.33 T
+(utes that w) 363.86 548.33 T
+(as frozen when the) 407.09 548.33 T
+0 F
+(PrintStart-) 484.84 548.33 T
+(J) 108 536.33 T
+(ob) 112.85 536.33 T
+1 F
+( request w) 123.41 536.33 T
+(as e) 164.41 536.33 T
+(x) 179.53 536.33 T
+(ecuted is released when) 184.38 536.33 T
+0 F
+(PrintEndJ) 281.57 536.33 T
+(ob) 326.43 536.33 T
+1 F
+( is called.) 336.99 536.33 T
+0 12 Q
+(PrintGetDocumentData) 108 481 T
+1 10 Q
+(conte) 108 461.33 T
+(xt: PCONTEXT) 129.51 461.33 T
+(max-bytes: CARD32) 108 449.33 T
+3 F
+(\256) 100.8 433.33 T
+3 9 Q
+(+) 110.67 433.33 T
+1 10 Q
+(status-code: {) 108 417.33 T
+0 F
+(XPGetDocFinished, XPGetDocSecondConsumer) 163.07 417.33 T
+(, XPGetDocErr) 369.91 417.33 T
+(or) 435.82 417.33 T
+1 F
+(}) 445.26 417.33 T
+(\336nished-\337ag: CARD32) 108 405.33 T
+(data: LIST) 108 393.33 T
+(ofBYTE) 150.25 393.33 T
+(Errors:) 108 369.33 T
+0 F
+(XPBadContext, XPBadSequence, V) 138.27 369.33 T
+(alue) 289.57 369.33 T
+1 F
+(This request returns data generated on a conte) 108 345.33 T
+(xt by other clients.) 291.41 345.33 T
+0 F
+(PrintGetDocumentData) 108 321.33 T
+1 F
+( should be sent only after a) 210.2 321.33 T
+0 F
+(PrintStartJ) 320.46 321.33 T
+(ob) 369.19 321.33 T
+1 F
+( request with sa) 379.75 321.33 T
+(v) 442.04 321.33 T
+(e_data set to) 446.89 321.33 T
+0 F
+(XPGet-) 499.38 321.33 T
+(Data) 108 309.33 T
+1 F
+( has been e) 128.55 309.33 T
+(x) 172.55 309.33 T
+(ecuted.) 177.4 309.33 T
+0 F
+-0.04 (PrintGetDocumentData) 108 285.33 P
+1 F
+-0.04 ( generates multiple replies. Each reply is no lar) 210.2 285.33 P
+-0.04 (ger than the v) 397.73 285.33 P
+-0.04 (alue speci\336ed in max-) 452.08 285.33 P
+(bytes. The \336nal reply is generated by) 108 273.33 T
+0 F
+(PrintEndJ) 258.53 273.33 T
+(ob) 303.39 273.33 T
+1 F
+( and has \336nished-\337ag set to) 313.95 273.33 T
+0 F
+(TR) 425.61 273.33 T
+(UE) 439.2 273.33 T
+1 F
+(.) 453.09 273.33 T
+(If the v) 108 249.33 T
+(alue for max-bytes is zero, a) 136.63 249.33 T
+0 F
+(V) 252.43 249.33 T
+(alue) 258.73 249.33 T
+1 F
+( error is generated.) 276.51 249.33 T
+(An) 108 225.33 T
+0 F
+(XPBadSequence) 122.72 225.33 T
+1 F
+( error is generated if) 193.28 225.33 T
+0 F
+(PrintGetDocumentData) 276.86 225.33 T
+1 F
+( is e) 379.06 225.33 T
+(x) 395.02 225.33 T
+(ecuted before) 399.87 225.33 T
+0 F
+(PrintStartJ) 456.51 225.33 T
+(ob) 505.24 225.33 T
+1 F
+( or if) 515.8 225.33 T
+0 F
+(PrintGetDocumentData) 108 213.33 T
+1 F
+( is e) 210.2 213.33 T
+(x) 226.16 213.33 T
+(ecuted after) 231.01 213.33 T
+0 F
+(PrintStartJ) 280.43 213.33 T
+(ob) 329.16 213.33 T
+1 F
+( with sa) 339.72 213.33 T
+(v) 370.63 213.33 T
+(e_data set to) 375.48 213.33 T
+0 F
+(XPSpool) 427.97 213.33 T
+1 F
+(.) 465.2 213.33 T
+0 12 Q
+(PrintPutDocumentData) 108 158 T
+1 10 Q
+(dra) 108 138.33 T
+(w) 120.62 138.33 T
+(able: DRA) 127.74 138.33 T
+(W) 169.89 138.33 T
+(ABLE) 178.13 138.33 T
+(data: LIST) 108 126.33 T
+(ofBYTE) 150.25 126.33 T
+(doc-format, options: STRING8) 108 114.33 T
+(Errors:) 108 90.33 T
+0 F
+(XPBadContext, XPBadSequence, Match, V) 138.27 90.33 T
+(alue, Drawable) 322.34 90.33 T
+72 693 90 711 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 711 72 693 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 693 90 693 2 L
+N
+0 0 612 792 C
+72 473 90 491.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 491.8 72 473.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 491.8 90 491.8 2 L
+0.5 H
+N
+72 491.8 72 473.8 2 L
+N
+72 491.8 90 491.8 2 L
+N
+0 0 612 792 C
+72 367 90 385 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 385 72 367 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 367 90 367 2 L
+N
+0 0 612 792 C
+72 150 90 168.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 168.8 72 150.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 168.8 90 168.8 2 L
+0.5 H
+N
+72 168.8 72 150.8 2 L
+N
+72 168.8 90 168.8 2 L
+N
+0 0 612 792 C
+72 150 90 168.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 168.8 72 150.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 168.8 90 168.8 2 L
+0.5 H
+N
+72 168.8 72 150.8 2 L
+N
+72 168.8 90 168.8 2 L
+N
+0 0 612 792 C
+72 88 90 106 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 106 72 88 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 88 90 88 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "5" 9
+%%Page: "6" 10
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(6) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(6) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+(This request allo) 108 704.33 T
+(ws an application to send and incorporate data into the print output. It functions in tw) 174.41 704.33 T
+(o) 515.39 704.33 T
+(modes, depending on whether the) 108 692.33 T
+0 F
+(PrintStartDoc) 245.2 692.33 T
+1 F
+( dri) 305.74 692.33 T
+(v) 319.1 692.33 T
+(er) 323.95 692.33 T
+(-mode is set to) 331.52 692.33 T
+0 F
+(XPDocNormal) 392.63 692.33 T
+1 F
+( or) 455.39 692.33 T
+0 F
+(XPDocRaw) 468.72 692.33 T
+1 F
+(:) 518.15 692.33 T
+0 F
+(XPDocNormal) 108 668.33 T
+(PrintPutDocumentData) 198 668.33 T
+1 F
+( sends data to the print serv) 299.65 668.33 T
+(er and inte) 408.93 668.33 T
+(grates data) 450.99 668.33 T
+-0.21 (into the output. The root of the dra) 198 656.33 P
+-0.21 (w) 334.67 656.33 P
+-0.21 (able must be the root of the current print) 341.79 656.33 P
+-0.06 (conte) 198 644.33 P
+-0.06 (xt. The doc-format and options parameters describe the format of data,) 219.51 644.33 P
+(which in turn guides the w) 198 632.33 T
+(ay the serv) 304.28 632.33 T
+(er interprets it. The) 347.45 632.33 T
+0 F
+(xp-embedded-f) 426.6 632.33 T
+(or-) 490.79 632.33 T
+(mats-supported) 198 620.33 T
+1 F
+( attrib) 265.22 620.33 T
+(ute in the) 288.63 620.33 T
+0 F
+(XPPrinterAttr) 328.35 620.33 T
+1 F
+( pool de\336nes v) 391.1 620.33 T
+(alid v) 449.46 620.33 T
+(alues) 471.71 620.33 T
+(for doc-format in this mode, else a) 198 608.33 T
+0 F
+(Match) 338.53 608.33 T
+1 F
+( error is issued.) 366.3 608.33 T
+0 F
+(XPDocRaw) 108 584.33 T
+(PrintPutDocumentData) 198 584.33 T
+1 F
+( sends data directly to the print serv) 299.65 584.33 T
+(er output. The) 441.98 584.33 T
+(print serv) 198 572.33 T
+(er does not emit document or page control codes into the output,) 235.9 572.33 T
+(and data is passed through unmodi\336ed. Dra) 198 560.33 T
+(w) 371.44 560.33 T
+(able must be None, else a) 378.56 560.33 T
+0 F
+(Drawable) 198 548.33 T
+1 F
+( error is issued. The) 239.66 548.33 T
+0 F
+(xp-raw-f) 321.31 548.33 T
+(ormats-supported) 358.27 548.33 T
+1 F
+( attrib) 434.93 548.33 T
+(ute in the) 458.34 548.33 T
+0 F
+-0.08 (XPPrinterAttr) 198 536.33 P
+1 F
+-0.08 ( pool de\336nes v) 260.75 536.33 P
+-0.08 (alid v) 318.88 536.33 P
+-0.08 (alues for doc-format in this mode, else a) 341.05 536.33 P
+0 F
+(Match) 198 524.33 T
+1 F
+( error is issued.) 225.77 524.33 T
+(If doc-format is not in) 108 500.33 T
+0 F
+(xp-embedded-f) 198.82 500.33 T
+(ormats-supported) 263.01 500.33 T
+1 F
+( or) 339.67 500.33 T
+0 F
+(xp-raw-f) 353 500.33 T
+(ormats-supported) 389.96 500.33 T
+1 F
+( a) 466.62 500.33 T
+0 F
+(V) 476.06 500.33 T
+(alue) 482.36 500.33 T
+1 F
+( error is) 500.14 500.33 T
+(issued. The options \336eld is implementation-dependent and the permitted v) 108 488.33 T
+(alues may depend on the current) 404.4 488.33 T
+(settings of other attrib) 108 476.33 T
+(utes and the v) 195.85 476.33 T
+(alue of doc-format. If an unkno) 250.87 476.33 T
+(wn options v) 376.14 476.33 T
+(alue is speci\336ed a) 427.56 476.33 T
+0 F
+(V) 500.88 476.33 T
+(alue) 507.18 476.33 T
+1 F
+(error is issued, else if options is not v) 108 464.33 T
+(alid in the current state a) 256.91 464.33 T
+0 F
+(Match) 358 464.33 T
+1 F
+( error is issued.) 385.77 464.33 T
+0 12 Q
+(PrintStartDoc) 108 409 T
+1 10 Q
+(dri) 108 389.33 T
+(v) 118.86 389.33 T
+(er) 123.71 389.33 T
+(-mode: {) 131.28 389.33 T
+0 F
+(XPDocNormal, XPDocRaw) 166.91 389.33 T
+1 F
+(}) 284.1 389.33 T
+(Errors:) 108 365.33 T
+0 F
+(V) 138.27 365.33 T
+(alue, XPBadSequence) 144.57 365.33 T
+1 F
+(This request indicates the be) 108 341.33 T
+(ginning of an indi) 221.72 341.33 T
+(vidual document within a print job) 292.86 341.33 T
+(. The serv) 431.07 341.33 T
+(er performs the) 470.63 341.33 T
+-0.36 (actions necessary to de\336ne a ne) 108 329.33 P
+-0.36 (w document, and generates an) 231.76 329.33 P
+0 F
+-0.36 (XPPrintNotify) 353.27 329.33 P
+1 F
+-0.36 ( e) 415.48 329.33 P
+-0.36 (v) 421.81 329.33 P
+-0.36 (ent with its detail \336eld set to) 426.66 329.33 P
+0 F
+(XPStartDocNotify) 108 317.33 T
+1 F
+(.) 185.66 317.33 T
+(The v) 108 293.33 T
+(alue of dri) 130.8 293.33 T
+(v) 171.65 293.33 T
+(er) 176.5 293.33 T
+(-mode) 184.07 293.33 T
+(can be:) 212.12 293.33 T
+0 F
+(XPDocNormal) 108 269.33 T
+1 F
+(Print serv) 198 269.33 T
+(er generates document data. Depending on the DDX dri) 236.46 269.33 T
+(v) 459.21 269.33 T
+(er) 464.06 269.33 T
+(, it can) 471.43 269.33 T
+(incorporate data from) 198 257.33 T
+0 F
+(PrintPutDocumentData) 287.14 257.33 T
+1 F
+( into the document.) 388.79 257.33 T
+0 F
+(XPDocRaw) 108 233.33 T
+1 F
+(The client pro) 198 233.33 T
+(vides all data for the document using) 253.95 233.33 T
+0 F
+(PrintPutDocument-) 404.21 233.33 T
+(Data) 198 221.33 T
+1 F
+(. The print serv) 218.55 221.33 T
+(er does not generate an) 279.5 221.33 T
+(y data of its o) 371.54 221.33 T
+(wn into the docu-) 425.73 221.33 T
+(ment.) 198 209.33 T
+(If) 108 185.33 T
+0 F
+(PrintStartP) 117.16 185.33 T
+(age) 167.05 185.33 T
+1 F
+( is sent immediately after) 181.49 185.33 T
+0 F
+(PrintStartJ) 285.09 185.33 T
+(ob) 333.82 185.33 T
+1 F
+(, then a synthetic) 344.38 185.33 T
+0 F
+(PrintStartDoc) 414.65 185.33 T
+1 F
+( with dri) 475.19 185.33 T
+(v) 508.83 185.33 T
+(er) 513.68 185.33 T
+(-) 521.25 185.33 T
+(mode) 108 173.33 T
+0 F
+(XPDocNormal) 132.72 173.33 T
+1 F
+( will be generated internally by print serv) 195.48 173.33 T
+(er before) 360.58 173.33 T
+0 F
+(PrintStartP) 398.89 173.33 T
+(age) 448.78 173.33 T
+1 F
+(.) 463.22 173.33 T
+(An) 108 149.33 T
+(y changes to the) 120.07 149.33 T
+0 F
+(XPDocAttr) 187.28 149.33 T
+1 F
+( attrib) 235.59 149.33 T
+(ute pool must be made before) 259 149.33 T
+0 F
+(PrintStartDoc) 380.09 149.33 T
+1 F
+(is e) 443.13 149.33 T
+(x) 456.59 149.33 T
+(ecuted. Further) 461.44 149.33 T
+(modi\336cations can only be made to the attrib) 108 137.33 T
+(ute pool after a) 283.62 137.33 T
+0 F
+(PrintEndDoc) 346.38 137.33 T
+1 F
+( request is e) 403.05 137.33 T
+(x) 450.39 137.33 T
+(ecuted.) 455.24 137.33 T
+0 12 Q
+(PrintEndDoc) 108 82 T
+72 401 90 419.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 419.8 72 401.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 419.8 90 419.8 2 L
+0.5 H
+N
+72 419.8 72 401.8 2 L
+N
+72 419.8 90 419.8 2 L
+N
+0 0 612 792 C
+72 363 90 381 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 381 72 363 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 363 90 363 2 L
+N
+0 0 612 792 C
+72 74 90 92.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 92.8 72 74.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 92.8 90 92.8 2 L
+0.5 H
+N
+72 92.8 72 74.8 2 L
+N
+72 92.8 90 92.8 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "6" 10
+%%Page: "7" 11
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocols) 86.52 746.67 T
+(7) 533 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(cancel: BOOL) 108 704.33 T
+(Errors:) 108 680.33 T
+0 F
+(XPBadSequence) 138.27 680.33 T
+1 F
+(This request signals the end of a print document. The resulting document data is assembled and combined) 108 656.33 T
+(with data that w) 108 644.33 T
+(as sent by) 172.06 644.33 T
+0 F
+(PrintPutDocumentData) 214 644.33 T
+1 F
+(.) 315.65 644.33 T
+(When cancel is) 108 620.33 T
+0 F
+(TR) 171.59 620.33 T
+(UE) 185.18 620.33 T
+1 F
+(, the document currently being processed is canceled. The serv) 199.07 620.33 T
+(er may discard an) 449.69 620.33 T
+(y) 520.35 620.33 T
+0 (pending output or may produce partial output. If the job w) 108 608.33 P
+0 (as started with) 340.9 608.33 P
+0 F
+0 (XPGetData) 401.16 608.33 P
+1 F
+0 ( mode, then the entire) 450.59 608.33 P
+(data output stream is implementation-de\336ned for this document.) 108 596.33 T
+-0.21 (The) 108 572.33 P
+0 F
+-0.21 (XpDocAttr) 125.84 572.33 P
+1 F
+-0.21 ( pool that w) 173.6 572.33 P
+-0.21 (as frozen when the) 220.35 572.33 P
+0 F
+-0.21 (PrintStartDoc) 297.25 572.33 P
+1 F
+-0.21 ( request w) 357.79 572.33 P
+-0.21 (as e) 398.36 572.33 P
+-0.21 (x) 413.27 572.33 P
+-0.21 (ecuted is released when) 418.12 572.33 P
+0 F
+-0.21 (Print-) 514.45 572.33 P
+(EndDoc) 108 560.33 T
+1 F
+( is called.) 142.45 560.33 T
+0 12 Q
+(PrintStartP) 108 505 T
+(age) 167.87 505 T
+1 10 Q
+(windo) 108 485.33 T
+(w: WINDO) 132.75 485.33 T
+(W) 179.33 485.33 T
+(Errors:) 108 461.33 T
+0 F
+(XPBadSequence, W) 138.27 461.33 T
+(indo) 223.65 461.33 T
+(w) 242.45 461.33 T
+1 F
+(This request indicates the be) 108 437.33 T
+(ginning of a single print page within a document. W) 221.72 437.33 T
+(indo) 430.19 437.33 T
+(w is the dra) 447.72 437.33 T
+(w) 493.95 437.33 T
+(able that) 501.07 437.33 T
+(represents the page.) 108 425.33 T
+0 F
+(PrintStartP) 108 401.33 T
+(age) 157.89 401.33 T
+1 F
+( causes windo) 172.33 401.33 T
+(w to be mapped. W) 228.18 401.33 T
+(ithin a) 305.82 401.33 T
+0 F
+(PrintStartP) 333.6 401.33 T
+(age) 383.49 401.33 T
+1 F
+(/) 397.93 401.33 T
+0 F
+(PrintEndP) 400.71 401.33 T
+(age) 446.73 401.33 T
+1 F
+( sequence, an) 461.17 401.33 T
+(y) 514.61 401.33 T
+-0.11 (attempts to resize, mo) 108 389.33 P
+-0.11 (v) 195.28 389.33 P
+-0.11 (e, or unmap windo) 200.13 389.33 P
+-0.11 (w will be ignored. T) 274.53 389.33 P
+-0.11 (o resize or mo) 354.65 389.33 P
+-0.11 (v) 411.09 389.33 P
+-0.11 (e inferiors of windo) 415.94 389.33 P
+-0.11 (w) 494.5 389.33 P
+-0.11 (, the stan-) 501.07 389.33 P
+-0.38 (dard semantics used for) 108 377.33 P
+0 F
+-0.38 (Con\336gur) 203.66 377.33 P
+-0.38 (eW) 241.82 377.33 P
+-0.38 (indo) 256.08 377.33 P
+-0.38 (w) 274.88 377.33 P
+1 F
+-0.38 ( apply) 282.1 377.33 P
+-0.38 (, e) 305.79 377.33 P
+-0.38 (xcept that the contents of the con\336gured windo) 314.69 377.33 P
+-0.38 (w may be) 499.77 377.33 P
+(lost. If the contents of a windo) 108 365.33 T
+(w are lost, an) 229.68 365.33 T
+0 F
+(Expose) 285.5 365.33 T
+1 F
+( e) 316.06 365.33 T
+(v) 322.75 365.33 T
+(ent is generated.) 327.6 365.33 T
+-0.07 (A) 108 341.33 P
+0 F
+-0.07 (W) 117.65 341.33 P
+-0.07 (indo) 127.47 341.33 P
+-0.07 (w) 146.27 341.33 P
+1 F
+-0.07 ( error is issued if windo) 153.49 341.33 P
+-0.07 (w is not a descendent of the root windo) 247.6 341.33 P
+-0.07 (w of the current print conte) 404 341.33 P
+-0.07 (xt. An) 512.64 341.33 P
+0 F
+(XPBadSequence) 108 329.33 T
+1 F
+( error is issued if) 178.56 329.33 T
+0 F
+(PrintStartP) 248.27 329.33 T
+(age) 298.16 329.33 T
+1 F
+( is called in an) 312.6 329.33 T
+0 F
+(XPDocRaw) 372.87 329.33 T
+1 F
+( document.) 422.3 329.33 T
+(An) 108 305.33 T
+(y changes to the) 120.07 305.33 T
+0 F
+(XPP) 187.28 305.33 T
+(ageAttr) 206.62 305.33 T
+1 F
+( attrib) 239.38 305.33 T
+(ute pool must be made before) 262.79 305.33 T
+0 F
+(PrintStartP) 383.88 305.33 T
+(age) 433.77 305.33 T
+1 F
+(is e) 450.71 305.33 T
+(x) 464.17 305.33 T
+(ecuted. Further) 469.02 305.33 T
+(modi\336cations can only be made to the attrib) 108 293.33 T
+(ute pool after a) 283.62 293.33 T
+0 F
+(PrintEndP) 346.38 293.33 T
+(age) 392.4 293.33 T
+1 F
+( request is e) 406.84 293.33 T
+(x) 454.18 293.33 T
+(ecuted.) 459.03 293.33 T
+0 12 Q
+(PrintEndP) 108 238 T
+(age) 163.22 238 T
+1 10 Q
+(cancel: BOOL) 108 218.33 T
+(Errors:) 108 194.33 T
+0 F
+(XPBadContext, XPBadSequence) 138.27 194.33 T
+1 F
+(This request indicates the end of a print page, and causes windo) 108 170.33 T
+(w to be unmapped. If cancel is) 362.7 170.33 T
+0 F
+(TR) 487.67 170.33 T
+(UE) 501.26 170.33 T
+1 F
+(, the) 515.15 170.33 T
+(current print page is canceled.) 108 158.33 T
+(When cancel is) 108 134.33 T
+0 F
+(TR) 171.59 134.33 T
+(UE) 185.18 134.33 T
+1 F
+(, the job currently being processed is canceled. The serv) 199.07 134.33 T
+(er may discard an) 423.03 134.33 T
+(y pending) 493.69 134.33 T
+-0.03 (output or may produce partial output. If the job w) 108 122.33 P
+-0.03 (as started with) 305.9 122.33 P
+0 F
+-0.03 (XPGetData) 366.07 122.33 P
+1 F
+-0.03 ( mode, then the entire data out-) 415.5 122.33 P
+(put stream is implementation-de\336ned for this page.) 108 110.33 T
+(The pool of job attrib) 108 86.33 T
+(utes that w) 193.35 86.33 T
+(as frozen when the) 236.58 86.33 T
+0 F
+(PrintStartP) 314.33 86.33 T
+(age) 364.22 86.33 T
+1 F
+( request w) 378.66 86.33 T
+(as e) 419.66 86.33 T
+(x) 434.78 86.33 T
+(ecuted is freed when) 439.63 86.33 T
+0 F
+(PrintEndP) 108 74.33 T
+(age) 154.02 74.33 T
+1 F
+( is called.) 168.46 74.33 T
+72 678 90 696 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 696 72 678 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 678 90 678 2 L
+N
+0 0 612 792 C
+72 497 90 515.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 515.8 72 497.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 515.8 90 515.8 2 L
+0.5 H
+N
+72 515.8 72 497.8 2 L
+N
+72 515.8 90 515.8 2 L
+N
+0 0 612 792 C
+72 459 90 477 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 477 72 459 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 459 90 459 2 L
+N
+0 0 612 792 C
+72 230 90 248.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 248.8 72 230.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 248.8 90 248.8 2 L
+0.5 H
+N
+72 248.8 72 230.8 2 L
+N
+72 248.8 90 248.8 2 L
+N
+0 0 612 792 C
+72 192 90 210 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 210 72 192 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 192 90 192 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "7" 11
+%%Page: "8" 12
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(8) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(8) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 12 Q
+0 X
+(PrintGetP) 108 577 T
+(ageDimensions) 160.54 577 T
+1 10 Q
+(conte) 108 557.33 T
+(xt: PCONTEXT) 129.51 557.33 T
+3 F
+(\256) 100.8 541.33 T
+1 F
+(width: CARD16) 108 525.33 T
+(height: CARD16) 108 513.33 T
+(of) 108 501.33 T
+(fset-x: CARD16) 116.08 501.33 T
+(of) 108 489.33 T
+(fset-y: CARD16) 116.08 489.33 T
+(reproducible-width: CARD16) 108 477.33 T
+(reproducible-height: CARD16) 108 465.33 T
+(Errors:) 108 441.33 T
+0 F
+(XPBadContext) 138.27 441.33 T
+1 F
+(This request returns the total width and height of a page in pix) 108 417.33 T
+(els, together with the net reproducible area) 356.71 417.33 T
+(within the page. The net reproducible area is the portion of the page on which the printer is ph) 108 405.33 T
+(ysically capa-) 484.27 405.33 T
+(ble of placing ink.) 108 393.33 T
+0 12 Q
+(PrintSelectInput) 108 338 T
+1 10 Q
+(conte) 108 318.33 T
+(xt: PCONTEXT) 129.51 318.33 T
+(e) 108 306.33 T
+(v) 112.19 306.33 T
+(ent-mask: BITMASK) 117.04 306.33 T
+(Errors:) 108 282.33 T
+0 F
+(XPBadContext, V) 138.27 282.33 T
+(alue) 214.01 282.33 T
+1 F
+(This request speci\336es the print e) 108 258.33 T
+(v) 236.9 258.33 T
+(ents, from those in the speci\336ed print conte) 241.75 258.33 T
+(xt, the client is interested in.) 414.36 258.33 T
+(Possible v) 108 246.33 T
+(alues for the e) 148.59 246.33 T
+(v) 204.71 246.33 T
+(ent-mask BITMASK are:) 209.56 246.33 T
+(\245) 108 228.33 T
+(XPNoEv) 126 228.33 T
+(entMask) 161.96 228.33 T
+(\245) 108 216.33 T
+(XPPrintMask) 126 216.33 T
+(\245) 108 204.33 T
+(XP) 126 204.33 T
+(Attrib) 137.86 204.33 T
+(uteMask) 161.55 204.33 T
+0 12 Q
+(PrintInputSelected) 108 149 T
+1 10 Q
+(conte) 108 129.33 T
+(xt: PCONTEXT) 129.51 129.33 T
+3 F
+(\256) 100.8 113.33 T
+1 F
+(e) 108 97.33 T
+(v) 112.19 97.33 T
+(ent-mask, all-e) 117.04 97.33 T
+(v) 176.22 97.33 T
+(ents-mask: BITMASK) 181.07 97.33 T
+(Errors:) 108 73.33 T
+0 F
+(XPBadContext) 138.27 73.33 T
+72 569 90 587.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 587.8 72 569.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 587.8 90 587.8 2 L
+0.5 H
+N
+72 587.8 72 569.8 2 L
+N
+72 587.8 90 587.8 2 L
+N
+0 0 612 792 C
+72 439 90 457 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 457 72 439 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 439 90 439 2 L
+N
+0 0 612 792 C
+72 330 90 348.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 348.8 72 330.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 348.8 90 348.8 2 L
+0.5 H
+N
+72 348.8 72 330.8 2 L
+N
+72 348.8 90 348.8 2 L
+N
+0 0 612 792 C
+72 280 90 298 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 298 72 280 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 280 90 280 2 L
+N
+0 0 612 792 C
+72 141 90 159.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 159.8 72 141.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 159.8 90 159.8 2 L
+0.5 H
+N
+72 159.8 72 141.8 2 L
+N
+72 159.8 90 159.8 2 L
+N
+0 0 612 792 C
+72 71 90 89 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 89 72 71 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 71 90 71 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "8" 12
+%%Page: "9" 13
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocols) 86.52 746.67 T
+(9) 533 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(This request queries which X Print Serv) 108 704.33 T
+(er e) 267.83 704.33 T
+(v) 282.29 704.33 T
+(ents the client has selected to recei) 287.14 704.33 T
+(v) 425.19 704.33 T
+(e from the speci\336ed print) 430.04 704.33 T
+(conte) 108 692.33 T
+(xt. all-e) 129.51 692.33 T
+(v) 159.81 692.33 T
+(ents-mask returns the set of all e) 164.66 692.33 T
+(v) 293.83 692.33 T
+(ents selected by all clients.) 298.68 692.33 T
+0 12 Q
+(PrintGetAttrib) 108 589 T
+(utes) 185.08 589 T
+1 10 Q
+(conte) 108 569.33 T
+(xt: PCONTEXT) 129.51 569.33 T
+(pool: {) 108 557.33 T
+0 F
+(XPJ) 135.86 557.33 T
+(obAttr) 154.04 557.33 T
+(, XPDocAttr) 182 557.33 T
+(, XPP) 234.39 557.33 T
+(ageAttr) 258.73 557.33 T
+(, XPPrinterAttr) 290.57 557.33 T
+(, XPSer) 357.4 557.33 T
+(v) 390.07 557.33 T
+(erAttr) 394.97 557.33 T
+1 F
+(}) 422.17 557.33 T
+3 F
+(\256) 100.8 541.33 T
+1 F
+(attrib) 108 525.33 T
+(utes: STRING8) 128.91 525.33 T
+(Errors:) 108 501.33 T
+0 F
+(XPBadContext, V) 138.27 501.33 T
+(alue) 214.01 501.33 T
+1 F
+-0.33 (This request returns an attrib) 108 477.33 P
+-0.33 (ute pool from the speci\336ed print conte) 221.48 477.33 P
+-0.33 (xt. attrib) 372.13 477.33 P
+-0.33 (utes is the attrib) 405.49 477.33 P
+-0.33 (ute pool speci\336ed) 467.93 477.33 P
+(by pool, and is encoded in COMPOUND_TEXT) 108 465.33 T
+(.) 302.52 465.33 T
+(The format used for attrib) 108 441.33 T
+(utes is the same as the format used for an X resource \336le. F) 211.11 441.33 T
+(or a description see) 447.58 441.33 T
+(Section 15.1, \322Resource File Syntax\323, in the Xlib speci\336cation.) 108 429.33 T
+(See section) 108 405.33 T
+(3 for a detailed description of attrib) 155.77 405.33 T
+(utes.) 297.21 405.33 T
+0 12 Q
+(PrintGetOneAttrib) 108 350 T
+(ute) 206.41 350 T
+1 10 Q
+(conte) 108 330.33 T
+(xt: PCONTEXT) 129.51 330.33 T
+(pool: {) 108 318.33 T
+0 F
+(XPJ) 135.86 318.33 T
+(obAttr) 154.04 318.33 T
+(, XPDocAttr) 182 318.33 T
+(, XPP) 234.39 318.33 T
+(ageAttr) 258.73 318.33 T
+(, XPPrinterAttr) 290.57 318.33 T
+(, XPSer) 357.4 318.33 T
+(v) 390.07 318.33 T
+(erAttr) 394.97 318.33 T
+1 F
+(}) 422.17 318.33 T
+(name: STRING8) 108 306.33 T
+3 F
+(\256) 100.8 290.33 T
+1 F
+(v) 108 274.33 T
+(alue: STRING8) 112.75 274.33 T
+(Errors:) 108 250.33 T
+0 F
+(XPBadContext, V) 138.27 250.33 T
+(alue) 214.01 250.33 T
+1 F
+-0.02 (This request retrie) 108 226.33 P
+-0.02 (v) 180.47 226.33 P
+-0.02 (es a single attrib) 185.32 226.33 P
+-0.02 (ute from the speci\336ed print conte) 250.33 226.33 P
+-0.02 (xt. It is similar to) 382.55 226.33 P
+0 F
+-0.02 (PrintGetAttrib) 453.57 226.33 P
+-0.02 (utes,) 517.8 226.33 P
+1 F
+(b) 108 214.33 T
+(ut returns only one attrib) 112.8 214.33 T
+(ute v) 211.48 214.33 T
+(alue instead of an entire pool of attrib) 230.95 214.33 T
+(utes. The speci\336c attrib) 381 214.33 T
+(ute is speci\336ed) 474.12 214.33 T
+(by name. v) 108 202.33 T
+(alue is encoded in COMPOUND_TEXT) 151.91 202.33 T
+(.) 313.37 202.33 T
+0 12 Q
+(PrintSetAttrib) 108 147 T
+(utes) 182.41 147 T
+1 10 Q
+(conte) 108 127.33 T
+(xt: PCONTEXT) 129.51 127.33 T
+(pool: {) 108 115.33 T
+0 F
+(XPJ) 135.86 115.33 T
+(obAttr) 154.04 115.33 T
+(, XPDocAttr) 182 115.33 T
+(, XPP) 234.39 115.33 T
+(ageAttr) 258.73 115.33 T
+(, XPPrinterAttr) 290.57 115.33 T
+(, XPSer) 357.4 115.33 T
+(v) 390.07 115.33 T
+(erAttr) 394.97 115.33 T
+1 F
+(}) 422.17 115.33 T
+(rule: {) 108 103.33 T
+0 F
+(XP) 133.63 103.33 T
+(AttrMer) 146.22 103.33 T
+(ge, XP) 182.76 103.33 T
+(AttrReplace) 209.79 103.33 T
+1 F
+(}) 261.99 103.33 T
+(attrib) 108 91.33 T
+(utes: STRING8) 128.91 91.33 T
+(Errors:) 108 67.33 T
+0 F
+(XPBadContext, XPBadSequence, V) 138.27 67.33 T
+(alue, Match) 289.57 67.33 T
+72 581 90 599.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 599.8 72 581.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 599.8 90 599.8 2 L
+0.5 H
+N
+72 599.8 72 581.8 2 L
+N
+72 599.8 90 599.8 2 L
+N
+0 0 612 792 C
+72 499 90 517 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 517 72 499 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 499 90 499 2 L
+N
+0 0 612 792 C
+72 342 90 360.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 360.8 72 342.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 360.8 90 360.8 2 L
+0.5 H
+N
+72 360.8 72 342.8 2 L
+N
+72 360.8 90 360.8 2 L
+N
+0 0 612 792 C
+72 248 90 266 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 266 72 248 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 248 90 248 2 L
+N
+0 0 612 792 C
+72 139 90 157.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 157.8 72 139.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 157.8 90 157.8 2 L
+0.5 H
+N
+72 157.8 72 139.8 2 L
+N
+72 157.8 90 157.8 2 L
+N
+0 0 612 792 C
+72 65 90 83 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 83 72 65 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 65 90 65 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "9" 13
+%%Page: "10" 14
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(10) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(10) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+(This request sets the names and v) 108 704.33 T
+(alues for one or more attrib) 241.62 704.33 T
+(utes within the speci\336ed attrib) 350.56 704.33 T
+(ute pool.) 470.91 704.33 T
+(attrib) 108 692.33 T
+(utes is encoded in COMPOUND_TEXT that represents ne) 128.91 692.33 T
+(w name/v) 362.79 692.33 T
+(alue pairs according to the v) 401.7 692.33 T
+(alue) 514.48 692.33 T
+(speci\336ed in rule. F) 108 680.33 T
+(or) 182.29 680.33 T
+0 F
+(XP) 193.12 680.33 T
+(AttrReplace) 205.71 680.33 T
+1 F
+(, the e) 257.91 680.33 T
+(xisting attrib) 281.92 680.33 T
+(ute pool is discarded and replaced with attrib) 332.56 680.33 T
+(utes.) 512.05 680.33 T
+(F) 108 668.33 T
+(or) 113.41 668.33 T
+0 F
+(XP) 124.24 668.33 T
+(AttrMer) 136.83 668.33 T
+(ge) 173.37 668.33 T
+1 F
+(, attrib) 182.81 668.33 T
+(utes is mer) 208.72 668.33 T
+(ged into the e) 251.87 668.33 T
+(xisting attrib) 305.88 668.33 T
+(ute pool; e) 356.52 668.33 T
+(xisting name/v) 398.59 668.33 T
+(alue pairs are) 457.51 668.33 T
+(replaced and ne) 108 656.33 T
+(w ones are added.) 170.5 656.33 T
+(The format used for attrib) 108 632.33 T
+(utes is the same as the format used for an X resource \336le. F) 211.11 632.33 T
+(or a description see) 447.58 632.33 T
+(Section 15.1, \322Resource File Syntax\323, in the Xlib speci\336cation.) 108 620.33 T
+(See section) 108 596.33 T
+(3 for a detailed description of attrib) 155.77 596.33 T
+(utes.) 297.21 596.33 T
+0 (A) 108 572.33 P
+0 F
+0 (Match) 117.72 572.33 P
+1 F
+0 ( message is returned if read-only attrib) 145.49 572.33 P
+0 (ute pools attempt to use) 299.68 572.33 P
+0 F
+0 (PrintSetAttrib) 397.17 572.33 P
+0 (utes) 459.18 572.33 P
+1 F
+0 (. An) 476.4 572.33 P
+0 F
+0 (XPBadSe-) 496.11 572.33 P
+-0.14 (quence) 108 560.33 P
+1 F
+-0.14 ( message is issued when a request is sent to an attrib) 138 560.33 P
+-0.14 (ute pool at a time when the attrib) 345.46 560.33 P
+-0.14 (ute pool cannot) 476.24 560.33 P
+(be modi\336ed.) 108 548.33 T
+0 12 Q
+(PrintRehashPrinterList) 108 493 T
+1 10 Q
+(This request causes the print serv) 108 450.33 T
+(er to update its list of a) 240.88 450.33 T
+(v) 332.34 450.33 T
+(ailable printers together with their attrib) 337.09 450.33 T
+(utes. The) 496.59 450.33 T
+(print f) 108 438.33 T
+(acilities underlying X Serv) 132.62 438.33 T
+(er may pro) 239.96 438.33 T
+(vide it with the ability to detect changes in printer topology and) 283.13 438.33 T
+(dynamically update the list to re\337ect the changes. If X Serv) 108 426.33 T
+(er does not ha) 345.31 426.33 T
+(v) 400.93 426.33 T
+(e this capability) 405.78 426.33 T
+(, the) 468.46 426.33 T
+0 F
+(PrintRe-) 488.18 426.33 T
+(hashPrinterList) 108 414.33 T
+1 F
+( must be used to notify it of changes.) 175.78 414.33 T
+0 12 Q
+(PrintQueryV) 108 359 T
+(ersion) 174.79 359 T
+3 10 Q
+(\256) 100.8 339.33 T
+1 F
+(major) 108 323.33 T
+(-v) 131.13 323.33 T
+(ersion, minor) 139.31 323.33 T
+(-v) 192.44 323.33 T
+(ersion: CARD16) 200.62 323.33 T
+(This request returns the major and minor v) 108 299.33 T
+(ersion numbers of the X Print Service.) 278.66 299.33 T
+0 12 Q
+(PrintQueryScr) 108 244 T
+(eens) 184.44 244 T
+3 10 Q
+(\256) 100.8 224.33 T
+1 F
+(roots: LIST) 108 208.33 T
+(ofWINDO) 153.59 208.33 T
+(W) 196 208.33 T
+(This request returns a list of the X Serv) 108 184.33 T
+(er screens that support the X Print Service Extension.) 265.05 184.33 T
+0 12 Q
+(PrintSetImageResolution) 108 129 T
+1 10 Q
+(conte) 108 109.33 T
+(xt: PCONTEXT) 129.51 109.33 T
+(image-resolution: CARD16) 108 97.33 T
+3 F
+(\256) 100.8 81.33 T
+72 485 90 503.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 503.8 72 485.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 503.8 90 503.8 2 L
+0.5 H
+N
+72 503.8 72 485.8 2 L
+N
+72 503.8 90 503.8 2 L
+N
+0 0 612 792 C
+72 472 90 490 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 490 72 472 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 472 90 472 2 L
+N
+0 0 612 792 C
+72 351 90 369.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 369.8 72 351.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 369.8 90 369.8 2 L
+0.5 H
+N
+72 369.8 72 351.8 2 L
+N
+72 369.8 90 369.8 2 L
+N
+0 0 612 792 C
+72 321 90 339 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 339 72 321 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 321 90 321 2 L
+N
+0 0 612 792 C
+72 236 90 254.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 254.8 72 236.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 254.8 90 254.8 2 L
+0.5 H
+N
+72 254.8 72 236.8 2 L
+N
+72 254.8 90 254.8 2 L
+N
+0 0 612 792 C
+72 206 90 224 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 224 72 206 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 206 90 206 2 L
+N
+0 0 612 792 C
+72 121 90 139.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 139.8 72 121.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 139.8 90 139.8 2 L
+0.5 H
+N
+72 139.8 72 121.8 2 L
+N
+72 139.8 90 139.8 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "10" 14
+%%Page: "11" 15
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocols) 86.52 746.67 T
+(11) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(status: BOOL) 108 704.33 T
+(pre) 108 692.33 T
+(vious-resolution: CARD16) 120.52 692.33 T
+(Errors:) 108 668.33 T
+0 F
+(XPBadContext) 138.27 668.33 T
+1 F
+(This request sets the resolution for subsequent) 108 644.33 T
+0 F
+(PutImage) 295.48 644.33 T
+1 F
+( requests on the screen of conte) 337.14 644.33 T
+(xt, in pix) 462.51 644.33 T
+(els per) 498.2 644.33 T
+(inch.) 108 632.33 T
+(When status is) 108 608.33 T
+0 F
+(TR) 168.83 608.33 T
+(UE) 182.42 608.33 T
+1 F
+(, then the contents of an) 196.31 608.33 T
+(y subsequent) 291.7 608.33 T
+0 F
+(PutImage) 346.14 608.33 T
+1 F
+( request to a Pixmap or to a W) 387.8 608.33 T
+(indo) 509.05 608.33 T
+(w) 526.58 608.33 T
+-0.26 (on the screen of the speci\336ed print conte) 108 596.33 P
+-0.26 (xt will automatically be scaled as part of the) 267.92 596.33 P
+0 F
+-0.26 (PutImage) 444.7 596.33 P
+1 F
+-0.26 ( request. The) 486.36 596.33 P
+(scale f) 108 584.33 T
+(actor is:) 133.72 584.33 T
+4 F
+(default-printer-resolution / image-resolution) 144 566.33 T
+1 F
+(where def) 108 542.33 T
+(ault-printer) 147.6 542.33 T
+(-resolution is the current v) 192.39 542.33 T
+(alue of that page attrib) 297.68 542.33 T
+(ute. Only the image itself is scaled) 387.46 542.33 T
+(\050meaning the ef) 108 530.33 T
+(fecti) 170.51 530.33 T
+(v) 188.03 530.33 T
+(e width and height of the image change\051, the dst-x and dst-y parameters to) 192.88 530.33 T
+0 F
+(PutImage) 491.99 530.33 T
+1 F
+(are not altered.) 108 518.33 T
+(As a special case, a v) 108 494.33 T
+(alue of zero for image_res resets the resolution to automatically track the printer reso-) 192.72 494.33 T
+(lution. In this case \050which is also the def) 108 482.33 T
+(ault setting for a ne) 269.27 482.33 T
+(wly created print conte) 346.23 482.33 T
+(xt\051, subsequent images) 438 482.33 T
+(will not be scaled.) 108 470.33 T
+(pre) 108 446.33 T
+(vious-resolution is the pre) 120.52 446.33 T
+(vious image resolution that w) 224.43 446.33 T
+(as set for conte) 342.66 446.33 T
+(xt in pix) 402.77 446.33 T
+(els per inch.) 435.96 446.33 T
+(If status is) 108 422.33 T
+0 F
+(F) 151.61 422.33 T
+(ALSE) 156.82 422.33 T
+1 F
+(, then the print serv) 182.94 422.33 T
+(er does not support image scaling foor the particular resolution gi) 260.28 422.33 T
+(v) 521.66 422.33 T
+(en) 526.51 422.33 T
+(the current con\336guration of the printer) 108 410.33 T
+(, and the application is responsible for an) 261.18 410.33 T
+(y desired scaling.) 425.45 410.33 T
+0 12 Q
+(PrintGetImageResolution) 108 355 T
+1 10 Q
+(conte) 108 335.33 T
+(xt: PCONTEXT) 129.51 335.33 T
+3 F
+(\256) 100.8 319.33 T
+1 F
+(image-resolution: CARD16) 108 303.33 T
+(Errors:) 108 279.33 T
+0 F
+(XPBadContext) 138.27 279.33 T
+1 F
+(This request returns the current image-resolution for conte) 108 255.33 T
+(xt in pix) 341.41 255.33 T
+(els per inch. A v) 374.6 255.33 T
+(alue of zero means the) 440.17 255.33 T
+(resolution automatically tracks the printer resolution. If the request f) 108 243.33 T
+(ails in some w) 381.19 243.33 T
+(ay) 438.59 243.33 T
+(, a ne) 447.38 243.33 T
+(g) 468.61 243.33 T
+(ati) 473.56 243.33 T
+(v) 483.31 243.33 T
+(e v) 488.16 243.33 T
+(alue is) 499.85 243.33 T
+(returned.) 108 231.33 T
+0 14 Q
+(2.4) 72 195.67 T
+(Ev) 108 195.67 T
+(ents) 124.2 195.67 T
+0 12 Q
+(XPPrintNotify) 108 140 T
+1 10 Q
+(detail: {) 108 120.33 T
+0 F
+(XPStartJ) 140.3 120.33 T
+(obNotify) 180.14 120.33 T
+(, XPEndJ) 216.81 120.33 T
+(obNotify) 257.78 120.33 T
+(, XPStartDocNotify) 294.45 120.33 T
+(, XPEndDocNotify) 377.21 120.33 T
+(,) 456.1 120.33 T
+(XPStartP) 136.8 108.33 T
+(ageNotify) 177.8 108.33 T
+(, XPEndP) 218.35 108.33 T
+(ageNotify) 260.48 108.33 T
+1 F
+(}) 301.58 108.33 T
+(conte) 108 96.33 T
+(xt: PCONTEXT) 129.51 96.33 T
+(cancel: BOOL) 108 84.33 T
+72 666 90 684 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 684 72 666 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 666 90 666 2 L
+N
+0 0 612 792 C
+72 347 90 365.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 365.8 72 347.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 365.8 90 365.8 2 L
+0.5 H
+N
+72 365.8 72 347.8 2 L
+N
+72 365.8 90 365.8 2 L
+N
+0 0 612 792 C
+72 277 90 295 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 295 72 277 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 277 90 277 2 L
+N
+0 0 612 792 C
+72 132 90 150.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 150.8 72 132.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 150.8 90 150.8 2 L
+0.5 H
+N
+72 150.8 72 132.8 2 L
+N
+72 150.8 90 150.8 2 L
+N
+0 0 612 792 C
+72 82 90 100 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 100 72 82 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 82 90 82 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "11" 15
+%%Page: "12" 16
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(12) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocols) 466.22 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(12) 72 749.33 T
+(Pr) 448.27 749.33 T
+(otocols) 462.78 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+(This e) 108 704.33 T
+(v) 132.47 704.33 T
+(ent is generated when requests to) 137.32 704.33 T
+0 F
+(PrintStartDoc) 272.29 704.33 T
+1 F
+(,) 332.83 704.33 T
+0 F
+(PrintStartJ) 337.83 704.33 T
+(ob) 386.56 704.33 T
+1 F
+(,) 397.12 704.33 T
+0 F
+(PrintStartP) 402.12 704.33 T
+(age) 452.01 704.33 T
+1 F
+(,) 466.45 704.33 T
+0 F
+(PrintEndDoc) 471.45 704.33 T
+1 F
+(,) 528.12 704.33 T
+0 F
+(PrintEndJ) 108 692.33 T
+(ob) 152.86 692.33 T
+1 F
+(, and) 163.42 692.33 T
+0 F
+(PrintEndP) 185.36 692.33 T
+(age) 231.38 692.33 T
+1 F
+( ha) 245.82 692.33 T
+(v) 257.56 692.33 T
+(e been processed and completed. It is reported to clients selecting) 262.41 692.33 T
+0 F
+(XPPrintMask) 108 680.33 T
+1 F
+(.) 167.44 680.33 T
+0 12 Q
+(XP) 108 625 T
+(Attrib) 123.11 625 T
+(uteNotify) 154.86 625 T
+1 10 Q
+(detail: {) 108 605.33 T
+0 F
+(XPJ) 140.3 605.33 T
+(obAttr) 158.48 605.33 T
+(, XPDocAttr) 186.44 605.33 T
+(, XPP) 238.83 605.33 T
+(ageAttr) 263.17 605.33 T
+(, XPPrinterAttr) 295.01 605.33 T
+(, XPSer) 361.84 605.33 T
+(v) 394.51 605.33 T
+(erAttr) 399.41 605.33 T
+(, XPMe-) 425.69 605.33 T
+(diumAttr) 136.8 593.33 T
+(, XPSpoolerAttr) 176.43 593.33 T
+1 F
+(}) 245.86 593.33 T
+(conte) 108 581.33 T
+(xt: PCONTEXT) 129.51 581.33 T
+(This e) 108 557.33 T
+(v) 132.47 557.33 T
+(ent is generated when an) 137.32 557.33 T
+(y of the print attrib) 236.03 557.33 T
+(ute pools maintained by the print serv) 311.38 557.33 T
+(er ha) 462.33 557.33 T
+(v) 481.84 557.33 T
+(e been modi-) 486.69 557.33 T
+-0.25 (\336ed. The modi\336cations may ha) 108 545.33 P
+-0.25 (v) 230.98 545.33 P
+-0.25 (e been initiated by the print serv) 235.83 545.33 P
+-0.25 (er itself or by a) 363.07 545.33 P
+0 F
+-0.25 (PrintSetAttrib) 424.88 545.33 P
+-0.25 (utes) 486.89 545.33 P
+1 F
+-0.25 ( request.) 504.11 545.33 P
+(It is reported to clients selecting) 108 533.33 T
+0 F
+(XP) 238.54 533.33 T
+(Attrib) 251.13 533.33 T
+(uteMask) 277.59 533.33 T
+1 F
+(.) 314.81 533.33 T
+72 617 90 635.8 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 635.8 72 617.8 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 635.8 90 635.8 2 L
+0.5 H
+N
+72 635.8 72 617.8 2 L
+N
+72 635.8 90 635.8 2 L
+N
+0 0 612 792 C
+72 579 90 597 C
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 597 72 579 2 L
+1 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+72 579 90 579 2 L
+N
+0 0 612 792 C
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "12" 16
+%%Page: "13" 17
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(X Print Attrib) 72 746.67 T
+(utes) 157.26 746.67 T
+(13) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 18 Q
+(3) 72 699 T
+(X Print Attrib) 108 699 T
+(utes) 217.62 699 T
+1 10 Q
+(Printing-speci\336c attrib) 108 666.33 T
+(utes play a k) 197.52 666.33 T
+(e) 247.69 666.33 T
+(y role in the X Print Service. The) 251.98 666.33 T
+(y pro) 384.59 666.33 T
+(vide a general-purpose mecha-) 405.27 666.33 T
+(nism for storing information associated with printing. This information includes user print setup options,) 108 654.33 T
+(printer capabilities, and spooler subsystem options.) 108 642.33 T
+(The X Print Service selects attrib) 108 618.33 T
+(utes in a w) 240.28 618.33 T
+(ay that is consistent with the X W) 283.23 618.33 T
+(indo) 418.1 618.33 T
+(ws System, ISO/IEC) 435.63 618.33 T
+(10175 \050ISO DP) 108 606.33 T
+(A\051, and POSIX 1387.4 print standards. The ISO DP) 169.3 606.33 T
+(A de\336nes a number of abstract objects) 375.86 606.33 T
+(that are managed and manipulated during the printing process. These are kno) 108 594.33 T
+(wn as DP) 416.02 594.33 T
+(A-Objects. Each) 453.43 594.33 T
+-0.13 (DP) 108 582.33 P
+-0.13 (A-Object is represented by a set of attrib) 119.86 582.33 P
+-0.13 (utes which characterize that object. Each attrib) 281.24 582.33 P
+-0.13 (ute in turn is com-) 467.17 582.33 P
+(posed of an attrib) 108 570.33 T
+(ute-type \050attrib) 177.51 570.33 T
+(ute name\051 and zero or more attrib) 237.02 570.33 T
+(ute-v) 370.67 570.33 T
+(alues.) 390.97 570.33 T
+(The X Print Service utilizes selected DP) 108 552.33 T
+(A-Objects, and for each of these, a subset of the associated) 268.17 552.33 T
+(attrib) 108 540.33 T
+(utes. The DP) 128.91 540.33 T
+(A-Objects used are:) 179.93 540.33 T
+0 F
+(Ser) 108 518.33 T
+(v) 122.34 518.33 T
+(er Object) 127.24 518.33 T
+1 F
+(Speci\336es attrib) 198 518.33 T
+(utes de\336ned for the X print serv) 257.52 518.33 T
+(er) 384.57 518.33 T
+(.) 391.79 518.33 T
+0 F
+(J) 108 496.33 T
+(ob Object) 112.85 496.33 T
+1 F
+(Speci\336es attrib) 198 496.33 T
+(utes for a single print request as sent to the spooler) 257.52 496.33 T
+(.) 459.72 496.33 T
+0 F
+(Document Object) 108 474.33 T
+1 F
+(Speci\336es attrib) 198 474.33 T
+(utes used to de\336ne a single document within a job) 257.52 474.33 T
+(. If supported by) 456.83 474.33 T
+(the implementation, multiple documents may be submitted within a gi) 198 462.33 T
+(v) 478.31 462.33 T
+(en job) 483.16 462.33 T
+(.) 507.48 462.33 T
+0 F
+(Printer Object) 108 440.33 T
+1 F
+(Speci\336es attrib) 198 440.33 T
+(utes that identify printer capabilities.) 257.52 440.33 T
+(The X Print Service also pro) 108 418.33 T
+(vides for changing certain attrib) 222 418.33 T
+(utes on a page-by-page basis. This is a) 349.55 418.33 T
+(capability for which the ISO DP) 108 406.33 T
+(A does not de\336ne a separate DP) 236.23 406.33 T
+(A-Object. This set of attrib) 363.06 406.33 T
+(utes is kno) 470.9 406.33 T
+(wn) 513.43 406.33 T
+(within the X Print Service as P) 108 394.33 T
+(age Attrib) 231.18 394.33 T
+(utes.) 271.25 394.33 T
+(The X Print Service requires some additional attrib) 108 372.33 T
+(utes that are not de\336ned by the ISO DP) 311.94 372.33 T
+(A. The attrib) 467.67 372.33 T
+(ute) 518.85 372.33 T
+(names for these attrib) 108 360.33 T
+(utes are pre\336x) 194.17 360.33 T
+(ed with \322) 250.67 360.33 T
+0 F
+(xp-) 287.33 360.33 T
+1 F
+(\323.) 301.22 360.33 T
+(A serv) 108 338.33 T
+(er implementation can de\336ne additional attrib) 134.23 338.33 T
+(utes.) 316.51 338.33 T
+(This section de\336nes the follo) 108 316.33 T
+(wing sets of attrib) 223.3 316.33 T
+(utes for the X Print Service:) 295.04 316.33 T
+(\245) 108 294.33 T
+(Serv) 126 294.33 T
+(er Attrib) 144.18 294.33 T
+(utes) 178.14 294.33 T
+(\245) 108 282.33 T
+(Printer Attrib) 126 282.33 T
+(utes) 179.41 282.33 T
+(\245) 108 270.33 T
+(Job Attrib) 126 270.33 T
+(utes) 166.08 270.33 T
+(\245) 108 258.33 T
+(Document Attrib) 126 258.33 T
+(utes) 193.85 258.33 T
+(\245) 108 246.33 T
+(P) 126 246.33 T
+(age Attrib) 131.41 246.33 T
+(utes) 171.48 246.33 T
+0 14 Q
+(3.1) 72 210.67 T
+(Attrib) 108 210.67 T
+(ute V) 145.04 210.67 T
+(alue Defaults And V) 176.03 210.67 T
+(alidation) 295.68 210.67 T
+1 10 Q
+(This section pro) 108 186.33 T
+(vides an o) 172.29 186.33 T
+(v) 212.69 186.33 T
+(ervie) 217.54 186.33 T
+(w of the handling of def) 237.28 186.33 T
+(ault attrib) 333.55 186.33 T
+(ute v) 371.96 186.33 T
+(alues and the procedure for the v) 391.43 186.33 T
+(ali-) 522.25 186.33 T
+-0.14 (dation of attrib) 108 174.33 P
+-0.14 (ute v) 166.96 174.33 P
+-0.14 (alues within the X Print Service. Details for indi) 186.3 174.33 P
+-0.14 (vidual attrib) 377.99 174.33 P
+-0.14 (utes can be found in the rest) 426.26 174.33 P
+(of this chapter) 108 162.33 T
+(.) 164.66 162.33 T
+0 14 Q
+(3.1.1) 72 129.67 T
+(Assigning Attrib) 126 129.67 T
+(ute V) 224.9 129.67 T
+(alue Defaults) 255.88 129.67 T
+1 10 Q
+(An attrib) 108 105.33 T
+(ute speci\336cation with an empty v) 143.63 105.33 T
+(alue indicates that the attrib) 275.87 105.33 T
+(ute has no v) 386.21 105.33 T
+(alue. W) 434.01 105.33 T
+(ithin X Print Ser-) 464.71 105.33 T
+(vice con\336guration \336les and attrib) 108 93.33 T
+(ute pools, an attrib) 240.01 93.33 T
+(ute speci\336cation that omits the v) 314.25 93.33 T
+(alue is ef) 443.72 93.33 T
+(fecti) 479.57 93.33 T
+(v) 497.09 93.33 T
+(ely) 501.94 93.33 T
+-0.37 (treated as if there were no attrib) 108 81.33 P
+-0.37 (ute speci\336cation. An empty v) 232.78 81.33 P
+-0.37 (alued attrib) 348.56 81.33 P
+-0.37 (ute speci\336cation that has precedence) 393.26 81.33 P
+(o) 108 69.33 T
+(v) 112.85 69.33 T
+(er a non-empty attrib) 117.7 69.33 T
+(ute speci\336cation \050for instance, an empty printer quali\336ed attrib) 201.65 69.33 T
+(ute o) 451.69 69.33 T
+(v) 471.26 69.33 T
+(er a non-empty) 476.11 69.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "13" 17
+%%Page: "14" 18
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(14) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(X Print Attrib) 432.53 41.28 T
+(utes) 487.89 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(14) 72 749.33 T
+(X Print Attrib) 394.63 749.33 T
+(utes) 479.89 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+-0.02 (model quali\336ed attrib) 108 704.33 P
+-0.02 (ute\051 will ef) 193.88 704.33 P
+-0.02 (fecti) 237.48 704.33 P
+-0.02 (v) 255 704.33 P
+-0.02 (ely \322unset\323 the lo) 259.85 704.33 P
+-0.02 (wer precedence attrib) 329.26 704.33 P
+-0.02 (ute speci\336cation. When a print) 415.1 704.33 P
+(job commences, the X Print Service may infer a def) 108 692.33 T
+(ault v) 315.08 692.33 T
+(alue for an attrib) 337.33 692.33 T
+(ute that has no v) 403.5 692.33 T
+(alue. In some) 468.8 692.33 T
+(cases the X Print Service may e) 108 680.33 T
+(xplicitly assign a def) 234.49 680.33 T
+(ault v) 317.44 680.33 T
+(alue to an attrib) 339.69 680.33 T
+(ute before presenting it in an) 401.98 680.33 T
+(attrib) 108 668.33 T
+(ute pool.) 128.91 668.33 T
+0 14 Q
+(3.1.2) 72 635.67 T
+(V) 126 635.67 T
+(alidating Attrib) 134.82 635.67 T
+(ute V) 228.27 635.67 T
+(alues) 259.25 635.67 T
+1 10 Q
+-0.23 (The X Print Serv) 108 611.33 P
+-0.23 (er ensures that attrib) 175.21 611.33 P
+-0.23 (ute pools presented to the client are al) 255.69 611.33 P
+-0.23 (w) 405.33 611.33 P
+-0.23 (ays comprised of v) 412.45 611.33 P
+-0.23 (alid attrib) 487.33 611.33 P
+-0.23 (ute) 525.51 611.33 P
+-0.22 (speci\336cations for attrib) 108 599.33 P
+-0.22 (utes de\336ned by the X Print Service. V) 199.57 599.33 P
+-0.22 (alidation is \336rst performed when a print conte) 348.59 599.33 P
+-0.22 (xt) 529.94 599.33 P
+(is created. V) 108 587.33 T
+(alidation is also performed whene) 157.15 587.33 T
+(v) 292.43 587.33 T
+(er a client requests an update to an attrib) 297.28 587.33 T
+(ute pool.) 458.71 587.33 T
+-0.32 (V) 108 563.33 P
+-0.32 (alidation in) 114.11 563.33 P
+-0.32 (v) 158.67 563.33 P
+-0.32 (olv) 163.47 563.33 P
+-0.32 (es checking the attrib) 176.1 563.33 P
+-0.32 (ute v) 260.19 563.33 P
+-0.32 (alue ag) 279.33 563.33 P
+-0.32 (ainst its set of v) 307.56 563.33 P
+-0.32 (alid v) 368.8 563.33 P
+-0.32 (alues. The process may also tak) 390.72 563.33 P
+-0.32 (e into) 515.65 563.33 P
+(account the current v) 108 551.33 T
+(alues of other attrib) 191.89 551.33 T
+(utes and the capabilities of the DDX dri) 269.73 551.33 T
+(v) 428.62 551.33 T
+(er) 433.47 551.33 T
+(.) 440.69 551.33 T
+(Attrib) 108 527.33 T
+(utes may be single-v) 131.69 527.33 T
+(alued or multi-v) 213.93 527.33 T
+(alued.) 278.12 527.33 T
+(When a print conte) 108 503.33 T
+(xt is created, if the serv) 184.22 503.33 T
+(er determines that an attrib) 277.38 503.33 T
+(ute v) 384.38 503.33 T
+(alue is in) 403.85 503.33 T
+(v) 439.56 503.33 T
+(alid, the serv) 444.31 503.33 T
+(er will) 495.54 503.33 T
+(ignore the in) 108 491.33 T
+(v) 158.15 491.33 T
+(alid attrib) 162.9 491.33 T
+(ute speci\336cation and may set an e) 201.31 491.33 T
+(xplicit def) 335.58 491.33 T
+(ault for the attrib) 376.31 491.33 T
+(ute in the pool. F) 443.6 491.33 T
+(or) 511.51 491.33 T
+(multi-v) 108 479.33 T
+(alued attrib) 137.2 479.33 T
+(utes, the serv) 182.27 479.33 T
+(er will ignore each v) 234.61 479.33 T
+(alue component that is in) 316.56 479.33 T
+(v) 416.71 479.33 T
+(alid. If all of the speci\336ed) 421.46 479.33 T
+(components are in) 108 467.33 T
+(v) 180.92 467.33 T
+(alid the serv) 185.67 467.33 T
+(er will reject the attrib) 234.4 467.33 T
+(ute speci\336cation, and for certain attrib) 323.07 467.33 T
+(utes will set an) 475.06 467.33 T
+(e) 108 455.33 T
+(xplicit def) 112.29 455.33 T
+(ault for the attrib) 153.02 455.33 T
+(ute in the pool.) 220.31 455.33 T
+-0.07 (When the client requests an update to an attrib) 108 431.33 P
+-0.07 (ute pool \050e.g. when issuing) 292.73 431.33 P
+0 F
+-0.07 (PrintSetAttrib) 402.63 431.33 P
+-0.07 (utes) 464.64 431.33 P
+1 F
+-0.07 (\051, if the serv) 481.86 431.33 P
+-0.07 (er) 529.8 431.33 P
+(determines that a single-v) 108 419.33 T
+(alued attrib) 210.79 419.33 T
+(ute is in) 255.86 419.33 T
+(v) 287.13 419.33 T
+(alid, that attrib) 291.88 419.33 T
+(ute will not be updated. If all components of a) 350.29 419.33 T
+(multi-v) 108 407.33 T
+(alued attrib) 137.2 407.33 T
+(ute are in) 182.27 407.33 T
+(v) 219.08 407.33 T
+(alid the attrib) 223.83 407.33 T
+(ute will not be updated, otherwise an) 276.96 407.33 T
+(y in) 424.29 407.33 T
+(v) 439.17 407.33 T
+(alid components are) 443.92 407.33 T
+(ignored. Unrecognized attrib) 108 395.33 T
+(utes will be stored in the corresponding attrib) 223.05 395.33 T
+(ute pool and returned in) 404.22 395.33 T
+0 F
+(Print-) 502.26 395.33 T
+(GetAttrib) 108 383.33 T
+(ute) 150.01 383.33 T
+1 F
+(, b) 163.34 383.33 T
+(ut are otherwise ignored.) 173.14 383.33 T
+(As part of the v) 108 359.33 T
+(alidation for a gi) 169.96 359.33 T
+(v) 236.09 359.33 T
+(en attrib) 240.94 359.33 T
+(ute, the print serv) 273.79 359.33 T
+(er may alter other attrib) 343.63 359.33 T
+(utes in response to the) 437.85 359.33 T
+-0.07 (change. F) 108 347.33 P
+-0.07 (or e) 146.66 347.33 P
+-0.07 (xample, changing the v) 161.71 347.33 P
+-0.07 (alue of the) 254.57 347.33 P
+0 F
+-0.07 (document-f) 299.08 347.33 P
+-0.07 (ormat) 347.7 347.33 P
+1 F
+-0.07 ( attrib) 373.8 347.33 P
+-0.07 (ute might cause the v) 397.15 347.33 P
+-0.07 (alue of the) 481.61 347.33 P
+0 F
+-0.07 (xp-) 526.11 347.33 P
+(embedded-f) 108 335.33 T
+(ormats-supported) 158.3 335.33 T
+1 F
+( attrib) 234.96 335.33 T
+(ute to change as.) 258.37 335.33 T
+0 14 Q
+(3.1.3) 72 302.67 T
+(Structur) 126 302.67 T
+(ed V) 177.07 302.67 T
+(alues) 203.39 302.67 T
+(3.2) 72 242.67 T
+(Ser) 108 242.67 T
+(v) 128.08 242.67 T
+(er Attrib) 134.94 242.67 T
+(utes) 187.91 242.67 T
+1 10 Q
+(The serv) 108 218.33 T
+(er attrib) 142.56 218.33 T
+(ute pool is identi\336ed by XPServ) 173.74 218.33 T
+(erAttr and describes the capabilities of the X Print Serv) 301.65 218.33 T
+(er) 522.85 218.33 T
+(.) 530.07 218.33 T
+0 F
+(locale) 108 200.33 T
+1 F
+(The v) 198 200.33 T
+(alue of this attrib) 220.8 200.33 T
+(ute is the locale in which the X Print Serv) 288.65 200.33 T
+(er is running.) 455.43 200.33 T
+0 F
+(multiple-documents-supported) 108 178.33 T
+1 F
+(This attrib) 198 166.33 T
+(ute indicates whether the serv) 239.19 166.33 T
+(er supports jobs containing multiple) 357.9 166.33 T
+(documents.) 198 154.33 T
+0 14 Q
+(3.3) 72 118.67 T
+(Printer Attrib) 108 118.67 T
+(utes) 192.08 118.67 T
+1 10 Q
+(The printer attrib) 108 94.33 T
+(ute pool is identi\336ed by XPPrinterAttr and describes printer capabilities.) 176.12 94.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "14" 18
+%%Page: "15" 19
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(X Print Attrib) 72 746.67 T
+(utes) 157.26 746.67 T
+(15) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 10 Q
+(content-orientations-supported) 108 704.33 T
+1 F
+(A list of orientations supported in the print conte) 198 692.33 T
+(xt. The list is a group of strings) 392.84 692.33 T
+(separated by white space. V) 198 680.33 T
+(alid v) 308.8 680.33 T
+(alues are) 331.05 680.33 T
+0 F
+(portrait) 368.81 680.33 T
+1 F
+(,) 402.69 680.33 T
+0 F
+(landscape) 407.69 680.33 T
+1 F
+(,) 449.92 680.33 T
+0 F
+(r) 454.92 680.33 T
+(e) 459.18 680.33 T
+(v) 463.47 680.33 T
+(erse-portrait) 468.37 680.33 T
+1 F
+(,) 522.79 680.33 T
+(and) 198 668.33 T
+0 F
+(r) 214.94 668.33 T
+(e) 219.2 668.33 T
+(v) 223.49 668.33 T
+(erse-landscape) 228.39 668.33 T
+1 F
+(.) 291.16 668.33 T
+(The def) 198 644.33 T
+(ault v) 228.72 644.33 T
+(alue is determined by the DDX, and is e) 250.97 644.33 T
+(xplicitly set in the printer pool.) 411.07 644.33 T
+(V) 198 632.33 T
+(alidation for this attrib) 204.11 632.33 T
+(ute is as described for multi-v) 293.63 632.33 T
+(alued attrib) 412.53 632.33 T
+(utes in \322V) 457.6 632.33 T
+(alidating) 497.04 632.33 T
+(Attrib) 198 620.33 T
+(ute V) 221.69 620.33 T
+(alues\323.) 242.52 620.33 T
+(The initial v) 198 596.33 T
+(alue of the) 246.64 596.33 T
+0 F
+(content-orientations-supported) 291.35 596.33 T
+1 F
+( attrib) 424.12 596.33 T
+(ute is typically set by) 447.53 596.33 T
+(the printer v) 198 584.33 T
+(endor in the model-con\336g \336le.) 246.73 584.33 T
+0 F
+(descriptor) 108 562.33 T
+1 F
+(The) 198 562.33 T
+0 F
+(descriptor) 216.05 562.33 T
+1 F
+( is a human readable description of the printer encoded as) 259.93 562.33 T
+(COMPOUND_TEXT) 198 550.33 T
+(. This description may contain more than one line.) 285.03 550.33 T
+0 F
+(document-attrib) 108 528.33 T
+(utes-supported) 177.79 528.33 T
+1 F
+(A list of document attrib) 198 516.33 T
+(utes supported in the print conte) 296.13 516.33 T
+(xt. This list is returned as a) 424.58 516.33 T
+(set of whitespace-delimited attrib) 198 504.33 T
+(ute names.) 331.39 504.33 T
+0 F
+(document-f) 108 482.33 T
+(ormats-supported) 156.63 482.33 T
+1 F
+(A list of document formats, including format v) 198 470.33 T
+(ariants and format v) 384.96 470.33 T
+(ersions that are) 465.07 470.33 T
+(supported in the print conte) 198 458.33 T
+(xt. Each entry in the list is a structure comprised of the) 307.84 458.33 T
+(document-format, document-format-v) 198 446.33 T
+(ariant, and a document-format-v) 349.94 446.33 T
+(ersion.) 479.2 446.33 T
+(V) 198 434.33 T
+(ariant and v) 204.11 434.33 T
+(ersion may be omitted in some cases. The triple v) 251.17 434.33 T
+(alue is enclosed by) 449.23 434.33 T
+(curly braces \322{}\323 and delimited by whitespace.) 198 422.33 T
+0 F
+(input-trays-medium) 108 400.33 T
+1 F
+(This attrib) 198 400.33 T
+(ute identi\336es what medium is loaded in each printer tray) 239.19 400.33 T
+(. The v) 463.79 400.33 T
+(alue is) 491.59 400.33 T
+(speci\336ed as a list of structures, each of which contains a tray identi\336er and a) 198 388.33 T
+(medium identi\336er) 198 376.33 T
+(. V) 268.84 376.33 T
+(alid tray identi\336ers are) 279.95 376.33 T
+0 F
+(top) 372.71 376.33 T
+1 F
+(,) 386.6 376.33 T
+0 F
+(middle) 391.6 376.33 T
+1 F
+(,) 421.05 376.33 T
+0 F
+(bottom) 426.05 376.33 T
+1 F
+(,) 456.6 376.33 T
+0 F
+(en) 461.6 376.33 T
+(v) 471.2 376.33 T
+(elope) 476.1 376.33 T
+1 F
+(,) 498.32 376.33 T
+0 F
+(manual) 198 364.33 T
+1 F
+(,) 230.23 364.33 T
+0 F
+(lar) 235.23 364.33 T
+(ge-capacity) 247.35 364.33 T
+1 F
+(,) 295.02 364.33 T
+0 F
+(main) 300.02 364.33 T
+1 F
+(, and) 321.69 364.33 T
+0 F
+(side) 343.63 364.33 T
+1 F
+(. The X Print Service de\336nes v) 360.3 364.33 T
+(alid medium) 483.09 364.33 T
+(identi\336ers to be the standard v) 198 352.33 T
+(alues of the) 318.57 352.33 T
+0 F
+(medium-size) 367.17 352.33 T
+1 F
+( attrib) 421.05 352.33 T
+(ute as speci\336ed in) 444.46 352.33 T
+(ISO/IEC 10175-1.) 198 340.33 T
+(F) 198 316.33 T
+(or each tray / medium \050size\051 combination, the tray must be present in the v) 203.41 316.33 T
+(alue of) 501.17 316.33 T
+(the) 198 304.33 T
+0 F
+(medium-sour) 212.72 304.33 T
+(ce-sizes-supported) 269.76 304.33 T
+1 F
+( attrib) 348.08 304.33 T
+(ute, and the medium size must be listed) 371.49 304.33 T
+(for that tray) 198 292.33 T
+(.) 244.56 292.33 T
+0 F
+(job-attrib) 108 270.33 T
+(utes-supported) 149.46 270.33 T
+1 F
+(A list of the job attrib) 198 258.33 T
+(utes supported for the printer) 284.19 258.33 T
+(. This list is returned as a set of) 399.73 258.33 T
+(whitespace-delimited attrib) 198 246.33 T
+(ute names.) 306.95 246.33 T
+0 F
+(medium-sour) 108 224.33 T
+(ce-sizes-supported) 165.04 224.33 T
+1 F
+(This attrib) 198 212.33 T
+(ute identi\336es or speci\336es the sizes of media that are supported by the) 239.19 212.33 T
+(printer) 198 200.33 T
+(. F) 224.11 200.33 T
+(or each input tray a set of supported media sizes is indicated. F) 234.52 200.33 T
+(or each) 485.72 200.33 T
+(medium, the page size, an indicator as to the medium feed direction, and the assured) 198 188.33 T
+(reproduction area the printer supports are speci\336ed.) 198 176.33 T
+(V) 198 152.33 T
+(alid input tray v) 204.11 152.33 T
+(alues are) 267.47 152.33 T
+0 F
+(top) 305.23 152.33 T
+1 F
+(,) 319.12 152.33 T
+0 F
+(middle) 324.12 152.33 T
+1 F
+(,) 353.57 152.33 T
+0 F
+(bottom) 358.57 152.33 T
+1 F
+(,) 389.12 152.33 T
+0 F
+(en) 394.12 152.33 T
+(v) 403.72 152.33 T
+(elope) 408.62 152.33 T
+1 F
+(,) 430.84 152.33 T
+0 F
+(manual) 435.84 152.33 T
+1 F
+(,) 468.07 152.33 T
+0 F
+(lar) 198 140.33 T
+(ge-capacity) 210.12 140.33 T
+1 F
+(,) 257.79 140.33 T
+0 F
+(main) 262.79 140.33 T
+1 F
+(, and) 284.46 140.33 T
+0 F
+(side) 306.4 140.33 T
+1 F
+(. If the printer has only one input tray) 323.07 140.33 T
+(, speci\336cation) 472.12 140.33 T
+(of this v) 198 128.33 T
+(alue is optional.) 230.53 128.33 T
+(The page size is a descripti) 198 104.33 T
+(v) 305.78 104.33 T
+(e-name indicating the size of the page. Examples are) 310.63 104.33 T
+0 F
+(iso-a4) 198 92.33 T
+1 F
+(,) 223 92.33 T
+0 F
+(na-letter) 228 92.33 T
+1 F
+(, and) 264.25 92.33 T
+0 F
+(na-legal) 286.19 92.33 T
+1 F
+(. The complete list of v) 320.08 92.33 T
+(alid v) 412.6 92.33 T
+(alues is the set of) 434.85 92.33 T
+(descripti) 198 80.33 T
+(v) 232.19 80.33 T
+(e-names de\336ned for the standard v) 237.04 80.33 T
+(alues of the) 374.81 80.33 T
+0 F
+(medium-size) 423.41 80.33 T
+1 F
+( attrib) 477.29 80.33 T
+(ute as) 500.7 80.33 T
+(speci\336ed in ISO/IEC 10175-1.) 198 68.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "15" 19
+%%Page: "16" 20
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(16) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(X Print Attrib) 432.53 41.28 T
+(utes) 487.89 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(16) 72 749.33 T
+(X Print Attrib) 394.63 749.33 T
+(utes) 479.89 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 X
+(The medium feed direction is represented as a boolean v) 198 704.33 T
+(alue indicating whether the) 423.53 704.33 T
+(long edge \050) 198 692.33 T
+0 F
+(TR) 242.99 692.33 T
+(UE) 256.58 692.33 T
+1 F
+(\051 or the short edge \050) 270.47 692.33 T
+0 F
+(F) 349.06 692.33 T
+(ALSE) 354.27 692.33 T
+1 F
+(\051 feeds into the printer so that) 380.39 692.33 T
+(orientation is speci\336ed.) 198 680.33 T
+(The assured reproduction area is the area within the current medium tp which the) 198 656.33 T
+(printer can render) 198 644.33 T
+(. This area is speci\336ed in millimeters according to the RCS) 268.53 644.33 T
+(coordinate system de\336ned by the ISO DP) 198 632.33 T
+(A. The area v) 362.62 632.33 T
+(alue is de\336ned by a structure) 416.79 632.33 T
+(containing the minimum-x, maximum-x, minimum-y) 198 620.33 T
+(, and maximum-y) 410.14 620.33 T
+(.) 480.32 620.33 T
+(The v) 198 596.33 T
+(alue for a medium size is speci\336ed in a structure comprised of the page size,) 220.8 596.33 T
+(the feed direction indicator) 198 584.33 T
+(, and the assured reproduction area.) 305.63 584.33 T
+(The v) 198 560.33 T
+(alue of the) 220.8 560.33 T
+0 F
+(medium-sour) 265.51 560.33 T
+(ce-sizes-supported) 322.55 560.33 T
+1 F
+( attrib) 400.87 560.33 T
+(ute is a list of structures,) 424.28 560.33 T
+(each comprised of the input tray v) 198 548.33 T
+(alue and a set of medium size v) 334.39 548.33 T
+(alues.) 459.95 548.33 T
+0 F
+(plexes-supported) 108 526.33 T
+1 F
+(A list of ple) 198 526.33 T
+(x options that the printer supports. The list is a group of strings) 245.35 526.33 T
+(separated by white space. V) 198 514.33 T
+(alid v) 308.8 514.33 T
+(alues are) 331.05 514.33 T
+0 F
+(simplex) 368.81 514.33 T
+1 F
+(,) 401.59 514.33 T
+0 F
+(duplex) 406.59 514.33 T
+1 F
+(, and) 435.49 514.33 T
+0 F
+(tumble) 457.43 514.33 T
+1 F
+(.) 487.43 514.33 T
+0 F
+(printer) 108 492.33 T
+(-model) 138.18 492.33 T
+1 F
+(Human-readable te) 198 492.33 T
+(xt that identi\336es the mak) 274.21 492.33 T
+(e and model of the printer) 373 492.33 T
+(. This v) 476.04 492.33 T
+(alue is) 506.07 492.33 T
+(encoded as COMPOUND_TEXT) 198 480.33 T
+(.) 331.68 480.33 T
+0 F
+(printer) 108 458.33 T
+(-name) 138.18 458.33 T
+1 F
+(This attrib) 198 458.33 T
+(ute uniquely identi\336es a printer on a gi) 239.19 458.33 T
+(v) 393.65 458.33 T
+(en X Print Serv) 398.5 458.33 T
+(er) 460.29 458.33 T
+(.) 467.51 458.33 T
+0 F
+(printer) 108 436.33 T
+(-r) 138.18 436.33 T
+(esolutions-supported) 145.77 436.33 T
+1 F
+(A list of the resolutions in dots per inch that the printer supports.) 198 424.33 T
+0 F
+(xp-embedded-f) 108 402.33 T
+(ormats-supported) 172.19 402.33 T
+1 F
+(This attrib) 198 390.33 T
+(ute identi\336es the set of data formats recognized as v) 239.19 390.33 T
+(alid v) 446.4 390.33 T
+(alues for the) 468.65 390.33 T
+(doc_fmt parameter of) 198 378.33 T
+0 F
+(PrintPutDocumentData) 287.14 378.33 T
+1 F
+(, when this request is issued within a) 388.79 378.33 T
+(print document of type) 198 366.33 T
+0 F
+(XPDocNormal) 291.88 366.33 T
+1 F
+(.) 354.64 366.33 T
+(The v) 198 342.33 T
+(alue is a list of data formats. Each entry in the list is a structure comprised of) 220.8 342.33 T
+(the data format, a format v) 198 330.33 T
+(ariant, and a format v) 304.39 330.33 T
+(ersion. The v) 390.05 330.33 T
+(ariant and the v) 442.29 330.33 T
+(ersion) 504.07 330.33 T
+(may be omitted in some cases. Structure v) 198 318.33 T
+(alues are enclosed by curly braces \322{}\323) 366.62 318.33 T
+(and delimited by whitespace. V) 198 306.33 T
+(alid v) 323.26 306.33 T
+(alues are de\336ned by the printer DDX dri) 345.51 306.33 T
+(v) 506.61 306.33 T
+(er) 511.46 306.33 T
+(.) 518.68 306.33 T
+0 F
+(xp-listf) 108 284.33 T
+(onts-modes-supported) 137.75 284.33 T
+1 F
+(De\336nes the set of v) 198 272.33 T
+(alues that may be used to comprise the v) 274.96 272.33 T
+(alue of the) 436.91 272.33 T
+0 F
+(xp-listf) 481.62 272.33 T
+(onts-) 511.37 272.33 T
+(modes) 198 260.33 T
+1 F
+( document / page attrib) 225.22 260.33 T
+(ute. The v) 317.23 260.33 T
+(alue is a whitespace delimited list of) 357.25 260.33 T
+(listfonts mode v) 198 248.33 T
+(alues, which are de\336ned belo) 262.2 248.33 T
+(w) 378.31 248.33 T
+(.) 384.88 248.33 T
+0 F
+(xp-page-attrib) 108 226.33 T
+(utes-supported) 169.46 226.33 T
+1 F
+(A list of page attrib) 198 214.33 T
+(utes supported for the printer) 275.57 214.33 T
+(. This list is comprised of a set of) 391.11 214.33 T
+(whitespace-delimited attrib) 198 202.33 T
+(ute names.) 306.95 202.33 T
+0 F
+(xp-raw-f) 108 180.33 T
+(ormats-supported) 144.96 180.33 T
+1 F
+(This attrib) 198 168.33 T
+(ute identi\336es the set of data formats recognized as v) 239.19 168.33 T
+(alid v) 446.4 168.33 T
+(alues for the) 468.65 168.33 T
+(doc_fmt parameter of) 198 156.33 T
+0 F
+(PrintPutDocumentData) 287.14 156.33 T
+1 F
+(, when this function is called within) 388.79 156.33 T
+(a print document of type) 198 144.33 T
+0 F
+(XPDocRaw) 298.82 144.33 T
+1 F
+(.) 347.6 144.33 T
+(The v) 198 120.33 T
+(alue is a list of data formats. Each entry in the list is a structure comprised of) 220.8 120.33 T
+(the data format, an optional format v) 198 108.33 T
+(ariant, and an optional format v) 344.67 108.33 T
+(ersion. Structure) 470.61 108.33 T
+(v) 198 96.33 T
+(alues are enclosed by curly braces \322{}\323 and delimited by whitespace. V) 202.75 96.33 T
+(alid v) 487.83 96.33 T
+(alues) 510.08 96.33 T
+(are de\336ned based on the ph) 198 84.33 T
+(ysical printer\325) 307.09 84.33 T
+(s capabilities.) 362.36 84.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "16" 20
+%%Page: "17" 21
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(X Print Attrib) 72 746.67 T
+(utes) 157.26 746.67 T
+(17) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 10 Q
+(xp-setup-pr) 108 704.33 T
+(o) 157.82 704.33 T
+(viso) 162.72 704.33 T
+1 F
+(This attrib) 198 704.33 T
+(ute indicates whether or not a required attrib) 239.19 704.33 T
+(ute or set of attrib) 416.45 704.33 T
+(utes must be) 487.35 704.33 T
+(set prior to commencing the print job) 198 692.33 T
+(.) 346.48 692.33 T
+(V) 198 668.33 T
+(alid v) 204.11 668.33 T
+(alues for this attrib) 226.36 668.33 T
+(ute are) 301.43 668.33 T
+0 F
+(xp-setup-mandatory) 330.86 668.33 T
+1 F
+( and) 418.08 668.33 T
+0 F
+(xp-setup-optional) 437.52 668.33 T
+1 F
+(. If) 512.53 668.33 T
+(this attrib) 198 656.33 T
+(ute is not speci\336ed,) 235.86 656.33 T
+0 F
+(xp-setup-optional) 315.58 656.33 T
+1 F
+( is assumed.) 390.59 656.33 T
+(The initial v) 198 632.33 T
+(alue of the) 246.64 632.33 T
+0 F
+(xp-setup-pr) 291.35 632.33 T
+(o) 341.17 632.33 T
+(viso) 346.07 632.33 T
+1 F
+( attrib) 362.74 632.33 T
+(ute is typically set by the printer) 386.15 632.33 T
+(v) 198 620.33 T
+(endor in the model-con\336g \336le.) 202.85 620.33 T
+0 14 Q
+(3.4) 72 584.67 T
+(J) 108 584.67 T
+(ob Attrib) 114.79 584.67 T
+(utes) 170.12 584.67 T
+1 10 Q
+(The job attrib) 108 560.33 T
+(ute pool is identi\336ed by XPJobAttr and pro) 162.24 560.33 T
+(vides information on ho) 334.59 560.33 T
+(w to process a print job) 430.17 560.33 T
+(.) 523.37 560.33 T
+(T) 108 548.33 T
+(ypically) 113.31 548.33 T
+(, job attrib) 144.88 548.33 T
+(utes are set by the Print Dialog Manager based on user input from the setup dialog.) 186.07 548.33 T
+0 F
+(job-name) 108 530.33 T
+1 F
+(This is the name of the job to be used in subsequent processing and in printing) 198 530.33 T
+(banner pages. The v) 198 518.33 T
+(alue is free form te) 278.28 518.33 T
+(xt.) 353.66 518.33 T
+0 F
+(job-o) 108 496.33 T
+(wner) 130.12 496.33 T
+1 F
+(This attrib) 198 496.33 T
+(ute identi\336es the human o) 239.19 496.33 T
+(wner of the print job) 342.27 496.33 T
+(.) 424.08 496.33 T
+0 F
+(noti\336cation-pr) 108 474.33 T
+(o\336le) 169.49 474.33 T
+1 F
+(This attrib) 198 474.33 T
+(ute is a speci\336cation of e) 239.19 474.33 T
+(v) 338.09 474.33 T
+(ents about which the user is to be noti\336ed. The) 342.94 474.33 T
+(X Print service uses this attrib) 198 462.33 T
+(ute to determine whether or not to notify the user of) 318.07 462.33 T
+(print job completion via electronic mail, or in ISO DP) 198 450.33 T
+(A parlance, the X Print) 413.18 450.33 T
+(Service recognizes the) 198 438.33 T
+0 F
+(e) 290.47 438.33 T
+(v) 294.76 438.33 T
+(ent-r) 299.66 438.33 T
+(eport-job-completed) 320.58 438.33 T
+1 F
+( e) 407.78 438.33 T
+(v) 414.47 438.33 T
+(ent with a) 419.32 438.33 T
+0 F
+(deli) 461.26 438.33 T
+(v) 476.72 438.33 T
+(ery-method) 481.62 438.33 T
+1 F
+(of) 198 426.33 T
+0 F
+(electr) 208.83 426.33 T
+(onic-mail) 232.52 426.33 T
+1 F
+(.) 272.52 426.33 T
+(The v) 198 402.33 T
+(alues may be) 220.8 402.33 T
+0 F
+({{e) 275.51 402.33 T
+(v) 287.68 402.33 T
+(ent-r) 292.58 402.33 T
+(eport-job-completed} electr) 313.5 402.33 T
+(onic-mail}) 430.83 402.33 T
+1 F
+( to send an) 474.77 402.33 T
+(email message, and) 198 390.33 T
+0 F
+({}) 278.54 390.33 T
+1 F
+( if no message is to be sent. Serv) 286.42 390.33 T
+(ers may implement additional) 417.09 390.33 T
+(v) 198 378.33 T
+(alues.) 202.75 378.33 T
+0 F
+(xp-setup-state) 108 356.33 T
+1 F
+(If the v) 198 356.33 T
+(alue of the) 226.63 356.33 T
+0 F
+(xp-setup-pr) 271.34 356.33 T
+(o) 321.16 356.33 T
+(viso) 326.06 356.33 T
+1 F
+( printer attrib) 342.73 356.33 T
+(ute is) 395.3 356.33 T
+0 F
+(xp-setup-mandatory) 419.19 356.33 T
+1 F
+(, then) 505.76 356.33 T
+0 F
+(xp-setup-state) 198 344.33 T
+1 F
+( is used to indicate the current setup state as determined byX Print) 257.99 344.33 T
+(Serv) 198 332.33 T
+(er) 216.18 332.33 T
+(. If the v) 223.4 332.33 T
+(alue of) 257.03 332.33 T
+0 F
+(xp-setup-pr) 287.02 332.33 T
+(o) 336.84 332.33 T
+(viso) 341.74 332.33 T
+1 F
+( is) 358.41 332.33 T
+0 F
+(xp-setup-optional) 370.08 332.33 T
+1 F
+(, the v) 445.09 332.33 T
+(alue of) 469.56 332.33 T
+0 F
+(xp-setup-) 499.55 332.33 T
+(state) 198 320.33 T
+1 F
+( is ignored.) 217.99 320.33 T
+(V) 198 296.33 T
+(alid v) 204.11 296.33 T
+(alues for) 226.36 296.33 T
+0 F
+(xp-setup-state) 263.57 296.33 T
+1 F
+( are) 323.56 296.33 T
+0 F
+(xp-setup-ok) 340.77 296.33 T
+1 F
+( and) 391.33 296.33 T
+0 F
+(xp-setup-incomplete) 410.77 296.33 T
+1 F
+(.) 497.43 296.33 T
+0 F
+(xp-) 502.43 296.33 T
+(setup-ok) 198 284.33 T
+1 F
+( indicates that all attrib) 234.67 284.33 T
+(utes the print serv) 326.13 284.33 T
+(er requires the user to set are v) 397.36 284.33 T
+(alid,) 519.57 284.33 T
+(indicating a client may commence printing if desired.) 198 272.33 T
+0 F
+(xp-setup-incomplete) 414.36 272.33 T
+1 F
+(indicates that one or more attrib) 198 260.33 T
+(utes the dri) 325.28 260.33 T
+(v) 369.47 260.33 T
+(er requires are unspeci\336ed or in) 374.32 260.33 T
+(v) 500.27 260.33 T
+(alid;) 505.02 260.33 T
+(printing should not be attempted.) 198 248.33 T
+0 F
+(xp-spooler) 108 226.33 T
+(-command-options) 152.63 226.33 T
+1 F
+(A free form te) 198 214.33 T
+(xt string that will be included v) 254.77 214.33 T
+(erbatim on the command line used to) 379.62 214.33 T
+(in) 198 202.33 T
+(v) 205.38 202.33 T
+(ok) 210.18 202.33 T
+(e the spooler) 220.08 202.33 T
+(. V) 270.63 202.33 T
+(alid v) 281.74 202.33 T
+(alues are spooler) 303.99 202.33 T
+(-dependent.) 370.99 202.33 T
+0 F
+(xp-spooler) 108 180.33 T
+(-command-r) 152.63 180.33 T
+(esults) 205.77 180.33 T
+1 F
+(A free form te) 198 168.33 T
+(xt string that will contain the spooler command output that w) 254.77 168.33 T
+(ould) 499.11 168.33 T
+(otherwise appear on a terminal \050e.g. stderr and stdout\051. This te) 198 156.33 T
+(xt may be useful to) 446.41 156.33 T
+(present to the user to allo) 198 144.33 T
+(w tracking of the resulting spooler job) 298.57 144.33 T
+(. Applications should) 450.93 144.33 T
+(retrie) 198 132.33 T
+(v) 218.85 132.33 T
+(e this v) 223.7 132.33 T
+(alue follo) 252.34 132.33 T
+(wing receipt of the) 290.14 132.33 T
+0 F
+(XPEndJ) 367.9 132.33 T
+(obNotify) 403.87 132.33 T
+1 F
+( e) 441.09 132.33 T
+(v) 447.78 132.33 T
+(ent.) 452.63 132.33 T
+0 14 Q
+(3.5) 72 96.67 T
+(Document Attrib) 108 96.67 T
+(utes) 209.98 96.67 T
+1 10 Q
+-0.07 (The document attrib) 108 72.33 P
+-0.07 (ute pool is identi\336ed by XPDocAttr and indicates ho) 188.76 72.33 P
+-0.07 (w to process the current document.) 397.95 72.33 P
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "17" 21
+%%Page: "18" 22
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(18) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(X Print Attrib) 432.53 41.28 T
+(utes) 487.89 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(18) 72 749.33 T
+(X Print Attrib) 394.63 749.33 T
+(utes) 479.89 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 F
+0 X
+(content-orientation) 108 704.33 T
+1 F
+(Speci\336es the orientation to be used for this document. V) 198 704.33 T
+(alid v) 421.87 704.33 T
+(alues are:) 444.12 704.33 T
+0 F
+(portrait) 198 692.33 T
+1 F
+(,) 231.88 692.33 T
+0 F
+(landscape) 236.88 692.33 T
+1 F
+(,) 279.11 692.33 T
+0 F
+(r) 284.11 692.33 T
+(e) 288.37 692.33 T
+(v) 292.66 692.33 T
+(erse-portrait) 297.56 692.33 T
+1 F
+(, and) 351.98 692.33 T
+0 F
+(r) 373.92 692.33 T
+(e) 378.18 692.33 T
+(v) 382.47 692.33 T
+(erse-landscape) 387.37 692.33 T
+1 F
+(.) 450.14 692.33 T
+0 F
+(copy-count) 108 670.33 T
+1 F
+(Speci\336es the number of copies of this document to print.) 198 670.33 T
+(The def) 198 646.33 T
+(ault v) 228.72 646.33 T
+(alue is implicitly tak) 250.97 646.33 T
+(en to be) 332.82 646.33 T
+0 F
+(1) 366.98 646.33 T
+1 F
+( by the X Print Serv) 371.98 646.33 T
+(er) 451.55 646.33 T
+(.) 458.77 646.33 T
+0 F
+(default-printer) 108 624.33 T
+(-r) 171.51 624.33 T
+(esolution) 179.1 624.33 T
+1 F
+(Speci\336es the resolution in dots per inch to be used for this document.) 198 612.33 T
+0 F
+(default-input-tray) 108 590.33 T
+1 F
+(The name of the input tray from which media will be dra) 198 590.33 T
+(wn for printing the) 425.31 590.33 T
+(document. V) 198 578.33 T
+(alid v) 248.55 578.33 T
+(alues are:) 270.8 578.33 T
+0 F
+(top) 311.34 578.33 T
+1 F
+(,) 325.23 578.33 T
+0 F
+(middle) 330.23 578.33 T
+1 F
+(,) 359.68 578.33 T
+0 F
+(bottom) 364.68 578.33 T
+1 F
+(,) 395.23 578.33 T
+0 F
+(en) 400.23 578.33 T
+(v) 409.83 578.33 T
+(elope) 414.73 578.33 T
+1 F
+(,) 436.95 578.33 T
+0 F
+(manual) 441.95 578.33 T
+1 F
+(,) 474.18 578.33 T
+0 F
+(lar) 479.18 578.33 T
+(ge-) 491.3 578.33 T
+(capacity) 198 566.33 T
+1 F
+(,) 232.9 566.33 T
+0 F
+(main) 237.9 566.33 T
+1 F
+(, and) 259.57 566.33 T
+0 F
+(side) 281.51 566.33 T
+1 F
+(. If the) 298.18 566.33 T
+0 F
+(default-medium) 327.06 566.33 T
+1 F
+( attrib) 395.39 566.33 T
+(ute is speci\336ed, it will tak) 418.8 566.33 T
+(e) 521.48 566.33 T
+(precedence o) 198 554.33 T
+(v) 250.32 554.33 T
+(er) 255.17 554.33 T
+0 F
+(default-input-tray) 265.44 554.33 T
+1 F
+(.) 342.01 554.33 T
+0 F
+(default-medium) 108 532.33 T
+1 F
+(Speci\336es the medium on which the document is to be printed. The X Print Service) 198 532.33 T
+(de\336nes v) 198 520.33 T
+(alid) 233.58 520.33 T
+0 F
+(default-medium) 251.08 520.33 T
+1 F
+( v) 319.41 520.33 T
+(alues to be the standard v) 326.66 520.33 T
+(alues of the) 427.78 520.33 T
+0 F
+(medium-size) 476.38 520.33 T
+1 F
+(attrib) 198 508.33 T
+(ute as speci\336ed in ISO/IEC 10175-1.) 218.91 508.33 T
+0 F
+(document-f) 108 486.33 T
+(ormat) 156.63 486.33 T
+1 F
+(Speci\336es the format of the document. The v) 198 486.33 T
+(alue is a structure comprised of the) 373.28 486.33 T
+(document-format, an optional document-format-v) 198 474.33 T
+(ariant, and an optional document-) 397.16 474.33 T
+(format-v) 198 462.33 T
+(ersion. Speci\336c printer DDX dri) 232.84 462.33 T
+(v) 361.18 462.33 T
+(ers may require speci\336cation of the) 366.03 462.33 T
+(optional v) 198 450.33 T
+(alues. The structure v) 238.03 450.33 T
+(alues are enclosed by curly braces \322{}\323 and) 323.87 450.33 T
+(delimited by whitespace.) 198 438.33 T
+0 F
+(plex) 108 416.33 T
+1 F
+(Speci\336es the) 198 416.33 T
+0 F
+(plex) 251.33 416.33 T
+1 F
+( to be used for this document. V) 269.11 416.33 T
+(alid v) 396.32 416.33 T
+(alues are) 418.57 416.33 T
+0 F
+(simplex) 456.33 416.33 T
+1 F
+(,) 489.11 416.33 T
+0 F
+(duplex) 494.11 416.33 T
+1 F
+(,) 523.01 416.33 T
+(and) 198 404.33 T
+0 F
+(tumble) 214.94 404.33 T
+1 F
+(.) 244.94 404.33 T
+0 F
+(xp-listf) 108 382.33 T
+(onts-modes) 137.75 382.33 T
+1 F
+(The v) 198 382.33 T
+(alue of this attrib) 220.8 382.33 T
+(ute controls the beha) 288.65 382.33 T
+(vior of) 371.49 382.33 T
+0 F
+(ListF) 400.93 382.33 T
+(onts) 423.46 382.33 T
+1 F
+( and) 441.24 382.33 T
+0 F
+(ListF) 198 370.33 T
+(ontsW) 220.53 370.33 T
+(ithInf) 248.13 370.33 T
+(o) 272.33 370.33 T
+1 F
+( when a print conte) 277.33 370.33 T
+(xt has been set. The v) 353.83 370.33 T
+(alue is a whitespace) 440.23 370.33 T
+(delimited list of one or more listfonts mode v) 198 358.33 T
+(alues. V) 378.86 358.33 T
+(alid listfonts mode v) 410.52 358.33 T
+(alues) 492.22 358.33 T
+(include) 198 346.33 T
+0 F
+(xp-list-inter) 229.94 346.33 T
+(nal-printer) 280.34 346.33 T
+(-f) 327.19 346.33 T
+(onts) 333.6 346.33 T
+1 F
+( and) 351.38 346.33 T
+0 F
+(xp-list-glyph-f) 370.82 346.33 T
+(onts) 431.13 346.33 T
+1 F
+(.) 448.91 346.33 T
+(When a print conte) 198 322.33 T
+(xt is set on a display connection, the def) 274.22 322.33 T
+(ault beha) 434.38 322.33 T
+(vior of) 470.56 322.33 T
+0 F
+(ListF) 198 310.33 T
+(onts) 220.53 310.33 T
+1 F
+( and) 238.31 310.33 T
+0 F
+(ListF) 257.75 310.33 T
+(ontsW) 280.28 310.33 T
+(ithInf) 307.88 310.33 T
+(o) 332.08 310.33 T
+1 F
+( is to list all of the fonts normally associated with) 337.08 310.33 T
+(the X print serv) 198 298.33 T
+(er \050i.e. fonts containing glyphs\051 as well as an) 260.34 298.33 T
+(y internal printer fonts) 439.05 298.33 T
+(de\336ned for the printer) 198 286.33 T
+(. The) 284.93 286.33 T
+0 F
+(xp-listf) 307.98 286.33 T
+(onts-modes) 337.73 286.33 T
+1 F
+( attrib) 386.06 286.33 T
+(ute is pro) 409.47 286.33 T
+(vided so that) 446.54 286.33 T
+(applications can control the beha) 198 274.33 T
+(vior of) 329.44 274.33 T
+0 F
+(ListF) 358.88 274.33 T
+(onts) 381.41 274.33 T
+1 F
+( and) 399.19 274.33 T
+0 F
+(ListF) 418.63 274.33 T
+(ontsW) 441.16 274.33 T
+(ithInf) 468.76 274.33 T
+(o) 492.96 274.33 T
+1 F
+(and is) 500.46 274.33 T
+(typically to sho) 198 262.33 T
+(w just internal printer fonts. Using only internal printer fonts is) 259.42 262.33 T
+(useful for performance reasons; the glyphs associated with the font are contained) 198 250.33 T
+(within the printer and do not ha) 198 238.33 T
+(v) 323.9 238.33 T
+(e to be do) 328.75 238.33 T
+(wnloaded to it.) 367.66 238.33 T
+(If the v) 198 214.33 T
+(alue of) 226.63 214.33 T
+0 F
+(xp-listf) 256.62 214.33 T
+(onts-modes) 286.37 214.33 T
+1 F
+( includes) 334.7 214.33 T
+0 F
+(xp-list-glyph-f) 373.03 214.33 T
+(onts,) 433.34 214.33 T
+(ListF) 456.12 214.33 T
+(onts) 478.65 214.33 T
+1 F
+( and) 496.43 214.33 T
+0 F
+(ListF) 198 202.33 T
+(ontsW) 220.53 202.33 T
+(ithInf) 248.13 202.33 T
+(o) 272.33 202.33 T
+1 F
+( will include all of the fonts a) 277.33 202.33 T
+(v) 394.62 202.33 T
+(ailable to the serv) 399.37 202.33 T
+(er which ha) 470.04 202.33 T
+(v) 516.49 202.33 T
+(e) 521.34 202.33 T
+(glyphs associated with them. If the v) 198 190.33 T
+(alue of) 344.68 190.33 T
+0 F
+(xp-listf) 374.67 190.33 T
+(onts-modes) 404.42 190.33 T
+1 F
+( includes) 452.75 190.33 T
+0 F
+(xp-list-) 491.08 190.33 T
+(inter) 198 178.33 T
+(nal-printer) 218.4 178.33 T
+(-f) 265.25 178.33 T
+(onts,) 271.66 178.33 T
+1 F
+( then) 291.94 178.33 T
+0 F
+(ListF) 314.16 178.33 T
+(onts) 336.69 178.33 T
+1 F
+( and) 354.47 178.33 T
+0 F
+(ListF) 373.91 178.33 T
+(ontsW) 396.44 178.33 T
+(ithInf) 424.04 178.33 T
+(o) 448.24 178.33 T
+1 F
+( will include all of) 453.24 178.33 T
+(the fonts de\336ned as internal printer fonts.) 198 166.33 T
+0 14 Q
+(3.6) 72 130.67 T
+(P) 108 130.67 T
+(age Attrib) 116.41 130.67 T
+(utes) 177.17 130.67 T
+1 10 Q
+-0.25 (The page attrib) 108 106.33 P
+-0.25 (ute pool is identi\336ed by XPP) 167.83 106.33 P
+-0.25 (ageAttr) 281.7 106.33 P
+-0.25 (. These are document attrib) 311.14 106.33 P
+-0.25 (utes that can be o) 419.07 106.33 P
+-0.25 (v) 487.34 106.33 P
+-0.25 (erridden on) 492.19 106.33 P
+(a page by page basis within the X Print Service.) 108 94.33 T
+(The def) 108 70.33 T
+(ault for each page attrib) 138.72 70.33 T
+(ute is the current v) 233.49 70.33 T
+(alue of the corresponding document attrib) 307.67 70.33 T
+(ute.) 474.94 70.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "18" 22
+%%Page: "19" 23
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(X Print Attrib) 72 746.67 T
+(utes) 157.26 746.67 T
+(19) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 10 Q
+(content-orientation) 108 704.33 T
+1 F
+(Speci\336es the orientation to be used for this page. V) 198 704.33 T
+(alid v) 401.31 704.33 T
+(alues are:) 423.56 704.33 T
+0 F
+(portrait) 198 692.33 T
+1 F
+(,) 231.88 692.33 T
+0 F
+(landscape) 236.88 692.33 T
+1 F
+(,) 279.11 692.33 T
+0 F
+(r) 284.11 692.33 T
+(e) 288.37 692.33 T
+(v) 292.66 692.33 T
+(erse-portrait) 297.56 692.33 T
+1 F
+(, and) 351.98 692.33 T
+0 F
+(r) 373.92 692.33 T
+(e) 378.18 692.33 T
+(v) 382.47 692.33 T
+(erse-landscape) 387.37 692.33 T
+1 F
+(.) 450.14 692.33 T
+0 F
+(default-printer) 108 670.33 T
+(-r) 171.51 670.33 T
+(esolution) 179.1 670.33 T
+1 F
+(Speci\336es the resolution in dots per inch to be used for this page.) 198 658.33 T
+0 F
+(default-input-tray) 108 636.33 T
+1 F
+(The name of the input tray from which media will be dra) 198 636.33 T
+(wn for printing the) 425.31 636.33 T
+(document. V) 198 624.33 T
+(alid v) 248.55 624.33 T
+(alues are:) 270.8 624.33 T
+0 F
+(top) 311.34 624.33 T
+1 F
+(,) 325.23 624.33 T
+0 F
+(middle) 330.23 624.33 T
+1 F
+(,) 359.68 624.33 T
+0 F
+(bottom) 364.68 624.33 T
+1 F
+(,) 395.23 624.33 T
+0 F
+(en) 400.23 624.33 T
+(v) 409.83 624.33 T
+(elope) 414.73 624.33 T
+1 F
+(,) 436.95 624.33 T
+0 F
+(manual) 441.95 624.33 T
+1 F
+(,) 474.18 624.33 T
+0 F
+(lar) 479.18 624.33 T
+(ge-) 491.3 624.33 T
+(capacity) 198 612.33 T
+1 F
+(,) 232.9 612.33 T
+0 F
+(main) 237.9 612.33 T
+1 F
+(, and) 259.57 612.33 T
+0 F
+(side) 281.51 612.33 T
+1 F
+(. If the) 298.18 612.33 T
+0 F
+(default-medium) 327.06 612.33 T
+1 F
+( attrib) 395.39 612.33 T
+(ute is speci\336ed, it will tak) 418.8 612.33 T
+(e) 521.48 612.33 T
+(precedence o) 198 600.33 T
+(v) 250.32 600.33 T
+(er) 255.17 600.33 T
+0 F
+(default-input-tray) 265.44 600.33 T
+1 F
+(.) 342.01 600.33 T
+0 F
+(default-medium) 108 578.33 T
+1 F
+(Speci\336es the medium on which the document is to be printed. The X Print Service) 198 578.33 T
+(de\336nes v) 198 566.33 T
+(alid) 233.58 566.33 T
+0 F
+(default-medium) 251.08 566.33 T
+1 F
+( v) 319.41 566.33 T
+(alues to be the standard v) 326.66 566.33 T
+(alues of the) 427.78 566.33 T
+0 F
+(medium-size) 476.38 566.33 T
+1 F
+(attrib) 198 554.33 T
+(ute as speci\336ed in ISO/IEC 10175-1.) 218.91 554.33 T
+0 F
+(plex) 108 532.33 T
+1 F
+(Speci\336es the) 198 532.33 T
+0 F
+(plex) 251.33 532.33 T
+1 F
+( to be used for this document. V) 269.11 532.33 T
+(alid v) 396.32 532.33 T
+(alues are) 418.57 532.33 T
+0 F
+(simplex) 456.33 532.33 T
+1 F
+(,) 489.11 532.33 T
+0 F
+(duplex) 494.11 532.33 T
+1 F
+(,) 523.01 532.33 T
+(and) 198 520.33 T
+0 F
+(tumble) 214.94 520.33 T
+1 F
+(.) 244.94 520.33 T
+0 F
+(xp-listf) 108 498.33 T
+(onts-modes) 137.75 498.33 T
+1 F
+(The v) 198 498.33 T
+(alue of this attrib) 220.8 498.33 T
+(ute controls the beha) 288.65 498.33 T
+(vior of) 371.49 498.33 T
+0 F
+(ListF) 400.93 498.33 T
+(onts) 423.46 498.33 T
+1 F
+( and) 441.24 498.33 T
+0 F
+(ListF) 198 486.33 T
+(ontsW) 220.53 486.33 T
+(ithInf) 248.13 486.33 T
+(o) 272.33 486.33 T
+1 F
+( when a print conte) 277.33 486.33 T
+(xt has been set. The v) 353.83 486.33 T
+(alue is a whitespace) 440.23 486.33 T
+(delimited list of one or more listfonts mode v) 198 474.33 T
+(alues. V) 378.86 474.33 T
+(alid listfonts mode v) 410.52 474.33 T
+(alues) 492.22 474.33 T
+(include) 198 462.33 T
+0 F
+(xp-list-inter) 229.94 462.33 T
+(nal-printer) 280.34 462.33 T
+(-f) 327.19 462.33 T
+(onts) 333.6 462.33 T
+1 F
+( and) 351.38 462.33 T
+0 F
+(xp-list-glyph-f) 370.82 462.33 T
+(onts) 431.13 462.33 T
+1 F
+(.) 448.91 462.33 T
+(When a print conte) 198 438.33 T
+(xt is set on a display connection, the def) 274.22 438.33 T
+(ault beha) 434.38 438.33 T
+(vior of) 470.56 438.33 T
+0 F
+(ListF) 198 426.33 T
+(onts) 220.53 426.33 T
+1 F
+( and) 238.31 426.33 T
+0 F
+(ListF) 257.75 426.33 T
+(ontsW) 280.28 426.33 T
+(ithInf) 307.88 426.33 T
+(o) 332.08 426.33 T
+1 F
+( is to list all of the fonts normally associated with) 337.08 426.33 T
+(the X print serv) 198 414.33 T
+(er \050i.e. fonts containing glyphs\051 as well as an) 260.34 414.33 T
+(y internal printer fonts) 439.05 414.33 T
+(de\336ned for the printer) 198 402.33 T
+(. The) 284.93 402.33 T
+0 F
+(xp-listf) 307.98 402.33 T
+(onts-modes) 337.73 402.33 T
+1 F
+( attrib) 386.06 402.33 T
+(ute is pro) 409.47 402.33 T
+(vided so that) 446.54 402.33 T
+(applications can control the beha) 198 390.33 T
+(vior of) 329.44 390.33 T
+0 F
+(ListF) 358.88 390.33 T
+(onts) 381.41 390.33 T
+1 F
+( and) 399.19 390.33 T
+0 F
+(ListF) 418.63 390.33 T
+(ontsW) 441.16 390.33 T
+(ithInf) 468.76 390.33 T
+(o) 492.96 390.33 T
+1 F
+(and is) 500.46 390.33 T
+(typically to sho) 198 378.33 T
+(w just internal printer fonts. Using only internal printer fonts is) 259.42 378.33 T
+(useful for performance reasons; the glyphs associated with the font are contained) 198 366.33 T
+(within the printer and do not ha) 198 354.33 T
+(v) 323.9 354.33 T
+(e to be do) 328.75 354.33 T
+(wnloaded to it.) 367.66 354.33 T
+(If the v) 198 330.33 T
+(alue of) 226.63 330.33 T
+0 F
+(xp-listf) 256.62 330.33 T
+(onts-modes) 286.37 330.33 T
+1 F
+( includes) 334.7 330.33 T
+0 F
+(xp-list-glyph-f) 373.03 330.33 T
+(onts,) 433.34 330.33 T
+(ListF) 456.12 330.33 T
+(onts) 478.65 330.33 T
+1 F
+( and) 496.43 330.33 T
+0 F
+(ListF) 198 318.33 T
+(ontsW) 220.53 318.33 T
+(ithInf) 248.13 318.33 T
+(o) 272.33 318.33 T
+1 F
+( will include all of the fonts a) 277.33 318.33 T
+(v) 394.62 318.33 T
+(ailable to the serv) 399.37 318.33 T
+(er which ha) 470.04 318.33 T
+(v) 516.49 318.33 T
+(e) 521.34 318.33 T
+(glyphs associated with them. If the v) 198 306.33 T
+(alue of) 344.68 306.33 T
+0 F
+(xp-listf) 374.67 306.33 T
+(onts-modes) 404.42 306.33 T
+1 F
+( includes) 452.75 306.33 T
+0 F
+(xp-list-) 491.08 306.33 T
+(inter) 198 294.33 T
+(nal-printer) 218.4 294.33 T
+(-f) 265.25 294.33 T
+(onts,) 271.66 294.33 T
+1 F
+( then) 291.94 294.33 T
+0 F
+(ListF) 314.16 294.33 T
+(onts) 336.69 294.33 T
+1 F
+( and) 354.47 294.33 T
+0 F
+(ListF) 373.91 294.33 T
+(ontsW) 396.44 294.33 T
+(ithInf) 424.04 294.33 T
+(o) 448.24 294.33 T
+1 F
+( will include all of) 453.24 294.33 T
+(the fonts de\336ned as internal printer fonts.) 198 282.33 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "19" 23
+%%Page: "20" 24
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(20) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+-0.5 (Communication with the Print Dialog) 352.88 41.28 P
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(20) 72 749.33 T
+(Communication with the Print Dialog Manager) 220.51 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 18 Q
+0 X
+(4) 72 699 T
+(Communication with the Print Dialog Manager) 108 699 T
+1 10 Q
+(Print Dialog Managers \050PDMs\051 pro) 108 666.33 T
+(vide users with a graphical interf) 249.5 666.33 T
+(ace to specify printer) 380.76 666.33 T
+(-speci\336c and) 464.7 666.33 T
+(spooler) 108 654.33 T
+(-speci\336c information. This section describes the interaction between X Print Service and PDMs.) 137.24 654.33 T
+(F) 108 630.33 T
+(or each serv) 113.41 630.33 T
+(er w) 161.57 630.33 T
+(anting to use print dialog services, a Print Dialog Manager acquires o) 178.96 630.33 T
+(wnership of a selec-) 455.89 630.33 T
+(tion named PDM_MAN) 108 618.33 T
+(A) 204.87 618.33 T
+(GER on the def) 211.69 618.33 T
+(ault root windo) 274.08 618.33 T
+(w \050a dif) 334.94 618.33 T
+(ferent name can be used, as long as it is) 365.79 618.33 T
+(kno) 108 606.33 T
+(wn to both the client and the PDM\051. Print Dialog Managers should comply with the con) 122.75 606.33 T
+(v) 473.44 606.33 T
+(entions for) 478.29 606.33 T
+(\322Manager Selections\323 described in section 2.8 of the) 108 594.33 T
+2 F
+( Inter) 318.51 594.33 T
+(-Client Communication Con) 340.25 594.33 T
+(ventions Manual) 453.19 594.33 T
+1 F
+(\050ICCCM\051. A printing client establishes a print conte) 108 582.33 T
+(xt, and then requests services of the Print Dialog Man-) 316.17 582.33 T
+(ager by issuing con) 108 570.33 T
+(v) 185.09 570.33 T
+(ersion requests on this selection.) 189.94 570.33 T
+(Print Dialog Managers should support con) 108 546.33 T
+(v) 277.31 546.33 T
+(ersion of the follo) 282.16 546.33 T
+(wing tar) 353.29 546.33 T
+(gets on their manager selection:) 386.16 546.33 T
+0 14 Q
+( The PDM_ST) 72 454.67 T
+(AR) 157.08 454.67 T
+(T Selection T) 176.73 454.67 T
+(ar) 254.78 454.67 T
+(get) 267.86 454.67 T
+1 10 Q
+-0.17 (The PDM_ST) 108 430.33 P
+-0.17 (AR) 163.29 430.33 P
+-0.17 (T tar) 176.58 430.33 P
+-0.17 (get is parametized \050ICCCM section 2.2\051, and the property named in the) 195.39 430.33 P
+0 F
+-0.17 (Con) 480.52 430.33 P
+-0.17 (v) 497.9 430.33 P
+-0.17 (ertSelec-) 502.8 430.33 P
+(tion) 108 418.33 T
+1 F
+( request contains the follo) 124.67 418.33 T
+(wing list of information:) 227.74 418.33 T
+-0.27 (The PDM_ST) 108 246.33 P
+-0.27 (AR) 163.19 246.33 P
+-0.27 (T tar) 176.48 246.33 P
+-0.27 (get has a side ef) 195.19 246.33 P
+-0.27 (fect \050ICCCM, section 2.6.3\051. The PDM interprets the parameters listed) 257.73 246.33 P
+(abo) 108 234.33 T
+(v) 122.29 234.33 T
+(e and pro) 127.14 234.33 T
+(vides a user interf) 164.2 234.33 T
+(ace dialog on behalf of the client in which the user can modify attrib) 235.47 234.33 T
+(utes on) 508.83 234.33 T
+(the print-conte) 108 222.33 T
+(xt on the print-display pro) 166.45 222.33 T
+(vided.) 270.74 222.33 T
+-0.09 (The PDM will use the video-display) 108 198.33 P
+-0.09 (, video-windo) 252.19 198.33 P
+-0.09 (w) 307.4 198.33 P
+-0.09 (, and locale parameters to con\336gure and manage its user) 313.97 198.33 P
+(interf) 108 186.33 T
+(ace.) 129.56 186.33 T
+(The selection reply is placed in the property pro) 108 162.33 T
+(vided, where type is A) 299.48 162.33 T
+(T) 388.63 162.33 T
+(OM, format is 32, and the data con-) 394.56 162.33 T
+(sists of a single A) 108 150.33 T
+(T) 178 150.33 T
+(OM element:) 183.93 150.33 T
+(A) 114 508.33 T
+(T) 120.11 508.33 T
+(OM) 126.04 508.33 T
+(D) 186 508.33 T
+(A) 192.82 508.33 T
+(T) 198.93 508.33 T
+(A RECEIVED) 204.11 508.33 T
+(PDM_ST) 114 492.33 T
+(AR) 151.41 492.33 T
+(T) 164.7 492.33 T
+(Request that a dialog be managed for a particular print conte) 186 492.33 T
+(xt) 428.02 492.33 T
+(P) 114 380.33 T
+(ARAMETER) 118.64 380.33 T
+(FORMA) 186 380.33 T
+(T) 220.45 380.33 T
+(DESCRIPTION) 294 380.33 T
+(video-display) 114 364.33 T
+(\322host:port[.screen]\323) 186 364.33 T
+(X display of video serv) 294 364.33 T
+(er) 387.17 364.33 T
+(video-windo) 114 348.33 T
+(w) 164.3 348.33 T
+(\3220x12345678\323) 186 348.33 T
+(W) 294 348.33 T
+(indo) 303.04 348.33 T
+(w to act as parent of PDM dialog) 320.57 348.33 T
+(print-display) 114 332.33 T
+(\322host:port[.screen]\323) 186 332.33 T
+(X display of print serv) 294 332.33 T
+(er) 383.84 332.33 T
+(print-windo) 114 316.33 T
+(w) 160.97 316.33 T
+(\3220x12345678\323) 186 316.33 T
+(W) 294 316.33 T
+(indo) 303.04 316.33 T
+(w on print serv) 320.57 316.33 T
+(er for subsequent) 380.69 316.33 T
+(communication) 294 304.33 T
+(print-conte) 114 288.33 T
+(xt) 157.73 288.33 T
+(\3220x12345678\323) 186 288.33 T
+(Conte) 294 288.33 T
+(xt of print job) 317.74 288.33 T
+(locale) 114 272.33 T
+(\322C\323) 186 272.33 T
+(Hint to PDM re) 294 272.33 T
+(g) 356.35 272.33 T
+(arding the locale) 361.3 272.33 T
+(A) 114 112.33 T
+(T) 120.11 112.33 T
+(OM) 126.04 112.33 T
+(DESCRIPTION) 258 112.33 T
+(PDM_ST) 114 96.33 T
+(AR) 151.41 96.33 T
+(T_OK) 164.7 96.33 T
+(The PDM w) 258 96.33 T
+(as started successfully) 307.34 96.33 T
+(PDM_ST) 114 80.33 T
+(AR) 151.41 80.33 T
+(T_VXA) 164.7 80.33 T
+(UTH) 196.92 80.33 T
+(The PDM w) 258 80.33 T
+(as not authorized to connect to video-display) 307.34 80.33 T
+108 503 468 503 2 L
+V
+0.5 H
+0 Z
+N
+108 375 468 375 2 L
+V
+N
+108 107 540 107 2 L
+V
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "20" 24
+%%Page: "21" 25
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Communication with the Print Dialog Manager) 72 746.67 T
+(21) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(If the PDM starts successfully) 108 660.33 T
+(, once the user completes the PDM dialog, the PDM \336nishes communication) 227.89 660.33 T
+(with the client by sending a ClientMessage to print-windo) 108 648.33 T
+(w on the print-display) 339.96 648.33 T
+(.) 427.36 648.33 T
+-0.05 (The type of this ClientMessage is \322PDM_REPL) 108 624.33 P
+-0.05 (Y\323, its format is 32, and the data consists of a single A) 298.92 624.33 P
+-0.05 (T) 515.51 624.33 P
+-0.05 (OM) 521.44 624.33 P
+(element:) 108 612.33 T
+(PDM_ST) 114 700.33 T
+(AR) 151.41 700.33 T
+(T_PXA) 164.7 700.33 T
+(UTH) 195.26 700.33 T
+(The PDM w) 258 700.33 T
+(as not authorized to connect to print-display) 307.34 700.33 T
+(PDM_ST) 114 684.33 T
+(AR) 151.41 684.33 T
+(T_ERR) 164.7 684.33 T
+(OR) 194.86 684.33 T
+(The PDM encountered an error) 258 684.33 T
+(A) 114 574.33 T
+(T) 120.11 574.33 T
+(OM) 126.04 574.33 T
+(DESCRIPTION) 258 574.33 T
+(PDM_EXIT_OK) 114 558.33 T
+(The user selected \322OK\323. The PDM may or may not ha) 258 558.33 T
+(v) 475.25 558.33 T
+(e changed) 480.1 558.33 T
+(an) 258 546.33 T
+(y attrib) 267.29 546.33 T
+(utes.) 295.7 546.33 T
+(PDM_EXIT_CANCEL) 114 530.33 T
+-0.29 (The user selected \322Cancel\323. Attrib) 258 530.33 P
+-0.29 (utes ha) 394.09 530.33 P
+-0.29 (v) 421.65 530.33 P
+-0.29 (e been left in the state the) 426.5 530.33 P
+-0.29 (y) 526.79 530.33 P
+(were in before communication be) 258 518.33 T
+(g) 392.26 518.33 T
+(an.) 397.21 518.33 T
+(PDM_EXIT_VXA) 114 502.33 T
+(UTH) 189.55 502.33 T
+(The PDM w) 258 502.33 T
+(as not authorized to connect to video-display) 307.34 502.33 T
+(PDM_EXIT_PXA) 114 486.33 T
+(UTH) 187.89 486.33 T
+(The PDM w) 258 486.33 T
+(as not authorized to connect to print-display) 307.34 486.33 T
+(PDM_EXIT_ERR) 114 470.33 T
+(OR) 187.49 470.33 T
+(The PDM encountered an error) 258 470.33 T
+108 569 540 569 2 L
+V
+0.5 H
+0 Z
+N
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "21" 25
+%%Page: "22" 26
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(22) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(22) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 18 Q
+0 X
+(5) 72 699 T
+(Pr) 108 699 T
+(otocol Encoding) 126.67 699 T
+1 10 Q
+(The follo) 108 666.33 T
+(wing sections describe protocol encoding for X Print Extension Protocol requests, e) 144.69 666.33 T
+(v) 479.4 666.33 T
+(ents, and) 484.25 666.33 T
+(errors.) 108 654.33 T
+0 14 Q
+(5.1) 72 618.67 T
+(Request Pr) 108 618.67 T
+(otocol Encoding) 174.23 618.67 T
+0 12 Q
+(PrintQueryV) 108 563 T
+(ersion) 174.79 563 T
+3 10 Q
+(\256) 100.8 472.33 T
+0 12 Q
+(PrintGetPrinterList) 108 322 T
+3 10 Q
+(\256) 100.8 153.33 T
+1 9 Q
+(1) 114 522 T
+(base) 168 522 T
+(major im) 306.56 522 T
+(1) 114 509 T
+(0) 168 509 T
+(minor opcode) 306.56 509 T
+(2) 114 496 T
+(1) 168 496 T
+(request length) 306.56 496 T
+(1) 114 457 T
+(1) 168 457 T
+(Reply) 306.56 457 T
+(1) 114 444 T
+(unused) 168 444 T
+(2) 114 431 T
+(CARD16) 168 431 T
+(sequence number) 306.56 431 T
+(4) 114 418 T
+(0) 168 418 T
+(reply length) 306.56 418 T
+(2) 114 405 T
+(CARD16) 168 405 T
+(major) 306.56 405 T
+(-v) 327.38 405 T
+(ersion) 334.74 405 T
+(2) 114 392 T
+(CARD16) 168 392 T
+(minor) 306.56 392 T
+(-v) 327.88 392 T
+(ersion) 335.24 392 T
+(20) 114 379 T
+(unused) 168 379 T
+(1) 114 281 T
+(base) 168 281 T
+(major opcode) 306.56 281 T
+(1) 114 268 T
+(1) 168 268 T
+(minor opcode) 306.56 268 T
+(2) 114 255 T
+(3+\050nl+np + ll+lp\051/4) 168 255 T
+(request length) 306.56 255 T
+(4) 114 242 T
+(CARD32) 168 242 T
+(printerNameLen) 306.56 242 T
+(4) 114 229 T
+(CARD32) 168 229 T
+(localeLen) 306.56 229 T
+(nl) 114 216 T
+(STRING8) 168 216 T
+(printer) 306.56 216 T
+(-name) 330.38 216 T
+(np) 114 203 T
+(BYTE) 168 203 T
+(p=pad\050nl\051) 306.56 203 T
+(ll) 114 190 T
+(STRING8) 168 190 T
+(locale) 306.56 190 T
+(lp) 114 177 T
+(BYTE) 168 177 T
+(lp=pad\050ll\051) 306.56 177 T
+(1) 114 116 T
+(1) 168 116 T
+(Reply) 306.56 116 T
+(1) 114 103 T
+(unused) 306.56 103 T
+(2) 114 90 T
+(CARD16) 168 90 T
+(sequenceNumber) 306.56 90 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "22" 26
+%%Page: "23" 27
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocol Encoding) 86.52 746.67 T
+(23) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(PrintRehashPrinterList) 108 439 T
+(PrintCr) 108 315 T
+(eateContext) 148.44 315 T
+1 9 Q
+(4) 114 703 T
+( \0508 + nl+nlp + dl+dlp\051/4 computed) 168 703 T
+(listCount times) 168 692 T
+(length) 306.56 703 T
+(4) 114 679 T
+(CARD32) 168 679 T
+(listCount) 306.56 679 T
+(20) 114 666 T
+(unused) 306.56 666 T
+( \0508 +) 114 653 T
+(nl+nlp +) 114 642 T
+(dl+dlp\051) 114 631 T
+(computed) 114 620 T
+(listCount) 114 609 T
+(times) 114 598 T
+(LIST) 168 653 T
+(ofPRINTER) 186.28 653 T
+(printers) 306.56 653 T
+(PRINTER) 114 572 T
+(4) 114 559 T
+(CARD32) 168 559 T
+(nameLen) 306.56 559 T
+(nl) 114 546 T
+(STRING8) 168 546 T
+(name) 306.56 546 T
+(nlp) 114 533 T
+(BYTE) 168 533 T
+(nlp=pad\050nl\051) 306.56 533 T
+(4) 114 520 T
+(CARD32) 168 520 T
+(descLen) 306.56 520 T
+(dl) 114 507 T
+(STRING8) 168 507 T
+(description) 306.56 507 T
+(dlp) 114 494 T
+(BYTE) 168 494 T
+(dlp=pad\050dl\051) 306.56 494 T
+(1) 114 398 T
+(base) 168 398 T
+(major opcode) 306.56 398 T
+(1) 114 385 T
+(20) 168 385 T
+(minor opcode) 306.56 385 T
+(2) 114 372 T
+(1) 168 372 T
+(request length) 306.56 372 T
+(1) 114 274 T
+(base) 168 274 T
+(major opcode) 306.56 274 T
+(1) 114 261 T
+(2) 168 261 T
+(minor opcode) 306.56 261 T
+(2) 114 248 T
+(4 + \050nl+np + ll+lp\051/4) 168 248 T
+(request length) 306.56 248 T
+(4) 114 235 T
+(CARD32) 168 235 T
+(conte) 306.56 235 T
+(xt-id) 325.92 235 T
+(4) 114 222 T
+(CARD32) 168 222 T
+(printerNameLen) 306.56 222 T
+(4) 114 209 T
+(CARD32) 168 209 T
+(localeLen) 306.56 209 T
+(nl) 114 196 T
+(STRING8) 168 196 T
+(printer) 306.56 196 T
+(-name) 330.38 196 T
+(np) 114 183 T
+(BYTE\051) 168 183 T
+(np=pad\050nl\051) 306.56 183 T
+(ll) 114 170 T
+(STRING8) 168 170 T
+(locale) 306.56 170 T
+(lp) 114 157 T
+(BYTE) 168 157 T
+(lp=pad\050ll\051) 306.56 157 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "23" 27
+%%Page: "24" 28
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(24) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(24) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 12 Q
+0 X
+(PrintSetContext) 108 703 T
+(PrintGetContext) 108 566 T
+3 10 Q
+(\256) 100.8 475.33 T
+0 12 Q
+(PrintDestr) 108 316 T
+(oyContext) 162.43 316 T
+(PrintGetScr) 108 179 T
+(eenofContext) 170.44 179 T
+3 10 Q
+(\256) 100.8 88.33 T
+1 9 Q
+(1) 114 662 T
+(base) 168 662 T
+(major opcode) 306.56 662 T
+(1) 114 649 T
+(3) 168 649 T
+(minor opcode) 306.56 649 T
+(2) 114 636 T
+(2) 168 636 T
+(request length) 306.56 636 T
+(4) 114 623 T
+(CARD32) 168 623 T
+(conte) 306.56 623 T
+(xt) 325.92 623 T
+(1) 114 525 T
+(base) 168 525 T
+(major opcode) 306.56 525 T
+(1) 114 512 T
+(4) 168 512 T
+(minor opcode) 306.56 512 T
+(2) 114 499 T
+(1) 168 499 T
+(request length) 306.56 499 T
+(1) 114 438 T
+(1) 168 438 T
+(Reply) 306.56 438 T
+(1) 114 425 T
+(unused) 306.56 425 T
+(2) 114 412 T
+(CARD16) 168 412 T
+(sequence number) 306.56 412 T
+(4) 114 399 T
+(0) 168 399 T
+(reply length) 306.56 399 T
+(4) 114 386 T
+(CARD32) 168 386 T
+(conte) 306.56 386 T
+(xt) 325.92 386 T
+(16) 114 373 T
+(unused) 306.56 373 T
+(1) 114 275 T
+(base) 168 275 T
+(major opcode) 306.56 275 T
+(1) 114 262 T
+(5) 168 262 T
+(minor opcode) 306.56 262 T
+(2) 114 249 T
+(2) 168 249 T
+(request length) 306.56 249 T
+(4) 114 236 T
+(CARD32) 168 236 T
+(conte) 306.56 236 T
+(xt) 325.92 236 T
+(1) 114 138 T
+(base) 168 138 T
+(major opcode) 306.56 138 T
+(1) 114 125 T
+(6) 168 125 T
+(minor opcode) 306.56 125 T
+(2) 114 112 T
+(1) 168 112 T
+(request length) 306.56 112 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "24" 28
+%%Page: "25" 29
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocol Encoding) 86.52 746.67 T
+(25) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(PrintStartJ) 108 561 T
+(ob) 166.48 561 T
+(PrintEndJ) 108 411 T
+(ob) 161.83 411 T
+(PrintStartDoc) 108 261 T
+1 9 Q
+(1) 114 683 T
+(1) 203.26 683 T
+(Reply) 341.82 683 T
+(1) 114 670 T
+(unused) 341.82 670 T
+(2) 114 657 T
+(CARD16) 203.26 657 T
+(sequence number) 341.82 657 T
+(4) 114 644 T
+(0) 203.26 644 T
+(reply length) 341.82 644 T
+(4) 114 631 T
+(WINDO) 203.26 631 T
+(W) 233.93 631 T
+(root) 341.82 631 T
+(16) 114 618 T
+(unused) 341.82 618 T
+(1) 114 520 T
+(base) 168 520 T
+(major opcode) 306.56 520 T
+(1) 114 507 T
+(7) 168 507 T
+(minor opcode) 306.56 507 T
+(2) 114 494 T
+(2) 168 494 T
+(request length) 306.56 494 T
+(1) 114 481 T
+(CARD8) 168 481 T
+(output-mode) 306.56 481 T
+(3) 114 468 T
+(unused) 306.56 468 T
+(1) 114 370 T
+(base) 168 370 T
+(major opcode) 306.56 370 T
+(1) 114 357 T
+(8) 168 357 T
+(minor opcode) 306.56 357 T
+(2) 114 344 T
+(2) 168 344 T
+(request length) 306.56 344 T
+(1) 114 331 T
+(BOOL) 168 331 T
+(cancel) 306.56 331 T
+(3) 114 318 T
+(unused) 306.56 318 T
+(1) 114 220 T
+(base) 168 220 T
+(major opcode) 306.56 220 T
+(1) 114 207 T
+(9) 168 207 T
+(minor opcode) 306.56 207 T
+(2) 114 194 T
+(2) 168 194 T
+(request length) 306.56 194 T
+(1) 114 181 T
+(CARD8) 168 181 T
+(dri) 306.56 181 T
+(v) 316.33 181 T
+(er) 320.7 181 T
+(-mode) 327.51 181 T
+(3) 114 168 T
+(unused) 306.56 168 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "25" 29
+%%Page: "26" 30
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(26) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(26) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 12 Q
+0 X
+(PrintEndDoc) 108 703 T
+(PrintPutDocumentData) 108 553 T
+(PrintGetDocumentData) 108 299 T
+3 10 Q
+(\256+) 100.8 182.33 T
+1 9 Q
+(1) 114 662 T
+(base) 168 662 T
+(major opcode) 306.56 662 T
+(1) 114 649 T
+(10) 168 649 T
+(minor opcode) 306.56 649 T
+(2) 114 636 T
+(2) 168 636 T
+(request length) 306.56 636 T
+(1) 114 623 T
+(BOOL) 168 623 T
+(cancel) 306.56 623 T
+(3) 114 610 T
+(unused) 306.56 610 T
+(1) 114 512 T
+(base) 168 512 T
+(major opcode) 306.56 512 T
+(1) 114 499 T
+(11) 168 499 T
+(minor opcode) 306.56 499 T
+(2) 114 486 T
+(4 + \050d+dp + f+fp + o+op\051/4) 168 486 T
+(request length) 306.56 486 T
+(4) 114 473 T
+(DRA) 168 473 T
+(W) 186.19 473 T
+(ABLE) 193.6 473 T
+(dra) 306.56 473 T
+(w) 317.92 473 T
+(able) 324.33 473 T
+(4) 114 460 T
+(CARD32) 168 460 T
+(len_data) 306.56 460 T
+(2) 114 447 T
+(CARD16) 168 447 T
+(len_fmt) 306.56 447 T
+(2) 114 434 T
+(CARD16) 168 434 T
+(len_options) 306.56 434 T
+(d) 114 421 T
+(LIST) 168 421 T
+(ofBYTE) 186.28 421 T
+(data) 306.56 421 T
+(dp) 114 408 T
+(BYTE) 168 408 T
+(dp=pad\050d\051) 306.56 408 T
+(f) 114 395 T
+(STRING8) 168 395 T
+(doc-format) 306.56 395 T
+(fp) 114 382 T
+(BYTE) 168 382 T
+(fp=pad\050f\051) 306.56 382 T
+(o) 114 369 T
+(STRING8) 168 369 T
+(options) 306.56 369 T
+(op) 114 356 T
+(BYTE) 168 356 T
+(op=pad\050o\051) 306.56 356 T
+(1) 114 258 T
+(base) 168 258 T
+(major opcode) 306.56 258 T
+(1) 114 245 T
+(12) 168 245 T
+(minor opcode) 306.56 245 T
+(2) 114 232 T
+(3) 168 232 T
+(request length) 306.56 232 T
+(4) 114 219 T
+(PCONTEXT) 168 219 T
+(conte) 306.56 219 T
+(xt) 325.92 219 T
+(4) 114 206 T
+(CARD32) 168 206 T
+(max-bytes) 306.56 206 T
+(1) 114 167 T
+(1) 168 167 T
+(Reply) 306.56 167 T
+(1) 114 154 T
+(unused) 306.56 154 T
+(2) 114 141 T
+(CARD16) 168 141 T
+(sequence number) 306.56 141 T
+(4) 114 128 T
+(\050n + p\051/4) 168 128 T
+(reply length) 306.56 128 T
+(4) 114 115 T
+(0 XPGetDocFinished) 168 115 T
+(1 XPGetDocSecondConsumer) 168 104 T
+(status-code) 306.56 115 T
+(4) 114 91 T
+(CARD32) 168 91 T
+(\336nished-\337ag) 306.56 91 T
+(4) 114 78 T
+(CARD32) 168 78 T
+(dataLen) 306.56 78 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "26" 30
+%%Page: "27" 31
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocol Encoding) 86.52 746.67 T
+(27) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(PrintStartP) 108 610 T
+(age) 167.87 610 T
+(PrintEndP) 108 473 T
+(age) 163.22 473 T
+(PrintSelectInput) 108 323 T
+(PrintInputSelected) 108 134 T
+1 9 Q
+(12) 114 703 T
+(unused) 306.56 703 T
+(n) 114 690 T
+(LIST) 168 690 T
+(ofBYTE) 186.28 690 T
+(data) 306.56 690 T
+(p) 114 677 T
+(BYTE) 168 677 T
+(p=pad\050n\051) 306.56 677 T
+(1) 114 569 T
+(base) 168 569 T
+(major opcode) 306.56 569 T
+(1) 114 556 T
+(13) 168 556 T
+(minor opcode) 306.56 556 T
+(2) 114 543 T
+(2) 168 543 T
+(request length) 306.56 543 T
+(4) 114 530 T
+(WINDO) 168 530 T
+(W) 198.67 530 T
+(windo) 306.56 530 T
+(w) 328.84 530 T
+(1) 114 432 T
+(base) 168 432 T
+(major opcode) 306.56 432 T
+(1) 114 419 T
+(14) 168 419 T
+(minor opcode) 306.56 419 T
+(2) 114 406 T
+(2) 168 406 T
+(request length) 306.56 406 T
+(1) 114 393 T
+(BOOL) 168 393 T
+(cancel) 306.56 393 T
+(3) 114 380 T
+(unused) 306.56 380 T
+(1) 114 282 T
+(base) 168 282 T
+(major opcode) 306.56 282 T
+(1) 114 269 T
+(15) 168 269 T
+(minor opcode) 306.56 269 T
+(2) 114 256 T
+(3) 168 256 T
+(request length) 306.56 256 T
+(4) 114 243 T
+(PCONTEXT) 168 243 T
+(conte) 306.56 243 T
+(xt) 325.92 243 T
+(4) 114 230 T
+(BITMASK) 168 230 T
+(e) 306.56 230 T
+(v) 310.33 230 T
+(ent-mask) 314.7 230 T
+(#x00000000) 168 217 T
+(XPNoEv) 306.56 217 T
+(entMask) 338.92 217 T
+(#x00000001) 168 204 T
+(XPPrintMask) 306.56 204 T
+(#x00000002) 168 191 T
+(XP) 306.56 191 T
+(Attrib) 317.23 191 T
+(uteMask) 338.56 191 T
+(1) 114 93 T
+(base) 168 93 T
+(major opcode) 306.56 93 T
+(1) 114 80 T
+(16) 168 80 T
+(minor opcode) 306.56 80 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "27" 31
+%%Page: "28" 32
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(28) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(28) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+3 F
+0 X
+(\256) 100.8 674.33 T
+0 12 Q
+(PrintGetAttrib) 108 502 T
+(utes) 185.08 502 T
+3 10 Q
+(\256) 100.8 372.33 T
+0 12 Q
+(PrintGetOneAttrib) 108 178 T
+(ute) 206.41 178 T
+1 9 Q
+(2) 114 703 T
+(2) 168 703 T
+(request length) 306.56 703 T
+(4) 114 690 T
+(PCONTEXT) 168 690 T
+(conte) 306.56 690 T
+(xt) 325.92 690 T
+(1) 114 649 T
+(1) 168 649 T
+(Reply) 306.56 649 T
+(1) 114 636 T
+(unused) 306.56 636 T
+(2) 114 623 T
+(CARD16) 168 623 T
+(sequence number) 306.56 623 T
+(4) 114 610 T
+(0) 168 610 T
+(reply length) 306.56 610 T
+(4) 114 597 T
+(BITMASK) 168 597 T
+(e) 306.56 597 T
+(v) 310.33 597 T
+(ent-mask) 314.7 597 T
+(4) 114 584 T
+(BITMASK) 168 584 T
+(all-e) 306.56 584 T
+(v) 322.33 584 T
+(ents-mask) 326.69 584 T
+(16) 114 571 T
+(unused) 306.56 571 T
+(1) 114 461 T
+(base) 168 461 T
+(major opcode) 306.56 461 T
+(1) 114 448 T
+(17) 168 448 T
+(minor opcode) 306.56 448 T
+(2) 114 435 T
+(3) 168 435 T
+(request length) 306.56 435 T
+(4) 114 422 T
+(PCONTEXT) 168 422 T
+(conte) 306.56 422 T
+(xt) 325.92 422 T
+(1) 114 409 T
+(CARD8) 168 409 T
+(pool) 306.56 409 T
+(3) 114 396 T
+(unused) 306.56 396 T
+(1) 114 342 T
+(1) 168 342 T
+(Reply) 306.56 342 T
+(1) 114 329 T
+(unused) 306.56 329 T
+(2) 114 316 T
+(CARD16) 168 316 T
+(sequence number) 306.56 316 T
+(4) 114 303 T
+(\050n+p\051/4) 168 303 T
+(reply length) 306.56 303 T
+(4) 114 290 T
+(CARD32) 168 290 T
+(stringLen) 306.56 290 T
+(20) 114 277 T
+(unused) 306.56 277 T
+(n) 114 264 T
+(STRING8) 168 264 T
+(attrib) 306.56 264 T
+(utes) 325.38 264 T
+(p) 114 251 T
+(p=pad\050n\051) 306.56 251 T
+(1) 114 137 T
+(base) 168 137 T
+(major opcode) 306.56 137 T
+(1) 114 124 T
+(19) 168 124 T
+(minor opcode) 306.56 124 T
+(2) 114 111 T
+(4 + \050n+p\051/4) 168 111 T
+(request length) 306.56 111 T
+(4) 114 98 T
+(PCONTEXT) 168 98 T
+(conte) 306.56 98 T
+(xt) 325.92 98 T
+(4) 114 85 T
+(CARD32) 168 85 T
+(nameLen) 306.56 85 T
+(1) 114 72 T
+(CARD8) 168 72 T
+(pool) 306.56 72 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "28" 32
+%%Page: "29" 33
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocol Encoding) 86.52 746.67 T
+(29) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+3 10 Q
+(\256) 100.8 651.33 T
+0 12 Q
+(PrintSetAttrib) 108 466 T
+(utes) 182.41 466 T
+(PrintGetP) 108 251 T
+(ageDimensions) 160.54 251 T
+3 10 Q
+(\256) 100.8 147.33 T
+1 9 Q
+(3) 114 703 T
+(unused) 306.56 703 T
+(n) 114 690 T
+(STRING8) 168 690 T
+(name) 306.56 690 T
+(p) 114 677 T
+(p=pad\050n\051) 306.56 677 T
+(1) 114 626 T
+(1) 168 626 T
+(Reply) 306.56 626 T
+(1) 114 613 T
+(unused) 306.56 613 T
+(2) 114 600 T
+(CARD16) 168 600 T
+(sequence number) 306.56 600 T
+(4) 114 587 T
+(\050n+p\051/4) 168 587 T
+(reply length) 306.56 587 T
+(4) 114 574 T
+(CARD32) 168 574 T
+(v) 306.56 574 T
+(alueLen) 310.84 574 T
+(20) 114 561 T
+(unused) 306.56 561 T
+(n) 114 548 T
+(STRING8) 168 548 T
+(v) 306.56 548 T
+(alue) 310.84 548 T
+(p) 114 535 T
+(p=pad\050n\051) 306.56 535 T
+(1) 114 425 T
+(base) 168 425 T
+(major opcode) 306.56 425 T
+(1) 114 412 T
+(18) 168 412 T
+(minor opcode) 306.56 412 T
+(2) 114 399 T
+(4 + \050n+p\051/4) 168 399 T
+(request length) 306.56 399 T
+(4) 114 386 T
+(PCONTEXT) 168 386 T
+(conte) 306.56 386 T
+(xt) 325.92 386 T
+(4) 114 373 T
+(CARD32) 168 373 T
+(stringLen) 306.56 373 T
+(1) 114 360 T
+(CARD8) 168 360 T
+(pool) 306.56 360 T
+(1) 114 347 T
+(CARD8) 168 347 T
+(rule) 306.56 347 T
+(2) 114 334 T
+(unused) 306.56 334 T
+(n) 114 321 T
+(STRING8) 168 321 T
+(attrib) 306.56 321 T
+(utes) 325.38 321 T
+(p) 114 308 T
+(BYTE) 168 308 T
+(p=pad\050n\051) 306.56 308 T
+(1) 114 210 T
+(base) 168 210 T
+(major opcode) 306.56 210 T
+(1) 114 197 T
+(21) 168 197 T
+(minor opcode) 306.56 197 T
+(2) 114 184 T
+(2) 168 184 T
+(request length) 306.56 184 T
+(4) 114 171 T
+(PCONTEXT) 168 171 T
+(conte) 306.56 171 T
+(xt) 325.92 171 T
+(1) 114 110 T
+(1) 168 110 T
+(Reply) 306.56 110 T
+(1) 114 97 T
+(unused) 306.56 97 T
+(2) 114 84 T
+(CARD16) 168 84 T
+(sequence number) 306.56 84 T
+(4) 114 71 T
+(0) 168 71 T
+(reply length) 306.56 71 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "29" 33
+%%Page: "30" 34
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(30) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(30) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 12 Q
+0 X
+(PrintQueryScr) 108 570 T
+(eens) 184.44 570 T
+3 10 Q
+(\256) 100.8 479.33 T
+0 12 Q
+(PrintSetImageResolution) 108 246 T
+3 10 Q
+(\256) 100.8 116.33 T
+1 9 Q
+(2) 114 703 T
+(CARD) 168 703 T
+(16) 193 703 T
+(width) 306.56 703 T
+(2) 114 690 T
+(CARD) 168 690 T
+(16) 193 690 T
+(height) 306.56 690 T
+(2) 114 677 T
+(CARD) 168 677 T
+(16) 193 677 T
+(of) 306.56 677 T
+(fset-x) 313.83 677 T
+(2) 114 664 T
+(CARD) 168 664 T
+(16) 193 664 T
+(of) 306.56 664 T
+(fset-y) 313.83 664 T
+(2) 114 651 T
+(CARD) 168 651 T
+(16) 193 651 T
+(reproducible-width) 306.56 651 T
+(2) 114 638 T
+(CARD) 168 638 T
+(16) 193 638 T
+(reproducible-height) 306.56 638 T
+(12) 114 625 T
+(unused) 306.56 625 T
+(1) 114 529 T
+(base) 168 529 T
+(major opcode) 306.56 529 T
+(1) 114 516 T
+(22) 168 516 T
+(minor opcode) 306.56 516 T
+(2) 114 503 T
+(2) 168 503 T
+(request length) 306.56 503 T
+(1) 114 442 T
+(1) 168 442 T
+(Reply) 306.56 442 T
+(1) 114 429 T
+(unused) 306.56 429 T
+(2) 114 416 T
+(CARD16) 168 416 T
+(sequence number) 306.56 416 T
+(4) 114 403 T
+(listCount) 168 403 T
+(reply length) 306.56 403 T
+(4) 114 390 T
+(CAR) 168 390 T
+(D32) 186.5 390 T
+(listCount) 306.56 390 T
+(20) 114 377 T
+(unused) 306.56 377 T
+(4 * list-) 114 364 T
+(Count) 114 353 T
+(LIST) 168 364 T
+(ofWINDO) 186.28 364 T
+(W) 224.45 364 T
+(roots) 306.56 364 T
+(R) 114 327 T
+(OO) 119.64 327 T
+(T-) 132.28 327 T
+(WINDO) 114 316 T
+(W) 144.67 316 T
+(4) 114 303 T
+(WINDO) 168 303 T
+(W) 198.67 303 T
+(rootW) 306.56 303 T
+(indo) 329.2 303 T
+(w) 344.97 303 T
+(1) 114 205 T
+(base) 168 205 T
+(major opcode) 306.56 205 T
+(1) 114 192 T
+(23) 168 192 T
+(minor opcode) 306.56 192 T
+(2) 114 179 T
+(3) 168 179 T
+(request length) 306.56 179 T
+(4) 114 166 T
+(PCONTEXT) 168 166 T
+(conte) 306.56 166 T
+(xt) 325.92 166 T
+(2) 114 153 T
+(CARD16) 168 153 T
+(image-resolution) 306.56 153 T
+(2) 114 140 T
+(unused) 306.56 140 T
+(1) 114 86 T
+(1) 168 86 T
+(Reply) 306.56 86 T
+(1) 114 73 T
+(BOOL) 168 73 T
+(status) 306.56 73 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "30" 34
+%%Page: "31" 35
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 54 540 54 2 L
+0.25 H
+2 Z
+0 X
+0 0 0 1 0 0 0 K
+N
+1 10 Q
+(X V) 72 41.28 T
+(ersion 11) 87.83 41.28 T
+(Release 6.4) 493.9 41.28 T
+108 54 540 54 2 L
+N
+72 740.81 540 756 R
+7 X
+V
+0 14 Q
+0 X
+(Pr) 72 746.67 T
+(otocol Encoding) 86.52 746.67 T
+(31) 526 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 12 Q
+(PrintGetImageResolution) 108 597 T
+3 10 Q
+(\256) 100.8 493.33 T
+0 14 Q
+(5.2) 72 360.67 T
+(Ev) 108 360.67 T
+(ent Pr) 124.2 360.67 T
+(otocol Encoding) 160.88 360.67 T
+0 12 Q
+(PrintNotify) 108 305 T
+1 9 Q
+(2) 114 703 T
+(CARD16) 168 703 T
+(sequence number) 306.56 703 T
+(4) 114 690 T
+(0) 168 690 T
+(reply length) 306.56 690 T
+(2) 114 677 T
+(CARD16) 168 677 T
+(pre) 306.56 677 T
+(vious-resolution) 317.83 677 T
+(22) 114 664 T
+(unused) 306.56 664 T
+(1) 114 556 T
+(base) 168 556 T
+(major opcode) 306.56 556 T
+(1) 114 543 T
+(24) 168 543 T
+(minor opcode) 306.56 543 T
+(2) 114 530 T
+(2) 168 530 T
+(request length) 306.56 530 T
+(4) 114 517 T
+(PCONTEXT) 168 517 T
+(conte) 306.56 517 T
+(xt) 325.92 517 T
+(1) 114 463 T
+(1) 168 463 T
+(Reply) 306.56 463 T
+(1) 114 450 T
+(unused) 306.56 450 T
+(2) 114 437 T
+(CARD16) 168 437 T
+(sequence number) 306.56 437 T
+(4) 114 424 T
+(0) 168 424 T
+(reply length) 306.56 424 T
+(2) 114 411 T
+(CARD16) 168 411 T
+(image-resolution) 306.56 411 T
+(22) 114 398 T
+(unused) 306.56 398 T
+(1) 114 264 T
+(0 + base) 168 264 T
+(code) 306.56 264 T
+(1) 114 251 T
+(0 XPStartJobNotify) 168 251 T
+(1 XPEndJobNotify) 168 236 T
+(2 XPStartDocNotify) 168 221 T
+(3 XPEndDocNotify) 168 206 T
+(4 XPStartP) 168 191 T
+(ageNotify) 208.12 191 T
+(5 XPEndP) 168 176 T
+(ageNotify) 205.62 176 T
+(detail) 306.56 251 T
+(2) 114 163 T
+(CARD16) 168 163 T
+(sequence number) 306.56 163 T
+(4) 114 150 T
+(PCONTEXT) 168 150 T
+(conte) 306.56 150 T
+(xt) 325.92 150 T
+(1) 114 137 T
+(BOOL) 168 137 T
+(cancel) 306.56 137 T
+(23) 114 124 T
+(unused) 306.56 124 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "31" 35
+%%Page: "32" 36
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 36.66 504 47.95 R
+7 X
+0 0 0 1 0 0 0 K
+V
+1 10 Q
+0 X
+(32) 72 41.28 T
+(December 15, 1997) 248.71 41.28 T
+(Protocol Encoding) 429.28 41.28 T
+72 54 504 54 2 L
+7 X
+V
+0.25 H
+2 Z
+0 X
+N
+72 740.81 504 756 R
+7 X
+V
+0 14 Q
+0 X
+(32) 72 749.33 T
+(Pr) 393.41 749.33 T
+(otocol Encoding) 407.93 749.33 T
+72 36.66 540 47.95 R
+7 X
+V
+1 10 Q
+0 X
+(Release 6.4) 72 41.28 T
+(X V) 487.23 41.28 T
+(ersion 11) 503.06 41.28 T
+72 54 540 54 2 L
+7 X
+V
+0 X
+N
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 63 540 711 R
+7 X
+V
+0 12 Q
+0 X
+(Attrib) 108 703 T
+(uteNotify) 139.75 703 T
+0 14 Q
+(5.3) 72 438.67 T
+(E) 108 438.67 T
+(rr) 117.34 438.67 T
+(or Pr) 129.52 438.67 T
+(otocol Encoding) 160.75 438.67 T
+0 12 Q
+(B) 108 383 T
+(adContext) 116 383 T
+(BadSequence) 108 259 T
+1 9 Q
+(1) 114 662 T
+(1 + base) 168 662 T
+(code) 327.62 662 T
+(1) 114 649 T
+(1 XPJobAttr) 168 649 T
+(2 XPDocAttr) 168 634 T
+(3 XPP) 168 619 T
+(ageAttr) 191.12 619 T
+(4 XPPrinterAttr) 168 604 T
+(5 XPServ) 168 589 T
+(erAttr) 202.61 589 T
+(6 XPMediumAttr \050future use\051) 168 574 T
+(7 XPSpoolerAttr \050future use\051) 168 559 T
+(detail) 327.62 649 T
+(2) 114 546 T
+(CARD16) 168 546 T
+(sequence number) 327.62 546 T
+(4) 114 533 T
+(PCONTEXT) 168 533 T
+(conte) 327.62 533 T
+(xt) 346.98 533 T
+(24) 114 520 T
+(unused) 327.62 520 T
+(1) 114 342 T
+(0) 168 342 T
+(Error) 306.56 342 T
+(1) 114 329 T
+(0 +) 168 329 T
+( base) 179.83 329 T
+(code) 306.56 329 T
+(2) 114 316 T
+(CARD16) 168 316 T
+(sequence number) 306.56 316 T
+(1) 114 218 T
+(0) 168 218 T
+(Error) 306.56 218 T
+(1) 114 205 T
+(1 +) 168 205 T
+( base) 179.83 205 T
+(code) 306.56 205 T
+(2) 114 192 T
+(CARD16) 168 192 T
+(sequence number) 306.56 192 T
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "32" 36
+%%Page: "33" 37
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0 0 0 1 0 0 0 K
+0 14 Q
+0 X
+(33) 72 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(Index) 505.77 746.67 T
+0 0 0 1 0 0 0 K
+72 33.32 540 43.32 R
+7 X
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+0 12 Q
+0 X
+(A) 72 712 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(AttributeNotify, encoding) 72 692.33 T
+1 12 Q
+( 32) 175.88 692.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(attributes) 72 680.33 T
+1 12 Q
+( 13\32019) 109.22 680.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(defaults) 90 668.33 T
+1 12 Q
+( 13) 121.66 668.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(document) 90 656.33 T
+1 12 Q
+( 17) 129.44 656.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(job) 90 644.33 T
+1 12 Q
+( 17) 102.78 644.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(page) 90 632.33 T
+1 12 Q
+( 18) 108.88 632.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(printer) 90 620.33 T
+1 12 Q
+( 14) 116.66 620.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(server) 90 608.33 T
+1 12 Q
+( 14) 114.43 608.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(validating) 90 596.33 T
+1 12 Q
+( 14) 130 596.33 T
+0 0 0 1 0 0 0 K
+0 F
+(B) 72 569 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(BadContext, encoding) 72 549.33 T
+1 12 Q
+( 32) 161.44 549.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(BadSequence, encoding) 72 537.33 T
+1 12 Q
+( 32) 168.09 537.33 T
+0 0 0 1 0 0 0 K
+0 F
+(C) 72 510 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(content-orientation) 72 490.33 T
+1 12 Q
+( 18, 19) 148.1 490.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(content-orientations-supported) 72 478.33 T
+1 12 Q
+( 15) 194.76 478.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(copy-count) 72 466.33 T
+1 12 Q
+( 18) 116.99 466.33 T
+0 0 0 1 0 0 0 K
+0 F
+(D) 72 439 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(default-input-tray) 72 419.33 T
+1 12 Q
+( 18, 19) 142.54 419.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(default-medium) 72 407.33 T
+1 12 Q
+( 18, 19) 135.88 407.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(default-printer-resolution) 72 395.33 T
+1 12 Q
+( 18, 19) 173.09 395.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(defaults, attributes) 72 383.33 T
+1 12 Q
+( 13) 145.88 383.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(descriptor) 72 371.33 T
+1 12 Q
+( 15) 111.99 371.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(document attributes) 72 359.33 T
+1 12 Q
+( 17) 151.16 359.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(document-attributes-supported) 72 347.33 T
+1 12 Q
+( 15) 194.76 347.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(document-format) 72 335.33 T
+1 12 Q
+( 18) 141.43 335.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(document-formats-supported) 72 323.33 T
+1 12 Q
+( 15) 188.09 323.33 T
+0 0 0 1 0 0 0 K
+0 F
+(E) 72 296 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(errors) 72 276.33 T
+1 12 Q
+( 2) 95.32 276.33 T
+0 0 0 1 0 0 0 K
+0 F
+(I) 72 249 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(input-trays-medium) 72 229.33 T
+1 12 Q
+( 15) 151.44 229.33 T
+0 0 0 1 0 0 0 K
+0 F
+(J) 72 202 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(job attributes) 72 182.33 T
+1 12 Q
+( 17) 124.5 182.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(job-attributes-supported) 72 170.33 T
+1 12 Q
+( 15) 168.1 170.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(job-name) 72 158.33 T
+1 12 Q
+( 17) 109.77 158.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(job-owner) 72 146.33 T
+1 12 Q
+( 17) 113.1 146.33 T
+0 0 0 1 0 0 0 K
+0 F
+(L) 72 119 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(locale, attribute) 72 99.33 T
+1 12 Q
+( 14) 134.21 99.33 T
+0 0 0 1 0 0 0 K
+0 F
+(M) 315 712 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(medium-source-sizes-supported) 315 692.33 T
+1 12 Q
+( 15) 442.75 692.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(multiple-documents-supported) 315 680.33 T
+1 12 Q
+( 14) 437.77 680.33 T
+0 0 0 1 0 0 0 K
+0 F
+(N) 315 653 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(notification-profile) 315 633.33 T
+1 12 Q
+( 17) 391.1 633.33 T
+0 0 0 1 0 0 0 K
+0 F
+(P) 315 606 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(page attributes) 315 586.33 T
+1 12 Q
+( 18) 373.6 586.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PCONTEXT, type) 315 574.33 T
+1 12 Q
+( 2) 389.44 574.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(plex) 315 562.33 T
+1 12 Q
+( 18, 19) 332.22 562.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(plexes-supported) 315 550.33 T
+1 12 Q
+( 16) 383.32 550.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(Print Dialog Manager, communicating with) 315 538.33 T
+1 12 Q
+( 20) 489.71 538.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintCreateContext) 315 526.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 514.33 T
+1 12 Q
+( 23) 369.66 514.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 502.33 T
+1 12 Q
+( 2) 361.88 502.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintDestroyContext) 315 490.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 478.33 T
+1 12 Q
+( 24) 369.66 478.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 466.33 T
+1 12 Q
+( 3) 361.88 466.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintEndDoc) 315 454.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 442.33 T
+1 12 Q
+( 26) 369.66 442.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 430.33 T
+1 12 Q
+( 6) 361.88 430.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintEndJob) 315 418.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 406.33 T
+1 12 Q
+( 25) 369.66 406.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 394.33 T
+1 12 Q
+( 4) 361.88 394.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintEndPage) 315 382.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 370.33 T
+1 12 Q
+( 27) 369.66 370.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 358.33 T
+1 12 Q
+( 7) 361.88 358.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(printer attributes) 315 346.33 T
+1 12 Q
+( 14) 381.38 346.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(printer-model) 315 334.33 T
+1 12 Q
+( 16) 369.99 334.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(printer-name) 315 322.33 T
+1 12 Q
+( 16) 366.65 322.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(printer-resolutions-supported) 315 310.33 T
+1 12 Q
+( 16) 431.65 310.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetAttributes) 315 298.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 286.33 T
+1 12 Q
+( 28) 369.66 286.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 274.33 T
+1 12 Q
+( 9) 361.88 274.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetContext) 315 262.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 250.33 T
+1 12 Q
+( 24) 369.66 250.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 238.33 T
+1 12 Q
+( 3) 361.88 238.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetDocumentData) 315 226.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 214.33 T
+1 12 Q
+( 26) 369.66 214.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 202.33 T
+1 12 Q
+( 5) 361.88 202.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetImageResolution) 315 190.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 178.33 T
+1 12 Q
+( 31) 369.66 178.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 166.33 T
+1 12 Q
+( 11) 361.88 166.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetOneAttribute) 315 154.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 142.33 T
+1 12 Q
+( 28) 369.66 142.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 130.33 T
+1 12 Q
+( 9) 361.88 130.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetPageDimensions) 315 118.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 333 106.33 T
+1 12 Q
+( 29) 369.66 106.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 333 94.33 T
+1 12 Q
+( 8) 361.88 94.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetPrinterList) 315 82.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "33" 37
+%%Page: "34" 38
+612 792 0 FMBEGINPAGE
+[0 0 0 1 0 0 0]
+[ 0 1 1 0 1 0 0]
+[ 1 0 1 0 0 1 0]
+[ 1 1 0 0 0 0 1]
+[ 1 0 0 0 0 1 1]
+[ 0 1 0 0 1 0 1]
+[ 0 0 1 0 1 1 0]
+ 7 FrameSetSepColors
+FrameNoSep
+0 0 0 1 0 0 0 K
+72 746 540 756 R
+7 X
+0 0 0 1 0 0 0 K
+V
+0 0 0 1 0 0 0 K
+0 14 Q
+0 X
+(Index) 72 746.67 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(34) 526 746.67 T
+0 0 0 1 0 0 0 K
+72 33.32 540 43.32 R
+7 X
+V
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+72 72 540 720 R
+V
+0 0 0 1 0 0 0 K
+1 10 Q
+0 X
+(encoding) 90 713.33 T
+1 12 Q
+( 22) 126.66 713.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 701.33 T
+1 12 Q
+( 3) 118.88 701.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintGetScreenOfContext) 72 689.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 677.33 T
+1 12 Q
+( 24) 126.66 677.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 665.33 T
+1 12 Q
+( 4) 118.88 665.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintInputSelected) 72 653.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 641.33 T
+1 12 Q
+( 27) 126.66 641.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 629.33 T
+1 12 Q
+( 8) 118.88 629.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintNotify, encoding) 72 617.33 T
+1 12 Q
+( 31) 159.22 617.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintPutDocumentData) 72 605.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 593.33 T
+1 12 Q
+( 26) 126.66 593.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 581.33 T
+1 12 Q
+( 5) 118.88 581.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintQueryScreens) 72 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 557.33 T
+1 12 Q
+( 30) 126.66 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 545.33 T
+1 12 Q
+( 10) 118.88 545.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintQueryVersion) 72 533.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 521.33 T
+1 12 Q
+( 22) 126.66 521.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 509.33 T
+1 12 Q
+( 10) 118.88 509.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintRehashPrinterList) 72 497.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 485.33 T
+1 12 Q
+( 23) 126.66 485.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 473.33 T
+1 12 Q
+( 10) 118.88 473.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintSelectInput) 72 461.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 449.33 T
+1 12 Q
+( 27) 126.66 449.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 437.33 T
+1 12 Q
+( 8) 118.88 437.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintSetAttributes) 72 425.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 413.33 T
+1 12 Q
+( 29) 126.66 413.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 401.33 T
+1 12 Q
+( 9, 10) 118.88 401.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintSetContext) 72 389.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 377.33 T
+1 12 Q
+( 24) 126.66 377.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 365.33 T
+1 12 Q
+( 3) 118.88 365.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintSetImageResolution) 72 353.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 341.33 T
+1 12 Q
+( 30) 126.66 341.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 329.33 T
+1 12 Q
+( 10) 118.88 329.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintStartDoc) 72 317.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 305.33 T
+1 12 Q
+( 25) 126.66 305.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 293.33 T
+1 12 Q
+( 6) 118.88 293.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintStartJob) 72 281.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 269.33 T
+1 12 Q
+( 25) 126.66 269.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 257.33 T
+1 12 Q
+( 4) 118.88 257.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(PrintStartPage) 72 245.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(encoding) 90 233.33 T
+1 12 Q
+( 27) 126.66 233.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(request) 90 221.33 T
+1 12 Q
+( 7) 118.88 221.33 T
+0 0 0 1 0 0 0 K
+0 F
+(S) 72 194 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(server attributes) 72 174.33 T
+1 12 Q
+( 14) 136.15 174.33 T
+0 0 0 1 0 0 0 K
+0 F
+(V) 72 147 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(validating attributes) 72 127.33 T
+1 12 Q
+( 14) 151.72 127.33 T
+0 0 0 1 0 0 0 K
+0 F
+(X) 72 100 T
+0 0 0 1 0 0 0 K
+1 10 Q
+(XPAttributeNotify) 72 80.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(event) 333 713.33 T
+1 12 Q
+( 12) 354.66 713.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(XPBadContext, error description) 315 701.33 T
+1 12 Q
+( 2) 446.93 701.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(XPBadSequence, error description) 315 689.33 T
+1 12 Q
+( 2) 453.58 689.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-embedded-formats-supported) 315 677.33 T
+1 12 Q
+( 16) 446.08 677.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-listfonts-modes) 315 665.33 T
+1 12 Q
+( 18, 19) 390 665.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-listfonts-modes-supported) 315 653.33 T
+1 12 Q
+( 16) 432.77 653.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-page-attributes-supported) 315 641.33 T
+1 12 Q
+( 16) 430.53 641.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(XPPrintNotify) 315 629.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+(event) 333 617.33 T
+1 12 Q
+( 11) 354.66 617.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-raw-formats-supported) 315 605.33 T
+1 12 Q
+( 16) 419.97 605.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-setup-proviso) 315 593.33 T
+1 12 Q
+( 17) 382.77 593.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-setup-state) 315 581.33 T
+1 12 Q
+( 17) 371.1 581.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-spooler-command-options) 315 569.33 T
+1 12 Q
+( 17) 433.32 569.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+1 10 Q
+(xp-spooler-command-results) 315 557.33 T
+1 12 Q
+( 17) 429.98 557.33 T
+0 0 0 1 0 0 0 K
+0 0 0 1 0 0 0 K
+FMENDPAGE
+%%EndPage: "34" 38
+%%Trailer
+%%BoundingBox: 0 0 612 792
+%%PageOrder: Ascend
+%%Pages: 38
+%%DocumentFonts: Times-Bold
+%%+ Times-Roman
+%%+ Times-Italic
+%%+ Symbol
+%%+ Courier
+%%EOF
diff --git a/printproto/specs/xp_protoIX.doc b/printproto/specs/xp_protoIX.doc
new file mode 100644
index 0000000..af3efa1
--- /dev/null
+++ b/printproto/specs/xp_protoIX.doc
Binary files differ
diff --git a/printproto/specs/xp_protoTOC.doc b/printproto/specs/xp_protoTOC.doc
new file mode 100644
index 0000000..7154da3
--- /dev/null
+++ b/printproto/specs/xp_protoTOC.doc
Binary files differ
diff --git a/printproto/specs/xp_proto_cov.mif b/printproto/specs/xp_proto_cov.mif
new file mode 100644
index 0000000..cdc1310
--- /dev/null
+++ b/printproto/specs/xp_proto_cov.mif
@@ -0,0 +1,3467 @@
+<MIFFile 5.00> # Generated by FrameMaker xm5.0P3f
+# Options:
+# Paragraph Text
+# Paragraph Tags
+# Paragraph Formats
+# Font Information
+# Markers
+# Anchored Frames
+# Tables
+# Graphics and TextRect Layout
+# Master Page Items
+# Condition Catalog
+# Table Catalogs
+# Font Catalog
+# Paragraph Catalog
+# Document Template
+# Document Dictionary
+# Variables
+#
+<Units Uin>
+<ColorCatalog
+ <Color
+ <ColorTag `Black'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 100.000000>
+ <ColorAttribute ColorIsBlack>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `White'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsWhite>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Red'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsRed>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Green'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsGreen>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Blue'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsBlue>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Cyan'>
+ <ColorCyan 100.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsCyan>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Magenta'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 100.000000>
+ <ColorYellow 0.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsMagenta>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+ <Color
+ <ColorTag `Yellow'>
+ <ColorCyan 0.000000>
+ <ColorMagenta 0.000000>
+ <ColorYellow 100.000000>
+ <ColorBlack 0.000000>
+ <ColorAttribute ColorIsYellow>
+ <ColorAttribute ColorIsReserved>
+ > # end of Color
+> # end of ColorCatalog
+<ConditionCatalog
+ <Condition
+ <CTag `Comment'>
+ <CState CHidden>
+ <CStyle CUnderline>
+ <CSeparation 2>
+ <CColor `Red'>
+ > # end of Condition
+> # end of ConditionCatalog
+<PgfCatalog
+ <Pgf
+ <PgfTag `Body'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Bulleted'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `\xa5 \\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 7>
+ <TabStop
+ <TSX 0.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellBody'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `CellHeading'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Footnote'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.25">
+ <PgfLIndent 0.41667">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.41667">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Heading1'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 14.0 pt>
+ <PgfSpAfter 6.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 14.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Heading2'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 12.0 pt>
+ <PgfSpAfter 3.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `HeadingRunIn'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle RunIn>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 6.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Indented'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.25">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 6>
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n+\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 7>
+ <TabStop
+ <TSX 0.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Numbered1'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Numbered'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.25">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Courier'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Courier'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `<n=1\>.\\t'>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 7>
+ <TabStop
+ <TSX 0.25">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 1.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 2.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 3.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 4.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 5.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.0">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate No>
+ <HyphenMaxLines 1>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 100>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 100>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TableFootnote'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.25">
+ <PgfLIndent 0.41667">
+ <PgfRIndent 0.25">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 1>
+ <TabStop
+ <TSX 0.41667">
+ <TSType Left>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `TableTitle'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum Yes>
+ <PgfNumFormat `T:Table <n+\>: '>
+ <PgfNumberFont `'>
+ <PgfNumAtEnd No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 90>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 110>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Title'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 112.0 pt>
+ <PgfSpAfter 12.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 18.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 6.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Title2'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 16.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 4.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <Pgf
+ <PgfTag `Title3'>
+ <PgfUseNextTag Yes>
+ <PgfNextTag `Body'>
+ <PgfAlignment Center>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext Yes>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 4.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 0>
+ <PgfHyphenate No>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+> # end of PgfCatalog
+<FontCatalog
+ <Font
+ <FTag `Emphasis'>
+ <FAngle `Italic'>
+ <FLocked No>
+ > # end of Font
+ <Font
+ <FTag `EquationVariables'>
+ <FAngle `Oblique'>
+ <FLocked No>
+ > # end of Font
+> # end of FontCatalog
+<RulingCatalog
+ <Ruling
+ <RulingTag `Thin'>
+ <RulingPenWidth 0.5 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Medium'>
+ <RulingPenWidth 2.0 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Double'>
+ <RulingPenWidth 0.5 pt>
+ <RulingGap 2.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 2>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Thick'>
+ <RulingPenWidth 3.0 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+ <Ruling
+ <RulingTag `Very Thin'>
+ <RulingPenWidth 0.25 pt>
+ <RulingGap 0.0 pt>
+ <RulingSeparation 0>
+ <RulingColor `Black'>
+ <RulingPen 0>
+ <RulingLines 1>
+ > # end of Ruling
+> # end of RulingCatalog
+<TblCatalog
+ <TblFormat
+ <TblTag `Format B'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 4>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 6.0 pt 6.0 pt 4.0 pt>
+ <TblLIndent 0.0">
+ <TblRIndent 0.0">
+ <TblAlignment Center>
+ <TblPlacement Anywhere>
+ <TblSpBefore 12.0 pt>
+ <TblSpAfter 12.0 pt>
+ <TblBlockSize 1>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `'>
+ <TblBRuling `Thin'>
+ <TblRRuling `'>
+ <TblTRuling `Medium'>
+ <TblColumnRuling `Thin'>
+ <TblXColumnRuling `Thin'>
+ <TblBodyRowRuling `Thin'>
+ <TblXRowRuling `Thin'>
+ <TblHFRowRuling `Thin'>
+ <TblSeparatorRuling `Medium'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement InHeader>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 6.0 pt>
+ <TblInitNumColumns 5>
+ <TblInitNumHRows 1>
+ <TblInitNumBodyRows 8>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+ <TblFormat
+ <TblTag `Format A'>
+ <TblColumn
+ <TblColumnNum 0>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 1>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 2>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 3>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblColumn
+ <TblColumnNum 4>
+ <TblColumnWidth 1.0">
+ <TblColumnH
+ <PgfTag `CellHeading'>
+ > # end of TblColumnH
+ <TblColumnBody
+ <PgfTag `CellBody'>
+ > # end of TblColumnBody
+ <TblColumnF
+ <Pgf
+ <PgfTag `CellFooting'>
+ <PgfAlignment Center>
+ <PgfHyphenate No>
+ <PgfCellAlignment Middle>
+ <PgfCellMargins 0.0 pt 2.0 pt 0.0 pt 2.0 pt>
+ > # end of Pgf
+ > # end of TblColumnF
+ > # end of TblColumn
+ <TblCellMargins 6.0 pt 6.0 pt 6.0 pt 4.0 pt>
+ <TblLIndent 0.0">
+ <TblRIndent 0.0">
+ <TblAlignment Left>
+ <TblPlacement Anywhere>
+ <TblSpBefore 12.0 pt>
+ <TblSpAfter 12.0 pt>
+ <TblBlockSize 1>
+ <TblHFFill 15>
+ <TblHFSeparation 0>
+ <TblHFColor `Black'>
+ <TblBodyFill 15>
+ <TblBodySeparation 0>
+ <TblBodyColor `Black'>
+ <TblShadeByColumn No>
+ <TblLocked No>
+ <TblShadePeriod 2>
+ <TblXFill 15>
+ <TblXSeparation 0>
+ <TblXColor `Black'>
+ <TblAltShadePeriod 2>
+ <TblLRuling `Thin'>
+ <TblBRuling `Thin'>
+ <TblRRuling `Thin'>
+ <TblTRuling `Thin'>
+ <TblColumnRuling `Thin'>
+ <TblXColumnRuling `Thin'>
+ <TblBodyRowRuling `Thin'>
+ <TblXRowRuling `Thin'>
+ <TblHFRowRuling `Thin'>
+ <TblSeparatorRuling `Double'>
+ <TblXColumnNum 1>
+ <TblRulingPeriod 4>
+ <TblLastBRuling No>
+ <TblTitlePlacement InHeader>
+ <TblTitlePgf1
+ <PgfTag `TableTitle'>
+ > # end of TblTitlePgf1
+ <TblTitleGap 6.0 pt>
+ <TblInitNumColumns 5>
+ <TblInitNumHRows 1>
+ <TblInitNumBodyRows 8>
+ <TblInitNumFRows 0>
+ <TblNumByColumn No>
+ > # end of TblFormat
+> # end of TblCatalog
+<Views
+ <View
+ <ViewNumber 1>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 2>
+ <ViewCutout `White'>
+ <ViewInvisible `Red'>
+ <ViewInvisible `Green'>
+ <ViewInvisible `Blue'>
+ <ViewInvisible `Cyan'>
+ <ViewInvisible `Magenta'>
+ > # end of View
+ <View
+ <ViewNumber 3>
+ <ViewInvisible `Black'>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 4>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 5>
+ <ViewCutout `White'>
+ > # end of View
+ <View
+ <ViewNumber 6>
+ <ViewCutout `White'>
+ > # end of View
+> # end of Views
+<VariableFormats
+ <VariableFormat
+ <VariableName `Page Count'>
+ <VariableDef `<$lastpagenum\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Date (Long)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Date (Short)'>
+ <VariableDef `<$monthnum\>/<$daynum\>/<$shortyear\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Modification Date (Long)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\> <$hour\>:<$minute00\> <$ampm\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Modification Date (Short)'>
+ <VariableDef `<$monthnum\>/<$daynum\>/<$shortyear\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Creation Date (Long)'>
+ <VariableDef `<$monthname\> <$daynum\>, <$year\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Creation Date (Short)'>
+ <VariableDef `<$monthnum\>/<$daynum\>/<$shortyear\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Filename (Long)'>
+ <VariableDef `<$fullfilename\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Filename (Short)'>
+ <VariableDef `<$filename\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 1'>
+ <VariableDef `<$paratext[Title]\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 2'>
+ <VariableDef `<$paratext[Heading1]\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Current Page #'>
+ <VariableDef `<$curpagenum\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 3'>
+ <VariableDef `<$marker1\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Running H/F 4'>
+ <VariableDef `<$marker2\>'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Table Continuation'>
+ <VariableDef ` (Continued)'>
+ > # end of VariableFormat
+ <VariableFormat
+ <VariableName `Table Sheet'>
+ <VariableDef ` (Sheet <$tblsheetnum\> of <$tblsheetcount\>)'>
+ > # end of VariableFormat
+> # end of VariableFormats
+<XRefFormats
+ <XRefFormat
+ <XRefName `Heading & Page'>
+ <XRefDef `\xd2 <$paratext\>\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Page'>
+ <XRefDef `page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `See Heading & Page'>
+ <XRefDef `See \xd2 <$paratext\>\xd3 on page\x11 <$pagenum\>.'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table & Page'>
+ <XRefDef `Table\x11 <$paranumonly\>, \xd2 <$paratext\>,\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table All'>
+ <XRefDef `Table\x11 <$paranumonly\>, \xd2 <$paratext\>,\xd3 on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+ <XRefFormat
+ <XRefName `Table Number & Page'>
+ <XRefDef `Table\x11 <$paranumonly\> on page\x11 <$pagenum\>'>
+ > # end of XRefFormat
+> # end of XRefFormats
+<Document
+ <DViewRect 98 29 746 847 >
+ <DWindowRect 74 3 790 950 >
+ <DViewScale 140.0%>
+ <DNextUnique 713202>
+ <DPageSize 8.5" 11.0">
+ <DMenuBar `'>
+ <DVoMenuBar `'>
+ <DStartPage 1>
+ <DPageNumStyle LCRoman>
+ <DPagePointStyle Arabic>
+ <DTwoSides Yes>
+ <DParity FirstRight>
+ <DFrozenPages No>
+ <DPageRounding MakePageCountEven>
+ <DFNoteMaxH 2.0">
+ <FNoteStartNum 1>
+ <DFNoteRestart PerPage>
+ <DFNoteTag `Footnote'>
+ <DFNoteLabels `*\xa0 \xe0 '>
+ <DFNoteNumStyle Arabic>
+ <DFNoteAnchorPos FNSuperscript>
+ <DFNoteNumberPos FNBaseline>
+ <DFNoteAnchorPrefix `'>
+ <DFNoteAnchorSuffix `'>
+ <DFNoteNumberPrefix `'>
+ <DFNoteNumberSuffix `.\\t'>
+ <DTblFNoteTag `TableFootnote'>
+ <DTblFNoteLabels `*\xa0 \xe0 '>
+ <DTblFNoteNumStyle LCAlpha>
+ <DTblFNoteAnchorPos FNSuperscript>
+ <DTblFNoteNumberPos FNBaseline>
+ <DTblFNoteAnchorPrefix `'>
+ <DTblFNoteAnchorSuffix `'>
+ <DTblFNoteNumberPrefix `'>
+ <DTblFNoteNumberSuffix `.\\t'>
+ <DLinebreakChars `/ - \xd0 \xd1 '>
+ <DPunctuationChars `:;,.\xc9 !?'>
+ <DChBarGap 0.25">
+ <DChBarWidth 2.0 pt>
+ <DChBarPosition LeftOfCol>
+ <DChBarColor `Black'>
+ <DAutoChBars No>
+ <DShowAllConditions No>
+ <DDisplayOverrides Yes>
+ <DPageScrolling Variable>
+ <DViewOnly No>
+ <DViewOnlyXRef GotoBehavior>
+ <DViewOnlySelect Yes>
+ <DViewOnlyWinBorders Yes>
+ <DViewOnlyWinMenubar Yes>
+ <DViewOnlyWinPopup Yes>
+ <DViewOnlyWinPalette No>
+ <DGridOn No>
+ <DPageGrid 0.5">
+ <DSnapGrid 0.125">
+ <DSnapRotation 0.25>
+ <DRulersOn Yes>
+ <DFullRulers Yes>
+ <DGraphicsOff No>
+ <DCurrentView 1>
+ <DBordersOn Yes>
+ <DSymbolsOn Yes>
+ <DLinkBoundariesOn No>
+ <DSmartQuotesOn No>
+ <DSmartSpacesOn No>
+ <DUpdateTextInsetsOnOpen Yes>
+ <DUpdateXRefsOnOpen Yes>
+ <DLanguage USEnglish>
+ <DSuperscriptSize 80.0%>
+ <DSubscriptSize 80.0%>
+ <DSmallCapsSize 80.0%>
+ <DSuperscriptShift 40.0%>
+ <DSubscriptShift 25.0%>
+ <DMathAlphaCharFontFamily `Times'>
+ <DMathSmallIntegral 14.0 pt>
+ <DMathMediumIntegral 18.0 pt>
+ <DMathLargeIntegral 24.0 pt>
+ <DMathSmallSigma 14.0 pt>
+ <DMathMediumSigma 18.0 pt>
+ <DMathLargeSigma 24.0 pt>
+ <DMathSmallLevel1 9.0 pt>
+ <DMathMediumLevel1 12.0 pt>
+ <DMathLargeLevel1 14.0 pt>
+ <DMathSmallLevel2 7.0 pt>
+ <DMathMediumLevel2 9.0 pt>
+ <DMathLargeLevel2 12.0 pt>
+ <DMathSmallLevel3 5.0 pt>
+ <DMathMediumLevel3 6.0 pt>
+ <DMathLargeLevel3 8.0 pt>
+ <DMathSmallHoriz 0.0 pt>
+ <DMathMediumHoriz 0.0 pt>
+ <DMathLargeHoriz 0.0 pt>
+ <DMathSmallVert 0.0 pt>
+ <DMathMediumVert 0.0 pt>
+ <DMathLargeVert 0.0 pt>
+ <DMathShowCustom No>
+ <DMathFunctions `'>
+ <DMathNumbers `'>
+ <DMathVariables `EquationVariables'>
+ <DMathStrings `'>
+ <DMathGreek `'>
+ <DMathCatalog >
+ <DPrintSkipBlankPages Yes>
+ <DPrintSeparations No>
+ <DGenerateAcrobatInfo No>
+ <DAcrobatParagraphBookmarks Yes>
+ <DAcrobatBookmarksIncludeTagNames No>
+> # end of Document
+<BookComponent
+ <FileName `<c\>anncovTOC.doc'>
+ <Unique 15>
+ <FileNameSuffix `TOC'>
+ <DeriveLinks No>
+ <DeriveType TOC>
+ <DeriveTag `Heading'>
+ <DeriveTag `Heading2'>
+> # end of BookComponent
+<InitialAutoNums
+> # end of InitialAutoNums
+<Dictionary
+> # end of Dictionary
+<AFrames
+> # end of AFrames
+<Page
+ <Unique 59>
+ <PageType LeftMasterPage>
+ <PageTag `Left'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 1>
+ <Unique 77>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.13889">
+ <BRect 1.0" 0.5" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 2>
+ <Unique 78>
+ <Overprint No>
+ <ShapeRect 1.0" 10.3983" 6.5" 0.13889">
+ <BRect 1.0" 10.3983" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 3>
+ <Unique 79>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 4>
+ <Unique 62>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.13889">
+ <BRect 1.0" 0.5" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 5>
+ <Unique 65>
+ <Overprint No>
+ <ShapeRect 1.0" 10.3983" 6.5" 0.13889">
+ <BRect 1.0" 10.3983" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 6>
+ <Unique 68>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 69>
+ <PageType RightMasterPage>
+ <PageTag `Right'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextRect
+ <ID 7>
+ <Unique 10352>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.13889">
+ <BRect 1.0" 0.5" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 8>
+ <Unique 10353>
+ <Overprint No>
+ <ShapeRect 1.0" 10.3983" 6.5" 0.13889">
+ <BRect 1.0" 10.3983" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 9>
+ <Unique 10354>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 10>
+ <Unique 72>
+ <Overprint No>
+ <ShapeRect 1.0" 0.5" 6.5" 0.13889">
+ <BRect 1.0" 0.5" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 11>
+ <Unique 75>
+ <Overprint No>
+ <ShapeRect 1.0" 10.3983" 6.5" 0.13889">
+ <BRect 1.0" 10.3983" 6.5" 0.13889">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+ <TextRect
+ <ID 12>
+ <Unique 78>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 79>
+ <PageType ReferencePage>
+ <PageTag `Reference'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <TextLine
+ <Unique 10356>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <TLOrigin 1.0" 0.4489">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <Font
+ <FTag `'>
+ <FFamily `Helvetica'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Helvetica-Bold'>
+ <FSize 12.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of Font
+ <String `Footnote'>
+ > # end of TextLine
+ <TextLine
+ <Unique 10357>
+ <Overprint No>
+ <TLOrigin 1.0" 1.70441">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Single Line'>
+ > # end of TextLine
+ <Frame
+ <Unique 10358>
+ <Pen 15>
+ <Fill 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 0.54167" 2.5" 0.20833">
+ <BRect 1.0" 0.54167" 2.5" 0.20833">
+ <FrameType NotAnchored>
+ <Tag `Footnote'>
+ <PolyLine
+ <Unique 55>
+ <Pen 0>
+ <PenWidth 0.5 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <HeadCap Square>
+ <TailCap Square>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.125" 0.02778">
+ <Point 2.125" 0.02778">
+ > # end of PolyLine
+ > # end of Frame
+ <TextLine
+ <Unique 10360>
+ <Overprint No>
+ <TLOrigin 1.0" 2.45441">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Double Line'>
+ > # end of TextLine
+ <Frame
+ <Unique 10361>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.58333" 6.5" 0.16667">
+ <BRect 1.0" 2.58333" 6.5" 0.16667">
+ <FrameType NotAnchored>
+ <Tag `Double Line'>
+ <PolyLine
+ <Unique 59>
+ <Pen 0>
+ <Separation 0>
+ <ObColor `Black'>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.01389">
+ <Point 6.5" 0.01389">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 61>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.05556">
+ <Point 6.5" 0.05556">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <Unique 10364>
+ <Pen 15>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.86111" 6.5" 0.13889">
+ <BRect 1.0" 1.86111" 6.5" 0.13889">
+ <FrameType NotAnchored>
+ <Tag `Single Line'>
+ <PolyLine
+ <Unique 64>
+ <Pen 0>
+ <Separation 0>
+ <ObColor `Black'>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.01389">
+ <Point 6.5" 0.01389">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <Unique 10366>
+ <Pen 15>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.25" 2.5" 0.08333">
+ <BRect 1.0" 1.25" 2.5" 0.08333">
+ <FrameType NotAnchored>
+ <Tag `TableFootnote'>
+ > # end of Frame
+ <TextLine
+ <Unique 10367>
+ <Overprint No>
+ <TLOrigin 0.96836" 1.11233">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `TableFootnote'>
+ > # end of TextLine
+ <TextLine
+ <Unique 81>
+ <Overprint No>
+ <TLOrigin 1.0" 0.4489">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Footnote'>
+ > # end of TextLine
+ <TextLine
+ <Unique 83>
+ <Overprint No>
+ <TLOrigin 1.0" 1.70441">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Single Line'>
+ > # end of TextLine
+ <Frame
+ <Unique 85>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 0.54167" 2.5" 0.20833">
+ <BRect 1.0" 0.54167" 2.5" 0.20833">
+ <FrameType NotAnchored>
+ <Tag `Footnote'>
+ <PolyLine
+ <Unique 71>
+ <Pen 0>
+ <PenWidth 0.5 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.125" 0.02778">
+ <Point 2.125" 0.02778">
+ > # end of PolyLine
+ > # end of Frame
+ <TextLine
+ <Unique 89>
+ <Overprint No>
+ <TLOrigin 1.0" 2.45441">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `Double Line'>
+ > # end of TextLine
+ <Frame
+ <Unique 91>
+ <Pen 15>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 2.58333" 6.5" 0.16667">
+ <BRect 1.0" 2.58333" 6.5" 0.16667">
+ <FrameType NotAnchored>
+ <Tag `Double Line'>
+ <PolyLine
+ <Unique 75>
+ <Pen 0>
+ <Separation 0>
+ <ObColor `Black'>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.01389">
+ <Point 6.5" 0.01389">
+ > # end of PolyLine
+ <PolyLine
+ <Unique 77>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.05556">
+ <Point 6.5" 0.05556">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <Unique 97>
+ <Pen 15>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.86111" 6.5" 0.13889">
+ <BRect 1.0" 1.86111" 6.5" 0.13889">
+ <FrameType NotAnchored>
+ <Tag `Single Line'>
+ <PolyLine
+ <Unique 80>
+ <Pen 0>
+ <Separation 0>
+ <ObColor `Black'>
+ <Overprint No>
+ <NumPoints 2>
+ <Point 0.0" 0.01389">
+ <Point 6.5" 0.01389">
+ > # end of PolyLine
+ > # end of Frame
+ <Frame
+ <Unique 101>
+ <Pen 15>
+ <Separation 0>
+ <ObColor `Black'>
+ <Angle 360.0>
+ <Overprint No>
+ <ShapeRect 1.0" 1.25" 2.5" 0.08333">
+ <BRect 1.0" 1.25" 2.5" 0.08333">
+ <FrameType NotAnchored>
+ <Tag `TableFootnote'>
+ > # end of Frame
+ <TextLine
+ <Unique 103>
+ <Overprint No>
+ <TLOrigin 0.96836" 1.11233">
+ <TLAlignment Left>
+ <TLLanguage USEnglish>
+ <String `TableFootnote'>
+ > # end of TextLine
+> # end of Page
+<Page
+ <Unique 10368>
+ <PageType BodyPage>
+ <PageNum `i'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 13>
+ <Unique 10369>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<Page
+ <Unique 110>
+ <PageType BodyPage>
+ <PageNum `ii'>
+ <PageTag `'>
+ <PageSize 8.5" 11.0">
+ <PageOrientation Portrait>
+ <PageAngle 0.0>
+ <PageBackground `Default'>
+ <TextRect
+ <ID 14>
+ <Unique 113>
+ <Pen 15>
+ <Fill 7>
+ <PenWidth 1.0 pt>
+ <Separation 0>
+ <ObColor `Black'>
+ <DashedPattern
+ <DashedStyle Solid>
+ > # end of DashedPattern
+ <RunaroundGap 6.0 pt>
+ <RunaroundType None>
+ <Overprint No>
+ <ShapeRect 1.0" 1.0" 6.5" 9.0">
+ <BRect 1.0" 1.0" 6.5" 9.0">
+ <TRNumColumns 1>
+ <TRColumnGap 0.25">
+ <TRColumnBalance No>
+ <TRSideheadWidth 1.5">
+ <TRSideheadGap 0.25">
+ <TRSideheadPlacement Left>
+ <TRNext 0>
+ > # end of TextRect
+> # end of Page
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 80>
+ <Pgf
+ <PgfTag `Header'>
+ <PgfUseNextTag No>
+ <PgfNextTag `'>
+ <PgfAlignment Left>
+ <PgfFIndent 0.0">
+ <PgfLIndent 0.0">
+ <PgfRIndent 0.0">
+ <PgfFIndentRelative No>
+ <PgfFIndentOffset 0.0">
+ <PgfTopSeparator `'>
+ <PgfTopSepAtIndent No>
+ <PgfTopSepOffset 0.0">
+ <PgfBotSeparator `'>
+ <PgfBotSepAtIndent No>
+ <PgfBotSepOffset 0.0">
+ <PgfPlacement Anywhere>
+ <PgfPlacementStyle Normal>
+ <PgfRunInDefaultPunct `. '>
+ <PgfSpBefore 0.0 pt>
+ <PgfSpAfter 0.0 pt>
+ <PgfWithPrev No>
+ <PgfWithNext No>
+ <PgfBlockSize 1>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLineSpacing Proportional>
+ <PgfLeading 2.0 pt>
+ <PgfAutoNum No>
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 3.25">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <HyphenMinPrefix 3>
+ <HyphenMinSuffix 3>
+ <HyphenMinWord 5>
+ <PgfLetterSpace No>
+ <PgfMinWordSpace 75>
+ <PgfOptWordSpace 100>
+ <PgfMaxWordSpace 125>
+ <PgfLanguage USEnglish>
+ <PgfCellAlignment Top>
+ <PgfCellMargins 0.0 pt 0.0 pt 0.0 pt 0.0 pt>
+ <PgfCellLMarginFixed No>
+ <PgfCellTMarginFixed No>
+ <PgfCellRMarginFixed No>
+ <PgfCellBMarginFixed No>
+ <PgfLocked No>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 1>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 81>
+ <Pgf
+ <PgfTag `Footer'>
+ <PgfAlignment Right>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 2>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 82>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 3>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 115>
+ <Pgf
+ <PgfTag `Header'>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 3.25">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <PgfMinWordSpace 75>
+ <PgfMaxWordSpace 125>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 4>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 117>
+ <Pgf
+ <PgfTag `Footer'>
+ <PgfAlignment Right>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 5>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 119>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 6>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 10342>
+ <Pgf
+ <PgfTag `Header'>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 3.25">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <PgfMinWordSpace 75>
+ <PgfMaxWordSpace 125>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 7>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 10343>
+ <Pgf
+ <PgfTag `Footer'>
+ <PgfAlignment Right>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 8>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 10344>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 9>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 121>
+ <Pgf
+ <PgfTag `Header'>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfNumTabs 2>
+ <TabStop
+ <TSX 3.25">
+ <TSType Center>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <TabStop
+ <TSX 6.5">
+ <TSType Right>
+ <TSLeaderStr ` '>
+ > # end of TabStop
+ <PgfHyphenate Yes>
+ <HyphenMaxLines 2>
+ <PgfMinWordSpace 75>
+ <PgfMaxWordSpace 125>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 10>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 123>
+ <Pgf
+ <PgfTag `Footer'>
+ <PgfAlignment Right>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 11>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 125>
+ <PgfTag `Body'>
+ <ParaLine
+ <TextRectID 12>
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 66>
+ <PgfTag `Title'>
+ <ParaLine
+ <TextRectID 13>
+ >
+ > # end of Para
+ <Para
+ <Unique 67>
+ <PgfTag `Title'>
+ <ParaLine
+ <String `X Print Service'>
+ >
+ > # end of Para
+ <Para
+ <Unique 68>
+ <PgfTag `Title2'>
+ <Pgf
+ <PgfSpBefore 13.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLeading 3.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `Protocol Version 1.0'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 69>
+ <PgfTag `Title3'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Bold'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Bold'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLeading 3.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `X Consortium Standard'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `X Version 11, Release 6.4'>
+ >
+ > # end of Para
+ <Para
+ <Unique 70>
+ <PgfTag `Title3'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 71>
+ <PgfTag `Title3'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 72>
+ <PgfTag `Title3'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 73>
+ <PgfTag `Title3'>
+ <Pgf
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern Yes>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ <PgfLeading 3.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <String `A. Deininger'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `T. Gilg'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String ` J. Miller'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `H. Phinney'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `C. Prince'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Hewlett-Packard Co.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `K. Samborn'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `R. Swick'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `X Consortium, Inc. '>
+ >
+ > # end of Para
+ <Para
+ <Unique 74>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 713201>
+ <PgfTag `Body'>
+ <ParaLine
+ >
+ > # end of Para
+> # end of TextFlow
+<TextFlow
+ <TFTag `A'>
+ <TFAutoConnect Yes>
+ <Notes
+ > # end of Notes
+ <Para
+ <Unique 147>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfPlacement PageTop>
+ <PgfSpBefore 24.0 pt>
+ > # end of Pgf
+ <ParaLine
+ <TextRectID 14>
+ >
+ > # end of Para
+ <Para
+ <Unique 149>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 24.0 pt>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 151>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 24.0 pt>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 153>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 24.0 pt>
+ > # end of Pgf
+ <ParaLine
+ >
+ > # end of Para
+ <Para
+ <Unique 155>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 24.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Copyright (c) 1996 Hewlett-Packard Company'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 International Business Machines, Inc.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 Sun Microsystems, Inc.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 Novell, Inc.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 Digital Equipment Corp.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 Fujitsu Limited'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 Hitachi, Ltd.'>
+ <Char HardReturn>
+ >
+ <ParaLine
+ <String `Copyright (c) 1996 X Consortium, Inc.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 157>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 12.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated '>
+ >
+ <ParaLine
+ <String `documentation files (the "Software"), to deal in the Software without restriction, including without limitation the '>
+ >
+ <ParaLine
+ <String `rights to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the Software, and to permit '>
+ >
+ <ParaLine
+ <String `persons to whom the Software is furnished to do so, subject to the following conditions:'>
+ >
+ > # end of Para
+ <Para
+ <Unique 159>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 12.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `The above copyright notice and this permission notice shall be included in all copies or substantial portions of the '>
+ >
+ <ParaLine
+ <String `Software.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 161>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 12.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, '>
+ >
+ <ParaLine
+ <String `INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A '>
+ >
+ <ParaLine
+ <String `PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE '>
+ >
+ <ParaLine
+ <String `LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF '>
+ >
+ <ParaLine
+ <String `CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE '>
+ >
+ <ParaLine
+ <String `SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 163>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 12.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <String `Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to '>
+ >
+ <ParaLine
+ <String `promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.'>
+ >
+ > # end of Para
+ <Para
+ <Unique 123>
+ <PgfTag `Body'>
+ <Pgf
+ <PgfSpBefore 12.0 pt>
+ <PgfFont
+ <FTag `'>
+ <FFamily `Times'>
+ <FVar `Regular'>
+ <FWeight `Regular'>
+ <FAngle `Regular'>
+ <FPostScriptName `Times-Roman'>
+ <FSize 10.0 pt>
+ <FUnderlining FNoUnderlining>
+ <FOverline No>
+ <FStrike No>
+ <FChangeBar No>
+ <FOutline No>
+ <FShadow No>
+ <FPairKern No>
+ <FCase FAsTyped>
+ <FPosition FNormal>
+ <FDX 0.0%>
+ <FDY 0.0%>
+ <FDW 0.0%>
+ <FLocked No>
+ <FSeparation 0>
+ <FColor `Black'>
+ > # end of PgfFont
+ > # end of Pgf
+ <ParaLine
+ <Font
+ <FTag `'>
+ <FAngle `Italic'>
+ <FPostScriptName `Times-Italic'>
+ <FLocked No>
+ > # end of Font
+ <String `X Window System'>
+ <Font
+ <FTag `'>
+ <FLocked No>
+ > # end of Font
+ <String ` is a trademark of X Consortium, Inc.'>
+ >
+ > # end of Para
+> # end of TextFlow
+# End of MIFFile
diff --git a/randrproto/.gitignore b/randrproto/.gitignore
new file mode 100644
index 0000000..d136c66
--- /dev/null
+++ b/randrproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for randrproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/randrproto/COPYING b/randrproto/COPYING
new file mode 100644
index 0000000..252d1be
--- /dev/null
+++ b/randrproto/COPYING
@@ -0,0 +1,21 @@
+Copyright © 2000 Compaq Computer Corporation
+Copyright © 2002 Hewlett-Packard Company
+Copyright © 2006 Intel Corporation
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and
+that the name of the copyright holders not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. The copyright holders make no representations
+about the suitability of this software for any purpose. It is provided "as
+is" without express or implied warranty.
+
+THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+OF THIS SOFTWARE.
diff --git a/randrproto/Makefile.am b/randrproto/Makefile.am
new file mode 100644
index 0000000..aede4e9
--- /dev/null
+++ b/randrproto/Makefile.am
@@ -0,0 +1,22 @@
+randrdir = $(includedir)/X11/extensions
+randr_HEADERS = \
+ randr.h \
+ randrproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = randrproto.pc
+
+dist_doc_DATA = randrproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/randrproto/README b/randrproto/README
new file mode 100644
index 0000000..478d23d
--- /dev/null
+++ b/randrproto/README
@@ -0,0 +1,30 @@
+ X Resize and Rotate Extension (RandR)
+
+This extension defines a protocol for clients to dynamically change X screens,
+so as to resize, rotate and reflect the root window of a screen.
+
+Extension name: RANDR
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/randrproto
+
+ http://cgit.freedesktop.org/xorg/proto/randrproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/randrproto/autogen.sh b/randrproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/randrproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/randrproto/configure.ac b/randrproto/configure.ac
new file mode 100644
index 0000000..e876c44
--- /dev/null
+++ b/randrproto/configure.ac
@@ -0,0 +1,36 @@
+dnl
+dnl Copyright © 2003 Keith Packard
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation, and that the name of Keith Packard not be used in
+dnl advertising or publicity pertaining to distribution of the software without
+dnl specific, written prior permission. Keith Packard makes no
+dnl representations about the suitability of this software for any purpose. It
+dnl is provided "as is" without express or implied warranty.
+dnl
+dnl KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+dnl EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+dnl PERFORMANCE OF THIS SOFTWARE.
+dnl
+dnl Process this file with autoconf to create configure.
+
+AC_PREREQ([2.60])
+AC_INIT([RandrProto], [1.3.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ randrproto.pc])
diff --git a/randrproto/randr.h b/randrproto/randr.h
new file mode 100644
index 0000000..1ee95f9
--- /dev/null
+++ b/randrproto/randr.h
@@ -0,0 +1,163 @@
+/*
+ * Copyright © 2000 Compaq Computer Corporation
+ * Copyright © 2002 Hewlett Packard Company
+ * Copyright © 2006 Intel Corporation
+ * Copyright © 2008 Red Hat, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ *
+ * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.
+ * Keith Packard, Intel Corporation
+ */
+
+#ifndef _RANDR_H_
+#define _RANDR_H_
+
+typedef unsigned short Rotation;
+typedef unsigned short SizeID;
+typedef unsigned short SubpixelOrder;
+typedef unsigned short Connection;
+typedef unsigned short XRandrRotation;
+typedef unsigned short XRandrSizeID;
+typedef unsigned short XRandrSubpixelOrder;
+typedef unsigned long XRandrModeFlags;
+
+#define RANDR_NAME "RANDR"
+#define RANDR_MAJOR 1
+#define RANDR_MINOR 3
+
+#define RRNumberErrors 3
+#define RRNumberEvents 2
+#define RRNumberRequests 32
+
+#define X_RRQueryVersion 0
+/* we skip 1 to make old clients fail pretty immediately */
+#define X_RROldGetScreenInfo 1
+#define X_RR1_0SetScreenConfig 2
+/* V1.0 apps share the same set screen config request id */
+#define X_RRSetScreenConfig 2
+#define X_RROldScreenChangeSelectInput 3
+/* 3 used to be ScreenChangeSelectInput; deprecated */
+#define X_RRSelectInput 4
+#define X_RRGetScreenInfo 5
+
+/* V1.2 additions */
+#define X_RRGetScreenSizeRange 6
+#define X_RRSetScreenSize 7
+#define X_RRGetScreenResources 8
+#define X_RRGetOutputInfo 9
+#define X_RRListOutputProperties 10
+#define X_RRQueryOutputProperty 11
+#define X_RRConfigureOutputProperty 12
+#define X_RRChangeOutputProperty 13
+#define X_RRDeleteOutputProperty 14
+#define X_RRGetOutputProperty 15
+#define X_RRCreateMode 16
+#define X_RRDestroyMode 17
+#define X_RRAddOutputMode 18
+#define X_RRDeleteOutputMode 19
+#define X_RRGetCrtcInfo 20
+#define X_RRSetCrtcConfig 21
+#define X_RRGetCrtcGammaSize 22
+#define X_RRGetCrtcGamma 23
+#define X_RRSetCrtcGamma 24
+
+/* V1.3 additions */
+#define X_RRGetScreenResourcesCurrent 25
+#define X_RRSetCrtcTransform 26
+#define X_RRGetCrtcTransform 27
+#define X_RRGetPanning 28
+#define X_RRSetPanning 29
+#define X_RRSetOutputPrimary 30
+#define X_RRGetOutputPrimary 31
+
+#define RRTransformUnit (1L << 0)
+#define RRTransformScaleUp (1L << 1)
+#define RRTransformScaleDown (1L << 2)
+#define RRTransformProjective (1L << 3)
+
+/* Event selection bits */
+#define RRScreenChangeNotifyMask (1L << 0)
+/* V1.2 additions */
+#define RRCrtcChangeNotifyMask (1L << 1)
+#define RROutputChangeNotifyMask (1L << 2)
+#define RROutputPropertyNotifyMask (1L << 3)
+
+/* Event codes */
+#define RRScreenChangeNotify 0
+/* V1.2 additions */
+#define RRNotify 1
+/* RRNotify Subcodes */
+#define RRNotify_CrtcChange 0
+#define RRNotify_OutputChange 1
+#define RRNotify_OutputProperty 2
+
+/* used in the rotation field; rotation and reflection in 0.1 proto. */
+#define RR_Rotate_0 1
+#define RR_Rotate_90 2
+#define RR_Rotate_180 4
+#define RR_Rotate_270 8
+
+/* new in 1.0 protocol, to allow reflection of screen */
+
+#define RR_Reflect_X 16
+#define RR_Reflect_Y 32
+
+#define RRSetConfigSuccess 0
+#define RRSetConfigInvalidConfigTime 1
+#define RRSetConfigInvalidTime 2
+#define RRSetConfigFailed 3
+
+/* new in 1.2 protocol */
+
+#define RR_HSyncPositive 0x00000001
+#define RR_HSyncNegative 0x00000002
+#define RR_VSyncPositive 0x00000004
+#define RR_VSyncNegative 0x00000008
+#define RR_Interlace 0x00000010
+#define RR_DoubleScan 0x00000020
+#define RR_CSync 0x00000040
+#define RR_CSyncPositive 0x00000080
+#define RR_CSyncNegative 0x00000100
+#define RR_HSkewPresent 0x00000200
+#define RR_BCast 0x00000400
+#define RR_PixelMultiplex 0x00000800
+#define RR_DoubleClock 0x00001000
+#define RR_ClockDivideBy2 0x00002000
+
+#define RR_Connected 0
+#define RR_Disconnected 1
+#define RR_UnknownConnection 2
+
+#define BadRROutput 0
+#define BadRRCrtc 1
+#define BadRRMode 2
+
+/* Conventional RandR output properties */
+
+#define RR_PROPERTY_BACKLIGHT "Backlight"
+#define RR_PROPERTY_RANDR_EDID "EDID"
+#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"
+#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"
+#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"
+#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"
+#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"
+#define RR_PROPERTY_CLONE_LIST "CloneList"
+
+#endif /* _RANDR_H_ */
diff --git a/randrproto/randrproto.h b/randrproto/randrproto.h
new file mode 100644
index 0000000..3b98a9f
--- /dev/null
+++ b/randrproto/randrproto.h
@@ -0,0 +1,802 @@
+/*
+ * Copyright © 2000 Compaq Computer Corporation
+ * Copyright © 2002 Hewlett-Packard Company
+ * Copyright © 2006 Intel Corporation
+ * Copyright © 2008 Red Hat, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. The copyright holders make no representations
+ * about the suitability of this software for any purpose. It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ *
+ * Author: Jim Gettys, Hewlett-Packard Company, Inc.
+ * Keith Packard, Intel Corporation
+ */
+
+/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
+/* V1.0 removes depth switching from the protocol */
+#ifndef _XRANDRP_H_
+#define _XRANDRP_H_
+
+#include <X11/extensions/randr.h>
+#include <X11/extensions/renderproto.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+#define RROutput CARD32
+#define RRMode CARD32
+#define RRCrtc CARD32
+#define RRModeFlags CARD32
+
+#define Rotation CARD16
+#define SizeID CARD16
+#define SubpixelOrder CARD16
+
+/*
+ * data structures
+ */
+
+typedef struct {
+ CARD16 widthInPixels B16;
+ CARD16 heightInPixels B16;
+ CARD16 widthInMillimeters B16;
+ CARD16 heightInMillimeters B16;
+} xScreenSizes;
+#define sz_xScreenSizes 8
+
+/*
+ * requests and replies
+ */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xRRQueryVersionReq;
+#define sz_xRRQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRQueryVersionReply;
+#define sz_xRRQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+} xRRGetScreenInfoReq;
+#define sz_xRRGetScreenInfoReq 8
+
+/*
+ * the xRRScreenInfoReply structure is followed by:
+ *
+ * the size information
+ */
+
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE setOfRotations;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window root B32;
+ Time timestamp B32;
+ Time configTimestamp B32;
+ CARD16 nSizes B16;
+ SizeID sizeID B16;
+ Rotation rotation B16;
+ CARD16 rate B16;
+ CARD16 nrateEnts B16;
+ CARD16 pad B16;
+} xRRGetScreenInfoReply;
+#define sz_xRRGetScreenInfoReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Drawable drawable B32;
+ Time timestamp B32;
+ Time configTimestamp B32;
+ SizeID sizeID B16;
+ Rotation rotation B16;
+} xRR1_0SetScreenConfigReq;
+#define sz_xRR1_0SetScreenConfigReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Drawable drawable B32;
+ Time timestamp B32;
+ Time configTimestamp B32;
+ SizeID sizeID B16;
+ Rotation rotation B16;
+ CARD16 rate B16;
+ CARD16 pad B16;
+} xRRSetScreenConfigReq;
+#define sz_xRRSetScreenConfigReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time newTimestamp B32;
+ Time newConfigTimestamp B32;
+ Window root;
+ CARD16 subpixelOrder B16;
+ CARD16 pad4 B16;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRRSetScreenConfigReply;
+#define sz_xRRSetScreenConfigReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 enable B16;
+ CARD16 pad2 B16;
+} xRRSelectInputReq;
+#define sz_xRRSelectInputReq 12
+
+/*
+ * Additions for version 1.2
+ */
+
+typedef struct _xRRModeInfo {
+ RRMode id B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 dotClock B32;
+ CARD16 hSyncStart B16;
+ CARD16 hSyncEnd B16;
+ CARD16 hTotal B16;
+ CARD16 hSkew B16;
+ CARD16 vSyncStart B16;
+ CARD16 vSyncEnd B16;
+ CARD16 vTotal B16;
+ CARD16 nameLength B16;
+ RRModeFlags modeFlags B32;
+} xRRModeInfo;
+#define sz_xRRModeInfo 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+} xRRGetScreenSizeRangeReq;
+#define sz_xRRGetScreenSizeRangeReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 minWidth B16;
+ CARD16 minHeight B16;
+ CARD16 maxWidth B16;
+ CARD16 maxHeight B16;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xRRGetScreenSizeRangeReply;
+#define sz_xRRGetScreenSizeRangeReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 widthInMillimeters B32;
+ CARD32 heightInMillimeters B32;
+} xRRSetScreenSizeReq;
+#define sz_xRRSetScreenSizeReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+} xRRGetScreenResourcesReq;
+#define sz_xRRGetScreenResourcesReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time timestamp B32;
+ Time configTimestamp B32;
+ CARD16 nCrtcs B16;
+ CARD16 nOutputs B16;
+ CARD16 nModes B16;
+ CARD16 nbytesNames B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xRRGetScreenResourcesReply;
+#define sz_xRRGetScreenResourcesReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Time configTimestamp B32;
+} xRRGetOutputInfoReq;
+#define sz_xRRGetOutputInfoReq 12
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time timestamp B32;
+ RRCrtc crtc B32;
+ CARD32 mmWidth B32;
+ CARD32 mmHeight B32;
+ CARD8 connection;
+ CARD8 subpixelOrder;
+ CARD16 nCrtcs B16;
+ CARD16 nModes B16;
+ CARD16 nPreferred B16;
+ CARD16 nClones B16;
+ CARD16 nameLength B16;
+} xRRGetOutputInfoReply;
+#define sz_xRRGetOutputInfoReply 36
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+} xRRListOutputPropertiesReq;
+#define sz_xRRListOutputPropertiesReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nAtoms B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRRListOutputPropertiesReply;
+#define sz_xRRListOutputPropertiesReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Atom property B32;
+} xRRQueryOutputPropertyReq;
+#define sz_xRRQueryOutputPropertyReq 12
+
+typedef struct {
+ BYTE type;
+ BYTE pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL pending;
+ BOOL range;
+ BOOL immutable;
+ BYTE pad1;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRRQueryOutputPropertyReply;
+#define sz_xRRQueryOutputPropertyReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Atom property B32;
+ BOOL pending;
+ BOOL range;
+ CARD16 pad B16;
+} xRRConfigureOutputPropertyReq;
+#define sz_xRRConfigureOutputPropertyReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Atom property B32;
+ Atom type B32;
+ CARD8 format;
+ CARD8 mode;
+ CARD16 pad;
+ CARD32 nUnits B32;
+} xRRChangeOutputPropertyReq;
+#define sz_xRRChangeOutputPropertyReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Atom property B32;
+} xRRDeleteOutputPropertyReq;
+#define sz_xRRDeleteOutputPropertyReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ Atom property B32;
+ Atom type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+#ifdef __cplusplus
+ BOOL _delete;
+#else
+ BOOL delete;
+#endif
+ BOOL pending;
+ CARD16 pad1 B16;
+} xRRGetOutputPropertyReq;
+#define sz_xRRGetOutputPropertyReq 28
+
+typedef struct {
+ BYTE type;
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xRRGetOutputPropertyReply;
+#define sz_xRRGetOutputPropertyReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+ xRRModeInfo modeInfo;
+} xRRCreateModeReq;
+#define sz_xRRCreateModeReq 40
+
+typedef struct {
+ BYTE type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ RRMode mode B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRCreateModeReply;
+#define sz_xRRCreateModeReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRMode mode B32;
+} xRRDestroyModeReq;
+#define sz_xRRDestroyModeReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ RRMode mode B32;
+} xRRAddOutputModeReq;
+#define sz_xRRAddOutputModeReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RROutput output B32;
+ RRMode mode B32;
+} xRRDeleteOutputModeReq;
+#define sz_xRRDeleteOutputModeReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+ Time configTimestamp B32;
+} xRRGetCrtcInfoReq;
+#define sz_xRRGetCrtcInfoReq 12
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time timestamp B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ RRMode mode B32;
+ Rotation rotation B16;
+ Rotation rotations B16;
+ CARD16 nOutput B16;
+ CARD16 nPossibleOutput B16;
+} xRRGetCrtcInfoReply;
+#define sz_xRRGetCrtcInfoReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+ Time timestamp B32;
+ Time configTimestamp B32;
+ INT16 x B16;
+ INT16 y B16;
+ RRMode mode B32;
+ Rotation rotation B16;
+ CARD16 pad B16;
+} xRRSetCrtcConfigReq;
+#define sz_xRRSetCrtcConfigReq 28
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time newTimestamp B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRSetCrtcConfigReply;
+#define sz_xRRSetCrtcConfigReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+} xRRGetCrtcGammaSizeReq;
+#define sz_xRRGetCrtcGammaSizeReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 size B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRRGetCrtcGammaSizeReply;
+#define sz_xRRGetCrtcGammaSizeReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+} xRRGetCrtcGammaReq;
+#define sz_xRRGetCrtcGammaReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 size B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRRGetCrtcGammaReply;
+#define sz_xRRGetCrtcGammaReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+ CARD16 size B16;
+ CARD16 pad1 B16;
+} xRRSetCrtcGammaReq;
+#define sz_xRRSetCrtcGammaReq 12
+
+/*
+ * Additions for V1.3
+ */
+
+typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
+
+#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
+
+typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
+#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+ xRenderTransform transform;
+ CARD16 nbytesFilter; /* number of bytes in filter name */
+ CARD16 pad B16;
+} xRRSetCrtcTransformReq;
+
+#define sz_xRRSetCrtcTransformReq 48
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+} xRRGetCrtcTransformReq;
+
+#define sz_xRRGetCrtcTransformReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ xRenderTransform pendingTransform;
+ BYTE hasTransforms;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ xRenderTransform currentTransform;
+ CARD32 pad2 B32;
+ CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
+ CARD16 pendingNparamsFilter B16; /* number of filter params */
+ CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
+ CARD16 currentNparamsFilter B16; /* number of filter params */
+} xRRGetCrtcTransformReply;
+
+#define sz_xRRGetCrtcTransformReply 96
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+ RROutput output B32;
+} xRRSetOutputPrimaryReq;
+#define sz_xRRSetOutputPrimaryReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ Window window B32;
+} xRRGetOutputPrimaryReq;
+#define sz_xRRGetOutputPrimaryReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ RROutput output B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRGetOutputPrimaryReply;
+#define sz_xRRGetOutputPrimaryReply 32
+
+/*
+ * event
+ */
+typedef struct {
+ CARD8 type; /* always evBase + ScreenChangeNotify */
+ CARD8 rotation; /* new rotation */
+ CARD16 sequenceNumber B16;
+ Time timestamp B32; /* time screen was changed */
+ Time configTimestamp B32; /* time config data was changed */
+ Window root B32; /* root window */
+ Window window B32; /* window requesting notification */
+ SizeID sizeID B16; /* new size ID */
+ CARD16 subpixelOrder B16; /* subpixel order */
+ CARD16 widthInPixels B16; /* new size */
+ CARD16 heightInPixels B16;
+ CARD16 widthInMillimeters B16;
+ CARD16 heightInMillimeters B16;
+} xRRScreenChangeNotifyEvent;
+#define sz_xRRScreenChangeNotifyEvent 32
+
+typedef struct {
+ CARD8 type; /* always evBase + RRNotify */
+ CARD8 subCode; /* RRNotify_CrtcChange */
+ CARD16 sequenceNumber B16;
+ Time timestamp B32; /* time crtc was changed */
+ Window window B32; /* window requesting notification */
+ RRCrtc crtc B32; /* affected CRTC */
+ RRMode mode B32; /* current mode */
+ CARD16 rotation B16; /* rotation and reflection */
+ CARD16 pad1 B16; /* unused */
+ INT16 x B16; /* new location */
+ INT16 y B16;
+ CARD16 width B16; /* new size */
+ CARD16 height B16;
+} xRRCrtcChangeNotifyEvent;
+#define sz_xRRCrtcChangeNotifyEvent 32
+
+typedef struct {
+ CARD8 type; /* always evBase + RRNotify */
+ CARD8 subCode; /* RRNotify_OutputChange */
+ CARD16 sequenceNumber B16;
+ Time timestamp B32; /* time output was changed */
+ Time configTimestamp B32; /* time config was changed */
+ Window window B32; /* window requesting notification */
+ RROutput output B32; /* affected output */
+ RRCrtc crtc B32; /* current crtc */
+ RRMode mode B32; /* current mode */
+ CARD16 rotation B16; /* rotation and reflection */
+ CARD8 connection; /* connection status */
+ CARD8 subpixelOrder; /* subpixel order */
+} xRROutputChangeNotifyEvent;
+#define sz_xRROutputChangeNotifyEvent 32
+
+typedef struct {
+ CARD8 type; /* always evBase + RRNotify */
+ CARD8 subCode; /* RRNotify_OutputProperty */
+ CARD16 sequenceNumber B16;
+ Window window B32; /* window requesting notification */
+ RROutput output B32; /* affected output */
+ Atom atom B32; /* property name */
+ Time timestamp B32; /* time crtc was changed */
+ CARD8 state; /* NewValue or Deleted */
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xRROutputPropertyNotifyEvent;
+#define sz_xRROutputPropertyNotifyEvent 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+} xRRGetPanningReq;
+#define sz_xRRGetPanningReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time timestamp B32;
+ CARD16 left B16;
+ CARD16 top B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 track_left B16;
+ CARD16 track_top B16;
+ CARD16 track_width B16;
+ CARD16 track_height B16;
+ INT16 border_left B16;
+ INT16 border_top B16;
+ INT16 border_right B16;
+ INT16 border_bottom B16;
+} xRRGetPanningReply;
+#define sz_xRRGetPanningReply 36
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 randrReqType;
+ CARD16 length B16;
+ RRCrtc crtc B32;
+ Time timestamp B32;
+ CARD16 left B16;
+ CARD16 top B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 track_left B16;
+ CARD16 track_top B16;
+ CARD16 track_width B16;
+ CARD16 track_height B16;
+ INT16 border_left B16;
+ INT16 border_top B16;
+ INT16 border_right B16;
+ INT16 border_bottom B16;
+} xRRSetPanningReq;
+#define sz_xRRSetPanningReq 36
+
+typedef struct {
+ BYTE type;
+ CARD8 status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Time newTimestamp B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRRSetPanningReply;
+#define sz_xRRSetPanningReply 32
+
+#undef RRModeFlags
+#undef RRCrtc
+#undef RRMode
+#undef RROutput
+#undef RRMode
+#undef RRCrtc
+#undef Drawable
+#undef Window
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef Time
+#undef KeyCode
+#undef KeySym
+#undef Rotation
+#undef SizeID
+#undef SubpixelOrder
+
+#endif /* _XRANDRP_H_ */
diff --git a/randrproto/randrproto.pc.in b/randrproto/randrproto.pc.in
new file mode 100644
index 0000000..d94d353
--- /dev/null
+++ b/randrproto/randrproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: RandrProto
+Description: Randr extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/randrproto/randrproto.txt b/randrproto/randrproto.txt
new file mode 100644
index 0000000..016532c
--- /dev/null
+++ b/randrproto/randrproto.txt
@@ -0,0 +1,2379 @@
+ The X Resize, Rotate and Reflect Extension
+ Version 1.3.1
+ 2009-10-5
+
+ Jim Gettys
+ Jim.Gettys@hp.com
+ Cambridge Research Laboratory
+ HP Labs
+ Hewlett Packard Company
+
+ Keith Packard
+ keith.packard@intel.com
+ Open Source Technology Center
+ Intel Corporation
+
+1. Introduction
+
+The X Resize, Rotate and Reflect Extension, called RandR for short,
+brings the ability to resize, rotate and reflect the root window of a
+screen. It is based on the X Resize and Rotate Extension as specified
+in the Proceedings of the 2001 Usenix Technical Conference [RANDR].
+
+RandR as implemented and integrated into the X server differs in
+one substantial fashion from the design discussed in that paper: that
+is, RandR 1.0 does not implement the depth switching described in that
+document, and the support described for that in the protocol in that
+document and in the implementation has been removed from the
+protocol described here, as it has been overtaken by events.
+
+These events include:
+ ► Modern toolkits (in this case, GTK+ 2.x) have progressed to the point
+ of implementing migration between screens of arbitrary depths
+ ► The continued advance of Moore's law has made limited amounts of VRAM
+ less of an issue, reducing the pressure to implement depth switching
+ on laptops or desktop systems
+ ► The continued decline of legacy toolkits whose design would have
+ required depth switching to support migration
+ ► The lack of depth switching implementation experience in the
+ intervening time, due to events beyond our control
+
+Additionally, the requirement to support depth switching might
+complicate other re-engineering of the device independent part of the
+X server that is currently being contemplated.
+
+Rather than further delaying RandR's widespread deployment for a feature
+long wanted by the community (resizing of screens, particularly on laptops),
+or the deployment of a protocol design that might be flawed due to lack of
+implementation experience, we decided to remove depth switching from the
+protocol. It may be implemented at a later time if resources and
+interests permit as a revision to the protocol described here, which will
+remain a stable base for applications. The protocol described here has been
+implemented in the main X.org server, and more fully in the hw/kdrive
+implementation in the distribution, which fully implements resizing,
+rotation and reflection.
+
+1.2 Introduction to version 1.2 of the extension
+
+One of the significant limitations found in version 1.1 of the RandR
+protocol was the inability to deal with the Xinerama model where multiple
+monitors display portions of a common underlying screen. In this environment,
+zero or more video outputs are associated with each CRT controller which
+defines both a set of video timings and a 'viewport' within the larger
+screen. This viewport is independent of the overall size of the screen, and
+may be located anywhere within the screen.
+
+The effect is to decouple the reported size of the screen from the size
+presented by each video output, and to permit multiple outputs to present
+information for a single screen.
+
+To extend RandR for this model, we separate out the output, CRTC and screen
+configuration information and permit them to be configured separately. For
+compatibility with the 1.1 version of the protocol, we make the 1.1 requests
+simultaneously affect both the screen and the (presumably sole) CRTC and
+output. The set of available outputs are presented with UTF-8 encoded names
+and may be connected to CRTCs as permitted by the underlying hardware. CRTC
+configuration is now done with full mode information instead of just size
+and refresh rate, and these modes have names. These names also use UTF-8
+encoding. New modes may also be added by the user.
+
+Additional requests and events are provided for this new functionality.
+
+ ┌────────────────────────────────┬──────────┐
+ ┏━━━━━━━┳───────────────┐ ╔════════╗ ╔════════╗
+ ┃ 1 ┃ │ ║ A ║ ║ B ║
+ ┃ ┏━━━╋━━━━━━━━━━━━━━━┫ ║ ║ ║ ║
+ ┣━━━╋━━━┛ ┃ ╚════════╝ ╚════════╝
+ │ ┃ 2 ┃─────────────────┐
+ │ ┃ ┃ ╔═══════════════════╗
+ │ ┃ ┃ ║ ║
+ │ ┗━━━━━━━━━━━━━━━━━━━┫ ║ C ║
+ └───────────────────────┘ ║ ║
+ ┌──────┐ ┏━━━━┓ ╔══════╗ ║ ║
+ │screen│ ┃CRTC┃ ║output║ ╚═══════════════════╝
+ └──────┘ ┗━━━━┛ ╚══════╝
+
+In this picture, the screen is covered (incompletely) by two CRTCs. CRTC1
+is connected to two outputs, A and B. CRTC2 is connected to output C.
+Outputs A and B will present exactly the same region of the screen using
+the same mode line. Output C will present a different (larger) region of
+the screen using a different mode line.
+
+RandR provides information about each available CRTC and output; the
+connection between CRTC and output is under application control, although
+the hardware will probably impose restrictions on the possible
+configurations. The protocol doesn't try to describe these restrictions,
+instead it provides a mechanism to find out what combinations are supported.
+
+For instance, dual-link DVI gangs two CRTC outputs together to provide higher
+bandwidth for large resolution screens. This is exposed in RandR by
+requiring that nothing be connected to the second CRTC when driving a high
+resolution screen on the first.
+
+1.3 Introduction to version 1.3 of the extension
+
+Version 1.3 builds on the changes made with version 1.2 and adds some new
+capabilities without fundmentally changing the extension again. The
+following features are added in this version:
+
+ • Projective Transforms. The implementation work for general rotation
+ support made it trivial to add full projective transformations. These
+ can be used to scale the screen up/down as well as perform projector
+ keystone correct or other effects.
+
+ • Panning. It was removed with RandR 1.2 because the old semantics didn't
+ fit any longer. With RandR 1.3 panning can be specified per crtc.
+
+1.1 Acknowledgements
+
+Our thanks to the contributors to the design found on the xpert mailing
+list, in particular:
+
+Alan Hourihane for work on the early implementation
+Andrew C. Aitchison for help with the XFree86 DDX implementation
+Andy Ritger for early questions about how mergefb/Xinerama work with RandR
+Carl Worth for editing the specification and Usenix paper
+David Dawes for XFree86 DDX integration work
+Thomas Winischhofer for the hardware-accelerated SiS rotation implementation
+Matthew Tippett and Kevin Martin for splitting outputs and CRTCs to more
+fully expose what video hardware can do
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+2. Screen change model
+
+Screens may change dynamically, either under control of this extension, or
+due to external events. Examples include: monitors being swapped, pressing a
+button to switch from internal display to an external monitor on a laptop,
+or, eventually, the hotplug of a display card entirely on busses such as
+Cardbus or Express Card which permit hot-swap (which will require other work
+in addition to this extension).
+
+Since the screen configuration is dynamic and asynchronous to the client and
+may change at any time RandR provides mechanisms to ensure that your clients
+view is up to date with the configuration possibilities of the moment and
+enforces applications that wish to control the configuration to prove that
+their information is up to date before honoring requests to change the
+screen configuration (by requiring a timestamp on the request).
+
+Interested applications are notified whenever the screen configuration
+changes, providing the current size of the screen and subpixel order (see
+the Render extension [RENDER]), to enable proper rendering of subpixel
+decimated client text to continue, along with a time stamp of the
+configuration change. A client must refresh its knowledge of the screen
+configuration before attempting to change the configuration after a
+notification, or the request will fail.
+
+To avoid multiplicative explosion between orientation, reflection and sizes,
+the sizes are only those sizes in the normal (0) rotation.
+
+Rotation and reflection and how they interact can be confusing. In Randr,
+the coordinate system is rotated in a counter-clockwise direction relative
+to the normal orientation. Reflection is along the window system coordinate
+system, not the physical screen X and Y axis, so that rotation and
+reflection do not interact. The other way to consider reflection is to is
+specified in the "normal" orientation, before rotation, if you find the
+other way confusing.
+
+We expect that most clients and toolkits will be oblivious to changes to the
+screen structure, as they generally use the values in the connections Display
+structure directly. By toolkits updating the values on the fly, we believe
+pop-up menus and other pop up windows will position themselves correctly in
+the face of screen configuration changes (the issue is ensuring that pop-ups
+are visible on the reconfigured screen).
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+3. Data Types
+
+The subpixel order is shared with the Render extension, and is documented
+there. The only datatype defined is the screen size, defined in the normal
+(0 degree) orientation.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+4. Errors
+
+Errors are sent using core X error reports.
+
+Output
+ A value for an OUTPUT argument does not name a defined OUTPUT.
+CRTC
+ A value for a CRTC argument does not name a defined CRTC.
+Mode
+ A value for a MODE argument does not name a defined MODE.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+5. Protocol Types
+
+RRCONFIGSTATUS { Success
+ InvalidConfigTime
+ InvalidTime
+ Failed }
+
+ A value of type RRCONFIGSTATUS returned when manipulating the output
+ configuration or querying information from the server that has some
+ time-dependency.
+
+ InvalidConfigTime indicates that the supplied configuration
+ timestamp does not match the current X server configuration
+ timestamp. Usually this means that the output configuration has
+ changed since the timestamp was received by the application.
+
+ InvalidTime indicates that the supplied output reconfiguration time
+ is earlier than the most recent output reconfiguration request.
+ Generally this indicates that another application has reconfigured
+ the output using a later timestamp.
+
+ Failed is returned whenever the operation is unsuccessful for some
+ other reason. This generally indicates that the requested output
+ configuration is unsupported by the hardware. The goal is to make
+ these limitations expressed by the protocol, but when that isn't
+ possible it is correct to return this error value. If, as a
+ implentor, you find this error code required, please submit the
+ hardware constraints that exist so that a future version of the
+ extension can correctly capture the configuration constraints in
+ your system.
+
+ROTATION { Rotate_0
+ Rotate_90
+ Rotate_180
+ Rotate_270
+ Reflect_X
+ Reflect_Y }
+
+ These values are used both to indicate a set of allowed rotations
+ and reflections as well as to indicate a specific rotation and
+ reflection combination.
+
+RRSELECTMASK { RRScreenChangeNotifyMask
+ RRCrtcChangeNotifyMask (New in version 1.2)
+ RROutputChangeNotifyMask (New in version 1.2)
+ RROutputPropertyNotifyMask (New in version 1.2) }
+
+SIZEID { CARD16 }
+
+MODE { XID or None }
+
+CRTC { XID }
+
+OUTPUT { XID }
+
+CONNECTION { Connected, Disconnected, UnknownConnection }
+
+ This value provides an indication of whether an output is actually
+ connected to a monitor or other presentation device.
+
+SUBPIXELORDER { SubPixelUnknown The subpixel order uses the Render
+ SubPixelHorizontalRGB extensions definitions; they are here
+ SubPixelHorizontalBGR only for convenience.
+ SubPixelVerticalRGB
+ SubPixelVerticalBGR
+ SubPixelNone }
+
+SCREENSIZE { widthInPixels, heightInPixels: CARD16
+ widthInMillimeters, heightInMillimeters: CARD16 }
+
+MODEFLAG { HSyncPositive
+ HSyncNegative
+ VSyncPositive
+ VSyncNegative
+ Interlace
+ DoubleScan
+ CSync
+ CSyncPositive
+ CSyncNegative
+ HSkewPresent
+ BCast
+ PixelMultiplex
+ DoubleClock
+ ClockDivideBy2 }
+
+MODEINFO { id: MODE
+ name: STRING
+ width, height: CARD16
+ dotClock: CARD32
+ hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
+ vSyncStart, vSyncEnd, vTotal: CARD16
+ modeFlags: SETofMODEFLAG }
+
+REFRESH { rates: LISTofCARD16 }
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+6. Extension Initialization
+
+The name of this extension is "RANDR".
+
+┌───
+ RRQueryVersion
+ client-major-version: CARD32
+ client-minor-version: CARD32
+ ▶
+ major-version: CARD32
+ minor-version: CARD32
+└───
+
+ The client sends the highest supported version to the server
+ and the server sends the highest version it supports, but no
+ higher than the requested version. Major versions changes can
+ introduce incompatibilities in existing functionality, minor
+ version changes introduce only backward compatible changes.
+ It is the clients responsibility to ensure that the server
+ supports a version which is compatible with its expectations.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+7. Extension Requests
+
+┌───
+ RRSelectInput
+ window: WINDOW
+ enable: SETofRRSELECTMASK
+└───
+ Errors: Window, Value
+
+ If 'enable' is RRScreenChangeNotifyMask, RRScreenChangeNotify events
+ will be sent when the screen configuration changes, either from
+ this protocol extension, or due to detected external screen
+ configuration changes. RRScreenChangeNotify may also be sent when
+ this request executes if the screen configuration has changed since
+ the client connected, to avoid race conditions.
+
+ New for version 1.2:
+
+ If 'enable' contains RRCrtcChangeMask, RRCrtcChangeNotify events
+ will be sent when a the configuration for a CRTC associated with the
+ screen changes, either through this protocol extension or due to
+ detected external changes. RRCrtcChangeNotify may also be sent when
+ this request executes if the CRTC configuration has changed since
+ the client connected, to avoid race conditions.
+
+ If 'enable' contains RROutputChangeMask, RROutputChangeNotify events
+ will be sent when a the configuration for an output associated with
+ the screen changes, either through this protocol extension or due to
+ detected external changes. RROutputChangeNotify may also be sent
+ when this request executes if the output configuration has changed
+ since the client connected, to avoid race conditions.
+
+ If 'enable' contains RROutputPropertyNotifyMask,
+ RROutputPropertyNotify events will be sent when properties change on
+ this output.
+
+┌───
+ RRSetScreenConfig
+ window: WINDOW
+ timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ size-id: SIZEID
+ rotation: ROTATION
+ rate: CARD16
+ ▶
+ status: RRCONFIGSTATUS
+ new-timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ root: WINDOW
+ subpixelOrder: SUBPIXELORDER
+└───
+ Errors: Value, Match
+
+ If 'timestamp' is less than the time when the configuration was last
+ successfully set, the request is ignored and InvalidTime returned in
+ status.
+
+ If 'config-timestamp' is not equal to when the server's screen
+ configurations last changed, the request is ignored and
+ InvalidConfigTime returned in status. This could occur if the
+ screen changed since you last made a RRGetScreenInfo request,
+ perhaps by a different piece of display hardware being installed.
+ Rather than allowing an incorrect call to be executed based on stale
+ data, the server will ignore the request.
+
+ 'rate' contains the desired refresh rate. If it is zero, the server
+ selects an appropriate rate.
+
+ This request may fail for other indeterminate reasons, in which case
+ 'status' will be set to Failed and no configuration change will be
+ made.
+
+ This request sets the screen to the specified size, rate, rotation
+ and reflection.
+
+ When this request succeeds, 'status' contains Success and the
+ requested changes to configuration will have been made.
+
+ 'new-time-stamp' contains the time at which this request was
+ executed.
+
+ 'config-timestamp' contains the time when the possible screen
+ configurations were last changed.
+
+ 'root' contains the root window for the screen indicated by the
+ window.
+
+ 'subpixelOrder' contains the resulting subpixel order of the screen
+ to allow correct subpixel rendering.
+
+ Value errors are generated when 'rotation', 'rate' or 'size-id'
+ are invalid.
+
+┌───
+ RRGetScreenInfo
+ window: WINDOW
+ ▶
+ rotations: SETofROTATION
+ root: WINDOW
+ timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ size-id: SIZEID
+ rotation: ROTATION
+ rate: CARD16
+ sizes: LISTofSCREENSIZE
+ refresh: LISTofREFRESH
+└───
+
+ Errors: Window
+
+ RRGetScreenInfo returns information about the current and available
+ configurations for the screen associated with 'window'.
+
+ 'rotations' contains the set of rotations and reflections supported
+ by the screen.
+
+ 'root' is the root window of the screen.
+
+ 'config-timestamp' indicates when the screen configuration
+ information last changed: requests to set the screen will fail
+ unless the timestamp indicates that the information the client
+ is using is up to date, to ensure clients can be well behaved
+ in the face of race conditions.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ 'size-id' indicates which size is active.
+
+ 'rate' is the current refresh rate. This is zero when the refresh
+ rate is unknown or on devices for which refresh is not relevant.
+
+ 'sizes' is the list of possible frame buffer sizes (at the normal
+ orientation. Each size indicates both the linear physical size of
+ the screen and the pixel size.
+
+ 'refresh' is the list of refresh rates for each size. Each element
+ of 'sizes' has a corresponding element in 'refresh'. An empty list
+ indicates no known rates, or a device for which refresh is not
+ relevant.
+
+ The default size of the screen (the size that would become the
+ current size when the server resets) is the first size in the
+ list.
+
+7.1. Extension Requests added in version 1.2 of the extension
+
+As introduced above, version 1.2 of the extension splits the screen size
+from the crtc and output configuration, permitting the subset of the screen
+presented by multiple outputs to be configured. As a separate notion, the
+size of the screen itself may be arbitrarily configured within a defined
+range. As crtcs and outputs are added and removed from the system, the set
+returned by the extension will change so that applications can detect
+dynamic changes in the display environment.
+
+┌───
+ RRGetScreenSizeRange
+ window: WINDOW
+ ▶
+ CARD16 minWidth, minHeight
+ CARD16 maxWidth, maxHeight
+└───
+ Errors: Window
+
+ Returns the range of possible screen sizes. The screen may be set to
+ any size within this range.
+
+┌───
+ RRSetScreenSize
+ window: WINDOW
+ width: CARD16
+ height: CARD16
+ width-in-millimeters: CARD32
+ height-in-millimeters: CARD32
+└───
+ Errors: Window, Match, Value
+
+ Sets the screen to the specified size. 'width' and 'height' must be
+ within the range allowed by GetScreenSizeRanges, otherwise a Value
+ error results. All active monitors must be configured to display a
+ subset of the specified size, else a Match error results.
+
+ 'width-in-millimeters' and 'height-in-millimeters' can be set to
+ reflect the physical size of the screen reported both through this
+ extension and the core protocol. They must be non-zero, or Value
+ error results.
+
+ If panning is enabled, the width and height of the panning and the
+ tracking areas are adapted to the new size and clamped afterwards.
+ Disabled panning axes remain disabled.
+ Panning borders are disabled if their requirements are no longer met
+ (see RRSetPanning).
+
+┌───
+ RRGetScreenResources
+ window: WINDOW
+ ▶
+ timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ crtcs: LISTofCRTC
+ outputs: LISTofOUTPUT
+ modes: LISTofMODEINFO
+└───
+ Errors: Window
+
+ RRGetScreenResources returns the list of outputs and crtcs connected
+ to the screen associated with 'window'.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ 'config-timestamp' indicates when the configuration information last
+ changed. Requests to configure the output will fail unless the
+ timestamp indicates that the information the client is using is up
+ to date, to ensure clients can be well behaved in the face of race
+ conditions.
+
+ 'crtcs' contains the list of CRTCs associated with the screen.
+
+ 'outputs' contains the list of outputs associated with the screen.
+
+ 'modes' contains the list of modes associated with the screen
+
+ This request explicitly asks the server to ensure that the
+ configuration data is up-to-date wrt the hardware. If that requires
+ polling, this is when such polling would take place. If the
+ current configuration is all that's required, use
+ RRGetScreenResourcesCurrent instead.
+
+┌───
+ RRGetOutputInfo
+ output: OUTPUT
+ config-timestamp: TIMESTAMP
+ ▶
+ status: RRCONFIGSTATUS
+ timestamp: TIMESTAMP
+ crtc: CRTC
+
+ name: STRING
+ connection: CONNECTION
+ subpixel-order: SUBPIXELORDER
+ widthInMillimeters, heightInMillimeters: CARD32
+ crtcs: LISTofCRTC
+ clones: LISTofOUTPUT
+ modes: LISTofMODE
+ num-preferred: CARD16
+└───
+ Errors: Output
+
+ RRGetOutputInfo returns information about the current and available
+ configurations 'output'.
+
+ If 'config-timestamp' does not match the current configuration
+ timestamp (as returned by RRGetScreenResources), 'status' is set to
+ InvalidConfigTime and the remaining reply data is empty. Otherwise,
+ 'status' is set to Success.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ 'crtc' is the current source CRTC for video data, or Disabled if the
+ output is not connected to any CRTC.
+
+ 'name' is a UTF-8 encoded string designed to be presented to the
+ user to indicate which output this is. E.g. "S-Video" or "DVI".
+
+ 'connection' indicates whether the hardware was able to detect a
+ device connected to this output. If the hardware cannot determine
+ whether something is connected, it will set this to
+ UnknownConnection.
+
+ 'subpixel-order' contains the resulting subpixel order of the
+ connected device to allow correct subpixel rendering.
+
+ 'widthInMillimeters' and 'heightInMillimeters' report the physical
+ size of the displayed area. If unknown, or not really fixed (e.g.,
+ for a projector), these values are both zero.
+
+ 'crtcs' is the list of CRTCs that this output may be connected to.
+ Attempting to connect this output to a different CRTC results in a
+ Match error.
+
+ 'clones' is the list of outputs which may be simultaneously
+ connected to the same CRTC along with this output. Attempting to
+ connect this output with an output not in the 'clones' list
+ results in a Match error.
+
+ 'modes' is the list of modes supported by this output. Attempting to
+ connect this output to a CRTC not using one of these modes results
+ in a Match error.
+
+ The first 'num-preferred' modes in 'modes' are preferred by the
+ monitor in some way; for fixed-pixel devices, this would generally
+ indicate which modes match the resolution of the output device.
+
+┌───
+ RRListOutputProperties
+ output:OUTPUT
+ ▶
+ atoms: LISTof ATOM
+└───
+ Errors: Output
+
+ This request returns the atoms of properties currently defined on
+ the output.
+
+┌───
+ RRQueryOutputProperty
+ output: OUTPUT
+ property: ATOM
+ ▶
+ pending: BOOL
+ range: BOOL
+ immutable: BOOL
+ valid-values: LISTofINT32
+└───
+ Errors: Name, Atom, Output
+
+ If the specified property does not exist for the specified output,
+ then a Name error is returned.
+
+ If 'pending' is TRUE, changes made to property values with
+ RRChangeOutputProperty will be saved in the pending property value
+ and be automatically copied to the current value on the next
+ RRSetCrtcConfig request involving the named output. If 'pending' is
+ FALSE, changes are copied immediately.
+
+ If 'range' is TRUE, then the valid-values list will contain
+ precisely two values indicating the minimum and maximum allowed
+ values. If 'range' is FALSE, then the valid-values list will contain
+ the list of possible values; attempts to set other values will
+ result in a Value error.
+
+ If 'immutable' is TRUE, then the property configuration cannot be
+ changed by clients. Immutable properties are interpreted by the X
+ server.
+
+┌───
+ RRConfigureOutputProperty
+ output: OUTPUT
+ property: ATOM
+ pending: BOOL
+ range: BOOL
+ valid-values: LISTofINT32
+└───
+ Errors: Access, Name, Atom, Output
+
+ If the specified property is 'immutable', an Access error is
+ returned.
+
+ Otherwise, the configuration of the specified property is changed to
+ the values provided in this request.
+
+ If the specified property does not exist for the specified output,
+ it is created with an empty value and None type.
+
+┌───
+ RRChangeOutputProperty
+ output: OUTPUT
+ property, type: ATOM
+ format: {8, 16, 32}
+ mode: { Replace, Prepend, Append }
+ data: LISTofINT8 or LISTofINT16 or LISTofINT32
+└───
+ Errors: Alloc, Atom, Match, Value, Output
+
+ This request alters the value of the property for the specified
+ output. If the property is marked as a 'pending' property, only the
+ pending value of the property is changed. Otherwise, changes are
+ reflected in both the pending and current values of the property.
+ The type is uninterpreted by the server. The format specifies
+ whether the data should be viewed as a list of 8-bit, 16-bit, or
+ 32-bit quantities so that the server can correctly byte-swap as
+ necessary.
+
+ If the mode is Replace, the previous property value is discarded.
+ If the mode is Prepend or Append, then the type and format must
+ match the existing property value (or a Match error results). If
+ the property is undefined, it is treated as defined with the correct
+ type and format with zero-length data.
+
+ For Prepend, the data is tacked on to the beginning of the existing
+ data, and for Append, it is tacked on to the end of the existing data.
+
+ This request generates a OutputPropertyNotify
+
+ The lifetime of a property is not tied to the storing client.
+ Properties remain until explicitly deleted, until the output is
+ destroyed, or until server reset (see section 10).
+
+ The maximum size of a property is server-dependent and may vary
+ dynamically.
+
+┌───
+ RRDeleteOutputProperty
+ output: OUTPUT
+ property: ATOM
+└───
+ Errors: Atom, Output
+
+ This request deletes the property from the specified window if the
+ property exists and generates a OutputPropertyNotify event unless
+ the property does not exist.
+
+┌───
+ RRGetOutputProperty
+ output: OUTPUT
+ property: ATOM
+ type: ATOM or AnyPropertyType
+ long-offset, long-length: CARD32
+ delete: BOOL
+ pending: BOOL
+ ▶
+ type: ATOM or None
+ format: {0, 8, 16, 32}
+ bytes-after: CARD32
+ value: LISTofINT8 or LISTofINT16 or LISTofINT32
+└───
+ Errors: Atom, Value, Output
+
+ If the specified property does not exist for the specified output,
+ then the return type is None, the format and bytes-after are zero,
+ and the value is empty. The delete argument is ignored in this
+ case.
+
+ If the specified property exists but its type does not match the
+ specified type, then the return type is the actual type of the
+ property, the format is the actual format of the property (never
+ zero), the bytes-after is the length of the property in bytes (even
+ if the format is 16 or 32), and the value is empty. The delete
+ argument is ignored in this case.
+
+ If the specified property exists and either AnyPropertyType is
+ specified or the specified type matches the actual type of the
+ property, then the return type is the actual type of the property,
+ the format is the actual format of the property (never zero), and
+ the bytes-after and value are as follows, given:
+
+ N = actual length of the stored property in bytes
+ (even if the format is 16 or 32)
+ I = 4 × offset
+ T = N - I
+ L = MINIMUM(T, 4 × long-length)
+ A = N - (I + L)
+
+ If 'pending' is true, and if the property holds a pending value,
+ then the value returned will be the pending value of the property
+ rather than the current value. The returned value starts at byte
+ index I in the property (indexing from 0), and its length in bytes
+ is L. However, it is a Value error if long-offset is given such
+ that L is negative. The value of bytes-after is A, giving the
+ number of trailing unread bytes in the stored property. If delete
+ is True and the bytes-after is zero, the property is also deleted
+ from the output, and a RROutputPropertyNotify event is generated.
+
+┌───
+ RRCreateMode
+ window: WINDOW
+ modeinfo: MODEINFO
+ ▶
+ mode: MODE
+└───
+ Errors: Window, Name, Value
+
+ 'modeinfo' provides a new mode for outputs on the screen
+ associated with 'window'. If the name of 'modeinfo' names an
+ existing mode, a Name error is returned. If some parameter of the
+ mode is not valid in some other way, a Value error is returned.
+
+ The returned 'mode' provides the id for the mode.
+
+┌───
+ RRDestroyMode
+ mode: MODE
+└───
+ Errors: Mode, Access
+
+ The user-defined 'mode' is destroyed. 'mode' must name a mode
+ defined with RRCreateMode, else an Match error is returned. If
+ 'mode' is in use by some CRTC or Output, then an Access error is
+ returned.
+
+┌───
+ RRAddOutputMode
+ output: OUTPUT
+ mode: MODE
+└───
+ Errors: Output, Mode, Match
+
+ 'output' indicates which output is to be configured.
+
+ 'mode' specifies which mode to add. If 'mode' is not valid for
+ 'output', then a Match error is generated.
+
+ This request generates OutputChangeNotify events.
+
+┌───
+ RRDeleteOutputMode
+ output: OUTPUT
+ mode: MODE
+└───
+ Errors: Output, Mode
+
+ 'output' indicates which output is to be configured.
+
+ 'mode' specifies which mode to delete. 'mode' must have been added
+ with RRAddOutputMode, else an Access error is returned. 'mode' must
+ not be active, else a Match error is returned.
+
+ This request generates OutputChangeNotify events.
+
+┌───
+ RRGetCrtcInfo
+ crtc: CRTC
+ config-timestamp: TIMESTAMP
+ ▶
+ status: RRCONFIGSTATUS
+ timestamp: TIMESTAMP
+ x, y: INT16
+ width, height: CARD16
+ mode: MODE
+ rotation: ROTATION
+ outputs: LISTofOUTPUT
+
+ rotations: SETofROTATION
+ possible-outputs: LISTofOUTPUT
+└───
+
+ Errors: Window
+
+ RRGetCrtcModes returns information about the current and available
+ configurations for the specified crtc connected to the screen
+ associated with 'window'.
+
+ If 'config-timestamp' does not match the current configuration
+ timestamp (as returned by RRGetScreenResources), 'status' is set to
+ InvalidConfigTime and the remaining reply data is empty. Otherwise,
+ 'status' is set to Success.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ 'x' and 'y' indicate the position of this CRTC within the screen
+ region. They will be set to 0 when the CRTC is disabled.
+
+ 'width' and 'height' indicate the size of the area within the screen
+ presented by this CRTC. This may be different than the size of the
+ mode due to rotation. They will be set to 0 when the CRTC
+ is disabled.
+
+ 'mode' indicates which mode is active, or None indicating that the
+ CRTC has been disabled and is not displaying the screen contents.
+
+ 'rotation' indicates the active rotation. It is set to Rotate_0
+ when the CRTC is disabled.
+
+ 'outputs' is the list of outputs currently connected to this CRTC
+ and is empty when the CRTC is disabled.
+
+ 'rotations' contains the set of rotations and reflections supported
+ by the CRTC.
+
+ 'possible-outputs' lists all of the outputs which may be connected
+ to this CRTC.
+
+┌───
+ RRSetCrtcConfig
+ crtc: CRTC
+ timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ x, y: INT16
+ mode: MODE
+ rotation: ROTATION
+ outputs: LISTofOUTPUT
+ ▶
+ status: RRCONFIGSTATUS
+ new-timestamp: TIMESTAMP
+└───
+ Errors: Value, Match
+
+ If 'timestamp' is less than the time when the configuration was last
+ successfully set, the request is ignored and InvalidTime returned in
+ status.
+
+ If 'config-timestamp' is not equal to when the monitor's
+ configuration last changed, the request is ignored and
+ InvalidConfigTime returned in status. This could occur if the
+ monitor changed since you last made a RRGetScreenInfo request,
+ perhaps by a different monitor being connected to the machine.
+ Rather than allowing an incorrect call to be executed based on stale
+ data, the server will ignore the request.
+
+ 'x' and 'y' contain the desired location within the screen for this
+ monitor's content. 'x' and 'y' must be within the screen size, else
+ a Value error results.
+
+ 'mode' is either the desired mode or None indicating the CRTC should
+ be disabled. If 'mode' is not one of these values, a Value
+ error results. 'mode' must be valid for all of the configured outputs,
+ else a Match error.
+
+ 'rotation' contains the desired rotation along with which
+ reflections should be enabled. The rotation and reflection values
+ must be among those allowed for this monitor, else a Value error
+ results.
+
+ 'outputs' contains the set of outputs that this CRTC should be
+ connected to. The set must be among the list of acceptable output
+ sets for this CRTC or a Match error results.
+
+ If 'mode' is None, then 'outputs' must be empty, else a Match error
+ results. Conversely, if 'mode' is not None, then 'outputs' must not be
+ empty, else a Match error results.
+
+ This request may fail for other indeterminate reasons, in which case
+ 'status' will be set to Failed and no configuration change will be
+ made.
+
+ This request sets the CRTC to the specified position, mode, rotation
+ and reflection. The entire area of the CRTC must fit within the
+ screen size, else a Match error results. As an example, rotating the
+ screen so that a single CRTC fills the entire screen before and
+ after may necessitate disabling the CRTC, resizing the screen,
+ then re-enabling the CRTC at the new configuration to avoid an
+ invalid intermediate configuration.
+
+ If panning is enabled, the width and height of the panning and the
+ tracking areas are clamped to the new mode size.
+ Disabled panning axes remain disabled.
+ Panning borders are disabled if their requirements are no longer met
+ (see RRSetPanning).
+
+ When this request succeeds, 'status' contains Success and the
+ requested changes to configuration will have been made.
+
+ 'new-time-stamp' contains the time at which this request was
+ executed.
+
+┌───
+ RRGetCrtcGammaSize
+ crtc: CRTC
+ ▶
+ size: CARD16
+└───
+ Errors: Crtc
+
+ This request returns the size of the gamma ramps used by 'crtc'.
+
+┌───
+ RRGetCrtcGamma
+ crtc: CRTC
+ ▶
+ red: LISTofCARD16
+ green: LISTofCARD16
+ blue: LISTofCARD16
+└───
+ Errors: Crtc
+
+ This request returns the currently set gamma ramps for 'crtc'. All
+ three lists will be the size returned by the RRGetCrtcGammaSize
+ request.
+
+┌───
+ RRSetCrtcGamma
+ crtc: CRTC
+ red: LISTofCARD16
+ green: LISTofCARD16
+ blue: LISTofCARD16
+└───
+ Errors: Crtc, Match
+
+ This request sets the gamma ramps for 'crtc'. All three lists
+ must be the size returned by RRGetCrtcGammaSize else a Value error
+ results.
+
+7.2. Extension Requests added in version 1.3 of the extension
+
+┌───
+ RRGetScreenResourcesCurrent
+ window: WINDOW
+ ▶
+ timestamp: TIMESTAMP
+ config-timestamp: TIMESTAMP
+ crtcs: LISTofCRTC
+ outputs: LISTofOUTPUT
+ modes: LISTofMODEINFO
+└───
+ Errors: Window
+
+ RRGetScreenResourcesCurrent returns the list of outputs and crtcs
+ connected to the screen associated with 'window'.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ 'config-timestamp' indicates when the configuration information last
+ changed. Requests to configure the output will fail unless the
+ timestamp indicates that the information the client is using is up
+ to date, to ensure clients can be well behaved in the face of race
+ conditions.
+
+ 'crtcs' contains the list of CRTCs associated with the screen.
+
+ 'outputs' contains the list of outputs associated with the screen.
+
+ 'modes' contains the list of modes associated with the screen.
+
+ Unlike RRGetScreenResources, this merely returns the current
+ configuration, and does not poll for hardware changes.
+
+┌───
+ RRSetCrtcTransform
+ crtc: CRTC
+ transform: TRANSFORM
+ filter: STRING8
+ values: LISTofFIXED
+└───
+ Errors: Crtc, Match
+
+ This request provides a mechanism that is more general than the
+ existing rotation and reflection values for describing the
+ transformation from frame buffer image to crtc presentation.
+ 'transform' is a full 2D projective transformation from screen
+ coordinate space to crtc coordinate space. This transformation is
+ applied before the rotation and reflection values to compute the
+ complete transform.
+
+ 'filter' and 'values' specify a Render filter that may be used by the
+ server when transforming data from frame buffer to crtc.
+
+ This request sets the transform to be used at the next
+ RRSetCrtcConfig request execution; it does not cause any change to
+ occur in the current configuration.
+
+ When a non-identity transformation is in use, the rectangle returned
+ by RRGetCrtcInfo defines the bounding rectangle of the screen that is
+ projected to the crtc. It is this projected rectangle which must be
+ within the area of the screen when the mode is set.
+
+┌───
+ RRGetCrtcTransform
+ crtc: CRTC
+ ▶
+ pending-transform: TRANSFORM
+ pending-filter: STRING8
+ pending-values: LISTofFIXED
+ current-transform: TRANSFORM
+ current-filter: STRING8
+ current-values: LISTofFIXED
+└───
+
+ This request returns the pending and current transforms for the
+ specified CRTC. The pending transform will be the same as the current
+ transform if no new pending transform has been set since the last call
+ to RRSetCrtcConfig.
+
+┌───
+ RRGetPanning
+ crtc: CRTC
+ ▶
+ status: RRCONFIGSTATUS
+ timestamp: TIMESTAMP
+ left, top, width, height: CARD16
+ track_left, track_top, track_width, track_height: CARD16
+ border_left, border_top, border_right, border_bottom: INT16
+└───
+
+ Errors: Crtc
+
+ Version 1.3 adds panning support again. If multiple crtcs are active
+ the panning behavior can be defined per crtc individually.
+ RRGetPanning returns information about the currently set panning
+ configuration for the specified crtc. If the CRTC does not support
+ panning, all fields (except timestamp) will be 0.
+
+ 'timestamp' indicates when the configuration was last set.
+
+ All other entries are explained for RRSetPanning.
+
+┌───
+ RRSetPanning
+ crtc: CRTC
+ timestamp: TIMESTAMP
+ left, top, width, height: CARD16
+ track_left, track_top, track_width, track_height: CARD16
+ border_left, border_top, border_right, border_bottom: INT16
+ ▶
+ status: RRCONFIGSTATUS
+ new-timestamp: TIMESTAMP
+└───
+ Errors: Crtc, Match
+
+ This request sets the panning parameters. As soon as panning is
+ enabled, the CRTC position can change with every pointer move.
+ RRCrtcChangeNotify events are sent to the clients requesting those.
+
+ If 'timestamp' is less than the time when the configuration was last
+ successfully set, the request is ignored and InvalidTime returned in
+ status.
+
+ ┌──┳━━━━━━━━━━━━━━┳─────┬ ─ ─ ─ ─ ─ ┐
+ │ ┃ CRTC ┃ │
+ │ ┃ ┃ │ │
+ │ ┃ X┃→ │
+ │ ┃ ┃ │ │ framebuffer
+ │ ┗━━━━━━━━━━━━━━┛ │
+ │ │ │
+ │panning area │
+ └───────────────────────┴ ─ ─ ─ ─ ─ ┘
+
+ 'left', 'top', 'width', and 'height' contain the total panning area
+ for this CRTC. 'width' has to be larger than or equal to the CRTC's
+ width or 0, and 'left'+'width' must be within the screen size, else a
+ Match error results. Equivalent restrictions for the height exist.
+ 'width' or 'height' set to 0 indicate that panning should be disabled
+ on the according axis. Setting 'width'/'height' to the CRTC's
+ width/height will disable panning on the X/Y axis as well, but
+ RRSetScreenSize will silently enable panning if the screen size is
+ increased. This does not happen if set to 0.
+
+ ┌────────┳━━━━━━━━━━━━━━┳ ─ ─ ─ ─ ─ ┐
+ │ ┃ CRTC ┃
+ │ ┃ ┃ │
+ │ ┃ ┃
+ │ ┃ ┃ │ tracking area
+ │ ┗━━━━━━━━━━━━━━┫ X
+ │ ↓ │ ↓ │
+ │panning area │
+ └───────────────────────┴ ─ ─ ─ ─ ─ ┘
+
+ 'track_left', 'track_top', 'track_width', and 'track_height' contain
+ the pointer area for which the panning region is updated. For normal
+ use cases it should enclose the panning area minus borders, and is
+ typically set to either the panning area minus borders, or to the
+ total screen size. If set to the total screen size, the CRTC will pan
+ in the remaining axis even if the pointer is outside the panning area
+ on a different CRTC, as shown in the figure above. If the pointer is
+ outside the tracking area, the CRTC will not pan. Zero can be used as
+ an alias for the total screen size.
+
+ ┌──┳━━━━━━━━━━━━━━┳────────────┐
+ │ ┃ CRTC ┃ │
+ │ ┃ ┃ │
+ │ ┃ ┃→ │
+ │ ┃ X←→┃ │
+ │ ┃ border_right │
+ │ ┗━━━━━━━━━━━━━━┛ │
+ │ │
+ │panning area │
+ └──────────────────────────────┘
+
+ 'border_left', 'border_top', 'border_right', and 'border_bottom'
+ define the distances from the CRTC borders that will activate panning
+ if the pointer hits them. If the borders are 0, the screen will pan
+ when the pointer hits the CRTC borders (behavior of pre-RandR Xserver
+ panning). If the borders are positive, the screen will pan when the
+ pointer gets close to the CRTC borders, if they are negative, the
+ screen will only pan when the pointer is already way past the CRTC
+ borders. Negative values might confuse users and disable panning to
+ the very edges of the screen. Thus they are discouraged.
+ border_left + border_right has to be lower or equal than the CRTC's
+ width, else a Match error results. An equivalent restriction for the
+ height exists.
+
+ Screen size changes update the panning and the tracking areas to the
+ new size. Both screen size changes and mode changes clamp these areas
+ to the current CRTC size. In these cases panning borders are disabled
+ if their requirements are no longer met.
+
+ When this request succeeds, 'status' contains Success and the
+ requested changes to configuration will have been made.
+
+ 'new-time-stamp' contains the time at which this request was
+ executed.
+
+┌───
+ RRSetOutputPrimary
+ window: WINDOW
+ output: OUTPUT
+└───
+ Errors: Match, Output, Window
+
+ RRSetOutputPrimary marks 'output' as the primary output for the
+ screen with the same root window as 'window'. This output's CRTC
+ will be sorted to the front of the list in Xinerama and RANDR
+ geometry requests for the benefit of older applications. The
+ default primary output is None, and None is a legal value to pass
+ to RRSetOutputPrimary. This request is expected to be used by
+ desktop environments to mark the screen that should hold the primary
+ menu bar or panel.
+
+ As this changes the logical layout of the screen, ConfigureNotify
+ and RRScreenChangeNotify will be generated on the appropriate root
+ window when the primary output is changed by this call. This request
+ also generates RROutputChangeNotify events on the outputs that gained
+ and lost primary status.
+
+ If an output is disconnected asynchronously (eg. due to recabling),
+ the primary status does not change, but RROutputChangeNotify events
+ will be generated if the hardware is capable of detecting this;
+ clients are expected to reconfigure if appropriate.
+
+ If an output is deleted (eg. due to device hotplug), the server will
+ act as though None was passed to RRSetOutputPrimary, including
+ generating the appropriate events.
+
+┌───
+ RRGetOutputPrimary
+ window: WINDOW
+ ▶
+ output: OUTPUT
+└───
+ Errors: Window
+
+ RRGetOutputPrimary returns the primary output for the screen.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+8. Extension Events
+
+Clients MAY select for ConfigureNotify on the root window to be
+informed of screen changes. This may be advantageous if all your
+client needs to know is the size of the root window, as it avoids
+round trips to set up the extension.
+
+RRScreenChangeNotify is sent if RRSelectInput has requested it
+whenever properties of the screen change, which may be due to external
+factors, such as re-cabling a monitor, etc.
+
+┌───
+ RRScreenChangeNotify
+
+ rotation: ROTATION; new rotation
+ sequenceNumber: CARD16 low 16 bits of request seq. number
+ timestamp: TIMESTAMP time screen was changed
+ configTimestamp: TIMESTAMP time config data was changed
+ root: WINDOW root window of screen
+ window: WINDOW window requesting notification
+ size-id: SIZEID index of new SCREENSIZE
+ subpixelOrder: SUBPIXELORDER order of subpixels
+ widthInPixels: CARD16 width in pixels of the new SCREENSIZE
+ heightInPixels: CARD16 height in pixels of the new SCREENSIZE
+ widthInMillimeters: CARD16 width in mm of the new SCREENSIZE
+ heightInMillimeters: CARD16 height in mm of the new SCREENSIZE
+└───
+ This event is generated whenever the screen configuration is changed
+ and sent to requesting clients. 'timestamp' indicates when the
+ screen configuration was changed. 'configTimestamp' says when the
+ last time the configuration was changed. 'root' is the root of the
+ screen the change occurred on, 'window' is window selecting for this
+ event. 'size-id' contains the index of the current size.
+
+ This event is sent whenever the screen's configuration changes
+ or if a new screen configuration becomes available that was
+ not available in the past. In this case (config-timestamp in
+ the event not being equal to the config-timestamp returned in
+ the last call to RRGetScreenInfo), the client MUST call
+ RRGetScreenInfo to update its view of possible screen
+ configurations to have a correct view of possible screen
+ organizations.
+
+ Clients which select screen change notification events may be
+ sent an event immediately if the screen configuration was
+ changed between when they connected to the X server and
+ selected for notification. This is to prevent a common race
+ that might occur on log-in, where many applications start up
+ just at the time when a display manager or log in script might
+ be changing the screen size or configuration.
+
+ Note that the sizes in this event reflect the new SCREENSIZE and
+ thus will appear rotated by the 'rotation' parameter from the sizes
+ of the screen itself. In other words, when rotation is 90 or 270,
+ widthInPixels in this event will be the same as the height value
+ from a ConfigureNotify that reflects the same size change. This
+ will probably confuse developers.
+
+8.1 Events added in version 1.2 of the RandR extension
+
+┌───
+ RROutputChangeNotify:
+ timestamp: TIMESTAMP time screen was reconfigured
+ config-timestamp: TIMESTAMP time available config data was changed
+ window: WINDOW window requesting notification
+ output: OUTPUT output affected by change
+ crtc: CRTC connected CRTC or None
+ mode: MODE mode in use on CRTC or None
+ connection: CONNECTION connection status
+└───
+
+ This event is generated whenever the available output configurations
+ have changed and is sent to requesting clients. 'timestamp'
+ indicates when the crtc configuration was changed by a client.
+ 'config-timestamp' says when the last time the available
+ configurations changed. 'root' is the root of the screen the change
+ occurred on, 'window' is window selecting for this event. The
+ precise change can be detected by examining the new state of the
+ system.
+
+┌───
+ RROutputPropertyNotify:
+ window: WINDOW window requesting notification
+ output: OUTPUT output affected by change
+ atom: ATOM affected property
+ time: TIMESTAMP time property was changed
+ subpixel-order: SUBPIXELORDER order of subpixels
+ state: { NewValue, Deleted } new property state
+└───
+
+ This event is reported to clients selecting RROutputPropertyChange
+ on the window and is generated with state NewValue when a property
+ of the window is changed using RRChangeOutputProperty even when
+ adding zero-length data and when replacing all or part of a property
+ with identical data. It is generated with state Deleted when a
+ property of the window is deleted using either
+ RRDeleteOutputProperty or RRGetOutputProperty. The timestamp
+ indicates the server time when the property was changed.
+
+┌───
+ RRCrtcChangeNotify
+ timestamp: TIMESTAMP time monitor was changed
+ window: WINDOW window requesting notification
+ crtc: CRTC CRTC which changed
+ mode: MODE new mode
+ rotation: ROTATION; new rotation
+ x: INT16 x position of CRTC within screen
+ y: INT16 y position of CRTC within screen
+ width: CARD16 width of new mode
+ height: CARD16 height of new mode
+└───
+ This event is generated whenever the CRTC configuration is changed
+ and sent to requesting clients. 'timestamp' indicates when the
+ CRTC configuration was changed. 'window' is window selecting for this
+ event. 'mode' is the new mode, or None if the crtc is disabled.
+ 'x' and 'y' mark the location in the screen where this CRTC
+ is reading data. 'width' and 'height' indicate the size of the
+ mode. 'x', 'y, 'width' and 'height' are all zero when 'mode' is None.
+
+ This event is sent whenever the monitor's configuration changes
+ or if a new monitor configuration becomes available that was
+ not available in the past. In this case, the client MUST call
+ RRGetCrtcModes to update its view of possible monitor
+ configurations to have a correct view of possible monitor
+ organizations.
+
+ Clients which select monitor change notification events may be
+ sent an event immediately if the monitor configuration was
+ changed between when they connected to the X server and
+ selected for notification. This is to prevent a common race
+ that might occur on log-in, where many applications start up
+ just at the time when a display manager or log in script might
+ be changing the monitor size or configuration.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+9. Properties
+
+Properties are used for output specific parameters, and for announcing
+static or rarely changing data. Announced data is typically
+immutable. Properties are also used for evaluating new parameters
+before adding them to the RandR protocol.
+
+The following properties are hereby declared official, and drivers SHOULD
+prefix driver specific properties with '_', unless they are planned to be
+added to this specification. List values, that are not declared by the table
+below, and will remain driver specific or are not planned to be added to this
+specification, SHOULD be prefixed with "_" as well in order to avoid name
+space or semantics clashes with future extensions of these values.
+
+Beginning with version 1.3 of the RandR extension, certain properties
+are mandatory and MUST be provided by implementations. Earlier
+versions of the RandR extension MAY provide these properties as well,
+as long as the semantics are not altered. Clients SHOULD fall back
+gracefully to lower version functionality, though, if the driver
+doesn't handle a mandatory property correctly.
+
+9.1 Known properties
+
+ "Backlight" aka RR_PROPERTY_BACKLIGHT
+ Type: int32
+ Flags: -
+ Range/List: 0-x (driver specific)
+
+ This property controls the brightness on laptop panels and equivalent
+ displays with a backlight controller. The driver specific maximum
+ value MUST turn the backlight to full brightness, 1 SHOULD turn the
+ backlight to minimum brightness, 0 SHOULD turn the backlight off.
+
+ "CloneList" aka RR_PROPERTY_CLONE_LIST
+ Type: int32 [2*n] / Atom pairs
+ Flags: Immutable
+ Range/List: 0-
+
+ Some combinations of outputs on some cards cannot be served
+ independently from each other, because they are wired up to the same
+ encoder outputs.
+ This property lists all output + signal format pairs that are
+ driven together with this output, and thus can only be programmed in
+ clone mode with the same CRTC.
+ This property MUST be symmetric, but may change with changing signal
+ format. I.e. if the property for DVI-1/VGA specifies VGA-1/VGA to be
+ cloned, VGA-1/VGA has to list DVI-1/VGA as well.
+ Outputs / format pairs listed in this property MUST be included in the
+ CompatibilityList.
+
+ "CompatibilityList" aka RR_PROPERTY_COMPATIBILITY_LIST
+ Type: int32 [2*n] / Atom pairs
+ Flags: Immutable
+ Range/List: 0-
+
+ Some combinations of outputs on some cards cannot be served at all,
+ because the according encoder is only capable of driving one output at
+ a time.
+ This property lists all output + signal format pairs that can be
+ driven together with this output. NULL atoms specify any output / any
+ signal format, respectively.
+ This property MUST be symmetric, but may change with changing signal
+ format. I.e. if the property for DVI-1/TMDS specifies VGA-1/VGA to be
+ available, VGA-1/VGA has to list DVI-1/TMDS as well.
+
+ "ConnectorNumber" aka RR_PROPERTY_CONNECTOR_NUMBER
+ Type: int32
+ Flags: Immutable, Static
+ Range/List: 0-
+
+ Outputs that route their signal to the same connector MUST
+ have the same connector number. Outputs with the same
+ connector number MUST route their signal to the same
+ connector, except if it is 0, which indicates unknown
+ connectivity. 1 is called the primary connector, 2 the
+ secondary. 3 is typically a TV connector, but that is completely
+ driver / hardware dependent.
+ Outputs with the same connector number SHOULD have the same
+ connector type. Meaning and client behavior for mismatching
+ connector types is undefined at the moment.
+
+ "ConnectorType" aka RR_PROPERTY_CONNECTOR_TYPE
+ Type: int32 / Atom
+ Flags: Immutable, Static
+ Range/List: unknown VGA DVI DVI‐I DVI‐A DVI‐D HDMI Panel
+ TV TV-Composite TV-SVideo TV-Component
+ TV-SCART TV-C4 DisplayPort
+
+ Connector type, as far as known to the driver.
+ Values with dashes (TV‐Composite) describe more specific versions of
+ the base values (TV). The former SHOULD be used if the connector is
+ not capable of producing other signal formats. The later SHOULD be
+ used if the exact connector is unknown, or the connector is a
+ multi‐format connector that is not described otherwise. DVI, for
+ instance, SHOULD be handled like a DVI‐I connector, unless additional
+ information is available to the user agent. PANEL describes
+ laptop‐internal (normally LVDS) displays. TV, TV‐SCART, TV‐Component,
+ and TV‐C4 with signal format VGA are valid combinations and describe
+ RGB TV signals.
+
+ "EDID" aka RR_PROPERTY_RANDR_EDID
+ Type: int8 [n]
+ Flags: Immutable
+ Range/List: -
+
+ Raw EDID data from the device attached to the according
+ output. Should include main EDID data and all extension
+ blocks. Previously known as EdidData.
+
+ "SignalFormat" aka RR_PROPERTY_SIGNAL_FORMAT
+ Type: int32 / Atom
+ Flags: -
+ Range/List: unknown VGA TMDS LVDS Composite Composite-PAL
+ Composite-NTSC Composite-SECAM SVideo
+ Component DisplayPort
+
+ Signal format / physical protocol format that is used for the
+ specified output. valid-values lists all possible formats on this
+ output, which SHOULD be a subset of the list above and MUST be static.
+ Values with dashes (Composite-PAL) describe more specific versions of
+ the base values (Composite) and SHOULD be used if known to the driver.
+ A driver MAY change this property of an output if the underlying
+ hardware indicates a protocol change (e.g. TV formats). Clients are
+ allowed to change the signal format in order to select a different
+ signal format (e.g. Composite etc.) or physical protocol (e.g. VGA or
+ TMDS on DVI-I).
+ Laptop panels SHOULD not be detected with this property, but rather by
+ ConnectorType.
+
+ "SignalProperties" aka RR_PROPERTY_SIGNAL_FORMAT
+ Type: int32 [n] / Atom
+ Flags: -
+ Range/List: For Composite signals:
+ NTSC NTSC-M NTSC-J NTSC-N NTSC-4.43 NTSC-film
+ PAL PAL-B PAL-G PAL-H PAL-H PAL-I PAL-M PAL-D
+ PAL-N PAL-Nc PAL-L PAL-60
+ SECAM SECAM-L SECAM-B SECAM-G SECAM-D SECAM-K
+ SECAM-H SECAM-K
+ For TMDS signals:
+ SingleLink DualLink
+ For DisplayPort signals:
+ Lane1 Lane2 Lane4 LowSpeed HiSpeed
+
+ Properties of the signal format that is currently used for the
+ specified output. valid-values lists all possible properties on this
+ output, which SHOULD be a subset of the list above. It will change if
+ SignalFormat changes. Multiple properties are allowed.
+ Values with dashes (PAL-B) describe more specific versions of the base
+ values (PAL) and SHOULD be used if known to the driver. A driver MAY
+ change this property of an output if the underlying hardware indicates
+ a signal change (e.g. TV formats). Clients are allowed to change the
+ properties in order to select a different signal subformat.
+
+
+9.2 Properties introduced with version 1.2 of the RandR extension
+
+Property Immutable Mandatory since
+──────── ───────── ───────────────
+EDID yes n/a
+
+EDID is provided by the RandR frontend, thus not driver specific.
+
+
+9.3 Properties introduced with version 1.3 of the RandR extension
+
+Property Immutable Mandatory since
+──────── ───────── ───────────────
+CloneList yes not mandatory
+CompatibilityList yes not mandatory
+ConnectorNumber yes: static not mandatory
+ConnectorType yes: static RandR 1.3
+SignalFormat no RandR 1.3
+SignalProperties no not mandatory
+
+9.4 Properties introduced with version 1.3.1 of the RandR extension
+
+Property Immutable Mandatory since
+──────── ───────── ───────────────
+Backlight no not mandatory
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+10. Extension Versioning
+
+The RandR extension was developed in parallel with the implementation
+to ensure the feasibility of various portions of the design. As
+portions of the extension are implemented, the version number of the
+extension has changed to reflect the portions of the standard provided.
+This document describes the version 1.2 of the specification, the
+partial implementations have version numbers less than that. Here's a
+list of what each version provided:
+
+ 0.0: This prototype implemented resize and rotation in the
+ TinyX server Used approximately the protocol described in
+ the Usenix paper. Appeared in the TinyX server in
+ XFree86 4.2, but not in the XFree86 main server.
+
+ 0.1: Added subpixel order, added an event for subpixel order.
+ This version was never checked in to XFree86 CVS.
+
+ 1.0: Implements resize, rotation, and reflection. Implemented
+ both in the XFree86 main server (size change only at this
+ date), and fully (size change, rotation, and reflection)
+ in XFree86's TinyX server.
+
+ 1.1: Added refresh rates
+
+ 1.2: Separate screens from CRTCs and outputs, switch to full VESA
+ modes
+
+ 1.3: Added cheap version of RRGetScreenResources. Added CRTC
+ transformations. Added panning. Added primary outputs.
+ Added standard properties.
+
+Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
+will fail against 1.0 servers. The wire encoding op-codes were
+changed for GetScreenInfo to ensure this failure in a relatively
+graceful way. Version 1.1 servers and clients are cross compatible with
+1.0. Version 1.1 is considered to be stable and we intend upward
+compatibility from this point. Version 1.2 offers an extended model of the
+system with multiple output support. Version 1.3 adds a cheap version of
+GetScreenResources to avoid expensive DDC operations, CRTC transformations,
+panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
+with 1.1.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+11. Relationship with other extensions
+
+Two other extensions have a direct relationship with this extension. This
+section attempts to explain how these three are supposed to work together.
+
+11.1 XFree86-VidModeExtension
+
+XFree86-VidModeExtension changes the configuration of a single monitor
+attached to the screen without changing the configuration of the screen
+itself. It provides the ability to specify new mode lines for the server to
+use along with selecting among existing mode lines. As it uses screen
+numbers instead of window identifiers, it can be used to affect multiple
+monitors in a single-screen Xinerama configuration. However, the association
+between screen numbers and root windows in a multi-Screen environment is not
+defined by the extension. Version 2.0 of this extension added the ability to
+adjust the DAC values in a TrueColor server to modify the brightness curves
+of the display.
+
+All of the utility of this extension is subsumed by RandR version 1.2, RandR
+should be used in preference to XFree86-VidModeExtension where both are
+present.
+
+11.2 Xinerama
+
+Xinerama provides a mechanism for describing the relationship between the
+overall screen display and monitors placed within that area. As such, it
+provides the query functionality of RandR 1.2 without any of the
+configuration functionality. Applications using Xinerama to discover
+monitor geometry can continue to do so, with the caveat that they will not be
+informed of changes when they occur. However, Xinerama configuration data
+will be updated, so applications selecting for RandR notification and
+re-querying the configuration with the Xinerama extension will get updated
+information. It is probably better to view RandR as a superset of Xinerama
+at this point and use it in preference to Xinerama where both are present.
+
+ ❧❧❧❧❧❧❧❧❧❧❧
+
+Appendix A. Protocol Encoding
+
+Syntactic Conventions
+
+This document uses the same syntactic conventions as the core X
+protocol encoding document.
+
+A.1 Common Types
+
+┌───
+ ROTATION
+ 0x0001 Rotate_0
+ 0x0002 Rotate_90
+ 0x0004 Rotate_180
+ 0x0008 Rotate_270
+ 0x0010 Reflect_X
+ 0x0020 Reflect_Y
+└───
+ Used to encode both sets of possible rotations and individual
+ selected rotations.
+
+┌───
+ RRSELECTMASK
+ 0x0001 ScreenChangeNotifyMask
+ 0x0002 CrtcChangeNotifyMask Added in version 1.2
+ 0x0004 OutputChangeNotifyMask Added in version 1.2
+ 0x0008 OutputPropertyNotifyMask Added in version 1.2
+└───
+ Event select mask for RRSelectInput
+
+┌───
+ RRCONFIGSTATUS
+ 0x0 Success
+ 0x1 InvalidConfigTime
+ 0x2 InvalidTime
+ 0x3 Failed
+└───
+ Return status for requests which depend on time.
+
+┌───
+ MODEINFO (32) Added in version 1.2
+ 4 CARD32 id
+ 2 CARD16 width in pixels
+ 2 CARD16 height in pixels
+ 4 CARD32 dot clock
+ 2 CARD16 h sync start
+ 2 CARD16 h sync end
+ 2 CARD16 h total
+ 2 CARD16 h skew
+ 2 CARD16 v sync start
+ 2 CARD16 v sync end
+ 2 CARD16 v total
+ 2 CARD16 name length
+ 4 SETofMODEFLAG mode flags
+└───
+
+ An output mode specifies the complete CRTC timings for
+ a specific mode. The vertical and horizontal synchronization rates
+ can be computed given the dot clock and the h total/v total
+ values. If the dot clock is zero, then all of the timing
+ parameters and flags are not used, and must be zero as this
+ indicates that the timings are unknown or otherwise unused.
+ The name itself will be encoded separately in each usage.
+
+┌───
+ MODEFLAG
+ 0x00000001 HSyncPositive
+ 0x00000002 HSyncNegative
+ 0x00000004 VSyncPositive
+ 0x00000008 VSyncNegative
+ 0x00000010 Interlace
+ 0x00000020 DoubleScan
+ 0x00000040 CSync
+ 0x00000080 CSyncPositive
+ 0x00000100 CSyncNegative
+ 0x00000200 HSkewPresent
+ 0x00000400 BCast
+ 0x00000800 PixelMultiplex
+ 0x00001000 DoubleClock
+ 0x00002000 ClockDivideBy2
+└───
+┌───
+ CONNECTION
+ 0 Connected
+ 1 Disconnected
+ 2 UnknownConnection
+└───
+
+
+A.2 Protocol Requests
+
+Opcodes 1 and 3 were used in the 0.0 protocols, and will return
+errors if used in version 1.0.
+
+┌───
+ RRQueryVersion
+
+ 1 CARD8 major opcode
+ 1 0 RandR opcode
+ 2 3 length
+ 4 CARD32 major version
+ 4 CARD32 minor version
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 1 CARD32 major version
+ 1 CARD32 minor version
+└───
+┌───
+ RRSetScreenConfig
+
+ 1 CARD8 major opcode
+ 1 2 RandR opcode
+ 2 6 length
+ 4 WINDOW window on screen to be configured
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP config timestamp
+ 2 SIZEID size index
+ 2 ROTATION rotation/reflection
+ 2 CARD16 refresh rate (1.1 only)
+ 2 CARD16 pad
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 TIMESTAMP new timestamp
+ 4 TIMESTAMP new configuration timestamp
+ 4 WINDOW root
+ 2 SUBPIXELORDER subpixel order defined in Render
+ 2 CARD16 pad4
+ 4 CARD32 pad5
+ 4 CARD32 pad6
+└───
+┌───
+ RRSelectInput
+
+ 1 CARD8 major opcode
+ 1 4 RandR opcode
+ 2 3 length
+ 4 WINDOW window
+ 2 SETofRRSELECTMASK enable
+ 2 CARD16 pad
+└───
+┌───
+ RRGetScreenInfo
+
+ 1 CARD8 major opcode
+ 1 5 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 CARD8 set of Rotations
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 WINDOW root window
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP config timestamp
+ 2 CARD16 number of SCREENSIZE following
+ 2 SIZEID current size index
+ 2 ROTATION current rotation and reflection
+ 2 CARD16 current rate (added in version 1.1)
+ 2 CARD16 length of rate info (number of CARD16s)
+ 2 CARD16 pad
+
+ SCREENSIZE
+ 2 CARD16 width in pixels
+ 2 CARD16 height in pixels
+ 2 CARD16 width in millimeters
+ 2 CARD16 height in millimeters
+
+ REFRESH
+ 2 CARD16 number of rates (n)
+ 2n CARD16 rates
+└───
+
+A.2.1 Protocol Requests added with version 1.2
+
+┌───
+ RRGetScreenSizeRange
+ 1 CARD8 major opcode
+ 1 6 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 minWidth
+ 2 CARD16 minHeight
+ 2 CARD16 maxWidth
+ 2 CARD16 maxHeight
+ 16 unused
+└───
+┌───
+ RRSetScreenSize
+ 1 CARD8 major opcode
+ 1 7 RandR opcode
+ 2 5 length
+ 4 WINDOW window
+ 2 CARD16 width
+ 2 CARD16 height
+ 4 CARD32 width in millimeters
+ 4 CARD32 height in millimeters
+└───
+┌───
+ RRGetScreenResources
+ 1 CARD8 major opcode
+ 1 8 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 c+o+8m+(b+p)/4 reply length
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP config-timestamp
+ 2 c number of CRTCs
+ 2 o number of outputs
+ 2 m number of modeinfos
+ 2 b total bytes in mode names
+ 8 unused
+ 4c LISTofCRTC crtcs
+ 4o LISTofOUTPUT outputs
+ 32m LISTofMODEINFO modeinfos
+ b STRING8 mode names
+ p unused, p=pad(b)
+└───
+┌───
+ RRGetOutputInfo
+ 1 CARD8 major opcode
+ 1 9 RandR opcode
+ 2 3 length
+ 4 OUTPUT output
+ 4 TIMESTAMP config-timestamp
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 1+c+m+(n+p)/4 reply length
+ 4 TIMESTAMP timestamp
+ 4 CRTC current connected crtc
+ 4 CARD32 width in millimeters
+ 4 CARD32 height in millimeters
+ 1 CONNECTION connection
+ 1 SUBPIXELORDER subpixel-order
+ 2 c number of CRTCs
+ 2 m number of modes
+ 2 p number of preferred modes
+ 2 o number of clones
+ 2 n length of name
+ 4c LISTofCRTC crtcs
+ 4m LISTofMODE modes
+ 4o LISTofOUTPUT clones
+ n STRING8 name
+ p unused, p=pad(n)
+└───
+┌───
+ RRListOutputProperties
+ 1 CARD8 major opcode
+ 1 10 RandR opcode
+ 2 2 length
+ 4 OUTPUT output
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 2 n number of ATOMs in atoms
+ 22 unused
+ 4n LISTofATOM atoms
+└───
+┌───
+ RRQueryOutputProperty
+ 1 CARD8 major opcode
+ 1 11 RandR opcode
+ 2 3 request length
+ 4 OUTPUT output
+ 4 ATOM property
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 n reply length
+ 1 BOOL pending
+ 1 BOOL range
+ 1 BOOL immutable
+ 21 unused
+ 4n LISTofINT32 valid values
+└───
+┌───
+ RRConfigureOutputProperty
+ 1 CARD8 major opcode
+ 1 12 RandR opcode
+ 2 4+n request length
+ 4 OUTPUT output
+ 4 ATOM property
+ 1 BOOL pending
+ 1 BOOL range
+ 2 unused
+ 4n LISTofINT32 valid values
+└───
+┌───
+ RRChangeOutputProperty
+ 1 CARD8 major opcode
+ 1 13 RandR opcode
+ 2 6+(n+p)/4 request length
+ 4 OUTPUT output
+ 4 ATOM property
+ 4 ATOM type
+ 1 CARD8 format
+ 1 mode
+ 0 Replace
+ 1 Prepend
+ 2 Append
+ 2 unused
+ 4 CARD32 length of data in format units
+ (= n for format = 8)
+ (= n/2 for format = 16)
+ (= n/4 for format = 32)
+ n LISTofBYTE data
+ (n is a multiple of 2 for format = 16)
+ (n is a multiple of 4 for format = 32)
+ p unused, p=pad(n)
+└───
+┌───
+ RRDeleteOutputProperty
+ 1 CARD8 major opcode
+ 1 14 RandR opcode
+ 2 3 request length
+ 4 OUTPUT output
+ 4 ATOM property
+└───
+┌───
+ RRGetOutputProperty
+ 1 CARD8 major opcode
+ 1 15 RandR opcode
+ 2 7 request length
+ 4 OUTPUT output
+ 4 ATOM property
+ 4 ATOM type
+ 0 AnyPropertyType
+ 4 CARD32 long-offset
+ 4 CARD32 long-length
+ 1 BOOL delete
+ 1 BOOL pending
+ 2 unused
+ ▶
+ 1 1 Reply
+ 1 CARD8 format
+ 2 CARD16 sequence number
+ 4 (n+p)/4 reply length
+ 4 ATOM type
+ 0 None
+ 4 CARD32 bytes-after
+ 4 CARD32 length of value in format units
+ (= 0 for format = 0)
+ (= n for format = 8)
+ (= n/2 for format = 16)
+ (= n/4 for format = 32)
+ 12 unused
+ n LISTofBYTE value
+ (n is zero for format = 0)
+ (n is a multiple of 2 for format = 16)
+ (n is a multiple of 4 for format = 32)
+ p unused, p=pad(n)
+└───
+┌───
+ RRCreateMode
+ 1 CARD8 major opcode
+ 1 16 RandR opcode
+ 2 12+(n+p)/4 length
+ 4 WINDOW window
+ 32 MODEINFO mode
+ n STRING8 mode name
+ p unused, p=pad(n)
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 MODE mode
+ 20 unused
+└───
+┌───
+ RRDestroyMode
+ 1 CARD8 major opcode
+ 1 17 RandR opcode
+ 2 2 length
+ 4 MODE mode
+└───
+┌───
+ RRAddOutputMode
+ 1 CARD8 major opcode
+ 1 18 RandR opcode
+ 2 3 length
+ 4 OUTPUT output
+ 4 MODE mode
+└───
+┌───
+ RRDeleteOutputMode
+ 1 CARD8 major opcode
+ 1 19 RandR opcode
+ 2 3 length
+ 4 OUTPUT output
+ 4 MODE mode
+└───
+┌───
+ RRGetCrtcInfo
+ 1 CARD8 major opcode
+ 1 20 RandR opcode
+ 2 3 length
+ 4 CRTC crtc
+ 4 TIMESTAMP config-timestamp
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 o+p reply length
+ 4 TIMESTATMP timestamp
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+ 4 MODE mode
+ 2 ROTATION current rotation and reflection
+ 2 ROTATION set of possible rotations
+ 2 o number of outputs
+ 2 p number of possible outputs
+ 4o LISTofOUTPUT outputs
+ 4p LISTofOUTPUT possible outputs
+└───
+┌───
+ RRSetCrtcConfig
+ 1 CARD8 major opcode
+ 1 21 RandR opcode
+ 2 7+2n length
+ 4 CRTC crtc
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP config timestamp
+ 2 INT16 x
+ 2 INT16 y
+ 4 MODE mode
+ 2 ROTATION rotation/reflection
+ 2 unused
+ 8n LISTofOUTPUT outputs
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 TIMESTAMP new timestamp
+ 20 unused
+└───
+┌───
+ RRGetCrtcGammaSize
+ 1 CARD8 major opcode
+ 1 22 RandR opcode
+ 2 2 length
+ 4 CRTC crtc
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 2 CARD16 size
+ 22 unused
+└───
+┌───
+ RRGetCrtcGamma
+ 1 CARD8 major opcode
+ 1 23 RandR opcode
+ 2 2 length
+ 4 CRTC crtc
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 (6n+2)/4 reply length
+ 2 n size
+ 20 unused
+ 2n LISTofCARD16 red
+ 2n LISTofCARD16 green
+ 2n LISTofCARD16 blue
+ p unused, p=pad(6n)
+└───
+┌───
+ RRSetCrtcGamma
+ 1 CARD8 major opcode
+ 1 24 RandR opcode
+ 2 3+(6n+2)/4 length
+ 4 CRTC crtc
+ 2 n size
+ 2 unused
+ 2n LISTofCARD16 red
+ 2n LISTofCARD16 green
+ 2n LISTofCARD16 blue
+ p unused, p=pad(6n)
+└───
+
+A.2.2 Protocol Requests added with version 1.3
+
+┌───
+ RRGetScreenResourcesCurrent
+ 1 CARD8 major opcode
+ 1 25 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 c+o+8m+(b+p)/4 reply length
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP config-timestamp
+ 2 c number of CRTCs
+ 2 o number of outputs
+ 2 m number of modeinfos
+ 2 b total bytes in mode names
+ 8 unused
+ 4c LISTofCRTC crtcs
+ 4o LISTofOUTPUT outputs
+ 32m LISTofMODEINFO modeinfos
+ b STRING8 mode names
+ p unused, p=pad(b)
+└───
+
+┌───
+ RRSetCrtcTransform
+ 1 CARD8 major opcode
+ 1 26 RandR opcode
+ 2 12+(n+p)/4+v length
+ 4 CRTC crtc
+ 36 TRANSFORM transform
+ 2 CARD16 filter length
+ 2 unused
+ n STRING8 filter name
+ p unused, p=pad(n)
+ 4v FIXED filter params
+└───
+
+┌───
+ RRGetCrtcTransform
+ 1 CARD8 major opcode
+ 1 27 RandR opcode
+ 2 2 length
+ 4 CRTC crtc
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 16+(pn+pnp)/4+(cn+cnp)/4+pf+cf reply length
+ 36 TRANSFORM pending transform
+ 1 BOOL has transforms
+ 3 unused
+ 36 TRANSFORM current transform
+ 4 unused
+ 2 pn pending filter name length
+ 2 pf pending filter num params
+ 2 cn current filter name length
+ 2 cf current filter num params
+ pn STRING8 pending filter name
+ pnp unused, pnp=pad(pn)
+ 4*pf FIXED pending filter params
+ cn STRING8 current filter name
+ cnp unused, cnp=pad(cn)
+ 4*cf FIXED current filter params
+└───
+
+┌───
+ RRGetPanning
+ 1 CARD8 major opcode
+ 1 28 RandR opcode
+ 2 2 length
+ 4 CRTC crtc
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 1 reply length
+ 4 TIMESTAMP timestamp
+ 2 CARD16 left
+ 2 CARD16 top
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 track_left
+ 2 CARD16 track_top
+ 2 CARD16 track_width
+ 2 CARD16 track_height
+ 2 INT16 border_left
+ 2 INT16 border_top
+ 2 INT16 border_right
+ 2 INT16 border_bottom
+└───
+┌───
+ RRSetPanning
+ 1 CARD8 major opcode
+ 1 29 RandR opcode
+ 2 9 length
+ 4 CRTC crtc
+ 4 TIMESTAMP timestamp
+ 2 CARD16 left
+ 2 CARD16 top
+ 2 CARD16 width
+ 2 CARD16 height
+ 2 CARD16 track_left
+ 2 CARD16 track_top
+ 2 CARD16 track_width
+ 2 CARD16 track_height
+ 2 INT16 border_left
+ 2 INT16 border_top
+ 2 INT16 border_right
+ 2 INT16 border_bottom
+ ▶
+ 1 1 Reply
+ 1 RRCONFIGSTATUS status
+ 2 CARD16 sequence number
+ 4 0 reply length
+ 4 TIMESTAMP new timestamp
+ 20 unused
+└───
+
+┌───
+ RRSetOutputPrimary
+ 1 CARD8 major opcode
+ 1 30 RandR opcode
+ 2 3 length
+ 4 WINDOW window
+ 4 OUTPUT output
+└───
+
+┌───
+ RRGetOutputPrimary
+ 1 CARD8 major opcode
+ 1 31 RandR opcode
+ 2 2 length
+ 4 WINDOW window
+ ▶
+ 1 1 Reply
+ 1 unused
+ 2 CARD16 sequence number
+ 4 CARD32 length
+ 4 OUTPUT output
+ 4 CARD32 pad1
+ 4 CARD32 pad2
+ 4 CARD32 pad3
+ 4 CARD32 pad4
+└───
+
+A.3 Protocol Events
+
+┌───
+ RRScreenChangeNotify
+ 1 Base + 0 code
+ 1 ROTATION new rotation and reflection
+ 2 CARD16 sequence number
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP configuration timestamp
+ 4 WINDOW root window
+ 4 WINDOW request window
+ 2 SIZEID size ID
+ 2 SUBPIXELORDER subpixel order defined in Render
+ 2 CARD16 width in pixels
+ 2 CARD16 height in pixels
+ 2 CARD16 width in millimeters
+ 2 CARD16 height in millimeters
+└───
+
+A.3.1 Protocol Events added with version 1.2
+
+┌───
+ RRCrtcChangeNotify
+ 1 Base + 1 code
+ 1 0 sub-code
+ 2 CARD16 sequence number
+ 4 TIMESTAMP timestamp
+ 4 WINDOW request window
+ 4 CRTC crtc affected
+ 4 MODE mode in use
+ 2 ROTATION new rotation and reflection
+ 2 unused
+ 2 INT16 x
+ 2 INT16 y
+ 2 CARD16 width
+ 2 CARD16 height
+└───
+┌───
+ RROutputChangeNotify
+ 1 Base + 1 code
+ 1 1 sub-code
+ 2 CARD16 sequence number
+ 4 TIMESTAMP timestamp
+ 4 TIMESTAMP configuration timestamp
+ 4 WINDOW request window
+ 4 OUTPUT output affected
+ 4 CRTC crtc in use
+ 4 MODE mode in use
+ 2 ROTATION rotation in use
+ 1 CONNECTION connection status
+ 1 SUBPIXELORDER subpixel order
+└───
+┌───
+ RROutputPropertyNotify
+ 1 Base + 1 code
+ 1 2 sub-code
+ 2 CARD16 sequence number
+ 4 WINDOW window
+ 4 OUTPUT output
+ 4 ATOM atom
+ 4 TIMESTAMP time
+ 1 state
+ 0 NewValue
+ 1 Deleted
+ 11 unused
+└───
+
+A.4 Protocol Errors
+
+┌───
+ ERRORS
+ Base + 0 Output
+ Base + 1 Crtc
+ Base + 2 Mode
+└───
+
+Bibliography
+
+[RANDR] Gettys, Jim and Keith Packard, "The X Resize and Rotate
+ Extension - RandR", Proceedings of the 2001 USENIX Annual
+ Technical Conference, Boston, MA
+
+[RENDER]
+ Packard, Keith, "The X Rendering Extension", work in progress,
+ http://cgit.freedesktop.org/xorg/proto/renderproto/tree/renderproto.txt
diff --git a/recordproto/.gitignore b/recordproto/.gitignore
new file mode 100644
index 0000000..e4e5185
--- /dev/null
+++ b/recordproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for recordproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/recordproto/COPYING b/recordproto/COPYING
new file mode 100644
index 0000000..ae25726
--- /dev/null
+++ b/recordproto/COPYING
@@ -0,0 +1,17 @@
+Copyright 1995 Network Computing Devices
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of Network Computing Devices
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+
+NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/recordproto/Makefile.am b/recordproto/Makefile.am
new file mode 100644
index 0000000..f9cc316
--- /dev/null
+++ b/recordproto/Makefile.am
@@ -0,0 +1,21 @@
+recorddir = $(includedir)/X11/extensions
+record_HEADERS = \
+ recordconst.h \
+ recordproto.h \
+ recordstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = recordproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/recordproto/README b/recordproto/README
new file mode 100644
index 0000000..0800985
--- /dev/null
+++ b/recordproto/README
@@ -0,0 +1,30 @@
+ X Record Extension
+
+This extension defines a protocol for the recording and playback of user
+actions in the X Window System.
+
+Extension name: RECORD
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/recordproto
+
+ http://cgit.freedesktop.org/xorg/proto/recordproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/recordproto/autogen.sh b/recordproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/recordproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/recordproto/configure.ac b/recordproto/configure.ac
new file mode 100644
index 0000000..7993f59
--- /dev/null
+++ b/recordproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([RecordProto], [1.14], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ recordproto.pc])
diff --git a/recordproto/recordconst.h b/recordproto/recordconst.h
new file mode 100644
index 0000000..4819de7
--- /dev/null
+++ b/recordproto/recordconst.h
@@ -0,0 +1,54 @@
+/***************************************************************************
+ * Copyright 1995 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ **************************************************************************/
+
+#ifndef _RECORDCONST_H_
+#define _RECORDCONST_H_
+
+#define RECORD_NAME "RECORD"
+#define RECORD_MAJOR_VERSION 1
+#define RECORD_MINOR_VERSION 13
+#define RECORD_LOWEST_MAJOR_VERSION 1
+#define RECORD_LOWEST_MINOR_VERSION 12
+
+#define XRecordBadContext 0 /* Not a valid RC */
+
+#define RecordNumErrors (XRecordBadContext + 1)
+#define RecordNumEvents 0L
+
+/*
+ * Constants for arguments of various requests
+ */
+#define XRecordFromServerTime 0x01
+#define XRecordFromClientTime 0x02
+#define XRecordFromClientSequence 0x04
+
+#define XRecordCurrentClients 1
+#define XRecordFutureClients 2
+#define XRecordAllClients 3
+
+#define XRecordFromServer 0
+#define XRecordFromClient 1
+#define XRecordClientStarted 2
+#define XRecordClientDied 3
+#define XRecordStartOfData 4
+#define XRecordEndOfData 5
+
+
+#endif /* _RECORD_H_ */
diff --git a/recordproto/recordproto.h b/recordproto/recordproto.h
new file mode 100644
index 0000000..01bc952
--- /dev/null
+++ b/recordproto/recordproto.h
@@ -0,0 +1,306 @@
+/***************************************************************************
+ * Copyright 1995 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices
+ * not be used in advertising or publicity pertaining to distribution
+ * of the software without specific, written prior permission.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ **************************************************************************/
+
+#ifndef _RECORDPROTO_H_
+#define _RECORDPROTO_H_
+
+#include <X11/extensions/recordconst.h>
+
+/* only difference between 1.12 and 1.13 is byte order of device events,
+ which the library doesn't deal with. */
+
+/*********************************************************
+ *
+ * Protocol request constants
+ *
+ */
+#define X_RecordQueryVersion 0 /* First request from client */
+#define X_RecordCreateContext 1 /* Create client RC */
+#define X_RecordRegisterClients 2 /* Add to client RC */
+#define X_RecordUnregisterClients 3 /* Delete from client RC */
+#define X_RecordGetContext 4 /* Query client RC */
+#define X_RecordEnableContext 5 /* Enable interception and reporting */
+#define X_RecordDisableContext 6 /* Disable interception and reporting */
+#define X_RecordFreeContext 7 /* Free client RC */
+
+#define sz_XRecordRange 32
+#define sz_XRecordClientInfo 12
+#define sz_XRecordState 16
+#define sz_XRecordDatum 32
+
+
+#define XRecordGlobaldef
+#define XRecordGlobalref extern
+
+#define RecordMaxEvent (128L-1L)
+#define RecordMinDeviceEvent (2L)
+#define RecordMaxDeviceEvent (6L)
+#define RecordMaxError (256L-1L)
+#define RecordMaxCoreRequest (128L-1L)
+#define RecordMaxExtRequest (256L-1L)
+#define RecordMinExtRequest (129L-1L)
+
+#define RECORD_RC CARD32
+#define RECORD_XIDBASE CARD32
+#define RECORD_CLIENTSPEC CARD32
+#define RECORD_ELEMENT_HEADER CARD8
+
+typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr;
+
+typedef struct
+{
+ CARD8 first;
+ CARD8 last;
+} RECORD_RANGE8;
+
+typedef struct
+{
+ CARD16 first B16;
+ CARD16 last B16;
+} RECORD_RANGE16;
+
+typedef struct
+{
+ RECORD_RANGE8 majorCode;
+ RECORD_RANGE16 minorCode;
+} RECORD_EXTRANGE;
+
+typedef struct
+{
+ RECORD_RANGE8 coreRequests;
+ RECORD_RANGE8 coreReplies;
+ RECORD_EXTRANGE extRequests;
+ RECORD_EXTRANGE extReplies;
+ RECORD_RANGE8 deliveredEvents;
+ RECORD_RANGE8 deviceEvents;
+ RECORD_RANGE8 errors;
+ BOOL clientStarted;
+ BOOL clientDied;
+} RECORDRANGE;
+#define sz_RECORDRANGE 24
+
+/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr;
+#define sz_xRecordRange 24 */
+
+/* Cannot have structures within structures going over the wire */
+typedef struct
+{
+ CARD8 coreRequestsFirst;
+ CARD8 coreRequestsLast;
+ CARD8 coreRepliesFirst;
+ CARD8 coreRepliesLast;
+ CARD8 extRequestsMajorFirst;
+ CARD8 extRequestsMajorLast;
+ CARD16 extRequestsMinorFirst B16;
+ CARD16 extRequestsMinorLast B16;
+ CARD8 extRepliesMajorFirst;
+ CARD8 extRepliesMajorLast;
+ CARD16 extRepliesMinorFirst B16;
+ CARD16 extRepliesMinorLast B16;
+ CARD8 deliveredEventsFirst;
+ CARD8 deliveredEventsLast;
+ CARD8 deviceEventsFirst;
+ CARD8 deviceEventsLast;
+ CARD8 errorsFirst;
+ CARD8 errorsLast;
+ BOOL clientStarted;
+ BOOL clientDied;
+} xRecordRange;
+#define sz_xRecordRange 24
+
+typedef struct
+{
+ RECORD_CLIENTSPEC clientResource B32;
+ CARD32 nRanges B32;
+/* LISTofRECORDRANGE */
+} RECORD_CLIENT_INFO;
+
+typedef RECORD_CLIENT_INFO xRecordClientInfo;
+
+/*
+ * Initialize
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xRecordQueryVersionReq;
+#define sz_xRecordQueryVersionReq 8
+
+typedef struct
+{
+ CARD8 type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xRecordQueryVersionReply;
+#define sz_xRecordQueryVersionReply 32
+
+/*
+ * Create RC
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+ RECORD_ELEMENT_HEADER elementHeader;
+ CARD8 pad;
+ CARD16 pad0 B16;
+ CARD32 nClients B32;
+ CARD32 nRanges B32;
+/* LISTofRECORD_CLIENTSPEC */
+/* LISTofRECORDRANGE */
+} xRecordCreateContextReq;
+#define sz_xRecordCreateContextReq 20
+
+/*
+ * Add to RC
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+ RECORD_ELEMENT_HEADER elementHeader;
+ CARD8 pad;
+ CARD16 pad0 B16;
+ CARD32 nClients B32;
+ CARD32 nRanges B32;
+/* LISTofRECORD_CLIENTSPEC */
+/* LISTofRECORDRANGE */
+} xRecordRegisterClientsReq;
+#define sz_xRecordRegisterClientsReq 20
+
+/*
+ * Delete from RC
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+ CARD32 nClients B32;
+/* LISTofRECORD_CLIENTSPEC */
+} xRecordUnregisterClientsReq;
+#define sz_xRecordUnregisterClientsReq 12
+
+/*
+ * Query RC
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+} xRecordGetContextReq;
+#define sz_xRecordGetContextReq 8
+
+typedef struct
+{
+ CARD8 type;
+ BOOL enabled;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ RECORD_ELEMENT_HEADER elementHeader;
+ CARD8 pad;
+ CARD16 pad0 B16;
+ CARD32 nClients B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+/* LISTofCLIENT_INFO */ /* intercepted-clients */
+} xRecordGetContextReply;
+#define sz_xRecordGetContextReply 32
+
+/*
+ * Enable data interception
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+} xRecordEnableContextReq;
+#define sz_xRecordEnableContextReq 8
+
+typedef struct
+{
+ CARD8 type;
+ CARD8 category;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ RECORD_ELEMENT_HEADER elementHeader;
+ BOOL clientSwapped;
+ CARD16 pad1 B16;
+ RECORD_XIDBASE idBase B32;
+ CARD32 serverTime B32;
+ CARD32 recordedSequenceNumber B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ /* BYTE data; */
+} xRecordEnableContextReply;
+#define sz_xRecordEnableContextReply 32
+
+/*
+ * Disable data interception
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+} xRecordDisableContextReq;
+#define sz_xRecordDisableContextReq 8
+
+/*
+ * Free RC
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 recordReqType;
+ CARD16 length B16;
+ RECORD_RC context B32;
+} xRecordFreeContextReq;
+#define sz_xRecordFreeContextReq 8
+
+#undef RECORD_RC
+#undef RECORD_XIDBASE
+#undef RECORD_ELEMENT_HEADER
+#undef RECORD_CLIENTSPEC
+
+#endif
diff --git a/recordproto/recordproto.pc.in b/recordproto/recordproto.pc.in
new file mode 100644
index 0000000..77cd38f
--- /dev/null
+++ b/recordproto/recordproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: RecordProto
+Description: Record extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/recordproto/recordstr.h b/recordproto/recordstr.h
new file mode 100644
index 0000000..7f269b7
--- /dev/null
+++ b/recordproto/recordstr.h
@@ -0,0 +1,4 @@
+#warning "recordstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/record.h> for the library interfaces."
+#warning "include <X11/extensions/recordproto.h> for the protocol defines."
+#include <X11/extensions/recordproto.h>
diff --git a/renderproto/.gitignore b/renderproto/.gitignore
new file mode 100644
index 0000000..466a66e
--- /dev/null
+++ b/renderproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for renderproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/renderproto/COPYING b/renderproto/COPYING
new file mode 100644
index 0000000..f330a5d
--- /dev/null
+++ b/renderproto/COPYING
@@ -0,0 +1,20 @@
+Copyright © 2000 SuSE, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of SuSE not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. SuSE makes no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+
+SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Author: Keith Packard, SuSE, Inc.
diff --git a/renderproto/Makefile.am b/renderproto/Makefile.am
new file mode 100644
index 0000000..a1a75ef
--- /dev/null
+++ b/renderproto/Makefile.am
@@ -0,0 +1,22 @@
+renderdir = $(includedir)/X11/extensions
+render_HEADERS = \
+ render.h \
+ renderproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = renderproto.pc
+
+dist_doc_DATA = renderproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/renderproto/README b/renderproto/README
new file mode 100644
index 0000000..c5e9de8
--- /dev/null
+++ b/renderproto/README
@@ -0,0 +1,30 @@
+ X Rendering Extension
+
+This extension defines the protcol for a digital image composition as
+the foundation of a new rendering model within the X Window System.
+
+Extension name: RENDER
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/renderproto
+
+ http://cgit.freedesktop.org/xorg/proto/renderproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/renderproto/autogen.sh b/renderproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/renderproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/renderproto/configure.ac b/renderproto/configure.ac
new file mode 100644
index 0000000..8779274
--- /dev/null
+++ b/renderproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([RenderProto], [0.11], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ renderproto.pc])
diff --git a/renderproto/render.h b/renderproto/render.h
new file mode 100644
index 0000000..1afb1ca
--- /dev/null
+++ b/renderproto/render.h
@@ -0,0 +1,210 @@
+/*
+ * $XFree86: xc/include/extensions/render.h,v 1.10 2002/11/06 22:47:49 keithp Exp $
+ *
+ * Copyright © 2000 SuSE, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of SuSE not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. SuSE makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Keith Packard, SuSE, Inc.
+ */
+
+#ifndef _RENDER_H_
+#define _RENDER_H_
+
+typedef XID Glyph;
+typedef XID GlyphSet;
+typedef XID Picture;
+typedef XID PictFormat;
+
+#define RENDER_NAME "RENDER"
+#define RENDER_MAJOR 0
+#define RENDER_MINOR 11
+
+#define X_RenderQueryVersion 0
+#define X_RenderQueryPictFormats 1
+#define X_RenderQueryPictIndexValues 2 /* 0.7 */
+#define X_RenderQueryDithers 3
+#define X_RenderCreatePicture 4
+#define X_RenderChangePicture 5
+#define X_RenderSetPictureClipRectangles 6
+#define X_RenderFreePicture 7
+#define X_RenderComposite 8
+#define X_RenderScale 9
+#define X_RenderTrapezoids 10
+#define X_RenderTriangles 11
+#define X_RenderTriStrip 12
+#define X_RenderTriFan 13
+#define X_RenderColorTrapezoids 14
+#define X_RenderColorTriangles 15
+/* #define X_RenderTransform 16 */
+#define X_RenderCreateGlyphSet 17
+#define X_RenderReferenceGlyphSet 18
+#define X_RenderFreeGlyphSet 19
+#define X_RenderAddGlyphs 20
+#define X_RenderAddGlyphsFromPicture 21
+#define X_RenderFreeGlyphs 22
+#define X_RenderCompositeGlyphs8 23
+#define X_RenderCompositeGlyphs16 24
+#define X_RenderCompositeGlyphs32 25
+#define X_RenderFillRectangles 26
+/* 0.5 */
+#define X_RenderCreateCursor 27
+/* 0.6 */
+#define X_RenderSetPictureTransform 28
+#define X_RenderQueryFilters 29
+#define X_RenderSetPictureFilter 30
+/* 0.8 */
+#define X_RenderCreateAnimCursor 31
+/* 0.9 */
+#define X_RenderAddTraps 32
+/* 0.10 */
+#define X_RenderCreateSolidFill 33
+#define X_RenderCreateLinearGradient 34
+#define X_RenderCreateRadialGradient 35
+#define X_RenderCreateConicalGradient 36
+#define RenderNumberRequests (X_RenderCreateConicalGradient+1)
+
+#define BadPictFormat 0
+#define BadPicture 1
+#define BadPictOp 2
+#define BadGlyphSet 3
+#define BadGlyph 4
+#define RenderNumberErrors (BadGlyph+1)
+
+#define PictTypeIndexed 0
+#define PictTypeDirect 1
+
+#define PictOpMinimum 0
+#define PictOpClear 0
+#define PictOpSrc 1
+#define PictOpDst 2
+#define PictOpOver 3
+#define PictOpOverReverse 4
+#define PictOpIn 5
+#define PictOpInReverse 6
+#define PictOpOut 7
+#define PictOpOutReverse 8
+#define PictOpAtop 9
+#define PictOpAtopReverse 10
+#define PictOpXor 11
+#define PictOpAdd 12
+#define PictOpSaturate 13
+#define PictOpMaximum 13
+
+/*
+ * Operators only available in version 0.2
+ */
+#define PictOpDisjointMinimum 0x10
+#define PictOpDisjointClear 0x10
+#define PictOpDisjointSrc 0x11
+#define PictOpDisjointDst 0x12
+#define PictOpDisjointOver 0x13
+#define PictOpDisjointOverReverse 0x14
+#define PictOpDisjointIn 0x15
+#define PictOpDisjointInReverse 0x16
+#define PictOpDisjointOut 0x17
+#define PictOpDisjointOutReverse 0x18
+#define PictOpDisjointAtop 0x19
+#define PictOpDisjointAtopReverse 0x1a
+#define PictOpDisjointXor 0x1b
+#define PictOpDisjointMaximum 0x1b
+
+#define PictOpConjointMinimum 0x20
+#define PictOpConjointClear 0x20
+#define PictOpConjointSrc 0x21
+#define PictOpConjointDst 0x22
+#define PictOpConjointOver 0x23
+#define PictOpConjointOverReverse 0x24
+#define PictOpConjointIn 0x25
+#define PictOpConjointInReverse 0x26
+#define PictOpConjointOut 0x27
+#define PictOpConjointOutReverse 0x28
+#define PictOpConjointAtop 0x29
+#define PictOpConjointAtopReverse 0x2a
+#define PictOpConjointXor 0x2b
+#define PictOpConjointMaximum 0x2b
+
+/*
+ * Operators only available in version 0.11
+ */
+#define PictOpBlendMinimum 0x30
+#define PictOpMultiply 0x30
+#define PictOpScreen 0x31
+#define PictOpOverlay 0x32
+#define PictOpDarken 0x33
+#define PictOpLighten 0x34
+#define PictOpColorDodge 0x35
+#define PictOpColorBurn 0x36
+#define PictOpHardLight 0x37
+#define PictOpSoftLight 0x38
+#define PictOpDifference 0x39
+#define PictOpExclusion 0x3a
+#define PictOpHSLHue 0x3b
+#define PictOpHSLSaturation 0x3c
+#define PictOpHSLColor 0x3d
+#define PictOpHSLLuminosity 0x3e
+#define PictOpBlendMaximum 0x3e
+
+#define PolyEdgeSharp 0
+#define PolyEdgeSmooth 1
+
+#define PolyModePrecise 0
+#define PolyModeImprecise 1
+
+#define CPRepeat (1 << 0)
+#define CPAlphaMap (1 << 1)
+#define CPAlphaXOrigin (1 << 2)
+#define CPAlphaYOrigin (1 << 3)
+#define CPClipXOrigin (1 << 4)
+#define CPClipYOrigin (1 << 5)
+#define CPClipMask (1 << 6)
+#define CPGraphicsExposure (1 << 7)
+#define CPSubwindowMode (1 << 8)
+#define CPPolyEdge (1 << 9)
+#define CPPolyMode (1 << 10)
+#define CPDither (1 << 11)
+#define CPComponentAlpha (1 << 12)
+#define CPLastBit 12
+
+/* Filters included in 0.6 */
+#define FilterNearest "nearest"
+#define FilterBilinear "bilinear"
+/* Filters included in 0.10 */
+#define FilterConvolution "convolution"
+
+#define FilterFast "fast"
+#define FilterGood "good"
+#define FilterBest "best"
+
+#define FilterAliasNone -1
+
+/* Subpixel orders included in 0.6 */
+#define SubPixelUnknown 0
+#define SubPixelHorizontalRGB 1
+#define SubPixelHorizontalBGR 2
+#define SubPixelVerticalRGB 3
+#define SubPixelVerticalBGR 4
+#define SubPixelNone 5
+
+/* Extended repeat attributes included in 0.10 */
+#define RepeatNone 0
+#define RepeatNormal 1
+#define RepeatPad 2
+#define RepeatReflect 3
+
+#endif /* _RENDER_H_ */
diff --git a/renderproto/renderproto.h b/renderproto/renderproto.h
new file mode 100644
index 0000000..ffe0639
--- /dev/null
+++ b/renderproto/renderproto.h
@@ -0,0 +1,663 @@
+/*
+ * $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
+ *
+ * Copyright © 2000 SuSE, Inc.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of SuSE not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. SuSE makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Keith Packard, SuSE, Inc.
+ */
+
+#ifndef _XRENDERP_H_
+#define _XRENDERP_H_
+
+#include <X11/Xmd.h>
+#include <X11/extensions/render.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define Picture CARD32
+#define PictFormat CARD32
+#define Fixed INT32
+#define Glyphset CARD32
+
+/*
+ * data structures
+ */
+
+typedef struct {
+ CARD16 red B16;
+ CARD16 redMask B16;
+ CARD16 green B16;
+ CARD16 greenMask B16;
+ CARD16 blue B16;
+ CARD16 blueMask B16;
+ CARD16 alpha B16;
+ CARD16 alphaMask B16;
+} xDirectFormat;
+
+#define sz_xDirectFormat 16
+
+typedef struct {
+ PictFormat id B32;
+ CARD8 type;
+ CARD8 depth;
+ CARD16 pad1 B16;
+ xDirectFormat direct;
+ Colormap colormap;
+} xPictFormInfo;
+
+#define sz_xPictFormInfo 28
+
+typedef struct {
+ VisualID visual;
+ PictFormat format;
+} xPictVisual;
+
+#define sz_xPictVisual 8
+
+typedef struct {
+ CARD8 depth;
+ CARD8 pad1;
+ CARD16 nPictVisuals B16;
+ CARD32 pad2 B32;
+} xPictDepth;
+
+#define sz_xPictDepth 8
+
+typedef struct {
+ CARD32 nDepth B32;
+ PictFormat fallback B32;
+} xPictScreen;
+
+#define sz_xPictScreen 8
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16;
+ CARD16 green B16;
+ CARD16 blue B16;
+ CARD16 alpha B16;
+} xIndexValue;
+
+#define sz_xIndexValue 12
+
+typedef struct {
+ CARD16 red B16;
+ CARD16 green B16;
+ CARD16 blue B16;
+ CARD16 alpha B16;
+} xRenderColor;
+
+#define sz_xRenderColor 8
+
+typedef struct {
+ Fixed x B32;
+ Fixed y B32;
+} xPointFixed;
+
+#define sz_xPointFixed 8
+
+typedef struct {
+ xPointFixed p1;
+ xPointFixed p2;
+} xLineFixed;
+
+#define sz_xLineFixed 16
+
+typedef struct {
+ xPointFixed p1, p2, p3;
+} xTriangle;
+
+#define sz_xTriangle 24
+
+typedef struct {
+ Fixed top B32;
+ Fixed bottom B32;
+ xLineFixed left;
+ xLineFixed right;
+} xTrapezoid;
+
+#define sz_xTrapezoid 40
+
+typedef struct {
+ CARD16 width B16;
+ CARD16 height B16;
+ INT16 x B16;
+ INT16 y B16;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xGlyphInfo;
+
+#define sz_xGlyphInfo 12
+
+typedef struct {
+ CARD8 len;
+ CARD8 pad1;
+ CARD16 pad2;
+ INT16 deltax;
+ INT16 deltay;
+} xGlyphElt;
+
+#define sz_xGlyphElt 8
+
+typedef struct {
+ Fixed l, r, y;
+} xSpanFix;
+
+#define sz_xSpanFix 12
+
+typedef struct {
+ xSpanFix top, bot;
+} xTrap;
+
+#define sz_xTrap 24
+
+/*
+ * requests and replies
+ */
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+} xRenderQueryVersionReq;
+
+#define sz_xRenderQueryVersionReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 majorVersion B32;
+ CARD32 minorVersion B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRenderQueryVersionReply;
+
+#define sz_xRenderQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+} xRenderQueryPictFormatsReq;
+
+#define sz_xRenderQueryPictFormatsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numFormats B32;
+ CARD32 numScreens B32;
+ CARD32 numDepths B32;
+ CARD32 numVisuals B32;
+ CARD32 numSubpixel B32; /* Version 0.6 */
+ CARD32 pad5 B32;
+} xRenderQueryPictFormatsReply;
+
+#define sz_xRenderQueryPictFormatsReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ PictFormat format B32;
+} xRenderQueryPictIndexValuesReq;
+
+#define sz_xRenderQueryPictIndexValuesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numIndexValues;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xRenderQueryPictIndexValuesReply;
+
+#define sz_xRenderQueryPictIndexValuesReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture pid B32;
+ Drawable drawable B32;
+ PictFormat format B32;
+ CARD32 mask B32;
+} xRenderCreatePictureReq;
+
+#define sz_xRenderCreatePictureReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ CARD32 mask B32;
+} xRenderChangePictureReq;
+
+#define sz_xRenderChangePictureReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ INT16 xOrigin B16;
+ INT16 yOrigin B16;
+} xRenderSetPictureClipRectanglesReq;
+
+#define sz_xRenderSetPictureClipRectanglesReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture B32;
+} xRenderFreePictureReq;
+
+#define sz_xRenderFreePictureReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture mask B32;
+ Picture dst B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+ INT16 xMask B16;
+ INT16 yMask B16;
+ INT16 xDst B16;
+ INT16 yDst B16;
+ CARD16 width B16;
+ CARD16 height B16;
+} xRenderCompositeReq;
+
+#define sz_xRenderCompositeReq 36
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture src B32;
+ Picture dst B32;
+ CARD32 colorScale B32;
+ CARD32 alphaScale B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+ INT16 xDst B16;
+ INT16 yDst B16;
+ CARD16 width B16;
+ CARD16 height B16;
+} xRenderScaleReq;
+
+#define sz_xRenderScaleReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture dst B32;
+ PictFormat maskFormat B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+} xRenderTrapezoidsReq;
+
+#define sz_xRenderTrapezoidsReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture dst B32;
+ PictFormat maskFormat B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+} xRenderTrianglesReq;
+
+#define sz_xRenderTrianglesReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture dst B32;
+ PictFormat maskFormat B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+} xRenderTriStripReq;
+
+#define sz_xRenderTriStripReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture dst B32;
+ PictFormat maskFormat B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+} xRenderTriFanReq;
+
+#define sz_xRenderTriFanReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Glyphset gsid B32;
+ PictFormat format B32;
+} xRenderCreateGlyphSetReq;
+
+#define sz_xRenderCreateGlyphSetReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Glyphset gsid B32;
+ Glyphset existing B32;
+} xRenderReferenceGlyphSetReq;
+
+#define sz_xRenderReferenceGlyphSetReq 24
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Glyphset glyphset B32;
+} xRenderFreeGlyphSetReq;
+
+#define sz_xRenderFreeGlyphSetReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Glyphset glyphset B32;
+ CARD32 nglyphs;
+} xRenderAddGlyphsReq;
+
+#define sz_xRenderAddGlyphsReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Glyphset glyphset B32;
+} xRenderFreeGlyphsReq;
+
+#define sz_xRenderFreeGlyphsReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture src B32;
+ Picture dst B32;
+ PictFormat maskFormat B32;
+ Glyphset glyphset B32;
+ INT16 xSrc B16;
+ INT16 ySrc B16;
+} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
+xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
+
+#define sz_xRenderCompositeGlyphs8Req 28
+#define sz_xRenderCompositeGlyphs16Req 28
+#define sz_xRenderCompositeGlyphs32Req 28
+
+/* 0.1 and higher */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ CARD8 op;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ Picture dst B32;
+ xRenderColor color;
+} xRenderFillRectanglesReq;
+
+#define sz_xRenderFillRectanglesReq 20
+
+/* 0.5 and higher */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Cursor cid B32;
+ Picture src B32;
+ CARD16 x B16;
+ CARD16 y B16;
+} xRenderCreateCursorReq;
+
+#define sz_xRenderCreateCursorReq 16
+
+/* 0.6 and higher */
+
+/*
+ * This can't use an array because 32-bit values may be in bitfields
+ */
+typedef struct {
+ Fixed matrix11 B32;
+ Fixed matrix12 B32;
+ Fixed matrix13 B32;
+ Fixed matrix21 B32;
+ Fixed matrix22 B32;
+ Fixed matrix23 B32;
+ Fixed matrix31 B32;
+ Fixed matrix32 B32;
+ Fixed matrix33 B32;
+} xRenderTransform;
+
+#define sz_xRenderTransform 36
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ xRenderTransform transform;
+} xRenderSetPictureTransformReq;
+
+#define sz_xRenderSetPictureTransformReq 44
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Drawable drawable B32;
+} xRenderQueryFiltersReq;
+
+#define sz_xRenderQueryFiltersReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 numAliases B32; /* LISTofCARD16 */
+ CARD32 numFilters B32; /* LISTofSTRING8 */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xRenderQueryFiltersReply;
+
+#define sz_xRenderQueryFiltersReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture B32;
+ CARD16 nbytes B16; /* number of bytes in name */
+ CARD16 pad B16;
+} xRenderSetPictureFilterReq;
+
+#define sz_xRenderSetPictureFilterReq 12
+
+/* 0.8 and higher */
+
+typedef struct {
+ Cursor cursor B32;
+ CARD32 delay B32;
+} xAnimCursorElt;
+
+#define sz_xAnimCursorElt 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Cursor cid B32;
+} xRenderCreateAnimCursorReq;
+
+#define sz_xRenderCreateAnimCursorReq 8
+
+/* 0.9 and higher */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture picture;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xRenderAddTrapsReq;
+
+#define sz_xRenderAddTrapsReq 12
+
+/* 0.10 and higher */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture pid B32;
+ xRenderColor color;
+} xRenderCreateSolidFillReq;
+
+#define sz_xRenderCreateSolidFillReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture pid B32;
+ xPointFixed p1;
+ xPointFixed p2;
+ CARD32 nStops;
+} xRenderCreateLinearGradientReq;
+
+#define sz_xRenderCreateLinearGradientReq 28
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture pid B32;
+ xPointFixed inner;
+ xPointFixed outer;
+ Fixed inner_radius;
+ Fixed outer_radius;
+ CARD32 nStops;
+} xRenderCreateRadialGradientReq;
+
+#define sz_xRenderCreateRadialGradientReq 36
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 renderReqType;
+ CARD16 length B16;
+ Picture pid B32;
+ xPointFixed center;
+ Fixed angle; /* in degrees */
+ CARD32 nStops;
+} xRenderCreateConicalGradientReq;
+
+#define sz_xRenderCreateConicalGradientReq 24
+
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#undef Picture
+#undef PictFormat
+#undef Fixed
+#undef Glyphset
+
+#endif /* _XRENDERP_H_ */
diff --git a/renderproto/renderproto.pc.in b/renderproto/renderproto.pc.in
new file mode 100644
index 0000000..17331e9
--- /dev/null
+++ b/renderproto/renderproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: RenderProto
+Description: Render extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/renderproto/renderproto.txt b/renderproto/renderproto.txt
new file mode 100644
index 0000000..a736ba7
--- /dev/null
+++ b/renderproto/renderproto.txt
@@ -0,0 +1,1207 @@
+ The X Rendering Extension
+ Version 0.11
+ 2009-07-15
+ Keith Packard
+ keithp@keithp.com
+
+1. Introduction
+
+The X Rendering Extension (Render) introduces digital image composition as
+the foundation of a new rendering model within the X Window System.
+Rendering geometric figures is accomplished by client-side tessellation into
+either triangles or trapezoids. Text is drawn by loading glyphs into the
+server and rendering sets of them.
+
+2. Acknowledgments
+
+This extension was the work of many people, in particular:
+
+ + Thomas Porter and Tom Duff for their formal description
+ of image compositing.
+
+ + Rob Pike and Russ Cox who designed the Plan 9 window system from
+ which the compositing model was lifted.
+
+ + Juliusz Chroboczek and Raph Levien whose proposal for client-side
+ glyph management eliminated font handling from the X server.
+
+ + Jon Leech, Brad Grantham and Allen Akin for patiently explaining
+ how OpenGL works.
+
+ + Carl Worth for providing the sample implementation of
+ trapezoid rendering and showing how broken the spec was
+
+ + Sam Pottle and Jamey Sharp for helping demonstrate the correctness
+ of the trapezoid specification.
+
+ + Owen Taylor for helping specify projective transformations
+
+3. Rendering Model
+
+Render provides a single rendering operation which can be used in a variety of
+ways to generate images:
+
+ dest = (source IN mask) OP dest
+
+Where 'IN' is the Porter/Duff operator of that name and 'OP' is any of the
+list of compositing operators described below, among which can be found all
+of the Porter/Duff binary operators.
+
+To use this operator several additional values are required:
+
+ + The destination rectangle. This is a subset of the destination
+ within which the rendering is performed.
+
+ + The source location. This identifies the coordinate in the
+ source aligned with the upper left corner of the
+ destination rectangle.
+
+ + The mask location. This identifies the coordinate in the
+ mask aligned with the upper left corner of the
+ destination rectangle.
+
+ + A clip list. This limits the rendering to the intersection of the
+ destination rectangle with this clip list.
+
+ + The OP to use
+
+ + Whether the source should be repeated to cover the destination
+ rectangle, extended with a constant pixel value or extended by
+ using the nearest available source pixel.
+
+ + Whether the mask should be repeated to cover the destination
+ rectangle, extended with a constant pixel value or extended by
+ using the nearest available mask pixel.
+
+ + Whether the mask has a single alpha value for all four channels or
+ whether each mask channel should affect the associated source/dest
+ channels.
+
+ + Whether the source should be reshaped with a projective
+ transformation, and if so, what filter to apply while
+ resampling the data.
+
+ + Whether the mask should be reshaped with a projective
+ transformation, and if so, what filter to apply while
+ resampling the data.
+
+These parameters are variously attached to the operands or included in each
+rendering request.
+
+4. Data types
+
+The core protocol rendering system uses a pixel model and applies color only
+in the final generation of the video signal. A compositing model operates
+on colors, not pixel values so a new datatype is needed to interpret data as
+color instead of just bits.
+
+The "PictFormat" object holds information needed to translate pixel values
+into red, green, blue and alpha channels. The server has a list of picture
+formats corresponding to the various visuals on the screen. There are two
+classes of formats, Indexed and Direct. Indexed PictFormats hold a list of
+pixel values and RGBA values while Direct PictFormats hold bit masks for each
+of R, G, B and A.
+
+The "Picture" object contains a Drawable, a PictFormat and some
+rendering state. More than one Picture can refer to the same Drawable.
+
+5. Errors
+
+Errors are sent using core X error reports.
+
+PictFormat
+ A value for a PICTFORMAT argument does not name a defined PICTFORMAT.
+
+Picture
+ A value for a PICTURE argument does not name a defined PICTURE.
+
+PictOp
+ A value for a PICTOP argument does not name a defined PICTOP.
+
+GlyphSet
+ A value for a GLYPHSET argument does not name a defined GLYPHSET.
+
+Glyph
+ A value for a GLYPH argument does not name a defined GLYPH in the
+ glyphset.
+
+6. Protocol Types
+
+PICTURE 32-bit value (top three bits guaranteed to be zero)
+PICTFORMAT 32-bit value (top three bits guaranteed to be zero)
+PICTTYPE { Indexed, Direct }
+PICTOP { Clear, Src, Dst, Over, OverReverse, In, InReverse,
+ Out, OutReverse, Atop, AtopReverse, Xor, Add, Saturate,
+ DisjointClear, DisjointSrc, DisjointDst, DisjointOver,
+ DisjointOverReverse, DisjointIn, DisjointInReverse,
+ DisjointOut, DisjointOutReverse, DisjointAtop,
+ DisjointAtopReverse, DisjointXor,
+ ConjointClear, ConjointSrc, ConjointDst, ConjointOver,
+ ConjointOverReverse, ConjointIn, ConjointInReverse,
+ ConjointOut, ConjointOutReverse, ConjointAtop,
+ ConjointAtopReverse, ConjointXor,
+ Multiply, Screen, Overlay, Darken, Lighten, ColorDodge,
+ ColorBurn, HardLight, SoftLight, Difference, Exclusion,
+ HSLHue, HSLSaturation, HSLColor, HSLLuminosity
+ }
+SUBPIXEL { Unknown, HorizontalRGB, HorizontalBGR,
+ VerticalRGB, VerticalBGR, None
+ }
+COLOR [
+ red, green, blue, alpha: CARD16
+ ]
+CHANNELMASK [
+ shift, mask: CARD16
+ ]
+DIRECTFORMAT [
+ red, green, blue, alpha: CHANNELMASK
+ ]
+INDEXVALUE [
+ pixel: Pixel;
+ red, green, blue, alpha: CARD16
+ ]
+PICTFORMINFO [
+ id: PICTFORMAT
+ type: PICTTYPE
+ depth: CARD8
+ direct: DIRECTFORMAT
+ colormap: COLORMAP or None
+ ]
+
+PICTVISUAL [
+ visual: VISUALID or None
+ format: PICTFORMAT
+ ]
+
+PICTDEPTH [
+ depth: CARD8
+ visuals: LISTofPICTVISUAL
+ ]
+
+PICTSCREEN LISTofPICTDEPTH
+
+FIXED 32-bit value (top 16 are integer portion, bottom 16 are fraction)
+TRANSFORM [
+ p11, p12, p13: FIXED
+ p21, p22, p23: FIXED
+ p31, p32, p33: FIXED
+ ]
+POINTFIX [
+ x, y: FIXED
+ ]
+POLYEDGE { Sharp, Smooth }
+POLYMODE { Precise, Imprecise }
+REPEAT { None, Regular, Pad, Reflect }
+COLORPOINT [
+ point: POINTFIX
+ color: COLOR
+ ]
+SPANFIX [
+ left, right, y: FIXED
+ ]
+COLORSPANFIX [
+ left, right, y: FIXED
+ left_color: COLOR
+ right_color: COLOR
+QUAD [
+ p1, p2, p3, p4: POINTFIX
+ ]
+TRIANGLE [
+ p1, p2, p3: POINTFIX
+ ]
+LINEFIX [
+ p1, p2: POINTFIX
+ ]
+TRAP [
+ top, bottom: SPANFIX
+ ]
+TRAPEZOID [
+ top, bottom: FIXED
+ left, right: LINEFIX
+ ]
+(TRAPEZOID is deprecated)
+GLYPHSET 32-bit value (top three bits guaranteed to be zero)
+GLYPH 32-bit value
+GLYPHINFO [
+ width, height: CARD16
+ x, y: INT16
+ off-x, off-y: INT16
+ ]
+PICTGLYPH [
+ info: GLYPHINFO
+ x, y: INT16
+ ]
+GLYPHABLE GLYPHSET or FONTABLE
+GLYPHELT8 [
+ dx, dy: INT16
+ glyphs: LISTofCARD8
+ ]
+GLYPHITEM8 GLYPHELT8 or GLYPHABLE
+GLYPHELT16 [
+ dx, dy: INT16
+ glyphs: LISTofCARD16
+ ]
+GLYPHITEM16 GLYPHELT16 or GLYPHABLE
+GLYPHELT32 [
+ dx, dy: INT16
+ glyphs: LISTofCARD32
+ ]
+GLYPHITEM32 GLYPHELT32 or GLYPHABLE
+
+ANIMCURSORELT [
+ cursor: CURSOR
+ delay: CARD32
+ ]
+7. Standard PictFormats
+
+The server must support a Direct PictFormat with 8 bits each of red, green,
+blue and alpha as well as a Direct PictFormat with 8 bits of red, green and
+blue and 0 bits of alpha. The server must also support Direct PictFormats
+with 1, 4 and 8 bits of alpha and 0 bits of r, g and b.
+
+Pixel component values lie in the close range [0,1]. These values are
+encoded in a varying number of bits. Values are encoded in a straight
+forward manner. For a component encoded in m bits, a binary encoding b
+is equal to a component value of b/(2^m-1).
+
+A Direct PictFormat with zero bits of alpha component is declared to have
+alpha == 1 everywhere. A Direct PictFormat with zero bits of red, green and
+blue is declared to have red, green, blue == 0 everywhere. If any of red,
+green or blue components are of zero size, all are of zero size. Direct
+PictFormats never have colormaps and are therefore screen independent.
+
+Indexed PictFormats never have alpha channels and the direct component is all
+zeros. Indexed PictFormats always have a colormap in which the specified
+colors are allocated read-only and are therefore screen dependent. Drawing
+to in Indexed Picture uses only pixel values listed by QueryPictIndexValues.
+Reading from an Indexed Picture uses red, green and blue values from the
+colormap and alpha values from those listed by QueryPictIndexValues. Pixel
+values not present in QueryPictIndexValues are given alpha values of 1.
+
+8. Compositing Operators
+
+For each pixel, the four channels of the image are computed with:
+
+ C = Ca * Fa + Cb * Fb
+
+where C, Ca, Cb are the values of the respective channels and Fa and Fb
+come from the following table:
+
+ PictOp Fa Fb
+ --------------------------------------------------
+ Clear 0 0
+ Src 1 0
+ Dst 0 1
+ Over 1 1-Aa
+ OverReverse 1-Ab 1
+ In Ab 0
+ InReverse 0 Aa
+ Out 1-Ab 0
+ OutReverse 0 1-Aa
+ Atop Ab 1-Aa
+ AtopReverse 1-Ab Aa
+ Xor 1-Ab 1-Aa
+ Add 1 1
+ Saturate min(1,(1-Ab)/Aa) 1
+ DisjointClear 0 0
+ DisjointSrc 1 0
+ DisjointDst 0 1
+ DisjointOver 1 min(1,(1-Aa)/Ab)
+ DisjointOverReverse min(1,(1-Ab)/Aa) 1
+ DisjointIn max(1-(1-Ab)/Aa,0) 0
+ DisjointInReverse 0 max(1-(1-Aa)/Ab,0)
+ DisjointOut min(1,(1-Ab)/Aa) 0
+ DisjointOutReverse 0 min(1,(1-Aa)/Ab)
+ DisjointAtop max(1-(1-Ab)/Aa,0) min(1,(1-Aa)/Ab)
+ DisjointAtopReverse min(1,(1-Ab)/Aa) max(1-(1-Aa)/Ab,0)
+ DisjointXor min(1,(1-Ab)/Aa) min(1,(1-Aa)/Ab)
+ ConjointClear 0 0
+ ConjointSrc 1 0
+ ConjointDst 0 1
+ ConjointOver 1 max(1-Aa/Ab,0)
+ ConjointOverReverse max(1-Ab/Aa,0) 1
+ ConjointIn min(1,Ab/Aa) 0
+ ConjointInReverse 0 min(Aa/Ab,1)
+ ConjointOut max(1-Ab/Aa,0) 0
+ ConjointOutReverse 0 max(1-Aa/Ab,0)
+ ConjointAtop min(1,Ab/Aa) max(1-Aa/Ab,0)
+ ConjointAtopReverse max(1-Ab/Aa,0) min(1,Aa/Ab)
+ ConjointXor max(1-Ab/Aa,0) max(1-Aa/Ab,0)
+
+Saturate and DisjointOverReverse are the same. They match OpenGL
+compositing with FUNC_ADD, SRC_ALPHA_SATURATE, ONE, except that Render uses
+premultiplied alpha while Open GL uses non-premultiplied alpha.
+
+The result of any compositing operator is always limited to the range
+[0,1] for each component. Components whose value would be greater than 1
+are set to 1.
+
+For operations involving division, when the divisor is zero, define the
+quotient to be positive infinity. The result is always well defined
+because the division is surrounded with a max or min operator which will
+give a finite result.
+
+When the mask contains separate alpha values for each channel, the
+alpha value resulting from the combination of that value with the source
+alpha channel is used in the final image composition.
+
+9. Source and Mask Transformations
+
+When fetching pixels from the source or mask pictures, Render provides four
+options for pixel values which fall outside the drawable (this includes
+pixels within a window geometry obscured by other windows).
+
+ + None. Missing values are replaced with transparent.
+
+ + Pad. Replace missing pixels with the nearest available
+ pixel. Where multiple pixels are equidistant, select
+ those with smallest Y and then smallest X coordinates
+
+ + Normal. Select the pixel which would appear were the
+ drawable tiled to enclose the missing coordinate. If
+ the tiling doesn't cover the coordinate, use the
+ selected Constant or Nearest mode.
+
+ * Reflect. Select the pixel which would appear were the
+ drawable tiled to enclose the missing coordinate in such a
+ way that tiles in even numbered columns are reflected in the Y
+ axis, and tiles in even numbered rows are reflected in the X
+ axis. Tiles that in both an even numbered row and an even
+ numbered column are reflected in both axes.
+
+To construct the source and mask operands, the computed pixels values are
+transformed through a homogeneous matrix, filtered and then used in the
+fundamental rendering operator described above. Each screen provides a list
+of supported filter names. There are a few required filters, and several
+required filter alias which must map to one of the available filters.
+
+10. Polygon Rasterization
+
+Render provides only two kinds of polygons, trapezoids and triangles. To
+improve efficiency, several different wire encodings exist for each.
+
+All trapezoids must be convex. Rendering of concave trapezoids is unspecified
+except that the result must obey the clipping rules.
+
+Composite
+Polygons are rasterized by implicit generating an alpha mask and using that
+in the general compositing operator along with a supplied source image:
+
+ tmp = Rasterize (polygon)
+ Composite (op, dst, src, tmp)
+
+When rasterized with Sharp edges, the mask is computed with a depth of 1 so
+that all of the mask values are either 0 or 1.
+
+When rasterized with Smooth edges, the mask is generated by creating a square
+around each pixel coordinate and computing the amount of that square covered
+by the polygon. This ignores sampling theory but it provides a precise
+definition which is close to the right answer. This value is truncated to
+the alpha width in the fallback format before application of the compositing
+operator.
+
+Rasterization
+Alpha values are generated by point sampling the coverage of a square
+surrounding the center of each pixel by the polygon.
+
+In Precise poly mode, the sample points are located in a regular grid. When
+alpha depth 'e' is even, the regular grid is 2**(e/2) + 1 samples wide and
+2**(e/2) -1 samples high. For odd alpha depth 'o', the sample grid is 2**o
+- 1 samples wide and 1 sample high. Note that odd alpha depth usually
+occurs only at depth 1, so this misshapen sample grid has no ill effects.
+The sample grid is centered within the pixel and then each sample point is
+rounded down to a point on the sub-pixel coordinate grid.
+
+In Imprecise mode, the location of the sample points is not specified, but
+the implementation must conform to the following constraints:
+
+ + Abutting edges must match precisely. When specifying two polygons
+ abutting along a common edge, if that edge is specified with the
+ same coordinates in each polygon then the sum of alpha values for
+ pixels inside the union of the two polygons must be precisely one.
+
+ + Translationally invariant. The pixelization of the polygon must
+ be the same when either the polygon or the target drawable
+ are translated by any whole number of pixels in any direction.
+
+ + Sharp edges are honored. When the polygon is rasterized with Sharp
+ edges, the implicit alpha mask will contain only 1 or 0 for
+ each pixel.
+
+ + Order independent. Two identical polygons specified with vertices
+ in different orders must generate identical results.
+
+11. Image Filtering
+
+When computing pixels from source and mask images, a filter may be applied
+to the data. This is usually used with a non-identity transformation
+matrix, but filtering may be applied with an identity transformation.
+
+Each filter is given a unique name encoded as an ISO Latin-1 string.
+Filters may be configured with a list of fixed point values; the number of
+parameters and their interpretation is currently left to conventions passed
+outside of the protocol. A set of standard filters are required to be
+provided:
+
+ Filter Name Description
+
+ nearest Nearest neighbor filtering
+ bilinear Linear interpolation in two dimensions
+
+Additional names may be provided for any filter as aliases. A set of
+standard alias names are required to be mapped to a provided filter so that
+applications can use the alias names without checking for availability.
+
+ Alias name Intended interpretation
+
+ fast High performance, quality similar to Nearest
+ good Reasonable performance, quality similar to Bilinear
+ best Highest quality available, performance may not
+ be suitable for interactive use
+
+Aliases must map directly to a non-aliased filter name.
+
+There is also a set of standard filters which are not required but may be
+provided. If they are provided, using the standard name, they must match
+the definition specified here.
+
+ Filter Name Description
+
+ convolution MxN convolution filter. The values specified
+ in SetPictureFilter are M, N and then M * N
+ filter parameters. M and N must be integers
+ represented as fixed point numbers.
+ gaussian Gaussian blur. The value specified is a radius
+ in pixels (which can be fractional). A standard
+ Gaussian 2D convolution filter will be applied.
+ binomial Binomial blur. An approximation of a Gaussian
+ blur using binomial coefficients
+
+12. Glyph Rendering
+
+Glyphs are small alpha masks which can be stored in the X server and
+rendered by referring to them by name. A set of glyphs can be rendered in a
+single request. Glyphs are positioned by subtracting the x, y elements of
+the GLYPHINFO from the requested rendering position. The next glyph
+rendering position is set to the current rendering position plus the off-x
+and off-y elements.
+
+Glyphs are stored in GlyphSets and are named within the GlyphSet with
+client-specified 32-bit numbers.
+
+Glyphs can be stored in any PictFormat supported by the server. All glyphs
+in a GlyphSet are stored in the same format.
+
+13. Extension Initialization
+
+The client must negotiate the version of the extension before executing
+extension requests. Behavior of the server is undefined otherwise.
+
+QueryVersion
+
+ client-major-version: CARD32
+ client-minor-version: CARD32
+
+ ->
+
+ major-version: CARD32
+ minor-version: CARD32
+
+ The client sends the highest supported version to the server and
+ the server sends the highest version it supports, but no higher than
+ the requested version. Major versions changes can introduce
+ incompatibilities in existing functionality, minor version
+ changes introduce only backward compatible changes. It is
+ the clients responsibility to ensure that the server supports
+ a version which is compatible with its expectations.
+
+QueryPictFormats
+
+ ->
+
+ fallback: PICTFORMAT
+ formats: LISTofPICTFORMINFO
+ screens: LISTofPICTSCREEN
+ subpixels: LISTofSUBPIXEL
+
+ Errors:
+ <none>
+
+ The server responds with a list of supported PictFormats and
+ a list of which PictFormat goes with each visual on each screen.
+ Every PictFormat must match a supported depth, but not every
+ PictFormat need have a matching visual.
+
+ The fallback format is used as an intermediate representation
+ in cases where there is no ideal choice.
+
+ The relationship between the red, green and blue elements making
+ up each pixel indexed by screen is returned in subpixels.
+ This list is not present in servers advertising protocol
+ versions earlier than 0.6. This list may be shorter than
+ the number of screens, in which case the remaining screens
+ are given sub pixel order Unknown.
+
+QueryPictIndexValues
+
+ format: PICTFORMAT
+
+ ->
+
+ values: LISTofINDEXVALUE
+
+ Errors:
+ PictFormat, Match
+
+ Returns the mapping from pixel values to RGBA values for the
+ specified Indexed PictFormat. If 'format' does not refer to
+ an Indexed PictFormat a Match error is generated.
+
+QueryFilters
+
+ drawable: DRAWABLE
+
+ ->
+
+ filters: LISTofSTRING8
+ aliases: LISTofCARD16
+
+
+14. Extension Requests
+
+CreatePicture
+
+ pid: PICTURE
+ drawable: DRAWABLE
+ format: PICTFORMAT
+ value-mask: BITMASK
+ value-list: LISTofVALUE
+
+ Errors:
+ Alloc, Drawable, IDChoice, Match, Pixmap, Picture,
+ PictFormat, Value
+
+ This request creates a Picture object associated with the specified
+ drawable and assigns the identifier pid to it. Pixel data in the
+ image are interpreted according to 'format'. It is a Match error
+ to specify a format with a different depth than the drawable. If
+ the drawable is a Window then the Red, Green and Blue masks must
+ match those in the visual for the window else a Match error is
+ generated.
+
+ The value-mask and value-list specify attributes of the picture that
+ are to be explicitly initialized. The possible values are:
+
+ repeat: REPEAT
+ alpha-map: PICTURE or None
+ alpha-x-origin: INT16
+ alpha-y-origin: INT16
+ clip-x-origin: INT16
+ clip-y-origin: INT16
+ clip-mask: PIXMAP or None
+ graphics-exposures: BOOL
+ subwindow-mode: { ClipByChildren, IncludeInferiors }
+ poly-edge: POLYEDGE
+ poly-mode: POLYMODE
+ dither: ATOM or None
+ component-alpha: BOOL
+
+ When used as a source or mask operand, Repeat indicates how the
+ drawable contents should be extented in both directions.
+
+ The alpha channel of alpha-map is used in place of any alpha channel
+ contained within the drawable for all rendering operations. The
+ alpha-mask origin is interpreted relative to the origin of drawable.
+ Rendering is additionally clipped by the geometry and clip mask of
+ alpha-map. Exposures to the window do not affect the contents of
+ alpha-map. Alpha-map must refer to a picture containing a Pixmap,
+ not a Window (or a Match error results).
+
+ The clip-mask restricts reads and writes to drawable. Only pixels
+ where the clip-mask has bits set to 1 are read or written. Pixels
+ are not accessed outside the area covered by the clip-mask or where
+ the clip-mask has bits set to 0. The clip-mask affects all graphics
+ requests, including sources. The clip-mask origin is interpreted
+ relative to the origin of the picture. If a pixmap is specified as
+ the clip-mask, it must have depth 1 and have the same root as the
+ drawable (or a Match error results). If clip-mask is None, then
+ pixels are always drawn, regardless of the clip origin. The
+ clip-mask can also be set with the SetPictureClipRectangles request.
+ Transformations, filters and repeat modes do not affect the clip
+ mask.
+
+ When a window is used as a destination, the subwindow_mode
+ determines what happens to pixels obscured by inferior
+ windows. For ClipByChildren the window is clipped by inferiors
+ and siblings. For IncludeInferior, the window is clipped by
+ siblings, but not by inferiors.
+
+ When a window is used as source or mask, the subwindow_mode is
+ ignored. Pixels that are obscured by other windows, whether
+ siblings or inferiors, have undefined contents.
+
+ The graphics-exposures flag is ignored. GraphicsExposure events are
+ never generated by this extension.
+
+ Poly-edge and poly-mode control the rasterization of polygons as
+ described above.
+
+ Dither is ignored.
+
+ Component-alpha indicates whether each image component is intended as
+ a separate alpha value when the picture is used as a mask operand.
+
+ The default component values are
+
+ Component Default
+ -------------------------------
+ repeat None
+ clip-x-origin 0
+ clip-y-origin 0
+ clip-mask None
+ subwindow-mode ClipByChildren
+ poly-edge Smooth
+ poly-mode Precise
+ component-alpha False
+
+ChangePicture
+
+ pid: PICTURE
+ value-mask: BITMASK
+ value-list: LISTofVALUE
+
+ Errors:
+ Picture, Alloc, Pixmap, PictOp, Value
+
+ The value-mask and value-list specify which attributes are to be
+ changed. The values and restrictions are the same as for
+ CreatePicture.
+
+SetPictureClipRectangles
+
+ picture: PICTURE
+ clip-x-origin: INT16
+ clip-y-origin: INT16
+ rectangles: LISTofRECTANGLE
+
+ Errors:
+ Alloc, Picture
+
+ This request changes clip-mask in picture to the specified list of
+ rectangles and sets the clip origin. Input and output will be
+ clipped to remain contained within the rectangles. The clip origin
+ is interpreted relative to the origin of picture after
+ transformations and repeats have been applied. The rectangle
+ coordinates are interpreted relative to the clip origin.
+
+ The list of rectangles can be empty, which effectively disables
+ output. This is the opposite of passing None as the clip-mask in
+ CreatePicture and ChangePicture.
+
+ Note that output is clipped to the union of all of the rectangles
+ and that no particular ordering among the rectangles is required.
+
+SetPictureTransform
+
+ picture: PICTURE
+ transform: TRANSFORM
+
+ Errors:
+ Alloc, Value, Picture
+
+ This request changes the projective transformation used to
+ map coordinates when 'picture' is used as the source or
+ mask in any compositing operation. The transform
+ maps from destination pixel geometry back to the source pixel
+ geometry.
+
+ The matrix must be invertable, else a Value error is generated.
+
+SetPictureFilter
+
+ picture: PICTURE
+ filter: STRING8
+ values: LISTofFIXED
+
+ Errors:
+ Value, Match, Picture
+
+ This request sets the current filter used when picture is a source
+ or mask operand. Filter must be one of the filters supported
+ for the screen associated with picture, else a Match error
+ is generated. If the filter accepts additional parameters,
+ they can be provided in values, incorrect values generate Value
+ errors, too many values generate Match errors. Too few values
+ cause the filter to assume default values for the missing
+ parameters.
+
+ When created, Pictures are set to the Nearest filter.
+
+FreePicture
+
+ pid: PICTURE
+
+ Errors:
+ Picture
+
+ This request deletes the association between the resource ID and the
+ picture. The picture storage will be freed when no other resource
+ references it.
+
+Composite
+
+ op: PICTOP
+ src: PICTURE
+ mask: PICTURE or None
+ dst: PICTURE
+ src-x, src-y: INT16
+ mask-x, mask-y: INT16
+ dst-x, dst-y: INT16
+ width, height: CARD16
+
+ This request combines the specified rectangle of the transformed
+ src and mask operands with the specified rectangle of dst using op
+ as the compositing operator. The coordinates are relative their
+ respective (transformed) drawable's origin. Rendering is clipped
+ to the geometry of the dst drawable and then to the dst clip-list.
+
+ Pixels outside the geometry of src or mask needed for this
+ computation are substituted as described in the Source and Mask
+ Transformations section above.
+
+ If src, mask and dst are not in the same format, and one of their
+ formats can hold all without loss of precision, they are converted
+ to that format. Alternatively, the server will convert each
+ operand to the fallback format.
+
+ If mask is None, it is replaced by a constant alpha value of 1.
+
+FillRectangles
+
+ op: PICTOP
+ dst: PICTURE
+ color: COLOR
+ rects: LISTofRECTANGLE
+
+ This request combines color with the destination drawable in the
+ area specified by rects. Each rectangle is combined separately;
+ overlapping areas will be rendered multiple times. The effect is
+ equivalent to compositing with a repeating source picture filled with
+ the specified color.
+
+Trapezoids
+
+ op: PICTOP
+ src: PICTURE
+ src-x, src-y: INT16
+ dst: PICTURE
+ mask-format: PICTFORMAT or None
+ traps: LISTofTRAPEZOID
+
+ This request rasterizes the list of trapezoids.
+
+ For each trap, the area between the left and right edges is filled
+ from the top to the bottom. src-x and src-y register the pattern to
+ the floor of the top x and y coordinate of the left edge of the
+ first trapezoid, they are adjusted for subsequent trapezoids so that
+ the pattern remains globally aligned within the destination.
+
+ When mask-format is not None, trapezoids are rendered in the
+ following way with the effective mask computed in mask-format:
+
+ tmp = temporary alpha picture (in mask-format)
+ Combine (Zero, tmp, tmp, None)
+ for each trapezoid
+ Combine (Add, tmp, trapezoid, None)
+ Combine (op, dst, source, tmp)
+
+ When mask-format is None, trapezoids are rendered in the order
+ specified directly to the destination:
+
+ for each trapezoid
+ Combine (op, dst, source, trapezoid)
+
+ (The Trapezoids request is deprecated)
+
+Triangles
+
+ op: PICTOP
+ src: PICTURE
+ src-x, src-y: INT16
+ dst: PICTURE
+ mask-format: PICTFORMAT or None
+ triangles: LISTofTRIANGLE
+
+ This request rasterizes the list of triangles in the order they
+ occur in the list.
+
+ When mask-format is not None, triangles are rendered in the
+ following way with the effective mask computed in mask-format:
+
+ tmp = temporary alpha picture (in mask-format)
+ Combine (Zero, tmp, tmp, None)
+ for each triangle
+ Combine (Add, tmp, triangle, None)
+ Combine (op, dst, source, tmp)
+
+ When mask-format is None, triangles are rendered in the order
+ specified directly to the destination:
+
+ for each triangle
+ Combine (op, dst, source, triangle)
+
+TriStrip
+
+ op: PICTOP
+ src: PICTURE
+ src-x, src-y: INT16
+ dst: PICTURE
+ mask-format: PICTFORMAT or None
+ points: LISTofPOINTFIX
+
+ Triangles are formed by initially using the first three points and
+ then by eliminating the first point and appending the next point in
+ the list. If fewer than three points are provided, this request does
+ nothing.
+
+ When mask-format is not None, triangles are rendered in the
+ following way with the effective mask computed in mask-format:
+
+ tmp = temporary alpha picture (in mask-format)
+ Combine (Zero, tmp, tmp, None)
+ for each triangle
+ Combine (Add, tmp, triangle, None)
+ Combine (op, dst, source, tmp)
+
+ When mask-format is None, triangles are rendered in the order
+ specified directly to the destination:
+
+ for each triangle
+ Combine (op, dst, source, triangle)
+
+TriFan
+ op: PICTOP
+ src: PICTURE
+ src-x, src-y: INT16
+ dst: PICTURE
+ mask-format: PICTFORMAT or None
+ points: LISTofPOINTFIX
+
+ Triangles are formed by initially using the first three points and
+ then by eliminating the second point and appending the next point
+ int the list. If fewer than three points are provided, this request
+ does nothing.
+
+ When mask-format is not None, triangles are rendered in the
+ following way with the effective mask computed in mask-format:
+
+ tmp = temporary alpha picture (in mask-format)
+ Combine (Zero, tmp, tmp, None)
+ for each triangle
+ Combine (Add, tmp, triangle, None)
+ Combine (op, dst, source, tmp)
+
+ When mask-format is None, triangles are rendered in the order
+ specified directly to the destination:
+
+ for each triangle
+ Combine (op, dst, source, triangle)
+
+CreateGlyphSet
+
+ gsid: GLYPHSET
+ format: PICTFORMAT
+
+ Errors:
+ Alloc, IDChoice, PictFormat, Match
+
+ This request creates a container for glyphs. The glyphset and
+ all contained glyphs are destroyed when gsid and any other names
+ for the glyphset are freed. Format must be a Direct format, when
+ it contains RGB values, the glyphs are composited using
+ component-alpha True, otherwise they are composited using
+ component-alpha False.
+
+ReferenceGlyphSet
+
+ gsid: GLYPHSET
+ existing: GLYPHSET
+
+ Errors:
+ Alloc, IDChoice, GlyphSet
+
+ This request creates an additional name for the existing glyphset.
+ The glyphset will not be freed until all references to it are
+ destroyed.
+
+FreeGlyphSet
+
+ glyphset: GLYPHSET
+
+ Errors:
+ GlyphSet
+
+ This request frees the name for the glyphset. When all names have
+ been freed, the glyphset and all contained glyphs are freed.
+
+AddGlyphs
+ glyphset: GLYPHSET
+ glyphids: LISTofCARD32
+ glyphs: LISTofGLYPHINFO
+ data: LISTofBYTE
+
+ Errors:
+ GlyphSet, Alloc
+
+ This request adds glyphs to glyphset. The image for the glyphs
+ are stored with each glyph in a separate Z-format image padded to a
+ 32-bit boundary. Existing glyphs with the same names are replaced.
+
+FreeGlyphs
+
+ glyphset: GLYPHSET
+ glyphs: LISTofGLYPH
+
+ Errors:
+ GlyphSet, Match
+
+ This request removes glyphs from glyphset. Each glyph must exist
+ in glyphset (else a Match error results).
+
+CompositeGlyphs8
+CompositeGlyphs16
+CompositeGlyphs32
+
+ op: PICTOP
+ src: PICTURE
+ dst: PICTURE
+ mask-format: PICTFORMAT or None
+ glyphset: GLYPHABLE
+ src-x, src-y: INT16
+ dst-x, dst-y: INT16
+ glyphcmds: LISTofGLYPHITEM8 CompositeGlyphs8
+ glyphcmds: LISTofGLYPHITEM16 CompositeGlyphs16
+ glyphcmds: LISTofGLYPHITEM32 CompositeGlyphs32
+
+ Errors:
+ Picture, PictOp, PictFormat, GlyphSet, Glyph
+
+ The dst-x and dst-y coordinates are relative to the drawable's
+ origin and specify the baseline starting position (the initial glyph
+ origin). Each glyph item is processed in turn. A glyphset item
+ causes the glyphset to be used for subsequent glyphs. Switching
+ among glyphsets does not affect the next glyph origin. A glyph
+ element delta-x and delta-y specify additional changes in the
+ position along the x and y axes before the string is drawn; the
+ deltas are always added to the glyph origin.
+
+ All contained GLYPHSETs are always transmitted most significant byte
+ first.
+
+ If a GlyphSet error is generated for an item, the previous items may
+ have been drawn.
+
+ When mask-format is not None, glyphs are rendered in the following
+ way with the effective mask computed in mask-format:
+
+ tmp = temporary alpha picture
+ Combine (Zero, tmp, tmp, None)
+ for each glyph
+ Combine (Add, tmp, glyph, None)
+ Combine (op, dst, source, tmp)
+
+ When mask-format is None, glyphs are rendered in the order specified
+ directly to the destination:
+
+ for each glyph
+ Combine (op, dst, source, glyph)
+
+CreateCursor
+
+ cid: CURSOR
+ source: PICTURE
+ x, y: CARD16
+
+ Errors: Alloc, IDChoice, Match, Picture
+
+ This request creates a cursor and associates identifier cid with it.
+ The x and y coordinates define the hotspot relative to the source's
+ origin and must be a point within the source (or a Match error
+ results). The resulting picture will nominally be drawn to the
+ screen with PictOpOver.
+
+ The components of the cursor may be transformed arbitrarily to meet
+ display limitations. In particular, if the display supports only
+ two colors cursors without translucency, the cursor will be
+ transformed so that areas less than .5 alpha will be transparent,
+ else opaque, and areas darker than 50% gray will be black else white.
+
+ The source picture can be freed immediately if no further explicit
+ references to it are to be made.
+
+ Subsequent drawing in the source has an undefined effect on the
+ cursor. The server might or might not make a copy of the picture.
+
+CreateAnimCursor
+ cid: CURSOR
+ cursors: LISTofANIMCURSORELT
+
+ Errors: Alloc, IDChoice, Cursor
+
+ This request creates a cursor and associates identifier cid with it.
+ When active, the cursor image on the screen will cycle through
+ 'cursors', showing each cursor in the element for the number of
+ milliseconds indicated by the 'delay' member of that element.
+
+AddTraps
+ picture: PICTURE
+ off-x, off-y: INT16
+ trapezoids: LISTofTRAP
+
+ Errors: Match
+
+ Each trap is PictOpAdd'ed to 'picture'. 'off-x', 'off-y'
+ are added to each coordinate.
+
+ 'picture' must be an alpha-only picture else a 'Match' error is
+ returned.
+
+CreateSolidFill
+ pid: PICTURE
+ color: COLOR
+
+ Creates a Source picture that represents a solid fill with
+ the specified color.
+
+CreateLinearGradient
+ pid: PICTURE
+ p1, p2: POINTFIX
+ nstops: CARD32
+ stops: LISTofFIXED
+ stop_colors: LISTofCOLOR
+
+ Errors: Alloc, Value
+
+ Creates a source picture representing a linear Gradient. The gradients
+ bounds are defined by the two end points p1 and p2.
+
+ The gradient has nstops stop points between 0 and 1, each
+ having a stop color defined in stop_colors.
+
+ The array of stops has to contain values between 0 and 1 (inclusive) and
+ has to be ordered in increasing size or a Value error is generated. If
+ p1 == p2 a Value error is generated.
+
+ The colors are non premultiplied.
+
+CreateRadialGradient
+ pid: PICTURE
+ inner_center: POINTFIX
+ outer_center: POINTFIX
+ inner_radius: FIXED
+ outer_radius: FIXED
+ nstops: CARD32
+ stops: LISTofFIXED
+ stop_colors: LISTofCOLOR
+
+ Errors: Alloc, Value
+
+ Creates a source picture representing a radial Gradient. The
+ gradients bounds are defined by a center point, a focal point and a
+ radius around the center.
+
+ The gradient has nstops stop points between 0 and 1, each
+ having a stop color defined in stop_colors.
+
+ The array of stops has to contain values between 0 and 1 (inclusive) and
+ has to be ordered in increasing size or a Value error is generated. The inner
+ circle has to be completely contained inside the outer one or a Value error is
+ generated.
+
+ The colors are non premultiplied.
+
+CreateConicalGradient
+ pid: PICTURE
+ center: POINTFIX
+ angle: FIXED
+ nstops: CARD32
+ stops: LISTofFIXED
+ stop_colors: LISTofCOLOR
+
+ Errors: Alloc, Value
+
+ Creates a source picture representing a conical Gradient. The
+ gradient is defined by a center point and an angle (in degrees).
+
+ The gradient has nstops stop points between 0 and 1, each
+ having a stop color defined in stop_colors.
+
+ The array of stops has to contain values between 0 and 1 (inclusive) and
+ has to be ordered in increasing size or a Value error is generated.
+
+ The colors are non premultiplied.
+
+
+15. Extension Versioning
+
+The Render extension was developed in parallel with the implementation to
+ensure the feasibility of various portions of the design. As portions of
+the extension are implemented, the version number of the extension has
+changed to reflect the portions of the standard provided. This document
+describes the intent for version 1.0 of the specification, the partial
+implementations have version numbers less than that. Here's a list of
+what each version before 1.0 implemented:
+
+ 0.0:
+ No disjoint/conjoint operators
+ No component alpha
+ Composite
+ CreateGlyphSet
+ FreeGlyphSet
+ AddGlyphs
+ CompositeGlyphs
+
+ 0.1:
+ Component alpha
+ FillRectangles
+
+ 0.2:
+ Disjoint/Conjoint operators
+
+ 0.3:
+ FreeGlyphs
+
+ 0.4:
+ Trapezoids
+ Triangles
+ TriStrip
+ TriFan
+
+ 0.5:
+ CreateCursor
+
+ 0.6:
+ SetPictureTransform
+ QueryFilters
+ SetPictureFilter
+ subpixels member of QueryPictFormats
+
+ 0.7:
+ QueryPictIndexValues
+ 0.8:
+ CreateAnimCursor
+ 0.9:
+ AddTrapezoids
+
+ 0.10:
+ CreateSolidFill
+ CreateLinearGradient
+ CreateRadialGradient
+ CreateConicalGradient
+
+ The repeat picture attribute now supports Pad and
+ Reflect, older versions only supported None and Normal.
+
+ 0.11:
+ Blend mode operators
+
diff --git a/resourceproto/.gitignore b/resourceproto/.gitignore
new file mode 100644
index 0000000..adb2610
--- /dev/null
+++ b/resourceproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for resourceproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/resourceproto/COPYING b/resourceproto/COPYING
new file mode 100644
index 0000000..9f1e999
--- /dev/null
+++ b/resourceproto/COPYING
@@ -0,0 +1,20 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/resourceproto/Makefile.am b/resourceproto/Makefile.am
new file mode 100644
index 0000000..3ed1758
--- /dev/null
+++ b/resourceproto/Makefile.am
@@ -0,0 +1,19 @@
+resourcedir = $(includedir)/X11/extensions
+resource_HEADERS = \
+ XResproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = resourceproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/resourceproto/README b/resourceproto/README
new file mode 100644
index 0000000..e4c5d5d
--- /dev/null
+++ b/resourceproto/README
@@ -0,0 +1,30 @@
+ X Resource Extension
+
+This extension defines a protocol that allows a client to query the X server
+about its usage of various resources.
+
+Extension : X-Resource
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/resourceproto
+
+ http://cgit.freedesktop.org/xorg/proto/resourceproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/resourceproto/XResproto.h b/resourceproto/XResproto.h
new file mode 100644
index 0000000..9c2abd4
--- /dev/null
+++ b/resourceproto/XResproto.h
@@ -0,0 +1,129 @@
+/*
+ Copyright (c) 2002 XFree86 Inc
+*/
+
+#ifndef _XRESPROTO_H
+#define _XRESPROTO_H
+
+#define XRES_MAJOR_VERSION 1
+#define XRES_MINOR_VERSION 0
+
+#define XRES_NAME "X-Resource"
+
+#define X_XResQueryVersion 0
+#define X_XResQueryClients 1
+#define X_XResQueryClientResources 2
+#define X_XResQueryClientPixmapBytes 3
+
+typedef struct {
+ CARD32 resource_base;
+ CARD32 resource_mask;
+} xXResClient;
+#define sz_xXResClient 8
+
+typedef struct {
+ CARD32 resource_type;
+ CARD32 count;
+} xXResType;
+#define sz_xXResType 8
+
+/* XResQueryVersion */
+
+typedef struct _XResQueryVersion {
+ CARD8 reqType;
+ CARD8 XResReqType;
+ CARD16 length B16;
+ CARD8 client_major;
+ CARD8 client_minor;
+ CARD16 unused B16;
+} xXResQueryVersionReq;
+#define sz_xXResQueryVersionReq 8
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 server_major B16;
+ CARD16 server_minor B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXResQueryVersionReply;
+#define sz_xXResQueryVersionReply 32
+
+/* XResQueryClients */
+
+typedef struct _XResQueryClients {
+ CARD8 reqType;
+ CARD8 XResReqType;
+ CARD16 length B16;
+} xXResQueryClientsReq;
+#define sz_xXResQueryClientsReq 4
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_clients B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXResQueryClientsReply;
+#define sz_xXResQueryClientsReply 32
+
+/* XResQueryClientResources */
+
+typedef struct _XResQueryClientResources {
+ CARD8 reqType;
+ CARD8 XResReqType;
+ CARD16 length B16;
+ CARD32 xid B32;
+} xXResQueryClientResourcesReq;
+#define sz_xXResQueryClientResourcesReq 8
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_types B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXResQueryClientResourcesReply;
+#define sz_xXResQueryClientResourcesReply 32
+
+/* XResQueryClientPixmapBytes */
+
+typedef struct _XResQueryClientPixmapBytes {
+ CARD8 reqType;
+ CARD8 XResReqType;
+ CARD16 length B16;
+ CARD32 xid B32;
+} xXResQueryClientPixmapBytesReq;
+#define sz_xXResQueryClientPixmapBytesReq 8
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 bytes B32;
+ CARD32 bytes_overflow B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXResQueryClientPixmapBytesReply;
+#define sz_xXResQueryClientPixmapBytesReply 32
+
+
+#endif /* _XRESPROTO_H */
diff --git a/resourceproto/autogen.sh b/resourceproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/resourceproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/resourceproto/configure.ac b/resourceproto/configure.ac
new file mode 100644
index 0000000..550a90d
--- /dev/null
+++ b/resourceproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([ResourceProto], [1.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ resourceproto.pc])
diff --git a/resourceproto/resourceproto.pc.in b/resourceproto/resourceproto.pc.in
new file mode 100644
index 0000000..2851df1
--- /dev/null
+++ b/resourceproto/resourceproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: ResourceProto
+Description: Resource extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/scrnsaverproto/.gitignore b/scrnsaverproto/.gitignore
new file mode 100644
index 0000000..d32dc31
--- /dev/null
+++ b/scrnsaverproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for scrnsaverproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/scrnsaverproto/COPYING b/scrnsaverproto/COPYING
new file mode 100644
index 0000000..8d5f087
--- /dev/null
+++ b/scrnsaverproto/COPYING
@@ -0,0 +1,24 @@
+Copyright (c) 1992 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+
+Author: Keith Packard, MIT X Consortium
diff --git a/scrnsaverproto/Makefile.am b/scrnsaverproto/Makefile.am
new file mode 100644
index 0000000..0a26e33
--- /dev/null
+++ b/scrnsaverproto/Makefile.am
@@ -0,0 +1,20 @@
+scrnsaverdir = $(includedir)/X11/extensions
+scrnsaver_HEADERS = \
+ saver.h \
+ saverproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = scrnsaverproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/scrnsaverproto/README b/scrnsaverproto/README
new file mode 100644
index 0000000..cfa9794
--- /dev/null
+++ b/scrnsaverproto/README
@@ -0,0 +1,30 @@
+ MIT Screen Saver Extension
+
+This extension defines a protocol to control screensaver features
+and also to query screensaver info on specific windows.
+
+Extension name: MIT-SCREEN-SAVER
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/scrnsaverproto
+
+ http://cgit.freedesktop.org/xorg/proto/scrnsaverproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/scrnsaverproto/autogen.sh b/scrnsaverproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/scrnsaverproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/scrnsaverproto/configure.ac b/scrnsaverproto/configure.ac
new file mode 100644
index 0000000..13ed780
--- /dev/null
+++ b/scrnsaverproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([ScrnSaverProto], [1.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ scrnsaverproto.pc])
diff --git a/scrnsaverproto/saver.h b/scrnsaverproto/saver.h
new file mode 100644
index 0000000..e8da625
--- /dev/null
+++ b/scrnsaverproto/saver.h
@@ -0,0 +1,52 @@
+/*
+Copyright (c) 1992 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+ *
+ * Author: Keith Packard, MIT X Consortium
+ */
+
+#ifndef _SAVER_H_
+#define _SAVER_H_
+
+#define ScreenSaverName "MIT-SCREEN-SAVER"
+#define ScreenSaverPropertyName "_MIT_SCREEN_SAVER_ID"
+
+#define ScreenSaverNotifyMask 0x00000001
+#define ScreenSaverCycleMask 0x00000002
+
+#define ScreenSaverMajorVersion 1
+#define ScreenSaverMinorVersion 1
+
+#define ScreenSaverOff 0
+#define ScreenSaverOn 1
+#define ScreenSaverCycle 2
+#define ScreenSaverDisabled 3
+
+#define ScreenSaverBlanked 0
+#define ScreenSaverInternal 1
+#define ScreenSaverExternal 2
+
+#define ScreenSaverNotify 0
+#define ScreenSaverNumberEvents 1
+
+#endif /* _SAVER_H_ */
diff --git a/scrnsaverproto/saverproto.h b/scrnsaverproto/saverproto.h
new file mode 100644
index 0000000..7197084
--- /dev/null
+++ b/scrnsaverproto/saverproto.h
@@ -0,0 +1,175 @@
+/*
+Copyright (c) 1992 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+ *
+ * Author: Keith Packard, MIT X Consortium
+ */
+
+#ifndef _SAVERPROTO_H_
+#define _SAVERPROTO_H_
+
+#include <X11/extensions/saver.h>
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define X_ScreenSaverQueryVersion 0
+
+typedef struct _ScreenSaverQueryVersion {
+ CARD8 reqType; /* always ScreenSaverReqCode */
+ CARD8 saverReqType; /* always X_ScreenSaverQueryVersion */
+ CARD16 length B16;
+ CARD8 clientMajor;
+ CARD8 clientMinor;
+ CARD16 unused B16;
+} xScreenSaverQueryVersionReq;
+#define sz_xScreenSaverQueryVersionReq 8
+
+typedef struct {
+ CARD8 type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of protocol */
+ CARD16 minorVersion B16; /* minor version of protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xScreenSaverQueryVersionReply;
+#define sz_xScreenSaverQueryVersionReply 32
+
+#define X_ScreenSaverQueryInfo 1
+
+typedef struct _ScreenSaverQueryInfo {
+ CARD8 reqType; /* always ScreenSaverReqCode */
+ CARD8 saverReqType; /* always X_ScreenSaverQueryInfo */
+ CARD16 length B16;
+ Drawable drawable B32;
+} xScreenSaverQueryInfoReq;
+#define sz_xScreenSaverQueryInfoReq 8
+
+typedef struct {
+ CARD8 type; /* X_Reply */
+ BYTE state; /* Off, On */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window window B32;
+ CARD32 tilOrSince B32;
+ CARD32 idle B32;
+ CARD32 eventMask B32;
+ BYTE kind; /* Blanked, Internal, External */
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+} xScreenSaverQueryInfoReply;
+#define sz_xScreenSaverQueryInfoReply 32
+
+#define X_ScreenSaverSelectInput 2
+
+typedef struct _ScreenSaverSelectInput {
+ CARD8 reqType; /* always ScreenSaverReqCode */
+ CARD8 saverReqType; /* always X_ScreenSaverSelectInput */
+ CARD16 length B16;
+ Drawable drawable B32;
+ CARD32 eventMask B32;
+} xScreenSaverSelectInputReq;
+#define sz_xScreenSaverSelectInputReq 12
+
+#define X_ScreenSaverSetAttributes 3
+
+typedef struct _ScreenSaverSetAttributes {
+ CARD8 reqType; /* always ScreenSaverReqCode */
+ CARD8 saverReqType; /* always X_ScreenSaverSetAttributes */
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BYTE c_class;
+ CARD8 depth;
+ VisualID visualID B32;
+ CARD32 mask B32;
+} xScreenSaverSetAttributesReq;
+#define sz_xScreenSaverSetAttributesReq 28
+
+#define X_ScreenSaverUnsetAttributes 4
+
+typedef struct _ScreenSaverUnsetAttributes {
+ CARD8 reqType; /* always ScreenSaverReqCode */
+ CARD8 saverReqType; /* always X_ScreenSaverUnsetAttributes */
+ CARD16 length B16;
+ Drawable drawable B32;
+} xScreenSaverUnsetAttributesReq;
+#define sz_xScreenSaverUnsetAttributesReq 8
+
+#define X_ScreenSaverSuspend 5
+
+typedef struct _ScreenSaverSuspend {
+ CARD8 reqType;
+ CARD8 saverReqType;
+ CARD16 length B16;
+ Bool suspend B32;
+} xScreenSaverSuspendReq;
+#define sz_xScreenSaverSuspendReq 8
+
+typedef struct _ScreenSaverNotify {
+ CARD8 type; /* always eventBase + ScreenSaverNotify */
+ BYTE state; /* off, on, cycle */
+ CARD16 sequenceNumber B16;
+ Time timestamp B32;
+ Window root B32;
+ Window window B32; /* screen saver window */
+ BYTE kind; /* blanked, internal, external */
+ BYTE forced;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xScreenSaverNotifyEvent;
+#define sz_xScreenSaverNotifyEvent 32
+
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* _SAVERPROTO_H_ */
diff --git a/scrnsaverproto/scrnsaverproto.pc.in b/scrnsaverproto/scrnsaverproto.pc.in
new file mode 100644
index 0000000..87f9ddc
--- /dev/null
+++ b/scrnsaverproto/scrnsaverproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: ScrnSaverProto
+Description: ScrnSaver extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/trapproto/.gitignore b/trapproto/.gitignore
new file mode 100644
index 0000000..5335631
--- /dev/null
+++ b/trapproto/.gitignore
@@ -0,0 +1,14 @@
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+config.log
+config.status
+configure
+install-sh
+missing
+trapproto.pc
+*~
+trapproto-*.tar.*
+ChangeLog
+tags
diff --git a/trapproto/COPYING b/trapproto/COPYING
new file mode 100644
index 0000000..3ebeac6
--- /dev/null
+++ b/trapproto/COPYING
@@ -0,0 +1,18 @@
+Copyright 1987, 1988, 1989, 1990, 1994 by Digital Equipment Corporation,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
diff --git a/trapproto/Makefile.am b/trapproto/Makefile.am
new file mode 100644
index 0000000..dbd2c38
--- /dev/null
+++ b/trapproto/Makefile.am
@@ -0,0 +1,24 @@
+trapdir = $(includedir)/X11/extensions
+trap_HEADERS = \
+ xtrapbits.h \
+ xtrapddmi.h \
+ xtrapdi.h \
+ xtrapemacros.h \
+ xtraplib.h \
+ xtraplibp.h \
+ xtrapproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = trapproto.pc
+
+EXTRA_DIST = trapproto.pc.in
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog
diff --git a/trapproto/README b/trapproto/README
new file mode 100644
index 0000000..73cf134
--- /dev/null
+++ b/trapproto/README
@@ -0,0 +1,6 @@
+This extension is considered obsolete and is no longer being maintained,
+supported, or updated.
+
+Equivalent functionality is provided in the XTest & RECORD extensions,
+as noted in:
+http://lists.freedesktop.org/archives/xorg/2008-June/036131.html
diff --git a/trapproto/autogen.sh b/trapproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/trapproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/trapproto/configure.ac b/trapproto/configure.ac
new file mode 100644
index 0000000..6b9b582
--- /dev/null
+++ b/trapproto/configure.ac
@@ -0,0 +1,12 @@
+AC_PREREQ([2.57])
+AC_INIT([TrapProto], [3.4.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+
+# Require xorg-macros: XORG_CHANGELOG
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.2)
+XORG_RELEASE_VERSION
+XORG_CHANGELOG
+
+AC_OUTPUT([Makefile
+ trapproto.pc])
diff --git a/trapproto/trapproto.pc.in b/trapproto/trapproto.pc.in
new file mode 100644
index 0000000..563d720
--- /dev/null
+++ b/trapproto/trapproto.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: TrapProto
+Description: Trap extension headers
+Version: @PACKAGE_VERSION@
+Requires: xt
+Cflags: -I${includedir}
diff --git a/trapproto/xtrapbits.h b/trapproto/xtrapbits.h
new file mode 100644
index 0000000..1189dc7
--- /dev/null
+++ b/trapproto/xtrapbits.h
@@ -0,0 +1,83 @@
+/* $XFree86$ */
+/*
+ * This include file is designed to be a portable way for systems to define
+ * bit field manipulation of arrays of bits.
+ */
+#ifndef __XTRAPBITS__
+#define __XTRAPBITS__ "@(#)xtrapbits.h 1.6 - 90/09/18 "
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1994 by Digital Equipment Corporation,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ */
+typedef unsigned char *UByteP; /* Pointer to an unsigned byte array */
+#define BitsInByte 8L /* The number of bits in a byte */
+
+#define BitInByte(bit) /* Returns the bit mask of a byte */ \
+ (1L << (((bit) % BitsInByte)))
+
+#define BitInWord(bit) /* Returns the bit mask of a word */ \
+ (1L << (((bit) % (BitsInByte * 2L))))
+
+#define BitInLong(bit) /* Returns the bit mask of a long */ \
+ (1L << (((bit) % (BitsInByte * 4L))))
+
+#define ByteInArray(array,bit) /* Returns the byte offset to get to a bit */ \
+ (((UByteP)(array))[(bit) / BitsInByte])
+
+#define BitIsTrue(array,bit) /* Test to see if a specific bit is True */ \
+ (ByteInArray(array,bit) & BitInByte(bit))
+
+#define BitIsFalse(array,bit) /* Test to see if a specific bit is False */ \
+ (!(BitIsTrue(array,bit)))
+
+#define BitTrue(array,bit) /* Set a specific bit to be True */ \
+ (ByteInArray(array,bit) |= BitInByte(bit))
+
+#define BitFalse(array,bit) /* Set a specific bit to be False */ \
+ (ByteInArray(array,bit) &= ~BitInByte(bit))
+
+#define BitToggle(array,bit) /* Toggle a specific bit */ \
+ (ByteInArray(array,bit) ^= BitInByte(bit))
+
+#define BitCopy(dest,src,bit) /* Copy a specific bit */ \
+ BitIsTrue((src),(bit)) ? BitTrue((dest),(bit)) : BitFalse((dest),(bit))
+
+#define BitValue(array,bit) /* Return True or False depending on bit */ \
+ (BitIsTrue((array),(bit)) ? True : False)
+
+#define BitSet(array,bit,value) /* Set bit to given value in array */ \
+ (value) ? BitTrue((array),(bit)) : BitFalse((array),(bit))
+
+#endif /* __XTRAPBITS__ */
diff --git a/trapproto/xtrapddmi.h b/trapproto/xtrapddmi.h
new file mode 100644
index 0000000..c187a3a
--- /dev/null
+++ b/trapproto/xtrapddmi.h
@@ -0,0 +1,115 @@
+/* $XFree86$ */
+
+#ifndef __XTRAPDDMI__
+#define __XTRAPDDMI__
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991 by Digital Equipment Corp., Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This header file is used by the XTrap server extension only
+ * (not used by clients or the XTrap Toolkit). Information
+ * contained herein should *not* be visible to clients (xtrapdi.h
+ * is used for this). The name is historical.
+ */
+#include <X11/X.h>
+#include <X11/extensions/xtrapbits.h>
+#include "dix.h"
+
+#ifndef MIN
+# define MIN(a,b) ((a) < (b) ? (a) : (b))
+#endif
+#ifndef MAX
+# define MAX(a,b) ((a) > (b) ? (a) : (b))
+#endif
+
+#define XETrapNumEvents 1L /* constants used for AddExtension */
+
+/* Other constants used within the extension code */
+#define XETrapMinRepSize 32L /* Minimum number of longs */
+
+/* This structure will be globally declared to provide storage to hold
+ * the various extension wide configuration information. Allocated on
+ * a per-client basis.
+ */
+typedef struct
+{
+ ClientPtr client; /* Multi-client support and error handling */
+ xXTrapGetCurReply cur; /* Struct of Miscellaneous state info */
+ xXTrapGetStatsReply *stats; /* Pointer to stat's, malloc'd if requested */
+ CARD32 last_input_time B32; /* last timestamp from input event */
+ CARD16 protocol B16; /* current communication protocol */
+} XETrapEnv;
+
+#define XETrapSetHeaderEvent(phdr) ((phdr)->type = 0x1L)
+#define XETrapSetHeaderRequest(phdr) ((phdr)->type = 0x2L)
+#define XETrapSetHeaderSpecial(phdr) ((phdr)->type = 0x3L)
+#define XETrapSetHeaderCursor(phdr) ((phdr)->type = 0x4L)
+#define XETrapSetHeaderReply(phdr) ((phdr)->type = 0x5L)
+
+#ifndef vaxc
+#define globaldef
+#define globalref extern
+#endif
+
+/* Extension platform identifier (conditionally defined) */
+#if ( defined (__osf__) && defined(__alpha) )
+# define XETrapPlatform PF_DECOSF1
+#endif
+#ifdef ultrix
+# define XETrapPlatform PF_DECUltrix
+#endif
+#ifdef vms
+#ifdef VAXELN
+# define XETrapPlatform PF_DECELN
+#else
+# define XETrapPlatform PF_DECVMS
+#endif
+#endif
+#ifdef VT1000
+# define XETrapPlatform PF_DECVT1000
+#endif
+#ifdef VXT
+# define XETrapPlatform PF_DECXTerm
+#endif
+#ifdef PC
+# define XETrapPlatform PF_IBMAT
+#endif
+#ifdef sun
+# define XETrapPlatform PF_SunSparc
+#endif
+#ifndef XETrapPlatform
+# define XETrapPlatform PF_Other
+#endif /* XETrapPlatform */
+
+#endif /* __XTRAPDDMI__ */
diff --git a/trapproto/xtrapdi.h b/trapproto/xtrapdi.h
new file mode 100644
index 0000000..34aa94c
--- /dev/null
+++ b/trapproto/xtrapdi.h
@@ -0,0 +1,501 @@
+/* $XFree86$ */
+#ifndef __XTRAPDI__
+#define __XTRAPDI__
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1994 by Digital Equipment Corp.,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This header file defines the common structures/constants
+ * between the XTrap extension and clients. All protocol
+ * definitions between XTrap extension/clients can be found
+ * here.
+ */
+
+#define NEED_REPLIES
+#define NEED_EVENTS
+#include <X11/X.h>
+#include <X11/Xmd.h>
+#ifdef SMT
+#define NEED_EVENTS
+#define NEED_REPLIES
+#endif
+#include <X11/Xproto.h>
+#include <X11/extensions/xtrapbits.h>
+#define XTrapExtName "DEC-XTRAP"
+/* Current Release, Version, and Revision of the XTrap Extension */
+#define XETrapRelease 3L
+#define XETrapVersion 4L
+#ifndef XETrapRevision /* Changed from the Makefile by users */
+# define XETrapRevision 0L
+#endif /* XETrapRevision */
+#define XETrapProtocol 32L
+
+#ifndef SIZEOF
+# ifdef __STDC__
+# define SIZEOF(x) sz_##x
+# else
+# define SIZEOF(x) sz_/**/x
+# endif /* if ANSI C compiler else not */
+#endif
+#ifndef sz_CARD32
+#define sz_CARD32 4L
+#endif
+#ifndef sz_CARD8
+#define sz_CARD8 1L
+#endif
+#ifndef True
+# define True 1L
+# define False 0L
+#endif
+
+/* This is used as flags to indicate desired request traps
+ * Note: This has been padded to a CARD32 to keep structure aligned
+ */
+#define XETrapMaxRequest (((SIZEOF(CARD32)+((256L-1L) / \
+ (BitsInByte*SIZEOF(CARD8))))/SIZEOF(CARD32))*SIZEOF(CARD32))
+typedef CARD8 ReqFlags[XETrapMaxRequest];
+
+/* This is used as flags to indicate desired event traps
+ * Until events become *fully vectored*, we'll have to fake it
+ * by defining an array of 5 events (KeyPress, KeyRelease,
+ * ButtonPress, ButtonRelease, and MotionNotify. The extra 2
+ * are required as the event types start with "2" (errors and
+ * replies are 0 & 1). The event type is the index into the
+ * bits.
+ * Note: This has been padded to a longword to keep structure aligned
+ */
+#ifndef VECTORED_EVENTS
+#define XETrapCoreEvents (2L+5L)
+#else
+#define XETrapCoreEvents 128L
+#endif
+#define XETrapMaxEvent (((SIZEOF(CARD32)+((XETrapCoreEvents-1L) / \
+ (BitsInByte*SIZEOF(CARD8))))/SIZEOF(CARD32))*SIZEOF(CARD32))
+typedef CARD8 EventFlags[XETrapMaxEvent];
+
+/* This structure is used in a request to specify the types of
+ * configuration information that should be changed or updated.
+ */
+typedef struct
+{
+ CARD8 valid[4L]; /* Bits TRUE indicates data field is used */
+ CARD8 data[4L]; /* Bits looked at if corresponding valid bit set */
+ ReqFlags req; /* Bits coorespond to core requests */
+ EventFlags event; /* Bits correspond to core events */
+} XETrapFlags;
+
+/* Bit definitions for the above XETrapFlags structure. */
+#define XETrapTimestamp 0L /* hdr timestamps desired */
+#define XETrapCmd 1L /* command key specified */
+#define XETrapCmdKeyMod 2L /* cmd key is a modifier */
+#define XETrapRequest 3L /* output requests array */
+#define XETrapEvent 4L /* future output events array */
+#define XETrapMaxPacket 5L /* Maximum packet length set */
+#define XETrapTransOut 6L /* obsolete */
+#define XETrapStatistics 7L /* collect counts on requests */
+#define XETrapWinXY 8L /* Fill in Window (X,Y) in hdr */
+#define XETrapTransIn 9L /* obsolete */
+#define XETrapCursor 10L /* Trap cursor state changes */
+#define XETrapXInput 11L /* Use XInput extension */
+#define XETrapVectorEvents 12L /* Use Vectored Events (128) */
+#define XETrapColorReplies 13L /* Return replies with Color Req's */
+#define XETrapGrabServer 14L /* Disables client GrabServers */
+
+typedef struct /* used by XEConfigRequest */
+{
+ XETrapFlags flags; /* Flags to specify what should be chg'd */
+ CARD16 max_pkt_size B16; /* Maximum number of bytes in a packet */
+ CARD8 cmd_key; /* Keyboard command_key (KeyCode) */
+/*
+ * cmd_key is intentionally *not* defined KeyCode since it's definition is
+ * ambiguous (int in Intrinsic.h and unsigned char in X.h.
+ */
+ CARD8 pad[1L]; /* pad out to a quadword */
+} XETrapCfg;
+
+/* These structures are used within the Xtrap request structure for
+ * the various types of xtrap request
+ */
+#ifndef _XINPUT
+/* (see the definition of XEvent as a reference) */
+typedef struct /* used by XESimulateXEventRequest for synthesizing core evts */
+{
+ CARD8 type; /* (must be first) as in XEvent */
+ CARD8 detail; /* Detail keycode/button as in XEvent */
+ CARD8 screen; /* screen number (0 to n) */
+ CARD8 pad; /* pad to longword */
+ INT16 x B16; /* X & Y coord as in XEvent */
+ INT16 y B16;
+} XETrapInputReq;
+#endif
+
+/* These are constants that refer to the extension request vector table.
+ * A request will use these values as minor opcodes.
+ */
+#define XETrap_Reset 0L /* set to steady state */
+#define XETrap_GetAvailable 1L /* get available funct from ext */
+#define XETrap_Config 2L /* configure extension */
+#define XETrap_StartTrap 3L /* use Trapping */
+#define XETrap_StopTrap 4L /* stop using Trapping */
+#define XETrap_GetCurrent 5L /* get current info from ext */
+#define XETrap_GetStatistics 6L /* get count statistics from ext */
+#ifndef _XINPUT
+#define XETrap_SimulateXEvent 7L /* async input simulation */
+#endif
+#define XETrap_GetVersion 8L /* Get (Just) Version */
+#define XETrap_GetLastInpTime 9L /* Get Timestamp of last client input */
+
+/* The following are formats of a request to the XTRAP
+ * extension. The data-less XTrap requests all use xXTrapReq
+ */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 minor_opcode;
+ CARD16 length B16;
+ CARD32 pad B32; /* Maintain quadword alignment */
+} xXTrapReq;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapReq (sizeof(xXTrapReq))
+/* For retrieving version/available info (passes lib-side protocol number) */
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 minor_opcode;
+ CARD16 length B16;
+ CARD16 protocol B16; /* The xtrap extension protocol number */
+ CARD16 pad B16; /* Maintain quadword alignment */
+} xXTrapGetReq;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapGetReq (sizeof(xXTrapGetReq))
+
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 minor_opcode;
+ CARD16 length B16;
+ /*
+ * The follwing is done so that structure padding wont be
+ * a problem. The request structure contains a shadow for
+ * the XETrapCfg structure. Since the XETrapCfg also has a
+ * substructure (XETrapFlags) this structure is also shadowed.
+ *
+ * The following are a shadow of the XETrapFlags
+ * structure.
+ */
+ CARD8 config_flags_valid[4L];
+ CARD8 config_flags_data[4L];
+ ReqFlags config_flags_req;
+ EventFlags config_flags_event;
+ /* End Shadow (XETrapFlags)*/
+ CARD16 config_max_pkt_size B16; /* Max number of bytes in a packet */
+ CARD8 config_cmd_key; /* Keyboard command_key (KeyCode) */
+/*
+ * cmd_key is intentionally *not* defined KeyCode since it's definition is
+ * ambiguous (int in Intrinsic.h and unsigned char in X.h.
+ */
+ CARD8 config_pad[1L]; /* pad out to a quadword */
+ /* End Shadow (XETrapCfg) */
+ CARD32 pad B32; /* Maintain quadword alignment */
+} xXTrapConfigReq;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapConfigReq (sizeof(xXTrapConfigReq))
+
+#ifndef _XINPUT
+typedef struct
+{
+ CARD8 reqType;
+ CARD8 minor_opcode;
+ CARD16 length B16;
+ CARD32 pad B32; /* Maintain quadword alignment */
+ XETrapInputReq input;
+} xXTrapInputReq;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapInputReq (sizeof(xXTrapInputReq))
+#endif
+
+
+/* The following structures are used by the server extension to send
+ * information and replies to the client.
+ */
+
+/* header for all X replies */
+typedef struct
+{
+ CARD8 type;
+ CARD8 detail;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+} XETrapRepHdr;
+
+/* Structure of Get Available Functionality reply */
+typedef struct
+{
+ CARD32 pf_ident B32; /* Contains constant identifying the platform */
+ CARD16 xtrap_release B16; /* The xtrap extension release number */
+ CARD16 xtrap_version B16; /* The xtrap extension version number */
+ CARD16 xtrap_revision B16; /* The xtrap extension revision number */
+ CARD16 max_pkt_size B16; /* Maximum number of bytes in a packet */
+ CARD8 valid[4]; /* What specific configuration flags are valid */
+ CARD32 major_opcode B32; /* The major opcode identifying xtrap */
+ CARD32 event_base B32; /* The event value we start at */
+ CARD32 pad0 B32; /* obsolete field */
+ CARD16 pad1 B16, pad2 B16, pad3 B16; /* obsolete field */
+ CARD16 xtrap_protocol B16; /* The xtrap extension protocol number */
+ INT16 cur_x B16; /* Current X & Y coord for relative motion */
+ INT16 cur_y B16;
+} XETrapGetAvailRep;
+
+typedef struct
+{
+ CARD16 xtrap_release B16; /* The xtrap extension release number */
+ CARD16 xtrap_version B16; /* The xtrap extension version number */
+ CARD16 xtrap_revision B16; /* The xtrap extension revision number */
+ CARD16 xtrap_protocol B16; /* The xtrap extension protocol number */
+} XETrapGetVersRep;
+
+typedef struct
+{
+ CARD32 last_time B32; /* Timestamp of last input time */
+} XETrapGetLastInpTimeRep;
+
+/* Structure of Get Current Configuration Information reply */
+typedef struct
+{
+ CARD8 state_flags[2]; /* Miscelaneous flags, see below #define's */
+ CARD16 pad0 B16; /* Assure quadword alignment */
+ XETrapCfg config; /* Current Config information */
+ CARD32 pad1 B32;
+} XETrapGetCurRep;
+
+/* Mask definitions for the above flags. */
+#define XETrapTrapActive 0L /* If sending/receiving between client/ext */
+
+/* Structure of Get Statistics Information reply */
+typedef struct
+{
+ CARD32 requests[256L]; /* Array containing request counts if trapped */
+ CARD32 events[XETrapCoreEvents]; /* Array containing event stats */
+#ifndef VECTORED_EVENTS
+ CARD32 pad B32; /* Pad out to a quadword */
+#endif
+} XETrapGetStatsRep;
+
+#define PF_Other 0L /* server not one of the below */
+#define PF_Apollo 10L /* server on Apollo system */
+#define PF_ATT 20L /* server on AT&T system */
+#define PF_Cray1 30L /* server on Cray 1 system */
+#define PF_Cray2 31L /* server on Cray 2 system */
+#define PF_DECUltrix 40L /* server on DEC ULTRIX system */
+#define PF_DECVMS 41L /* server on DEC VMS system */
+#define PF_DECVT1000 42L /* server on DEC-VT1000-terminal */
+#define PF_DECXTerm 43L /* server on DEC-X-terminal */
+#define PF_DECELN 44L /* server on DEC VAXELN X terminal */
+#define PF_DECOSF1 45L /* server on DEC's OSF/1 system */
+#define PF_HP9000s800 50L /* server on HP 9000/800 system */
+#define PF_HP9000s300 51L /* server on HP 9000/300 system */
+#define PF_IBMAT 60L /* server on IBM/AT system */
+#define PF_IBMRT 61L /* server on IBM/RT system */
+#define PF_IBMPS2 62L /* server on IBM/PS2 system */
+#define PF_IBMRS 63L /* server on IBM/RS system */
+#define PF_MacII 70L /* server on Mac II system */
+#define PF_Pegasus 80L /* server on Tektronix Pegasus system */
+#define PF_SGI 90L /* server on Silicon Graphcis system */
+#define PF_Sony 100L /* server on Sony system */
+#define PF_Sun3 110L /* server on Sun 3 system */
+#define PF_Sun386i 111L /* server on Sun 386i system */
+#define PF_SunSparc 112L /* server on Sun Sparc system */
+
+/* reply sent back by XETrapGetAvailable request */
+typedef struct
+{
+ XETrapRepHdr hdr;
+ XETrapGetAvailRep data;
+} xXTrapGetAvailReply;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapGetAvailReply sizeof(xXTrapGetAvailReply)
+
+/* reply sent back by XETrapGetVersion request */
+typedef struct
+{
+ XETrapRepHdr hdr;
+ XETrapGetVersRep data;
+ CARD32 pad0 B32; /* pad out to 32 bytes */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXTrapGetVersReply;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapGetVersReply sizeof(xXTrapGetVersReply)
+
+/* reply sent back by XETrapGetLastInpTime request */
+typedef struct
+{
+ XETrapRepHdr hdr;
+ /*
+ * The following is a shadow of the XETrapGetLastInpTimeRep
+ * structure. This is done to avoid structure padding.
+ */
+ CARD32 data_last_time B32; /* Timestamp of last input time */
+ CARD32 pad0 B32; /* pad out to 32 bytes */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xXTrapGetLITimReply;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapGetLITimReply sizeof(xXTrapGetLITimReply)
+
+/* reply sent back by XETrapGetCurrent request */
+typedef struct
+{
+ XETrapRepHdr hdr;
+ /*
+ * The following is a shadow of the XETrapGetCurRep
+ * structure. This is done to avoid structure padding.
+ * Since the XETrapGetCurRep structure contains a sub-structure
+ * (XETrapCfg) there is a shadow for that as well.*/
+ CARD8 data_state_flags[2]; /* Misc flags, see below #define's */
+ CARD16 data_pad0 B16; /* Assure quadword alignment */
+ /* XETrapCfg Shadow Starts */
+ CARD8 data_config_flags_valid[4L];
+ CARD8 data_config_flags_data[4L];
+ ReqFlags data_config_flags_req;
+ EventFlags data_config_flags_event;
+ CARD16 data_config_max_pkt_size B16; /* Max num of bytes in a pkt */
+ CARD8 data_config_cmd_key; /* Keyboard cmd_key (KeyCode) */
+/*
+ * cmd_key is intentionally *not* defined KeyCode since it's definition is
+ * ambiguous (int in Intrinsic.h and unsigned char in X.h.
+ */
+ CARD8 data_config_pad[1L]; /* pad out to a quadword */
+ /* End Shadow (XETrapCfg) */
+ CARD32 pad1 B32;
+} xXTrapGetCurReply;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_xXTrapGetCurReply sizeof(xXTrapGetCurReply)
+
+/* reply sent back by XETrapGetStatistics request */
+/* Note:
+ * The following does *not* use the standard XETrapRepHdr, but instead
+ * one which is padded out to 32-bytes. This is because Cray's have a problem
+ * reading arrays of CARD32s without using the _Read32 macro (see XERqsts.c).
+ * This requires that none of the data be in the _Reply area.
+ */
+typedef struct
+{
+ CARD8 type;
+ CARD8 detail;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ XETrapGetStatsRep data;
+} xXTrapGetStatsReply;
+#define sz_xXTrapGetStatsReply 1088
+
+typedef struct /* the XTrap Output header (for output from ext to client) */
+{ /* this must be quadword aligned for portability */
+ CARD32 count B32; /* Length including this header */
+ CARD32 timestamp B32; /* timestamp if desired */
+ CARD8 type; /* event id, request id, special id */
+ CARD8 screen; /* screen number (0 to n) */
+ INT16 win_x B16; /* X coord of drawable, if any */
+ INT16 win_y B16; /* X coord of drawable, if any */
+ CARD16 client B16; /* to distinguish requests */
+} XETrapHeader;
+/* the following works because all fields are defined as bit (Bnn) fields */
+#define sz_XETrapHeader sizeof(XETrapHeader)
+
+#define XETrapHeaderIsEvent(phdr) (XETrapGetHeaderType(phdr) == 0x1L)
+#define XETrapHeaderIsRequest(phdr) (XETrapGetHeaderType(phdr) == 0x2L)
+#define XETrapHeaderIsSpecial(phdr) (XETrapGetHeaderType(phdr) == 0x3L)
+#define XETrapHeaderIsCursor(phdr) (XETrapGetHeaderType(phdr) == 0x4L)
+#define XETrapHeaderIsReply(phdr) (XETrapGetHeaderType(phdr) == 0x5L)
+
+/* Define a structure used for reading/writing datum of type XTrap */
+typedef struct
+{
+ XETrapHeader hdr;
+ union
+ {
+ xEvent event;
+ xResourceReq req;
+ xGenericReply reply;
+ /* special? */
+ } u;
+} XETrapDatum;
+
+/* this doesn't get picked up for VMS server builds (different Xproto.h) */
+#ifndef sz_xEvent
+#define sz_xEvent 32
+#endif
+/* Minimum size of a packet from the server extension */
+#define XETrapMinPktSize (SIZEOF(XETrapHeader) + SIZEOF(xEvent))
+
+/* Constants used with the XLIB transport */
+#define XETrapDataStart 0L /* Used in the detail field */
+#define XETrapDataContinued 1L /* Used in the detail field */
+#define XETrapDataLast 2L /* Used in the detail field */
+#define XETrapData 0L /* Used in the type field */
+#define XETrapNumberEvents 1L
+/* This is the representation on the wire(see also XLib.h) */
+#define sz_EventData 24L /* 32 bytes - type, detail, seq, index */
+typedef struct {
+ CARD8 type;
+ CARD8 detail;
+ CARD16 sequenceNumber B16;
+ CARD32 idx B32;
+ CARD8 data[sz_EventData];
+} xETrapDataEvent;
+
+/* Error message indexes added to X for extension */
+#define BadIO 2L /* Can't read/write */
+#define BadStatistics 4L /* Stat's not avail. */
+#define BadDevices 5L /* Devices not vectored */
+#define BadScreen 7L /* Can't send event to given screen */
+#define BadSwapReq 8L /* Can't send swapped extension requests */
+#define XETrapNumErrors (BadSwapReq + 1)
+
+
+#define XEKeyIsClear 0
+#define XEKeyIsEcho 1
+#define XEKeyIsOther 2
+
+#endif /* __XTRAPDI__ */
diff --git a/trapproto/xtrapemacros.h b/trapproto/xtrapemacros.h
new file mode 100644
index 0000000..f59ea33
--- /dev/null
+++ b/trapproto/xtrapemacros.h
@@ -0,0 +1,387 @@
+/* $XFree86: xc/include/extensions/xtrapemacros.h,v 1.1 2001/11/02 23:29:26 dawes Exp $ */
+#ifndef __XTRAPEMACROS__
+#define __XTRAPEMACROS__ "@(#)xtrapemacros.h 1.9 - 90/09/18 "
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991, 1994 by Digital Equipment Corp.,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This include file is designed to provide the *visible*
+ * interface to XTrap data structures. Fields can be set
+ * using these macros by client programs unless otherwise
+ * specified; however, use of Trap Context convenience
+ * routines is strongly encouraged (XETrapContext.c)
+ */
+#include <X11/extensions/xtrapbits.h>
+#include <signal.h>
+
+/* msleep macro to replace msleep() for portability reasons */
+#define msleep(m) usleep((m)*1000)
+
+/* Copying TC's assumes that the new TC must be created */
+#define XECopyTC(src,mask,dest) \
+ (dest = XECreateTC(((src)->dpy), (mask), (&((src)->values))))
+
+/* Expands to SET each element of the TCValues structure
+ * Returns the TCValues Mask so that the Set can be entered
+ * as an argument to the XEChangeTC() routine call
+ */
+/* Note: req_cb & evt_cb would only be used if you wanted to
+ * *share* callbacks between Trap Contexts. Normally,
+ * XEAddRequestCB() and XEAddEventCB() would be used.
+ */
+#define XETrapSetCfgReqCB(tcv,x) ((tcv)->req_cb = (x))
+#define XETrapSetCfgEvtCB(tcv,x) ((tcv)->evt_cb = (x))
+#define XETrapSetCfgMaxPktSize(tcv,x) ((tcv)->v.max_pkt_size = (x))
+#define XETrapSetCfgCmdKey(tcv,x) ((tcv)->v.cmd_key = (x))
+/* Note: e is only pertinent for "valid" or "data" */
+#define XETrapSetCfgFlags(tcv,e,a) \
+ memcpy((tcv)->v.flags.e, (a), sizeof((tcv)->v.flags.e))
+#define XETrapSetCfgFlagTimestamp(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapTimestamp, (x))
+#define XETrapSetCfgFlagCmd(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapCmd, (x))
+#define XETrapSetCfgFlagCmdKeyMod(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapCmdKeyMod, (x))
+#define XETrapSetCfgFlagRequest(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapRequest, (x))
+#define XETrapSetCfgFlagEvent(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapEvent, (x))
+#define XETrapSetCfgFlagMaxPacket(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapMaxPacket, (x))
+#define XETrapSetCfgFlagStatistics(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapStatistics, (x))
+#define XETrapSetCfgFlagWinXY(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapWinXY, (x))
+#define XETrapSetCfgFlagCursor(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapCursor, (x))
+#define XETrapSetCfgFlagReq(tcv,request,x) \
+ BitSet((tcv)->v.flags.req, (request), (x))
+#define XETrapSetCfgFlagXInput(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapXInput, (x))
+#define XETrapSetCfgFlagColorReplies(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapColorReplies, (x))
+#define XETrapSetCfgFlagGrabServer(tcv,e,x) \
+ BitSet((tcv)->v.flags.e, XETrapGrabServer, (x))
+#define XETrapSetCfgFlagEvt(tcv,evt,x) \
+ BitSet((tcv)->v.flags.event, (evt), (x))
+
+#define XETrapSetValFlagDeltaTimes(tcv,x) \
+ BitSet((tcv)->tc_flags, XETCDeltaTimes, (x))
+
+/* Fields returned in the "GetAvailable" request */
+#define XETrapGetAvailPFIdent(avail) ((avail)->pf_ident)
+#define XETrapGetAvailRelease(avail) ((avail)->xtrap_release)
+#define XETrapGetAvailVersion(avail) ((avail)->xtrap_version)
+#define XETrapGetAvailRevision(avail) ((avail)->xtrap_revision)
+#define XETrapGetAvailMaxPktSize(avail) ((avail)->max_pkt_size)
+#define XETrapGetAvailFlags(avail,a) \
+ memcpy((a), (avail)->valid, sizeof((avail)->valid))
+#define XETrapGetAvailFlagTimestamp(avail) \
+ (BitValue((avail)->valid, XETrapTimestamp))
+#define XETrapGetAvailFlagCmd(avail) \
+ (BitValue((avail)->valid, XETrapCmd))
+#define XETrapGetAvailFlagCmdKeyMod(avail) \
+ (BitValue((avail)->valid, XETrapCmdKeyMod))
+#define XETrapGetAvailFlagRequest(avail) \
+ (BitValue((avail)->valid, XETrapRequest))
+#define XETrapGetAvailFlagEvent(avail) \
+ (BitValue((avail)->valid, XETrapEvent))
+#define XETrapGetAvailFlagMaxPacket(avail) \
+ (BitValue((avail)->valid, XETrapMaxPacket))
+#define XETrapGetAvailFlagStatistics(avail) \
+ (BitValue((avail)->valid, XETrapStatistics))
+#define XETrapGetAvailFlagWinXY(avail) \
+ (BitValue((avail)->valid, XETrapWinXY))
+#define XETrapGetAvailFlagCursor(avail) \
+ (BitValue((avail)->valid, XETrapCursor))
+#define XETrapGetAvailFlagXInput(avail) \
+ (BitValue((avail)->valid, XETrapXInput))
+#define XETrapGetAvailFlagVecEvt(avail) \
+ (BitValue((avail)->valid, XETrapVectorEvents))
+#define XETrapGetAvailFlagColorReplies(avail) \
+ (BitValue((avail)->valid, XETrapColorReplies))
+#define XETrapGetAvailFlagGrabServer(avail) \
+ (BitValue((avail)->valid, XETrapGrabServer))
+#define XETrapGetAvailOpCode(avail) ((avail)->major_opcode)
+/* Macro's for creating current request and trap context macros */
+#define XETrapGetCfgMaxPktSize(cfg) ((cfg)->max_pkt_size)
+#define XETrapGetCfgCmdKey(cfg) ((cfg)->cmd_key)
+#define XETrapGetCfgFlags(cfg,e,a) \
+ memcpy((a), (cfg)->flags.e, sizeof((cfg)->flags.e))
+#define XETrapGetCfgFlagTimestamp(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapTimestamp))
+#define XETrapGetCfgFlagCmd(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapCmd))
+#define XETrapGetCfgFlagCmdKeyMod(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapCmdKeyMod))
+#define XETrapGetCfgFlagRequest(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapRequest))
+#define XETrapGetCfgFlagEvent(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapEvent))
+#define XETrapGetCfgFlagMaxPacket(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapMaxPacket))
+#define XETrapGetCfgFlagStatistics(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapStatistics))
+#define XETrapGetCfgFlagWinXY(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapWinXY))
+#define XETrapGetCfgFlagCursor(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapCursor))
+#define XETrapGetCfgFlagXInput(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapXInput))
+#define XETrapGetCfgFlagColorReplies(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapColorReplies))
+#define XETrapGetCfgFlagGrabServer(cfg,e) \
+ (BitValue((cfg)->flags.e, XETrapGrabServer))
+/* Request values are in "Xproto.h" of the flavor X_RequestType */
+#define XETrapGetCfgFlagReq(cfg,request) \
+ (BitValue((cfg)->flags.req, (request)))
+/* Event types are in "X.h" of the flavor EventType (e.g. KeyPress) */
+#define XETrapGetCfgFlagEvt(cfg,evt) \
+ (BitValue((cfg)->flags.event, (evt)))
+
+/* Fields returned int the "GetCurrent" Request */
+#define XETrapGetCurX(avail) ((avail)->cur_x)
+#define XETrapGetCurY(avail) ((avail)->cur_y)
+#define XETrapGetCurSFlags(cur,a) \
+ memcpy((a), (cur)->state_flags, sizeof((cur)->state_flags))
+#define XETrapGetCurMaxPktSize(cur) (XETrapGetCfgMaxPktSize(&((cur)->config)))
+#define XETrapGetCurCmdKey(cur) (XETrapGetCfgCmdKey(&((cur)->config)))
+/* Note: e is only pertinent for "valid" or "data" */
+#define XETrapGetCurCFlags(cur,e,a) (XETrapGetCfgFlags(&((cur)->config),e,a))
+#define XETrapGetCurFlagTimestamp(cur,e) \
+ (XETrapGetCfgFlagTimestamp(&((cur)->config),e))
+#define XETrapGetCurFlagCmd(cur,e) (XETrapGetCfgFlagCmd(&((cur)->config),e))
+#define XETrapGetCurFlagCmdKeyMod(cur,e) \
+ (XETrapGetCfgFlagCmdKeyMod(&((cur)->config),e))
+#define XETrapGetCurFlagRequest(cur,r) \
+ (XETrapGetCfgFlagRequest(&((cur)->config),r))
+#define XETrapGetCurFlagEvent(cur,e) \
+ (XETrapGetCfgFlagEvent(&((cur)->config),e))
+#define XETrapGetCurFlagMaxPacket(cur,e) \
+ (XETrapGetCfgFlagMaxPacket(&((cur)->config),e))
+#define XETrapGetCurFlagStatistics(cur,e) \
+ (XETrapGetCfgFlagStatistics(&((cur)->config),e))
+#define XETrapGetCurFlagWinXY(cur,e) \
+ (XETrapGetCfgFlagWinXY(&((cur)->config),e))
+#define XETrapGetCurFlagCursor(cur,e) \
+ (XETrapGetCfgFlagCursor(&((cur)->config),e))
+#define XETrapGetCurFlagXInput(cur,e) \
+ (XETrapGetCfgFlagXInput(&((cur)->config),e))
+#define XETrapGetCurFlagColorReplies(cur,e) \
+ (XETrapGetCfgFlagColorReplies(&((cur)->config),e))
+#define XETrapGetCurFlagGrabServer(cur,e) \
+ (XETrapGetCfgFlagGrabServer(&((cur)->config),e))
+/* Request values are in "Xproto.h" of the flavor X_RequestType */
+#define XETrapGetCurFlagReq(cur,r) (XETrapGetCfgFlagReq(&((cur)->config),r))
+/* Event types are in "X.h" of the flavor EventType (e.g. KeyPress) */
+#define XETrapGetCurFlagEvt(cur,e) (XETrapGetCfgFlagEvt(&((cur)->config),e))
+
+/* Fields returned int the "GetStatistics" Request */
+#define XETrapGetStatsReq(stat,e) ((stat)->requests[(e)])
+#define XETrapGetStatsEvt(stat,e) ((stat)->events[(e)])
+
+/* Fields returned in the "GetVersion" request */
+#define XETrapGetVersRelease(vers) ((vers)->xtrap_release)
+#define XETrapGetVersVersion(vers) ((vers)->xtrap_version)
+#define XETrapGetVersRevision(vers) ((vers)->xtrap_revision)
+
+/* Fields returned in the "GetLastInpTime" request */
+#define XETrapGetLastInpTime(time_rep) ((time_rep)->last_time)
+
+/* Expands to GET each element of the TCValues structure */
+#define XETrapGetTCReqCB(tc) ((tc)->values.req_cb)
+#define XETrapGetTCEvtCB(tc) ((tc)->values.evt_cb)
+#define XETrapGetTCTime(tc) ((tc)->values.last_time)
+/* TC specific flags */
+#define XETrapGetTCLFlags(tc,a) \
+ memcpy((a), (tc)->values.tc_flags, sizeof((tc)->values.tc_flags))
+#define XETrapGetTCFlagDeltaTimes(tc) \
+ (BitValue((tc)->values.tc_flags, XETCDeltaTimes))
+#define XETrapGetTCFlagTrapActive(tc) \
+ (BitValue((tc)->values.tc_flags, XETCTrapActive))
+#define XETrapGetTCMaxPktSize(tc) (XETrapGetCfgMaxPktSize(&((tc)->values.v)))
+#define XETrapGetTCCmdKey(tc) (XETrapGetCfgCmdKey(&((tc)->values.v)))
+/* Note: e is only pertinent for "valid" or "data" */
+#define XETrapGetTCFlags(tc,e,a) (XETrapGetCfgFlags(&((tc)->values.v),e,a))
+#define XETrapGetTCFlagTimestamp(tc,e) \
+ (XETrapGetCfgFlagTimestamp(&((tc)->values.v),e))
+#define XETrapGetTCFlagCmd(tc,e) \
+ (XETrapGetCfgFlagCmd(&((tc)->values.v),e))
+#define XETrapGetTCFlagCmdKeyMod(tc,e) \
+ (XETrapGetCfgFlagCmdKeyMod(&((tc)->values.v),e))
+#define XETrapGetTCFlagRequest(tc,r) \
+ (XETrapGetCfgFlagRequest(&((tc)->values.v),r))
+#define XETrapGetTCFlagEvent(tc,e) \
+ (XETrapGetCfgFlagEvent(&((tc)->values.v),e))
+#define XETrapGetTCFlagMaxPacket(tc,e) \
+ (XETrapGetCfgFlagMaxPacket(&((tc)->values.v),e))
+#define XETrapGetTCFlagStatistics(tc,e) \
+ (XETrapGetCfgFlagStatistics(&((tc)->values.v),e))
+#define XETrapGetTCFlagWinXY(tc,e) \
+ (XETrapGetCfgFlagWinXY(&((tc)->values.v),e))
+#define XETrapGetTCFlagCursor(tc,e) \
+ (XETrapGetCfgFlagCursor(&((tc)->values.v),e))
+#define XETrapGetTCFlagXInput(tc,e) \
+ (XETrapGetCfgFlagXInput(&((tc)->values.v),e))
+#define XETrapGetTCFlagColorReplies(tc,e) \
+ (XETrapGetCfgFlagColorReplies(&((tc)->values.v),e))
+#define XETrapGetTCFlagGrabServer(tc,e) \
+ (XETrapGetCfgFlagGrabServer(&((tc)->values.v),e))
+/* Request values are in "Xproto.h" of the flavor X_RequestType */
+#define XETrapGetTCFlagReq(tc,r) \
+ (XETrapGetCfgFlagReq(&((tc)->values.v),r))
+/* Event types are in "X.h" of the flavor EventType (e.g. KeyPress) */
+#define XETrapGetTCFlagEvt(tc,e) \
+ (XETrapGetCfgFlagEvt(&((tc)->values.v),e))
+/* The following can/should *not* be set directly! */
+#define XETrapGetNext(tc) ((tc)->next)
+#define XETrapGetDpy(tc) ((tc)->dpy)
+#define XETrapGetEventBase(tc) ((tc)->eventBase)
+#define XETrapGetErrorBase(tc) ((tc)->errorBase)
+#define XETrapGetExtOpcode(tc) ((tc)->extOpcode)
+#define XETrapGetXBuff(tc) ((tc)->xbuff)
+#define XETrapGetXMaxSize(tc) ((tc)->xmax_size)
+#define XETrapGetExt(tc) ((tc)->ext_data)
+#define XETrapGetDirty(tc) ((tc)->dirty)
+#define XETrapGetValues(tc) memcpy((x),(tc)->values,sizeof((tc)->values))
+#define XETrapGetEventFunc(tc) ((tc)->eventFunc)
+
+#define XETrapGetHeaderCount(phdr) ((phdr)->count)
+#define XETrapGetHeaderTimestamp(phdr) ((phdr)->timestamp)
+#define XETrapGetHeaderType(phdr) ((phdr)->type)
+#define XETrapGetHeaderScreen(phdr) ((phdr)->screen)
+#define XETrapGetHeaderWindowX(phdr) ((phdr)->win_x)
+#define XETrapGetHeaderWindowY(phdr) ((phdr)->win_y)
+#define XETrapGetHeaderClient(phdr) ((phdr)->client)
+
+#define XEGetRelease(tc) ((tc)->release)
+#define XEGetVersion(tc) ((tc)->version)
+#define XEGetRevision(tc) ((tc)->revision)
+
+/* Condition handling macros */
+#if !defined(vms) && \
+ (!defined(_InitExceptionHandling) || !defined(_ClearExceptionHandling))
+# ifndef _SetSIGBUSHandling
+# ifdef SIGBUS
+# define _SetSIGBUSHandling(rtn) (void)signal(SIGBUS, rtn)
+# else
+# define _SetSIGBUSHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGSEGVHandling
+# ifdef SIGSEGV
+# define _SetSIGSEGVHandling(rtn) (void)signal(SIGSEGV, rtn)
+# else
+# define _SetSIGSEGVHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGFPEHandling
+# ifdef SIGFPE
+# define _SetSIGFPEHandling(rtn) (void)signal(SIGFPE, rtn)
+# else
+# define _SetSIGFPEHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGILLHandling
+# ifdef SIGILL
+# define _SetSIGILLHandling(rtn) (void)signal(SIGILL, rtn)
+# else
+# define _SetSIGILLHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGSYSHandling
+# ifdef SIGSYS
+# define _SetSIGSYSHandling(rtn) (void)signal(SIGSYS, rtn)
+# else
+# define _SetSIGSYSHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGHUPHandling
+# ifdef SIGHUP
+# define _SetSIGHUPHandling(rtn) (void)signal(SIGHUP, rtn)
+# else
+# define _SetSIGHUPHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGPIPEHandling
+# ifdef SIGPIPE
+# define _SetSIGPIPEHandling(rtn) (void)signal(SIGPIPE, rtn)
+# else
+# define _SetSIGPIPEHandling(rtn) /* */
+# endif
+# endif
+# ifndef _SetSIGTERMHandling
+# ifdef SIGTERM
+# define _SetSIGTERMHandling(rtn) (void)signal(SIGTERM, rtn)
+# else
+# define _SetSIGTERMHandling(rtn) /* */
+# endif
+# endif
+#endif
+#ifndef _InitExceptionHandling
+#ifdef vms
+#define _InitExceptionHandling(rtn) \
+ VAXC$ESTABLISH(rtn) /* VMS exception handler */
+#else /* vms */
+#define _InitExceptionHandling(rtn) \
+ _SetSIGBUSHandling(rtn); /* Bus error */ \
+ _SetSIGSEGVHandling(rtn); /* Accvio/Segment error */ \
+ _SetSIGFPEHandling(rtn); /* Floating point exception */ \
+ _SetSIGILLHandling(rtn); /* Illegal instruction */ \
+ _SetSIGSYSHandling(rtn); /* Param error in sys call */ \
+ _SetSIGHUPHandling(rtn); \
+ _SetSIGPIPEHandling(rtn); \
+ _SetSIGTERMHandling(rtn)
+#endif /* vms */
+#endif /* _InitExceptionHandling */
+
+#ifndef _ClearExceptionHandling
+#ifdef vms
+#define _ClearExceptionHandling() \
+ LIB$REVERT()
+#else
+#define _ClearExceptionHandling() \
+ _SetSIGBUSHandling(SIG_DFL); /* Bus error */ \
+ _SetSIGSEGVHandling(SIG_DFL); /* Accvio/Segment error */ \
+ _SetSIGFPEHandling(SIG_DFL); /* Floating point exception */ \
+ _SetSIGILLHandling(SIG_DFL); /* Illegal instruction */ \
+ _SetSIGSYSHandling(SIG_DFL); /* Param error in sys call */ \
+ _SetSIGHUPHandling(SIG_DFL); \
+ _SetSIGPIPEHandling(SIG_DFL); \
+ _SetSIGTERMHandling(SIG_DFL)
+#endif /* vms */
+#endif /* _ClearExceptionHandling */
+
+#endif /* __XTRAPEMACROS__ */
diff --git a/trapproto/xtraplib.h b/trapproto/xtraplib.h
new file mode 100644
index 0000000..db0289f
--- /dev/null
+++ b/trapproto/xtraplib.h
@@ -0,0 +1,133 @@
+/* $XFree86$ */
+#ifndef __XTRAPLIB__
+#define __XTRAPLIB__
+
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991, 1994 by Digital Equipment Corp.,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This header file describes all the structures/constants required
+ * for interfacing with the client toolkit *except* the common
+ * client/extension definitions in xtrapdi.h. Namely, *no* extension-
+ * only information or client/extension information can be found here.
+ */
+#ifdef SMT
+#define NEED_EVENTS
+#define NEED_REPLIES
+#endif
+#include <X11/Xlib.h>
+#include <X11/Intrinsic.h>
+#include <X11/extensions/xtrapdi.h>
+#include <X11/extensions/xtrapemacros.h>
+
+typedef struct _XETC XETC;
+
+typedef int (*int_function)(XETC *tc, XETrapDatum *pdatum, BYTE *userp);
+typedef void (*void_function)(XETC *tc, XETrapDatum *pdatum, BYTE *userp);
+
+typedef struct /* Callback structure */
+{
+ void_function func;
+ BYTE *data;
+} XETrapCB;
+
+/* Data structure for setting trap context */
+typedef struct
+{
+ CARD8 tc_flags[2L]; /* Toolkit-side specific flags */
+ XETrapCfg v; /* XTrap configuration values */
+ XETrapCB *req_cb; /* Pointer to Request Callbacks */
+ XETrapCB *evt_cb; /* Pointer to Event Callbacks (starting at 2) */
+ CARD32 last_time B32; /* Last (delta) timestamp */
+} XETCValues;
+
+ /* bits 0 thru 6 are formerly "families" (now obsolete) */
+#define XETCDeltaTimes 7
+#define XETCTrapActive 8
+ /* bits 9 thru 15 are reserved for future expansion */
+
+/* Values bit masks (used when determining what's dirty */
+#define TCStatistics (1L<<0L)
+#define TCRequests (1L<<1L)
+#define TCEvents (1L<<2L)
+#define TCMaxPacket (1L<<3L)
+#define TCCmdKey (1L<<4L)
+#define TCTimeStamps (1L<<5L)
+#define TCWinXY (1L<<6L)
+#define TCXInput (1L<<7L)
+#define TCReqCBs (1L<<8L)
+#define TCEvtCBs (1L<<9L)
+#define TCCursor (1L<<10L)
+#define TCColorReplies (1L<<11L)
+#define TCGrabServer (1L<<12L)
+
+/* This is the representation we use in the library code for XLib transport */
+typedef struct {
+ int type;
+ unsigned long serial;
+ Bool synthetic;
+ Display *display;
+ int detail;
+ unsigned long idx;
+ unsigned char data[sz_EventData];
+} XETrapDataEvent;
+
+/* Trap Context structure for maintaining XTrap State for client */
+struct _XETC
+{
+ struct _XETC *next; /* Ptr to next linked-listed TC */
+ Display *dpy; /* Display ptr of current TC */
+ INT32 eventBase /*B32*/; /* First event value */
+ INT32 errorBase /*B32*/; /* First error value */
+ INT32 extOpcode /*B32*/; /* Major opcode of the extension */
+ BYTE *xbuff; /* Pointer to buffer for XLib Communications */
+ CARD16 xmax_size /*B16*/; /* Max Size of a request */
+ XExtData *ext_data; /* hook for extension to hang data */
+ /*
+ * The following are initialized with the client-side version number
+ * However, when either a GetAvailable or GetVersion reply is received,
+ * these values are updated with the *oldest* version numbers.
+ */
+ CARD16 release /*B16*/; /* The extension release number */
+ CARD16 version /*B16*/; /* The xtrap extension version number */
+ CARD16 revision /*B16*/; /* The xtrap extension revision number */
+ CARD16 protocol /*B16*/; /* The xtrap extension protocol number */
+ unsigned dirty /*B32*/; /* cache dirty bits */
+ XETCValues values; /* shadow structure of values */
+ Boolean (*eventFunc[XETrapNumberEvents])(XETrapDataEvent *event, struct _XETC *tc);
+};
+
+
+#endif /* __XTRAPLIB__ */
diff --git a/trapproto/xtraplibp.h b/trapproto/xtraplibp.h
new file mode 100644
index 0000000..0c6ced2
--- /dev/null
+++ b/trapproto/xtraplibp.h
@@ -0,0 +1,151 @@
+/* $XFree86$ */
+#ifndef __XTRAPLIBP__
+#define __XTRAPLIBP__
+
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991, 1994 by Digital Equipment Corp.,
+Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This header file contains the function prototypes for client/toolkit
+ * routines sorted by module (globally defined routines *only*).
+ */
+
+#include <X11/Xfuncproto.h>
+
+#include <stdio.h>
+
+_XFUNCPROTOBEGIN
+
+/* XEConTxt.c */
+XETC *XECreateTC (Display *dpy , CARD32 valuemask , XETCValues *value );
+int XEChangeTC (XETC *tc , CARD32 mask , XETCValues *values );
+void XEFreeTC (XETC *tc );
+int XETrapSetMaxPacket (XETC *tc , Bool set_flag , CARD16 size );
+int XETrapSetCommandKey (XETC *tc , Bool set_flag , KeySym cmd_key ,
+ Bool mod_flag );
+int XETrapSetTimestamps (XETC *tc , Bool set_flag , Bool delta_flag );
+int XETrapSetWinXY (XETC *tc , Bool set_flag );
+int XETrapSetCursor (XETC *tc , Bool set_flag );
+int XETrapSetXInput (XETC *tc , Bool set_flag );
+int XETrapSetColorReplies (XETC *tc , Bool set_flag );
+int XETrapSetGrabServer (XETC *tc , Bool set_flag );
+int XETrapSetStatistics (XETC *tc , Bool set_flag );
+int XETrapSetRequests (XETC *tc , Bool set_flag , ReqFlags requests );
+int XETrapSetEvents (XETC *tc , Bool set_flag , EventFlags events );
+Bool XESetCmdGateState (XETC *tc , CARD8 type, Bool *gate_closed ,
+ CARD8 *next_key , Bool *key_ignore );
+
+/* XERqsts.c */
+int XEFlushConfig (XETC *tc );
+int XEResetRequest (XETC *tc );
+int XEGetVersionRequest (XETC *tc , XETrapGetVersRep *ret );
+int XEGetLastInpTimeRequest (XETC *tc , XETrapGetLastInpTimeRep *ret );
+int XEGetAvailableRequest (XETC *tc , XETrapGetAvailRep *ret );
+int XEStartTrapRequest (XETC *tc );
+int XEStopTrapRequest (XETC *tc );
+int XESimulateXEventRequest (XETC *tc , CARD8 type , CARD8 detail ,
+ CARD16 x , CARD16 y , CARD8 screen );
+int XEGetCurrentRequest (XETC *tc , XETrapGetCurRep *ret );
+int XEGetStatisticsRequest (XETC *tc , XETrapGetStatsRep *ret );
+
+/* XECallBcks.c */
+int XEAddRequestCB (XETC *tc , CARD8 req , void_function func , BYTE *data );
+int XEAddRequestCBs (XETC *tc , ReqFlags req_flags , void_function func ,
+ BYTE *data );
+int XEAddEventCB (XETC *tc , CARD8 evt , void_function func , BYTE *data );
+int XEAddEventCBs (XETC *tc , EventFlags evt_flags , void_function func ,
+ BYTE *data );
+
+/* The following seem to never be used. Perhaps they should be removed */
+void XERemoveRequestCB (XETC *tc, CARD8 req);
+void XERemoveRequestCBs (XETC *tc, ReqFlags req_flags);
+void XERemoveAllRequestCBs (XETC *tc);
+void XERemoveEventCB (XETC *tc, CARD8 evt);
+void XERemoveEventCBs (XETC *tc, EventFlags evt_flags);
+void XERemoveAllEventCBs (XETC *tc);
+
+
+/* XEDsptch.c */
+Boolean XETrapDispatchXLib (XETrapDataEvent *event , XETC *tc);
+
+/* XEWrappers.c */
+Boolean XETrapDispatchEvent (XEvent *pevent , XETC *tc );
+XtInputMask XETrapAppPending (XtAppContext app);
+void XETrapAppMainLoop (XtAppContext app , XETC *tc );
+int XETrapAppWhileLoop (XtAppContext app , XETC *tc , Bool *done );
+int XETrapWaitForSomething (XtAppContext app );
+Boolean (*XETrapGetEventHandler(XETC *tc, CARD32 id))(XETrapDataEvent *event, XETC *tc);
+Boolean (*XETrapSetEventHandler(XETC *tc, CARD32 id, Boolean (*pfunc)(XETrapDataEvent *event, XETC *tc))) (XETrapDataEvent *event, XETC *tc);
+
+/* XEPrInfo.c */
+void XEPrintRelease (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintTkRelease ( FILE *ofp, XETC *tc);
+void XEPrintPlatform (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintAvailFlags (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintAvailPktSz (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintStateFlags (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintMajOpcode (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintCurXY (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintTkFlags (FILE *ofp , XETC *tc );
+void XEPrintLastTime (FILE *ofp , XETC *tc );
+void XEPrintCfgFlags (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintRequests (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintEvents (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintCurPktSz (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintCmdKey (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintEvtStats (FILE *ofp , XETrapGetStatsRep *pstats , XETC *tc);
+void XEPrintReqStats (FILE *ofp , XETrapGetStatsRep *pstats , XETC *tc);
+void XEPrintAvail (FILE *ofp , XETrapGetAvailRep *pavail );
+void XEPrintTkState (FILE *ofp , XETC *tc );
+void XEPrintCurrent (FILE *ofp , XETrapGetCurRep *pcur );
+void XEPrintStatistics (FILE *ofp , XETrapGetStatsRep *pstats, XETC *tc );
+
+/* XEStrMap.c */
+INT16 XEEventStringToID (char *string );
+INT16 XERequestStringToID (char *string );
+CARD32 XEPlatformStringToID (char *string );
+char *XEEventIDToString (CARD8 id , XETC *tc);
+char *XERequestIDToExtString (register CARD8 id , XETC *tc);
+char *XERequestIDToString (CARD8 id , XETC *tc);
+char *XEPlatformIDToString (CARD32 id );
+
+/* XETrapInit.c */
+Bool XETrapQueryExtension (Display *dpy,INT32 *event_base_return,
+ INT32 *error_base_return, INT32 *opcode_return);
+
+
+_XFUNCPROTOEND
+
+#endif /* __XTRAPLIBP__ */
diff --git a/trapproto/xtrapproto.h b/trapproto/xtrapproto.h
new file mode 100644
index 0000000..b3e29cf
--- /dev/null
+++ b/trapproto/xtrapproto.h
@@ -0,0 +1,168 @@
+/* $XFree86: xc/include/extensions/xtrapproto.h,v 1.1 2001/11/02 23:29:26 dawes Exp $ */
+
+#ifndef __XTRAPPROTO__
+#define __XTRAPPROTO__
+
+/*****************************************************************************
+Copyright 1987, 1988, 1989, 1990, 1991 by Digital Equipment Corp., Maynard, MA
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+*****************************************************************************/
+/*
+ *
+ * CONTRIBUTORS:
+ *
+ * Dick Annicchiarico
+ * Robert Chesler
+ * Dan Coutu
+ * Gene Durso
+ * Marc Evans
+ * Alan Jamison
+ * Mark Henry
+ * Ken Miller
+ *
+ * DESCRIPTION:
+ * This header file contains the function prototypes for extension
+ * routines sorted by module (globally defined routines *only*).
+ */
+#ifndef Bool
+# define Bool int
+#endif
+/* xtrapdi.c */
+int XETrapDestroyEnv (pointer value , XID id );
+void XETrapCloseDown ( ExtensionEntry *extEntry );
+Bool XETrapRedirectDevices (void );
+void DEC_XTRAPInit (void );
+int XETrapCreateEnv (ClientPtr client );
+int XETrapDispatch (ClientPtr client );
+int sXETrapDispatch (ClientPtr client );
+int XETrapReset (xXTrapReq *request , ClientPtr client );
+int XETrapGetAvailable (xXTrapGetReq *request , ClientPtr client );
+int XETrapGetCurrent (xXTrapReq *request , ClientPtr client );
+int XETrapGetStatistics (xXTrapReq *request , ClientPtr client );
+int XETrapConfig (xXTrapConfigReq *request , ClientPtr client );
+int XETrapStartTrap (xXTrapReq *request , ClientPtr client );
+int XETrapStopTrap (xXTrapReq *request , ClientPtr client );
+int XETrapGetVersion (xXTrapGetReq *request , ClientPtr client );
+int XETrapGetLastInpTime (xXTrapReq *request , ClientPtr client );
+int XETrapRequestVector (ClientPtr client );
+int XETrapKeyboard (xEvent *x_event , DevicePtr keybd , int count );
+#ifndef VECTORED_EVENTS
+int XETrapPointer (xEvent *x_event , DevicePtr ptrdev , int count );
+#else
+int XETrapEventVector (ClientPtr client , xEvent *x_event );
+#endif
+void XETrapStampAndMail (xEvent *x_event );
+void sReplyXTrapDispatch (ClientPtr client , int size , char *reply );
+int XETrapWriteXLib (XETrapEnv *penv , BYTE *data , CARD32 nbytes );
+
+/* xtrapddmi.c */
+void XETrapPlatformSetup (void );
+int XETrapSimulateXEvent (xXTrapInputReq *request , ClientPtr client );
+
+/* xtrapdiswap.c */
+int sXETrapReset (xXTrapReq *request , ClientPtr client );
+int sXETrapGetAvailable (xXTrapGetReq *request , ClientPtr client );
+int sXETrapConfig (xXTrapConfigReq *request , ClientPtr client );
+int sXETrapStartTrap (xXTrapReq *request , ClientPtr client );
+int sXETrapStopTrap (xXTrapReq *request , ClientPtr client );
+int sXETrapGetCurrent (xXTrapReq *request , ClientPtr client );
+int sXETrapGetStatistics (xXTrapReq *request , ClientPtr client );
+int sXETrapSimulateXEvent (xXTrapInputReq *request , ClientPtr client );
+int sXETrapGetVersion (xXTrapGetReq *request , ClientPtr client );
+int sXETrapGetLastInpTime (xXTrapReq *request , ClientPtr client );
+void sReplyXETrapGetAvail (ClientPtr client , int size , char *reply );
+void sReplyXETrapGetVers (ClientPtr client , int size , char *reply );
+void sReplyXETrapGetLITim (ClientPtr client , int size , char *reply );
+void sReplyXETrapGetCur (ClientPtr client , int size , char *reply );
+void sReplyXETrapGetStats (ClientPtr client , int size , char *reply );
+void sXETrapHeader (XETrapHeader *hdr );
+void XETSwSimpleReq (xReq *data );
+void XETSwResourceReq (xResourceReq *data );
+void XETSwCreateWindow (xCreateWindowReq *data , ClientPtr client );
+void XETSwChangeWindowAttributes (xChangeWindowAttributesReq *data , ClientPtr client );
+void XETSwReparentWindow (xReparentWindowReq *data );
+void XETSwConfigureWindow (xConfigureWindowReq *data , ClientPtr client );
+void XETSwInternAtom (xInternAtomReq *data );
+void XETSwChangeProperty (xChangePropertyReq *data );
+void XETSwDeleteProperty (xDeletePropertyReq *data );
+void XETSwGetProperty (xGetPropertyReq *data );
+void XETSwSetSelectionOwner (xSetSelectionOwnerReq *data );
+void XETSwConvertSelection (xConvertSelectionReq *data );
+void XETSwSendEvent (xSendEventReq *data );
+void XETSwGrabPointer (xGrabPointerReq *data );
+void XETSwGrabButton (xGrabButtonReq *data );
+void XETSwUngrabButton (xUngrabButtonReq *data );
+void XETSwChangeActivePointerGrab (xChangeActivePointerGrabReq *data );
+void XETSwGrabKeyboard (xGrabKeyboardReq *data );
+void XETSwGrabKey (xGrabKeyReq *data );
+void XETSwUngrabKey (xUngrabKeyReq *data );
+void XETSwGetMotionEvents (xGetMotionEventsReq *data );
+void XETSwTranslateCoords (xTranslateCoordsReq *data );
+void XETSwWarpPointer (xWarpPointerReq *data );
+void XETSwSetInputFocus (xSetInputFocusReq *data );
+void XETSwOpenFont (xOpenFontReq *data );
+void XETSwListFonts (xListFontsReq *data );
+void XETSwListFontsWithInfo (xListFontsWithInfoReq *data );
+void XETSwSetFontPath (xSetFontPathReq *data );
+void XETSwCreatePixmap (xCreatePixmapReq *data );
+void XETSwCreateGC (xCreateGCReq *data , ClientPtr client );
+void XETSwChangeGC (xChangeGCReq *data , ClientPtr client );
+void XETSwCopyGC (xCopyGCReq *data );
+void XETSwSetDashes (xSetDashesReq *data );
+void XETSwSetClipRectangles (xSetClipRectanglesReq *data , ClientPtr client );
+void XETSwClearToBackground (xClearAreaReq *data );
+void XETSwCopyArea (xCopyAreaReq *data );
+void XETSwCopyPlane (xCopyPlaneReq *data );
+void XETSwPoly (xPolyPointReq *data , ClientPtr client );
+void XETSwFillPoly (xFillPolyReq *data , ClientPtr client );
+void XETSwPutImage (xPutImageReq *data );
+void XETSwGetImage (xGetImageReq *data );
+void XETSwPolyText (xPolyTextReq *data );
+void XETSwImageText (xImageTextReq *data );
+void XETSwCreateColormap (xCreateColormapReq *data );
+void XETSwCopyColormapAndFree (xCopyColormapAndFreeReq *data );
+void XETSwAllocColor (xAllocColorReq *data );
+void XETSwAllocNamedColor (xAllocNamedColorReq *data );
+void XETSwAllocColorCells (xAllocColorCellsReq *data );
+void XETSwAllocColorPlanes (xAllocColorPlanesReq *data );
+void XETSwFreeColors (xFreeColorsReq *data , ClientPtr client );
+void XETSwStoreColors (xStoreColorsReq *data , ClientPtr client );
+void XETSwStoreNamedColor (xStoreNamedColorReq *data );
+void XETSwQueryColors (xQueryColorsReq *data , ClientPtr client );
+void XETSwLookupColor (xLookupColorReq *data );
+void XETSwCreateCursor (xCreateCursorReq *data );
+void XETSwCreateGlyphCursor (xCreateGlyphCursorReq *data );
+void XETSwRecolorCursor (xRecolorCursorReq *data );
+void XETSwQueryBestSize (xQueryBestSizeReq *data );
+void XETSwQueryExtension (xQueryExtensionReq *data );
+void XETSwChangeKeyboardMapping (xChangeKeyboardMappingReq *data );
+void XETSwChangeKeyboardControl (xChangeKeyboardControlReq *data , ClientPtr client );
+void XETSwChangePointerControl (xChangePointerControlReq *data );
+void XETSwSetScreenSaver (xSetScreenSaverReq *data );
+void XETSwChangeHosts (xChangeHostsReq *data );
+void XETSwRotateProperties (xRotatePropertiesReq *data , ClientPtr client );
+void XETSwNoOperation (xReq *data );
+#ifdef vms
+void SwapLongs (long *list , unsigned long count );
+void SwapShorts (short *list , unsigned long count );
+int SwapColorItem (xColorItem *pItem );
+#endif /* vms */
+
+
+#endif /* __XTRAPPROTO__ */
diff --git a/videoproto/.gitignore b/videoproto/.gitignore
new file mode 100644
index 0000000..d342ae6
--- /dev/null
+++ b/videoproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for videoproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/videoproto/COPYING b/videoproto/COPYING
new file mode 100644
index 0000000..cfa79e7
--- /dev/null
+++ b/videoproto/COPYING
@@ -0,0 +1,63 @@
+Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
+and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or MIT not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
+
+
+Copyright (c) 2004 The Unichrome Project. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/videoproto/Makefile.am b/videoproto/Makefile.am
new file mode 100644
index 0000000..6064e46
--- /dev/null
+++ b/videoproto/Makefile.am
@@ -0,0 +1,25 @@
+videodir = $(includedir)/X11/extensions
+video_HEADERS = \
+ vldXvMC.h \
+ Xv.h \
+ XvMC.h \
+ XvMCproto.h \
+ Xvproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = videoproto.pc
+
+dist_doc_DATA = xv-protocol-v2.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/videoproto/README b/videoproto/README
new file mode 100644
index 0000000..ecc468a
--- /dev/null
+++ b/videoproto/README
@@ -0,0 +1,30 @@
+ X Video Extension
+
+This extension provides a protocol for a video output mechanism,
+mainly to rescale video playback in the video controller hardware.
+
+Extension name: XVideo
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/videoproto
+
+ http://cgit.freedesktop.org/xorg/proto/videoproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/videoproto/Xv.h b/videoproto/Xv.h
new file mode 100644
index 0000000..985653c
--- /dev/null
+++ b/videoproto/Xv.h
@@ -0,0 +1,128 @@
+/***********************************************************
+Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
+and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or MIT not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef XV_H
+#define XV_H
+/*
+** File:
+**
+** Xv.h --- Xv shared library and server header file
+**
+** Author:
+**
+** David Carver (Digital Workstation Engineering/Project Athena)
+**
+** Revisions:
+**
+** 05.15.91 Carver
+** - version 2.0 upgrade
+**
+** 01.24.91 Carver
+** - version 1.4 upgrade
+**
+*/
+
+#include <X11/X.h>
+
+#define XvName "XVideo"
+#define XvVersion 2
+#define XvRevision 2
+
+/* Symbols */
+
+typedef XID XvPortID;
+typedef XID XvEncodingID;
+
+#define XvNone 0
+
+#define XvInput 0
+#define XvOutput 1
+
+#define XvInputMask (1L<<XvInput)
+#define XvOutputMask (1L<<XvOutput)
+#define XvVideoMask 0x00000004
+#define XvStillMask 0x00000008
+#define XvImageMask 0x00000010
+
+/* These two are not client viewable */
+#define XvPixmapMask 0x00010000
+#define XvWindowMask 0x00020000
+
+
+#define XvGettable 0x01
+#define XvSettable 0x02
+
+#define XvRGB 0
+#define XvYUV 1
+
+#define XvPacked 0
+#define XvPlanar 1
+
+#define XvTopToBottom 0
+#define XvBottomToTop 1
+
+
+/* Events */
+
+#define XvVideoNotify 0
+#define XvPortNotify 1
+#define XvNumEvents 2
+
+/* Video Notify Reasons */
+
+#define XvStarted 0
+#define XvStopped 1
+#define XvBusy 2
+#define XvPreempted 3
+#define XvHardError 4
+#define XvLastReason 4
+
+#define XvNumReasons (XvLastReason + 1)
+
+#define XvStartedMask (1L<<XvStarted)
+#define XvStoppedMask (1L<<XvStopped)
+#define XvBusyMask (1L<<XvBusy)
+#define XvPreemptedMask (1L<<XvPreempted)
+#define XvHardErrorMask (1L<<XvHardError)
+
+#define XvAnyReasonMask ((1L<<XvNumReasons) - 1)
+#define XvNoReasonMask 0
+
+/* Errors */
+
+#define XvBadPort 0
+#define XvBadEncoding 1
+#define XvBadControl 2
+#define XvNumErrors 3
+
+/* Status */
+
+#define XvBadExtension 1
+#define XvAlreadyGrabbed 2
+#define XvInvalidTime 3
+#define XvBadReply 4
+#define XvBadAlloc 5
+
+#endif /* XV_H */
+
diff --git a/videoproto/XvMC.h b/videoproto/XvMC.h
new file mode 100644
index 0000000..2690be8
--- /dev/null
+++ b/videoproto/XvMC.h
@@ -0,0 +1,138 @@
+#ifndef _XVMC_H_
+#define _XVMC_H_
+
+#include <X11/X.h>
+#include <X11/extensions/Xv.h>
+
+#define XvMCName "XVideo-MotionCompensation"
+#define XvMCNumEvents 0
+#define XvMCNumErrors 3
+#define XvMCVersion 1
+#define XvMCRevision 1
+
+#define XvMCBadContext 0
+#define XvMCBadSurface 1
+#define XvMCBadSubpicture 2
+
+/* Chroma formats */
+#define XVMC_CHROMA_FORMAT_420 0x00000001
+#define XVMC_CHROMA_FORMAT_422 0x00000002
+#define XVMC_CHROMA_FORMAT_444 0x00000003
+
+/* XvMCSurfaceInfo Flags */
+#define XVMC_OVERLAID_SURFACE 0x00000001
+#define XVMC_BACKEND_SUBPICTURE 0x00000002
+#define XVMC_SUBPICTURE_INDEPENDENT_SCALING 0x00000004
+#define XVMC_INTRA_UNSIGNED 0x00000008
+
+/* Motion Compensation types */
+#define XVMC_MOCOMP 0x00000000
+#define XVMC_IDCT 0x00010000
+
+#define XVMC_MPEG_1 0x00000001
+#define XVMC_MPEG_2 0x00000002
+#define XVMC_H263 0x00000003
+#define XVMC_MPEG_4 0x00000004
+
+#define XVMC_MB_TYPE_MOTION_FORWARD 0x02
+#define XVMC_MB_TYPE_MOTION_BACKWARD 0x04
+#define XVMC_MB_TYPE_PATTERN 0x08
+#define XVMC_MB_TYPE_INTRA 0x10
+
+#define XVMC_PREDICTION_FIELD 0x01
+#define XVMC_PREDICTION_FRAME 0x02
+#define XVMC_PREDICTION_DUAL_PRIME 0x03
+#define XVMC_PREDICTION_16x8 0x02
+#define XVMC_PREDICTION_4MV 0x04
+
+#define XVMC_SELECT_FIRST_FORWARD 0x01
+#define XVMC_SELECT_FIRST_BACKWARD 0x02
+#define XVMC_SELECT_SECOND_FORWARD 0x04
+#define XVMC_SELECT_SECOND_BACKWARD 0x08
+
+#define XVMC_DCT_TYPE_FRAME 0x00
+#define XVMC_DCT_TYPE_FIELD 0x01
+
+#define XVMC_TOP_FIELD 0x00000001
+#define XVMC_BOTTOM_FIELD 0x00000002
+#define XVMC_FRAME_PICTURE (XVMC_TOP_FIELD | XVMC_BOTTOM_FIELD)
+
+#define XVMC_SECOND_FIELD 0x00000004
+
+#define XVMC_DIRECT 0x00000001
+
+#define XVMC_RENDERING 0x00000001
+#define XVMC_DISPLAYING 0x00000002
+
+
+typedef struct {
+ int surface_type_id;
+ int chroma_format;
+ unsigned short max_width;
+ unsigned short max_height;
+ unsigned short subpicture_max_width;
+ unsigned short subpicture_max_height;
+ int mc_type;
+ int flags;
+} XvMCSurfaceInfo;
+
+typedef struct {
+ XID context_id;
+ int surface_type_id;
+ unsigned short width;
+ unsigned short height;
+ XvPortID port;
+ int flags;
+ void * privData; /* private to the library */
+} XvMCContext;
+
+typedef struct {
+ XID surface_id;
+ XID context_id;
+ int surface_type_id;
+ unsigned short width;
+ unsigned short height;
+ void *privData; /* private to the library */
+} XvMCSurface;
+
+typedef struct {
+ XID subpicture_id;
+ XID context_id;
+ int xvimage_id;
+ unsigned short width;
+ unsigned short height;
+ int num_palette_entries;
+ int entry_bytes;
+ char component_order[4];
+ void *privData; /* private to the library */
+} XvMCSubpicture;
+
+typedef struct {
+ unsigned int num_blocks;
+ XID context_id;
+ void *privData;
+ short *blocks;
+} XvMCBlockArray;
+
+typedef struct {
+ unsigned short x;
+ unsigned short y;
+ unsigned char macroblock_type;
+ unsigned char motion_type;
+ unsigned char motion_vertical_field_select;
+ unsigned char dct_type;
+ short PMV[2][2][2];
+ unsigned int index;
+ unsigned short coded_block_pattern;
+ unsigned short pad0;
+} XvMCMacroBlock;
+
+
+typedef struct {
+ unsigned int num_blocks;
+ XID context_id;
+ void *privData;
+ XvMCMacroBlock *macro_blocks;
+} XvMCMacroBlockArray;
+
+#endif
diff --git a/videoproto/XvMCproto.h b/videoproto/XvMCproto.h
new file mode 100644
index 0000000..8e80f17
--- /dev/null
+++ b/videoproto/XvMCproto.h
@@ -0,0 +1,226 @@
+#ifndef _XVMCPROTO_H_
+#define _XVMCPROTO_H_
+
+#define xvmc_QueryVersion 0
+#define xvmc_ListSurfaceTypes 1
+#define xvmc_CreateContext 2
+#define xvmc_DestroyContext 3
+#define xvmc_CreateSurface 4
+#define xvmc_DestroySurface 5
+#define xvmc_CreateSubpicture 6
+#define xvmc_DestroySubpicture 7
+#define xvmc_ListSubpictureTypes 8
+#define xvmc_GetDRInfo 9
+#define xvmc_LastRequest xvmc_GetDRInfo
+
+#define xvmcNumRequest (xvmc_LastRequest + 1)
+
+
+typedef struct {
+ CARD32 surface_type_id B32;
+ CARD16 chroma_format B16;
+ CARD16 pad0 B16;
+ CARD16 max_width B16;
+ CARD16 max_height B16;
+ CARD16 subpicture_max_width B16;
+ CARD16 subpicture_max_height B16;
+ CARD32 mc_type B32;
+ CARD32 flags B32;
+} xvmcSurfaceInfo;
+#define sz_xvmcSurfaceInfo 24;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+} xvmcQueryVersionReq;
+#define sz_xvmcQueryVersionReq 4;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 major B32;
+ CARD32 minor B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+} xvmcQueryVersionReply;
+#define sz_xvmcQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 port B32;
+} xvmcListSurfaceTypesReq;
+#define sz_xvmcListSurfaceTypesReq 8;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num B32;
+ CARD32 padl3 B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+} xvmcListSurfaceTypesReply;
+#define sz_xvmcListSurfaceTypesReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 context_id B32;
+ CARD32 port B32;
+ CARD32 surface_type_id B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 flags B32;
+} xvmcCreateContextReq;
+#define sz_xvmcCreateContextReq 24;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 width_actual B16;
+ CARD16 height_actual B16;
+ CARD32 flags_return B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+} xvmcCreateContextReply;
+#define sz_xvmcCreateContextReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 context_id B32;
+} xvmcDestroyContextReq;
+#define sz_xvmcDestroyContextReq 8;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 surface_id B32;
+ CARD32 context_id B32;
+} xvmcCreateSurfaceReq;
+#define sz_xvmcCreateSurfaceReq 12;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 padl2 B32;
+ CARD32 padl3 B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+} xvmcCreateSurfaceReply;
+#define sz_xvmcCreateSurfaceReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 surface_id B32;
+} xvmcDestroySurfaceReq;
+#define sz_xvmcDestroySurfaceReq 8;
+
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 subpicture_id B32;
+ CARD32 context_id B32;
+ CARD32 xvimage_id B32;
+ CARD16 width B16;
+ CARD16 height B16;
+} xvmcCreateSubpictureReq;
+#define sz_xvmcCreateSubpictureReq 20;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 width_actual B16;
+ CARD16 height_actual B16;
+ CARD16 num_palette_entries B16;
+ CARD16 entry_bytes B16;
+ CARD8 component_order[4];
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+} xvmcCreateSubpictureReply;
+#define sz_xvmcCreateSubpictureReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 subpicture_id B32;
+} xvmcDestroySubpictureReq;
+#define sz_xvmcDestroySubpictureReq 8;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 port B32;
+ CARD32 surface_type_id B32;
+} xvmcListSubpictureTypesReq;
+#define sz_xvmcListSubpictureTypesReq 12;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num B32;
+ CARD32 padl2 B32;
+ CARD32 padl3 B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+} xvmcListSubpictureTypesReply;
+#define sz_xvmcListSubpictureTypesReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvmcReqType;
+ CARD16 length B16;
+ CARD32 port B32;
+ CARD32 shmKey B32;
+ CARD32 magic B32;
+} xvmcGetDRInfoReq;
+#define sz_xvmcGetDRInfoReq 16;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 major B32;
+ CARD32 minor B32;
+ CARD32 patchLevel B32;
+ CARD32 nameLen B32;
+ CARD32 busIDLen B32;
+ CARD32 isLocal B32;
+} xvmcGetDRInfoReply;
+#define sz_xvmcGetDRInfoReply 32
+
+#endif
diff --git a/videoproto/Xvproto.h b/videoproto/Xvproto.h
new file mode 100644
index 0000000..b6b56cf
--- /dev/null
+++ b/videoproto/Xvproto.h
@@ -0,0 +1,603 @@
+/***********************************************************
+Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
+and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or MIT not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#ifndef XVPROTO_H
+#define XVPROTO_H
+/*
+** File:
+**
+** Xvproto.h --- Xv protocol header file
+**
+** Author:
+**
+** David Carver (Digital Workstation Engineering/Project Athena)
+**
+** Revisions:
+**
+** 11.06.91 Carver
+** - changed SetPortControl to SetPortAttribute
+** - changed GetPortControl to GetPortAttribute
+** - changed QueryBestSize
+**
+** 15.05.91 Carver
+** - version 2.0 upgrade
+**
+** 24.01.91 Carver
+** - version 1.4 upgrade
+**
+*/
+
+#include <X11/Xmd.h>
+
+/* Symbols: These are undefined at the end of this file to restore the
+ values they have in Xv.h */
+
+#define XvPortID CARD32
+#define XvEncodingID CARD32
+#define ShmSeg CARD32
+#define VisualID CARD32
+#define Drawable CARD32
+#define GContext CARD32
+#define Time CARD32
+#define Atom CARD32
+
+/* Structures */
+
+typedef struct {
+ INT32 numerator B32;
+ INT32 denominator B32;
+} xvRational;
+#define sz_xvRational 8
+
+typedef struct {
+ XvPortID base_id B32;
+ CARD16 name_size B16;
+ CARD16 num_ports B16;
+ CARD16 num_formats B16;
+ CARD8 type;
+ CARD8 pad;
+} xvAdaptorInfo;
+#define sz_xvAdaptorInfo 12
+
+typedef struct {
+ XvEncodingID encoding B32;
+ CARD16 name_size B16;
+ CARD16 width B16, height B16;
+ xvRational rate;
+ CARD16 pad B16;
+} xvEncodingInfo;
+#define sz_xvEncodingInfo (12 + sz_xvRational)
+
+typedef struct {
+ VisualID visual B32;
+ CARD8 depth;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xvFormat;
+#define sz_xvFormat 8
+
+typedef struct {
+ CARD32 flags B32;
+ INT32 min B32;
+ INT32 max B32;
+ CARD32 size B32;
+} xvAttributeInfo;
+#define sz_xvAttributeInfo 16
+
+typedef struct {
+ CARD32 id B32;
+ CARD8 type;
+ CARD8 byte_order;
+ CARD16 pad1 B16;
+ CARD8 guid[16];
+ CARD8 bpp;
+ CARD8 num_planes;
+ CARD16 pad2 B16;
+ CARD8 depth;
+ CARD8 pad3;
+ CARD16 pad4 B16;
+ CARD32 red_mask B32;
+ CARD32 green_mask B32;
+ CARD32 blue_mask B32;
+ CARD8 format;
+ CARD8 pad5;
+ CARD16 pad6 B16;
+ CARD32 y_sample_bits B32;
+ CARD32 u_sample_bits B32;
+ CARD32 v_sample_bits B32;
+ CARD32 horz_y_period B32;
+ CARD32 horz_u_period B32;
+ CARD32 horz_v_period B32;
+ CARD32 vert_y_period B32;
+ CARD32 vert_u_period B32;
+ CARD32 vert_v_period B32;
+ CARD8 comp_order[32];
+ CARD8 scanline_order;
+ CARD8 pad7;
+ CARD16 pad8 B16;
+ CARD32 pad9 B32;
+ CARD32 pad10 B32;
+} xvImageFormatInfo;
+#define sz_xvImageFormatInfo 128
+
+
+/* Requests */
+
+#define xv_QueryExtension 0
+#define xv_QueryAdaptors 1
+#define xv_QueryEncodings 2
+#define xv_GrabPort 3
+#define xv_UngrabPort 4
+#define xv_PutVideo 5
+#define xv_PutStill 6
+#define xv_GetVideo 7
+#define xv_GetStill 8
+#define xv_StopVideo 9
+#define xv_SelectVideoNotify 10
+#define xv_SelectPortNotify 11
+#define xv_QueryBestSize 12
+#define xv_SetPortAttribute 13
+#define xv_GetPortAttribute 14
+#define xv_QueryPortAttributes 15
+#define xv_ListImageFormats 16
+#define xv_QueryImageAttributes 17
+#define xv_PutImage 18
+#define xv_ShmPutImage 19
+#define xv_LastRequest xv_ShmPutImage
+
+#define xvNumRequests (xv_LastRequest + 1)
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+} xvQueryExtensionReq;
+#define sz_xvQueryExtensionReq 4
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ CARD32 window B32;
+} xvQueryAdaptorsReq;
+#define sz_xvQueryAdaptorsReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ CARD32 port B32;
+} xvQueryEncodingsReq;
+#define sz_xvQueryEncodingsReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 vid_x B16;
+ INT16 vid_y B16;
+ CARD16 vid_w B16;
+ CARD16 vid_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+} xvPutVideoReq;
+#define sz_xvPutVideoReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 vid_x B16;
+ INT16 vid_y B16;
+ CARD16 vid_w B16;
+ CARD16 vid_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+} xvPutStillReq;
+#define sz_xvPutStillReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 vid_x B16;
+ INT16 vid_y B16;
+ CARD16 vid_w B16;
+ CARD16 vid_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+} xvGetVideoReq;
+#define sz_xvGetVideoReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 vid_x B16;
+ INT16 vid_y B16;
+ CARD16 vid_w B16;
+ CARD16 vid_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+} xvGetStillReq;
+#define sz_xvGetStillReq 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Time time B32;
+} xvGrabPortReq;
+#define sz_xvGrabPortReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Time time B32;
+} xvUngrabPortReq;
+#define sz_xvUngrabPortReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ Drawable drawable B32;
+ BOOL onoff;
+ CARD8 pad1;
+ CARD16 pad2;
+} xvSelectVideoNotifyReq;
+#define sz_xvSelectVideoNotifyReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ BOOL onoff;
+ CARD8 pad1;
+ CARD16 pad2;
+} xvSelectPortNotifyReq;
+#define sz_xvSelectPortNotifyReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+} xvStopVideoReq;
+#define sz_xvStopVideoReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Atom attribute B32;
+ INT32 value B32;
+} xvSetPortAttributeReq;
+#define sz_xvSetPortAttributeReq 16
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Atom attribute B32;
+} xvGetPortAttributeReq;
+#define sz_xvGetPortAttributeReq 12
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ CARD16 vid_w B16;
+ CARD16 vid_h B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+ CARD8 motion;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xvQueryBestSizeReq;
+#define sz_xvQueryBestSizeReq 20
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+} xvQueryPortAttributesReq;
+#define sz_xvQueryPortAttributesReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD32 id B32;
+ INT16 src_x B16;
+ INT16 src_y B16;
+ CARD16 src_w B16;
+ CARD16 src_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+ CARD16 width B16;
+ CARD16 height B16;
+} xvPutImageReq;
+#define sz_xvPutImageReq 40
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+ Drawable drawable B32;
+ GContext gc B32;
+ ShmSeg shmseg B32;
+ CARD32 id B32;
+ CARD32 offset B32;
+ INT16 src_x B16;
+ INT16 src_y B16;
+ CARD16 src_w B16;
+ CARD16 src_h B16;
+ INT16 drw_x B16;
+ INT16 drw_y B16;
+ CARD16 drw_w B16;
+ CARD16 drw_h B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 send_event;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xvShmPutImageReq;
+#define sz_xvShmPutImageReq 52
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ XvPortID port B32;
+} xvListImageFormatsReq;
+#define sz_xvListImageFormatsReq 8
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 xvReqType;
+ CARD16 length B16;
+ CARD32 port B32;
+ CARD32 id B32;
+ CARD16 width B16;
+ CARD16 height B16;
+} xvQueryImageAttributesReq;
+#define sz_xvQueryImageAttributesReq 16
+
+
+/* Replies */
+
+typedef struct _QueryExtensionReply {
+ BYTE type; /* X_Reply */
+ CARD8 padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 version B16;
+ CARD16 revision B16;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryExtensionReply;
+#define sz_xvQueryExtensionReply 32
+
+typedef struct _QueryAdaptorsReply {
+ BYTE type; /* X_Reply */
+ CARD8 padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 num_adaptors B16;
+ CARD16 pads3 B16;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryAdaptorsReply;
+#define sz_xvQueryAdaptorsReply 32
+
+typedef struct _QueryEncodingsReply {
+ BYTE type; /* X_Reply */
+ CARD8 padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 num_encodings B16;
+ CARD32 padl3 B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryEncodingsReply;
+#define sz_xvQueryEncodingsReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE result;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 padl3 B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvGrabPortReply;
+#define sz_xvGrabPortReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ INT32 value B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvGetPortAttributeReply;
+#define sz_xvGetPortAttributeReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 actual_width B16;
+ CARD16 actual_height B16;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryBestSizeReply;
+#define sz_xvQueryBestSizeReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 num_attributes B32;
+ CARD32 text_size B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryPortAttributesReply;
+#define sz_xvQueryPortAttributesReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_formats B32;
+ CARD32 padl4 B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvListImageFormatsReply;
+#define sz_xvListImageFormatsReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 num_planes B32;
+ CARD32 data_size B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+} xvQueryImageAttributesReply;
+#define sz_xvQueryImageAttributesReply 32
+
+/* DEFINE EVENT STRUCTURE */
+
+typedef struct {
+ union {
+ struct {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ } u;
+ struct {
+ BYTE type;
+ BYTE reason;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ Drawable drawable B32;
+ XvPortID port B32;
+ CARD32 padl5 B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+ } videoNotify;
+ struct {
+ BYTE type;
+ BYTE padb1;
+ CARD16 sequenceNumber B16;
+ Time time B32;
+ XvPortID port B32;
+ Atom attribute B32;
+ INT32 value B32;
+ CARD32 padl6 B32;
+ CARD32 padl7 B32;
+ CARD32 padl8 B32;
+ } portNotify;
+ } u;
+} xvEvent;
+
+#undef XvPortID
+#undef XvEncodingID
+#undef ShmSeg
+#undef VisualID
+#undef Drawable
+#undef GContext
+#undef Time
+#undef Atom
+
+#endif /* XVPROTO_H */
+
diff --git a/videoproto/autogen.sh b/videoproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/videoproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/videoproto/configure.ac b/videoproto/configure.ac
new file mode 100644
index 0000000..5e128e1
--- /dev/null
+++ b/videoproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([VideoProto], [2.3.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ videoproto.pc])
diff --git a/videoproto/videoproto.pc.in b/videoproto/videoproto.pc.in
new file mode 100644
index 0000000..5840540
--- /dev/null
+++ b/videoproto/videoproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: VideoProto
+Description: Video extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/videoproto/vldXvMC.h b/videoproto/vldXvMC.h
new file mode 100644
index 0000000..5c66ceb
--- /dev/null
+++ b/videoproto/vldXvMC.h
@@ -0,0 +1,174 @@
+/*****************************************************************************
+ * VLD XvMC Nonstandard extension API.
+ *
+ * Copyright (c) 2004 The Unichrome Project. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Author: Thomas Hellström, 2004.
+ */
+
+
+#ifndef _VLDXVMC_H
+#define _VLDXVMC_H
+
+#include <X11/Xlib.h>
+#include <X11/extensions/XvMC.h>
+
+/*
+ * New "Motion compensation type".
+ */
+
+#define XVMC_VLD 0x0020000
+
+/*
+ * Below Flags to be passed in the XvMCMpegControl structure 'flag' field.
+ */
+
+#define XVMC_PROGRESSIVE_SEQUENCE 0x00000010
+
+/*
+ * Zig-Zag Scan / Alternative Scan.
+ */
+
+#define XVMC_ZIG_ZAG_SCAN 0x00000000
+#define XVMC_ALTERNATE_SCAN 0x00000100
+
+/*
+ * Frame DCT and frame prediction are used. /
+ * Field prediction
+ */
+
+#define XVMC_PRED_DCT_FRAME 0x00000040
+#define XVMC_PRED_DCT_FIELD 0x00000000
+
+/*
+ * Top / Bottom field first
+ */
+
+#define XVMC_TOP_FIELD_FIRST 0x00000080
+#define XVMC_BOTTOM_FIELD_FIRST 0x00000000
+
+/*
+ * Motion vectors coded in intra macroblocks
+ */
+
+#define XVMC_CONCEALMENT_MOTION_VECTORS 0x00000200
+
+/*
+ * Which of two mappings between quantiser_scale_code
+ * and quantiser_scale shall apply.
+ */
+
+#define XVMC_Q_SCALE_TYPE 0x00000400
+
+/*
+ * Intra VLC Format: Bit = 0, Bit = 1
+ * Intra blocks B-14 B-15
+ * Non-intra blocks B-14 B-14
+ */
+#define XVMC_INTRA_VLC_FORMAT 0x00000800
+
+/*
+ * Also XVMC_SECOND_FIELD should be set in flags if active.
+ */
+
+#define XVMC_I_PICTURE 1
+#define XVMC_P_PICTURE 2
+#define XVMC_B_PICTURE 3
+
+typedef struct _XvMCMpegControl{
+ unsigned
+ BVMV_range, /* Backward vertical motion vector range */
+ BHMV_range, /* Backward horizontal motion vector range */
+ FVMV_range, /* Forward vertical motion vector range */
+ FHMV_range, /* Forward horizontal motion vector range */
+ picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD,
+ * XVMC_FRAME_PICTURE
+ */
+ intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */
+ picture_coding_type,/* XVMC_X_PICTURE */
+ mpeg_coding, /* XVMC_MPEG_2 */
+ flags; /* See above */
+}XvMCMpegControl;
+
+
+/*
+ * The following function is called BEFORE starting sending slices to the
+ * lib. It grabs the decoder hardware and prepares it for coming slices.
+ * The function XvMCSyncSurface will release the hardware for other contexts
+ * in addition to it's current functionality.
+ */
+
+extern Status XvMCBeginSurface(Display *display,
+ XvMCContext *context,
+ XvMCSurface *target_surface,
+ XvMCSurface *past_surface,
+ XvMCSurface *future_surface,
+ const XvMCMpegControl *control);
+
+
+/*
+ * The quantizer matrix structure. This should be filled in by the user and
+ * uploaded whenever a change is needed. The lib initializes with
+ * default matrices and will automatically load the hardware with new matrices
+ * on decoder context switches. To load data, set the corresponding load flag
+ * to true and fill in the values. The VIA MPEG2 engine only uses the
+ * intra_quantiser_matrix and the non_intra_quantiser_matrix.
+ */
+
+typedef struct _XvMCQMatrix {
+ int load_intra_quantiser_matrix;
+ int load_non_intra_quantiser_matrix;
+ int load_chroma_intra_quantiser_matrix;
+ int load_chroma_non_intra_quantiser_matrix;
+ unsigned char intra_quantiser_matrix[64];
+ unsigned char non_intra_quantiser_matrix[64];
+ unsigned char chroma_intra_quantiser_matrix[64];
+ unsigned char chroma_non_intra_quantiser_matrix[64];
+} XvMCQMatrix;
+
+/*
+ * Upload a XvMCQMatrix structure to the clientlib.
+ * The hardware will start using it the next XvMCBeginSurface.
+ */
+
+extern Status XvMCLoadQMatrix(Display *display, XvMCContext *context,
+ const XvMCQMatrix *qmx);
+
+
+/*
+ * Put a slice to the decoder. The hardware will start processing it
+ * immediately.
+ */
+
+extern Status XvMCPutSlice(Display *display,XvMCContext *context,
+ char *slice, int nBytes);
+/*
+ * Put a slice without the slice start code to the decoder.
+ * The hardware will start processing it
+ * immediately. This function is for client optimization.
+ * XvMCPutSlice(display,context,slice,nBytes) is equivalent to
+ * XvMCPutSlice2(display,context,slice+4,nBytes-4,slice[3]);
+ */
+
+extern Status XvMCPutSlice2(Display *display,XvMCContext *context,
+ char *slice, int nBytes, int sliceCode);
+
+#endif
diff --git a/videoproto/xv-protocol-v2.txt b/videoproto/xv-protocol-v2.txt
new file mode 100644
index 0000000..31e2013
--- /dev/null
+++ b/videoproto/xv-protocol-v2.txt
@@ -0,0 +1,654 @@
+
+
+
+
+
+
+
+
+
+ X Video Extension
+ Protocol Description
+
+ Version 2
+
+ 25-JUL-91
+
+ David Carver
+
+ Digital Equipment Corporation
+ Workstation Engineering/Project Athena
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
+ and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
+
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and its
+ documentation for any purpose and without fee is hereby granted, provided
+ that the above copyright notice appear in all copies and that both that
+ copyright notice and this permission notice appear in supporting
+ documentation, and that the names of Digital or MIT not be used in
+ advertising or publicity pertaining to distribution of the software
+ without specific, written prior permission.
+
+ DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+
+
+ Preface
+ -------
+
+ The following is an outline for an X video extension protocol. It
+ is preliminary and subject to change. My goal in writing this was
+ to fix some the shortcomings of existing overly simplistic
+ extensions while avoiding pitfalls in an overly complex extension.
+
+ Your feedback is desired, and since the major design directions
+ have been stable for some time, feel free to hammer on the details
+ of the protocol.
+
+ When you receive a revision of the document, refer to the changes
+ and issues sections to guide your review and analysis.
+
+
+ Acknowledgements
+ ---------------
+
+ The following people have made major contributions to the design of
+ the Xv protocol:
+
+ Branko Gerovac (DEC/Corporate Research)
+ Russ Sasnett (GTE/Project Athena)
+ Ralph Swick (DEC/Project Athena)
+
+ Many ideas and approaches in Xv were the product of discussions
+ with several groups, including
+
+ Project Athena's Visual Computing Group
+ The MIT X Consortium
+ The MIT Media Lab's Interactive Cinema Group
+
+
+
+ Changes
+ -------
+
+ From version 1.3 to 2.0
+
+ -- Changed SetPortControl and GetPortControl to GetPortAttribute
+ and SetPortAttribute.
+
+ -- Changed QueryBestSize
+
+ -- Simplified SelectVideoNotify and SelectPortNotify requests.
+
+ -- Changed the way SetPortControl and GetPortControl works.
+
+ -- Added a QueryExtension request to return the version and
+ revision information of the extension.
+
+ -- Changed the name of the QueryVideo request to QueryAdaptors;
+ Removed the list of encodings from QueryVideo and added a
+ QueryEncodings request.
+
+ -- Added a PortNotify event that notifies interested clients that
+ a port control has been changed.
+
+ -- Added SelectPortNotify request to select for PortNotify events.
+
+ -- The XvInterruped reason has been replaced by two new reasons:
+ one for when video is preempted by another video request and
+ one for when video is terminated because of hard transmission
+ or reception errors.
+
+ -- Changed the wording of the QueryBestSize request. Added issue
+ about whether or not returned sizes should maintain the
+ requested aspect ratio.
+
+
+
+ Introduction
+ ------------
+
+ Video technology is moving very quickly. Standards for processing
+ high resolution video are currently a hot topic of discussion
+ internationally, and it will soon be possible to process video
+ entirely within the digital domain. The Xv extension, however,
+ does not attempt to address issues of digital video. Its purpose
+ is to provide a mechanism for support of current and near term
+ interactive video technology.
+
+ It is somewhat ironic that Xv contains nothing particularly
+ innovative. It takes a minimalistic approach, and without a doubt
+ it could have been defined years ago, and with several revisions.
+ So, the life expectancy of Xv is not long. Nevertheless, it may
+ undergo further revision and experimentation that will help our
+ progress towards digital video systems.
+
+ One premise of the Xv extension is that the X server is not alone.
+ A separate video server is often used to manage other aspects of
+ video processing, though the partition between what the X server
+ does and what a video server does is a matter of great debate.
+
+
+ Model
+ -----
+
+ This extension models video monitor capabilities in the X Window
+ System. Some advanced monitors support the simultaneous display
+ of multiple video signals (into separate windows), and that is
+ prepresented here through the ability to display video from
+ multiple video input adaptors into X drawables.
+
+ Some monitors support multiple video encodings (mostly for
+ internationalization purposes) either through switches or
+ automatic detection, thus each video adaptor specifies the set of
+ encodings it supports.
+
+ The requests to display video from an adaptor into a drawable are
+ modeled after the core PutImage request, though extended to
+ support scaling and source clipping.
+
+ Video output is also supported and is symmetric with the video
+ input function, though fewer GC components are used.
+
+
+ Mechanism
+ ---------
+
+ The Xv extension does the following:
+
+ -- lists available video adaptors
+ -- identifies the number of ports each adaptor supports
+ -- describes what drawable formats each adaptor supports
+ -- describes what video encodings each adaptor supports
+ -- displays video from a port to a drawable
+ -- captures video from a drawable to a port
+ -- grabs and ungrabs ports
+ -- sets and gets port attributes
+ -- delivers event notification
+
+
+
+ Adaptors
+ --------
+
+ A display may have multiple video input and output adaptors. An
+ adaptor may support multiple simultaneously active ports, and in
+ some cases the number of ports has no fixed limit.
+
+ An input port receives encoded video data and converts it to a
+ stream of data used to update a drawable. An output port samples
+ data from a drawable and produces a stream of encoded video data.
+
+ The ADAPTORINFO structure is used to describe a video adaptor.
+
+ ADAPTORINFO:
+ [base-id: PORT
+ num-ports: CARD16
+ type: SETofADAPTORTYPE
+ formats: LISTofFORMAT
+ name: STRING]
+
+ ADAPTORTYPE: {Input, Output}
+
+ FORMAT:
+ [depth: CARD8
+ visual: VISUALID]
+
+ The base-id field specifies the XID of the first port of the
+ adaptor. The `num-ports' field specifies how many ports the
+ adaptor supports. The ports of the adaptor have XIDs in the range
+ [base-id..base-id + num-ports - 1]
+
+ The type attribute determines if the adaptor can process video
+ input, output, or input and output. The if the adaptor can
+ process input then Input is asserted, if the adaptor can process
+ output then Output is asserted.
+
+ The drawable depths and visual types supported by the adaptor are
+ listed in `formats'. Note: that when video is being processed for
+ pixmaps the visual format is taken to be the visual of the first
+ pair that matches the depth of the pixmap.
+
+ The name field contains an a vendor specific string that
+ identifies the adaptor.
+
+ It should be noted that the existence of separate adaptors doesn't
+ necessarily imply that simultaneous operation is supported.
+
+
+
+ Errors
+ ------
+
+ Port
+
+ A Port error is returned if any request names a PORT that does not
+ exist.
+
+
+ Encoding
+
+ An Encoding error is returned if any request names an ENCODINGID
+ that does not exist.
+
+
+
+
+ Query Requests
+ -------------------
+
+ QueryExtension
+ ==>
+ version: CARD16
+ revision: CARD16
+
+ The QueryExtension request returns the extension version and
+ revision numbers.
+
+
+ QueryAdaptors
+ win: WINDOW
+ ==>
+ adaptors: LISTofADAPTORINFO
+
+ The QueryAdaptors request returns the video adaptor information for
+ the screen of the specified window.
+
+ Errors: {Window}
+
+
+ QueryEncodings
+ port: PORT
+ ==>
+ encodings: LISTofENCODINGINFO
+
+ The QueryEncodings request returns the list of encodings supported
+ by the port adaptor. Use the SetPortAttribute request to set
+ which encoding a port is to process. The ENCODINGINFO record
+ describes an encoding:
+
+ ENCODINGINFO:
+ [encoding: ENCODINGID
+ name: STRING
+ width, height: CARD16
+ rate: FRACTION]
+
+ The `encoding' field identifies an encoding supported by a port.
+ Its value is unique for a screen. Width and height specify the
+ size of the video image and rate specifies the rate at which
+ fields of image information are encoded.
+
+ An encoding is identified by a string that names the encoding.
+ Encoding naming conventions need to be established (i.e.,
+ something along the lines of font naming, but simpler)
+
+ FRACTION
+ [numerator, denominator: INT32]
+
+ The FRACTION structure is used to specify a fractional number.
+
+ Errors: {Port}
+
+
+
+ Put Video Requests
+ ------------------
+
+ PutVideo
+ port: PORT
+ drawable: DRAWABLE
+ gc: GCONTEXT
+ vid-x, vid-y: INT16
+ vid-w, vid-h: CARD16
+ drw-x, drw-y: INT16
+ drw-w, drw-h: CARD16
+
+ The PutVideo request writes video into a drawable. The position
+ and size of the source rectangle is specified by vid-x, vid-y,
+ vid-w, and vid-h. The position and size of the destination
+ rectangle is specified by drw-x, drw-y, drw-w, drw-h.
+
+ Video data is clipped to the bounds of the video encoding, scaled
+ to the requested drawable region size (or the closest size
+ supported), and clipped to the bounds of the drawable.
+
+ If video is successfully initiated, a VideoNotify event with
+ detail Started is generated for the drawable. If the port is
+ already in use, its video is preempted, and if the new drawable is
+ different than the old, a VideoNotify event with detail Preempted
+ is generated for the old drawable. If the port is grabbed by
+ another client, this request is ignored, and a VideoNotify event
+ with detail Busy is generated for the drawable. If the port is
+ not receiving a valid video signal or if the video signal is
+ interrupted while video is active a VideoNotify event with detail
+ HardError is generated for the drawable.
+
+ GC components: subwindow-mode, clip-x-origin, clip-y-origin, clip-mask.
+
+ Errors: {Match, Value, GContext, Port, Alloc}
+
+
+ PutStill
+ port: PORT
+ drawable: DRAWABLE
+ gc: GCONTEXT
+ vid-x, vid-y: INT16
+ vid-w, vid-h: CARD16
+ drw-x, drw-y: INT16
+ drw-w, drw-h: CARD16
+
+ The PutStill request writes a single frame of video into a
+ drawable. The position and size of the source rectangle is
+ specified by vid-x, vid-y, vid-w, and vid-h. The position and
+ size of the destination rectangle is specified by drw-x, drw-y,
+ drw-w, drw-h.
+
+ Video data is clipped to the bounds of the video encoding, scaled
+ to the requested drawable region size (or the closest size
+ supported) and clipped to the bounds of the drawable.
+
+ If the port is grabbed by another client, this request is ignored,
+ and a VideoNotify event with detail Busy is generated for the
+ drawable. If the port is not receiving a valid video signal a
+ VideoNotify event with detail HardError is generated for the
+ drawable.
+
+ GC components: subwindow-mode, clip-x-origin, clip-y-origin, clip-mask.
+
+ Errors: {Match, Value, GContext, Port, Alloc}
+
+
+
+ Get Video Requests
+ ------------------
+
+ GetVideo
+ port: PORT
+ drawable: DRAWABLE
+ gc: GCONTEXT
+ vid-x, vid-y: INT16
+ vid-w, vid-h: CARD16
+ drw-x, drw-y: INT16
+ drw-w, drw-h: CARD16
+
+ The GetVideo request outputs video from a drawable. The position
+ and size of the destination rectangle is specified by vid-x,
+ vid-y, vid-w, and vid-h. The position and size of the source
+ rectangle is specified by drw-x, drw-y, drw-w, and drw-h.
+
+ Drawable data is clipped to the bounds of the drawable, scaled to
+ the requested video region size (or the closest size supported)
+ and clipped to the bounds of the video encoding. The contents of
+ any region not updated with drawable data is undefined.
+
+ If video is successfully initiated, a VideoNotify event with
+ detail Started is generated for the drawable. If the port is
+ already in use, its video is preempted, and if the new drawable is
+ different than the old, a VideoNotify event with detail Preempted
+ is generated for the old drawable. If the port is grabbed by
+ another client, this request is ignored, and a VideoNotify event
+ with detail Busy is generated for the drawable.
+
+ GC components: subwindow-mode, clip-x-origin, clip-y-origin,
+ clip-mask.
+
+ Errors: {Match, Value, GContext, Port, Alloc}
+
+
+ GetStill
+ port: PORT
+ drawable: DRAWABLE
+ gc: GCONTEXT
+ vid-x, vid-y: INT16
+ vid-w, vid-h: CARD16
+ drw-x, drw-y: INT16
+ drw-w, drw-h: CARD16
+
+ The GetStill request outputs video from a drawable. The position
+ and size of the destination rectangle is specified by vid-x,
+ vid-y, vid-w, and vid-h. The position and size of the source
+ rectangle is specified by drw-x, drw-y, drw-w, and drw-h.
+
+ Drawable data is clipped to the bounds of the drawable, scaled to
+ the requested video region size (or the closest size supported)
+ and clipped to the bounds of the video encoding. The contents of
+ any region not updated with drawable data is undefined.
+
+ If the still is successfully captured a VideoNotify event with
+ detail Still is generated for the drawable. If the port is
+ grabbed by another client, this request is ignored, and a
+ VideoNotify event with detail Busy is generated for the drawable.
+
+ GC components: subwindow-mode, clip-x-origin, clip-y-origin,
+ clip-mask.
+
+ Errors: {Match, Value, GContext, Port, Alloc}
+
+
+
+
+ Grab Requests
+ -------------
+
+ GrabPort
+ port: PORT
+ timestamp: {TIMESTAMP, CurrentTime}
+ ==>
+ status: {Success, AlreadyGrabbed, InvalidTime}
+
+ The GrabPort request grabs a port. While a port is grabbed, only
+ video requests from the grabbing client are permitted.
+
+ If timestamp specifies a time older than the current port time, a
+ status of InvalidTime is returned. If the port is already grabbed
+ by another client, a status of AlreadyGrabbed is returned.
+ Otherwise a status of Success is returned. The port time is
+ updated when the following requests are processed: GrabPort,
+ UngrabPort, PutVideo, PutStill, GetVideo, GetStill
+
+ If the port is actively processing video for another client, the
+ video is preempted, and an VideoNotify event with detail Preempted
+ is generated for its drawable.
+
+ Errors: {Port}
+
+
+ UngrabPort
+ port: PORT
+ timestamp: {TIMESTAMP, CurrentTime}
+
+ The UngrabPort request ungrabs a port. If timestamp specifies a
+ time before the last connection request time of this port, the
+ request is ignored.
+
+ Errors: {Port}
+
+
+
+ Other Requests
+ --------------
+
+ StopVideo
+ port: PORT
+ drawable: DRAWABLE
+
+ The StopVideo request stops active video for the specified port
+ and drawable. If the port isn't processing video, or if it is
+ processing video in a different drawable, the request is ignored.
+ When video is stopped a VideoNotify event with detail Stopped is
+ generated for the associated drawable.
+
+ Errors: {Drawable, Port}
+
+
+ SelectVideoNotify
+ drawable: DRAWABLE
+ onoff: BOOL
+
+ The SelectVideoNotify request enables or disables VideoNotify
+ event delivery to the requesting client. VideoNotify events are
+ generated when video starts and stops.
+
+ Errors: {Drawable}
+
+
+ SelectPortNotify
+ port: PORT
+ onoff: BOOL
+
+ The SelectPortNotify request enables or disables PortNotify event
+ delivery to the requesting client. PortNotify events are
+ generated when port attributes are changed using SetPortAttribute.
+
+ Errors: {Port}
+
+
+ QueryBestSize
+ port: PORT
+ motion: BOOL
+ vid-w, vid-h: CARD16
+ drw-w, drw-h: CARD16
+ ==>
+ actual-width, actual-height: CARD16
+
+ The QueryBestSize request returns, for the given source size and
+ desired destination size, the closest destination size that the
+ port adaptor supports. The returned size will be equal
+ or smaller than the requested size if one is supported. If motion
+ is True then the requested size is intended for use with full
+ motion video. If motion is False, the requested size is intended
+ for use with stills only.
+
+ The retuned size is also chosen to maintain the requested aspect ratio
+ if possible.
+
+ Errors: {Port}
+
+
+
+ SetPortAttribute
+ port: PORT
+ attribute: ATOM
+ value: INT32
+
+ The SetPortAttribute request sets the value of a port attribute.
+ The port attribute is identified by the attribute atom. The
+ following strings are guaranteed to generate valid atoms using the
+ InternAtom request.
+
+ String Type
+ -----------------------------------------------------------------
+
+ "XV_ENCODING" ENCODINGID
+ "XV_HUE" [-1000..1000]
+ "XV_SATURATION" [-1000..1000]
+ "XV_BRIGHTNESS" [-1000..1000]
+ "XV_CONTRAST" [-1000..1000]
+
+
+ If the given attribute doesn't match an attribute supported by the
+ port adaptor a Match error is generated. The supplied encoding
+ must be one of the encodings listed for the adaptor, otherwise an
+ Encoding error is generated.
+
+ If the adaptor doesn't support the exact hue, saturation,
+ brightness, and contrast levels supplied, the closest levels
+ supported are assumed. The GetPortAttribute request can be used
+ to query the resulting levels.
+
+ When a SetPortAttribute request is processed a PortNotify event is
+ generated for all clients that have requested port change
+ notification using SelectPortNotify.
+
+ Errors: {Port, Match, Value}
+
+
+ GetPortAttribute
+ port: PORT
+ attribute: ATOM
+ ==>
+ value: INT32
+
+
+ The GetPortAttribute request returns the current value of the
+ attribute identified by the given atom. If the given atom
+ doesn't match an attribute supported by the adaptor a Match
+ error is generated.
+
+ Errors: {Port, Match}
+
+
+
+ Events
+ ------
+
+ VideoNotify
+ drawable: DRAWABLE
+ port: PORT
+ reason: REASON
+ time: TIMESTAMP
+
+ REASON: {Started, Still, Stopped, Busy, Preempted, HardError}
+
+ A VideoNotify event is generated when video activity is started,
+ stopped, or unable to proceed in a drawable.
+
+ A Started reason is generated when video starts in a drawable.
+
+ A Stopped reason is generated when video is stopped in a
+ drawable upon request.
+
+ A Busy reason is generated when a put or get request cannot
+ proceed because the port is grabbed by another client.
+
+ A Preempted reason is generated when video is stopped by a
+ conflicting request.
+
+ A HardError reason is generated when the video port cannot
+ initiate or continue processing a video request because of an
+ underlying transmission or reception error.
+
+
+ PortNotify
+ port: PORT
+ attribute: ATOM
+ value: INT32
+ time: TIMESTAMP
+
+ The PortNotify event is generated when a SetPortAttribute request
+ is processed. The event is delivered to all clients that have
+ performed a SelectPortNotify request for the port. The event
+ contains the atom identifying the attribute that changed, and the
+ new value of that attribute.
diff --git a/windowswmproto/.gitignore b/windowswmproto/.gitignore
new file mode 100644
index 0000000..d51685f
--- /dev/null
+++ b/windowswmproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for windowswmproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/windowswmproto/COPYING b/windowswmproto/COPYING
new file mode 100644
index 0000000..55a98f7
--- /dev/null
+++ b/windowswmproto/COPYING
@@ -0,0 +1,23 @@
+Copyright (c) 2002 Apple Computer, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/windowswmproto/Makefile.am b/windowswmproto/Makefile.am
new file mode 100644
index 0000000..7143e0b
--- /dev/null
+++ b/windowswmproto/Makefile.am
@@ -0,0 +1,20 @@
+windowswmdir = $(includedir)/X11/extensions
+windowswm_HEADERS = \
+ windowswm.h \
+ windowswmstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = windowswmproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/windowswmproto/README b/windowswmproto/README
new file mode 100644
index 0000000..cd4ce14
--- /dev/null
+++ b/windowswmproto/README
@@ -0,0 +1,34 @@
+This module provides the definition of the WindowsWM extension to the
+X11 protocol, used for coordination between an X11 server and the
+Microsoft Windows native window manager.
+
+WindowsWM is only intended to be used on Cygwin when running a
+rootless XWin server.
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+or to the Cygwin/X project:
+
+ http://x.cygwin.com/
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/windowswmproto
+
+ http://cgit.freedesktop.org/xorg/proto/windowswmproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/windowswmproto/autogen.sh b/windowswmproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/windowswmproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/windowswmproto/configure.ac b/windowswmproto/configure.ac
new file mode 100644
index 0000000..12a72d6
--- /dev/null
+++ b/windowswmproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([WindowsWMProto], [1.0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ windowswmproto.pc])
diff --git a/windowswmproto/windowswm.h b/windowswmproto/windowswm.h
new file mode 100644
index 0000000..2c3379f
--- /dev/null
+++ b/windowswmproto/windowswm.h
@@ -0,0 +1,195 @@
+/*
+ * WindowsWM extension is based on AppleWM extension
+ * Authors: Kensuke Matsuzaki
+ */
+/**************************************************************************
+
+Copyright (c) 2002 Apple Computer, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+#ifndef _WINDOWSWM_H_
+#define _WINDOWSWM_H_
+
+#include <X11/Xfuncproto.h>
+
+#define X_WindowsWMQueryVersion 0
+#define X_WindowsWMFrameGetRect 1
+#define X_WindowsWMFrameDraw 2
+#define X_WindowsWMFrameSetTitle 3
+#define X_WindowsWMDisableUpdate 4
+#define X_WindowsWMReenableUpdate 5
+#define X_WindowsWMSelectInput 6
+#define X_WindowsWMSetFrontProcess 7
+
+/* Events */
+#define WindowsWMControllerNotify 0
+#define WindowsWMActivationNotify 1
+#define WindowsWMNumberEvents 2
+
+#define WindowsWMControllerNotifyMask (1L << 0)
+#define WindowsWMActivationNotifyMask (1L << 1)
+
+/* "Kinds" of ControllerNotify events */
+#define WindowsWMMinimizeWindow 0
+#define WindowsWMMaximizeWindow 1
+#define WindowsWMRestoreWindow 2
+#define WindowsWMCloseWindow 3
+#define WindowsWMBringAllToFront 4
+#define WindowsWMHideWindow 5
+#define WindowsWMMoveWindow 6
+#define WindowsWMResizeWindow 7
+#define WindowsWMActivateWindow 8
+
+/* "Kinds" of ActivationNotify events */
+#define WindowsWMIsActive 0
+#define WindowsWMIsInactive 1
+
+/* Errors */
+#define WindowsWMClientNotLocal 0
+#define WindowsWMOperationNotSupported 1
+#define WindowsWMNumberErrors (WindowsWMOperationNotSupported + 1)
+
+/* Possible value for frame_rect argument to XWindowsWMFrameGetRect() */
+#define WindowsWMFrameRectTitleBar 1
+#define WindowsWMFrameRectTracking 2
+#define WindowsWMFrameRectGrowBox 3
+
+/* Window frame styles */
+#define WindowsWMFrameStyleBorder 0x800000
+#define WindowsWMFrameStyleCaption 0xc00000
+#define WindowsWMFrameStyleChild 0x40000000
+#define WindowsWMFrameStyleChildWindow 0x40000000
+#define WindowsWMFrameStyleClipChildren 0x2000000
+#define WindowsWMFrameStyleClipSiblings 0x4000000
+#define WindowsWMFrameStyleDisabled 0x8000000
+#define WindowsWMFrameStyleDlgFrame 0x400000
+#define WindowsWMFrameStyleGroup 0x20000
+#define WindowsWMFrameStyleHScroll 0x100000
+#define WindowsWMFrameStyleIconic 0x20000000
+#define WindowsWMFrameStyleMaximize 0x1000000
+#define WindowsWMFrameStyleMaximizeBox 0x10000
+#define WindowsWMFrameStyleMinimize 0x20000000
+#define WindowsWMFrameStyleMinimizeBox 0x20000
+#define WindowsWMFrameStyleOverlapped 0
+#define WindowsWMFrameStyleOverlappedWindow 0xcf0000
+#define WindowsWMFrameStylePopup 0x80000000
+#define WindowsWMFrameStylePopupWindow 0x80880000
+#define WindowsWMFrameStyleSizeBox 0x40000
+#define WindowsWMFrameStyleSysMenu 0x80000
+#define WindowsWMFrameStyleTabStop 0x10000
+#define WindowsWMFrameStyleThickFrame 0x40000
+#define WindowsWMFrameStyleTiled 0
+#define WindowsWMFrameStyleTiledWindow 0xcf0000
+#define WindowsWMFrameStyleVisible 0x10000000
+#define WindowsWMFrameStyleVScroll 0x200000
+
+/* Window frame Ex-styles */
+#define WindowsWMFrameStyleExAcceptFiles 16
+#define WindowsWMFrameStyleExAppWindow 0x40000
+#define WindowsWMFrameStyleExClientEdge 512
+#define WindowsWMFrameStyleExComposited 0x2000000
+#define WindowsWMFrameStyleExContextHelp 0x400
+#define WindowsWMFrameStyleExControlParent 0x10000
+#define WindowsWMFrameStyleExDlgModalFrame 1
+#define WindowsWMFrameStyleExLayered 0x80000
+#define WindowsWMFrameStyleExLayoutRtl 0x400000
+#define WindowsWMFrameStyleExLeft 0
+#define WindowsWMFrameStyleExLeftScrollBar 0x4000
+#define WindowsWMFrameStyleExLtrReading 0
+#define WindowsWMFrameStyleExMDIChild 64
+#define WindowsWMFrameStyleExNoActivate 0x8000000
+#define WindowsWMFrameStyleExNoInheritLayout 0x100000
+#define WindowsWMFrameStyleExNoParentNotify 4
+#define WindowsWMFrameStyleExOverlappedWindow 0x300
+#define WindowsWMFrameStyleExPaletteWindow 0x188
+#define WindowsWMFrameStyleExRight 0x1000
+#define WindowsWMFrameStyleExRightScrollBar 0
+#define WindowsWMFrameStyleExRtlReading 0x2000
+#define WindowsWMFrameStyleExStaticEdge 0x20000
+#define WindowsWMFrameStyleExToolWindow 128
+#define WindowsWMFrameStyleExTopMost 8
+#define WindowsWMFrameStyleExTransparent 32
+#define WindowsWMFrameStyleExWindowEdge 256
+
+#define WINDOWSWM_RAISE_ON_CLICK "_WINDOWSWM_RAISE_ON_CLICK"
+#define WINDOWSWM_MOUSE_ACTIVATE "_WINDOWSWM_MOUSE_ACTIVATE"
+#define WINDOWSWM_CLIENT_WINDOW "_WINDOWSWM_CLIENT_WINDOW"
+#define WINDOWSWM_NATIVE_HWND "_WINDOWSWM_NATIVE_HWND"
+
+#ifndef _WINDOWSWM_SERVER_
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came frome a SendEvent request */
+ Display *display; /* Display the event was read from */
+ Window window; /* window of event */
+ Time time; /* server timestamp when event happened */
+ int kind; /* subtype of event */
+ int arg;
+ int x;
+ int y;
+ int w;
+ int h;
+} XWindowsWMNotifyEvent;
+
+_XFUNCPROTOBEGIN
+
+Bool XWindowsWMQueryExtension (Display *dpy, int *event_base, int *error_base);
+
+Bool XWindowsWMQueryVersion (Display *dpy, int *majorVersion,
+ int *minorVersion, int *patchVersion);
+
+Bool XWindowsWMDisableUpdate (Display *dpy, int screen);
+
+Bool XWindowsWMReenableUpdate (Display *dpy, int screen);
+
+Bool XWindowsWMSelectInput (Display *dpy, unsigned long mask);
+
+Bool XWindowsWMSetFrontProcess (Display *dpy);
+
+Bool XWindowsWMFrameGetRect (Display *dpy,
+ unsigned int frame_style,
+ unsigned int frame_style_ex,
+ unsigned int frame_rect,
+ short inner_x, short inner_y,
+ short inner_w, short inner_h,
+ short *ret_x, short *ret_y,
+ short *ret_w, short *ret_h);
+
+Bool XWindowsWMFrameDraw (Display *dpy, int screen, Window window,
+ unsigned int frame_style,
+ unsigned int frame_style_ex,
+ short inner_x, short inner_y,
+ short inner_w, short inner_h);
+
+Bool XWindowsWMFrameSetTitle (Display *dpy, int screen, Window window,
+ unsigned int title_length,
+ const char * title_bytes);
+
+_XFUNCPROTOEND
+
+#endif /* _WINDOWSWM_SERVER_ */
+#endif /* _WINDOWSWM_H_ */
diff --git a/windowswmproto/windowswmproto.pc.in b/windowswmproto/windowswmproto.pc.in
new file mode 100644
index 0000000..09f8a3a
--- /dev/null
+++ b/windowswmproto/windowswmproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: WindowsWMProto
+Description: WindowsWM extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/windowswmproto/windowswmstr.h b/windowswmproto/windowswmstr.h
new file mode 100644
index 0000000..37ceb53
--- /dev/null
+++ b/windowswmproto/windowswmstr.h
@@ -0,0 +1,169 @@
+/*
+ * WindowsWM extension is based on AppleWM extension
+ * Authors: Kensuke Matsuzaki
+ */
+/**************************************************************************
+
+Copyright (c) 2002 Apple Computer, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+#ifndef _WINDOWSWMSTR_H_
+#define _WINDOWSWMSTR_H_
+
+#include <X11/extensions/windowswm.h>
+#include <X11/X.h>
+#include <X11/Xmd.h>
+
+#define WINDOWSWMNAME "Windows-WM"
+
+#define WINDOWS_WM_MAJOR_VERSION 1 /* current version numbers */
+#define WINDOWS_WM_MINOR_VERSION 0
+#define WINDOWS_WM_PATCH_VERSION 0
+
+typedef struct _WindowsWMQueryVersion {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMQueryVersion */
+ CARD16 length B16;
+} xWindowsWMQueryVersionReq;
+#define sz_xWindowsWMQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of WM protocol */
+ CARD16 minorVersion B16; /* minor version of WM protocol */
+ CARD32 patchVersion B32; /* patch version of WM protocol */
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xWindowsWMQueryVersionReply;
+#define sz_xWindowsWMQueryVersionReply 32
+
+typedef struct _WindowsWMDisableUpdate {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMDisableUpdate */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xWindowsWMDisableUpdateReq;
+#define sz_xWindowsWMDisableUpdateReq 8
+
+typedef struct _WindowsWMReenableUpdate {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMReenableUpdate */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xWindowsWMReenableUpdateReq;
+#define sz_xWindowsWMReenableUpdateReq 8
+
+typedef struct _WindowsWMSelectInput {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMSelectInput */
+ CARD16 length B16;
+ CARD32 mask B32;
+} xWindowsWMSelectInputReq;
+#define sz_xWindowsWMSelectInputReq 8
+
+typedef struct _WindowsWMNotify {
+ BYTE type; /* always eventBase + event type */
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ Time time B32; /* time of change */
+ CARD16 pad1 B16;
+ CARD32 arg B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 w B16;
+ CARD16 h B16;
+} xWindowsWMNotifyEvent;
+#define sz_xWindowsWMNotifyEvent 28
+
+typedef struct _WindowsWMSetFrontProcess {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMSetFrontProcess */
+ CARD16 length B16;
+} xWindowsWMSetFrontProcessReq;
+#define sz_xWindowsWMSetFrontProcessReq 4
+
+typedef struct _WindowsWMFrameGetRect {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMFrameGetRect */
+ CARD16 length B16;
+ CARD32 frame_style B32;
+ CARD32 frame_style_ex B32;
+ CARD16 frame_rect B16;
+ INT16 ix B16;
+ INT16 iy B16;
+ CARD16 iw B16;
+ CARD16 ih B16;
+ CARD16 pad1 B16;
+} xWindowsWMFrameGetRectReq;
+#define sz_xWindowsWMFrameGetRectReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 w B16;
+ CARD16 h B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xWindowsWMFrameGetRectReply;
+#define sz_xWindowsWMFrameGetRectReply 32
+
+typedef struct _WindowsWMFrameDraw {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMFrameDraw */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 window B32;
+ CARD32 frame_style B32;
+ CARD32 frame_style_ex B32;
+ INT16 ix B16;
+ INT16 iy B16;
+ CARD16 iw B16;
+ CARD16 ih B16;
+} xWindowsWMFrameDrawReq;
+#define sz_xWindowsWMFrameDrawReq 28
+
+typedef struct _WindowsWMFrameSetTitle {
+ CARD8 reqType; /* always WMReqCode */
+ CARD8 wmReqType; /* always X_WMFrameSetTitle */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 window B32;
+ CARD32 title_length B32;
+} xWindowsWMFrameSetTitleReq;
+#define sz_xWindowsWMFrameSetTitleReq 16
+
+#endif /* _WINDOWSWMSTR_H_ */
diff --git a/x11proto/.gitignore b/x11proto/.gitignore
new file mode 100644
index 0000000..70368c0
--- /dev/null
+++ b/x11proto/.gitignore
@@ -0,0 +1,82 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for x11proto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
+Xfuncproto.h
+Xpoll.h
+do-not-use-config.h
+do-not-use-config.h.in
diff --git a/x11proto/AUTHORS b/x11proto/AUTHORS
new file mode 100644
index 0000000..1bfcc43
--- /dev/null
+++ b/x11proto/AUTHORS
@@ -0,0 +1,23 @@
+The architect of the X11 core protocol was Bob Scheifler of MIT LCS, with
+significant contributions from Jim Gettys, Phil Karlton and Scott
+McGregor of Digital, Dave Rosenthal of Sun, and many others of
+the xpert mailing list.
+
+The original sample server implementation of the X11 protocol was
+implemented by Phil Karlton and Susan Angebrandt doing the device
+independent part of the server, with Raymond Drewry and Todd Newman of
+Digital Equipment Corporation, doing the mi and original ddx
+implementation; their feedback was vital to a good design, along with
+that of the more than 100 alpha and beta testers who bravely tested
+the X11 core design.
+
+The X11 protocol library (Xlib) was built principally by Jim Gettys of
+Digital and MIT Project Athena, with assistance from Ron Newman of MIT
+Project Athena.
+
+Our thanks to those at MIT, Digital Equipment Corporation, Hewlett-Packard,
+IBM, and many others who had faith in us reimplementing X from first
+principles.
+
+If there are mistakes here, they are mine; entirely possible after
+over 15 years. - Jim Gettys
diff --git a/x11proto/COPYING b/x11proto/COPYING
new file mode 100644
index 0000000..e514d36
--- /dev/null
+++ b/x11proto/COPYING
@@ -0,0 +1,64 @@
+Copyright © 1991 Sun Microsystems, Inc. All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
diff --git a/x11proto/DECkeysym.h b/x11proto/DECkeysym.h
new file mode 100644
index 0000000..0730716
--- /dev/null
+++ b/x11proto/DECkeysym.h
@@ -0,0 +1,65 @@
+/***********************************************************
+
+Copyright 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * DEC private keysyms
+ * (29th bit set)
+ */
+
+/* two-key compose sequence initiators, chosen to map to Latin1 characters */
+
+#define DXK_ring_accent 0x1000FEB0
+#define DXK_circumflex_accent 0x1000FE5E
+#define DXK_cedilla_accent 0x1000FE2C
+#define DXK_acute_accent 0x1000FE27
+#define DXK_grave_accent 0x1000FE60
+#define DXK_tilde 0x1000FE7E
+#define DXK_diaeresis 0x1000FE22
+
+/* special keysym for LK2** "Remove" key on editing keypad */
+
+#define DXK_Remove 0x1000FF00 /* Remove */
diff --git a/x11proto/HPkeysym.h b/x11proto/HPkeysym.h
new file mode 100644
index 0000000..ed000b1
--- /dev/null
+++ b/x11proto/HPkeysym.h
@@ -0,0 +1,164 @@
+/*
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Hewlett Packard
+or Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+*/
+
+#ifndef _HPKEYSYM_H
+
+#define _HPKEYSYM
+
+#define hpXK_ClearLine 0x1000FF6F
+#define hpXK_InsertLine 0x1000FF70
+#define hpXK_DeleteLine 0x1000FF71
+#define hpXK_InsertChar 0x1000FF72
+#define hpXK_DeleteChar 0x1000FF73
+#define hpXK_BackTab 0x1000FF74
+#define hpXK_KP_BackTab 0x1000FF75
+#define hpXK_Modelock1 0x1000FF48
+#define hpXK_Modelock2 0x1000FF49
+#define hpXK_Reset 0x1000FF6C
+#define hpXK_System 0x1000FF6D
+#define hpXK_User 0x1000FF6E
+#define hpXK_mute_acute 0x100000A8
+#define hpXK_mute_grave 0x100000A9
+#define hpXK_mute_asciicircum 0x100000AA
+#define hpXK_mute_diaeresis 0x100000AB
+#define hpXK_mute_asciitilde 0x100000AC
+#define hpXK_lira 0x100000AF
+#define hpXK_guilder 0x100000BE
+#define hpXK_Ydiaeresis 0x100000EE
+#define hpXK_IO 0x100000EE
+#define hpXK_longminus 0x100000F6
+#define hpXK_block 0x100000FC
+
+
+#ifndef _OSF_Keysyms
+#define _OSF_Keysyms
+
+#define osfXK_Copy 0x1004FF02
+#define osfXK_Cut 0x1004FF03
+#define osfXK_Paste 0x1004FF04
+#define osfXK_BackTab 0x1004FF07
+#define osfXK_BackSpace 0x1004FF08
+#define osfXK_Clear 0x1004FF0B
+#define osfXK_Escape 0x1004FF1B
+#define osfXK_AddMode 0x1004FF31
+#define osfXK_PrimaryPaste 0x1004FF32
+#define osfXK_QuickPaste 0x1004FF33
+#define osfXK_PageLeft 0x1004FF40
+#define osfXK_PageUp 0x1004FF41
+#define osfXK_PageDown 0x1004FF42
+#define osfXK_PageRight 0x1004FF43
+#define osfXK_Activate 0x1004FF44
+#define osfXK_MenuBar 0x1004FF45
+#define osfXK_Left 0x1004FF51
+#define osfXK_Up 0x1004FF52
+#define osfXK_Right 0x1004FF53
+#define osfXK_Down 0x1004FF54
+#define osfXK_EndLine 0x1004FF57
+#define osfXK_BeginLine 0x1004FF58
+#define osfXK_EndData 0x1004FF59
+#define osfXK_BeginData 0x1004FF5A
+#define osfXK_PrevMenu 0x1004FF5B
+#define osfXK_NextMenu 0x1004FF5C
+#define osfXK_PrevField 0x1004FF5D
+#define osfXK_NextField 0x1004FF5E
+#define osfXK_Select 0x1004FF60
+#define osfXK_Insert 0x1004FF63
+#define osfXK_Undo 0x1004FF65
+#define osfXK_Menu 0x1004FF67
+#define osfXK_Cancel 0x1004FF69
+#define osfXK_Help 0x1004FF6A
+#define osfXK_SelectAll 0x1004FF71
+#define osfXK_DeselectAll 0x1004FF72
+#define osfXK_Reselect 0x1004FF73
+#define osfXK_Extend 0x1004FF74
+#define osfXK_Restore 0x1004FF78
+#define osfXK_Delete 0x1004FFFF
+
+#endif /* _OSF_Keysyms */
+
+
+/**************************************************************
+ * The use of the following macros is deprecated.
+ * They are listed below only for backwards compatibility.
+ */
+#define XK_Reset 0x1000FF6C
+#define XK_System 0x1000FF6D
+#define XK_User 0x1000FF6E
+#define XK_ClearLine 0x1000FF6F
+#define XK_InsertLine 0x1000FF70
+#define XK_DeleteLine 0x1000FF71
+#define XK_InsertChar 0x1000FF72
+#define XK_DeleteChar 0x1000FF73
+#define XK_BackTab 0x1000FF74
+#define XK_KP_BackTab 0x1000FF75
+#define XK_Ext16bit_L 0x1000FF76
+#define XK_Ext16bit_R 0x1000FF77
+#define XK_mute_acute 0x100000a8
+#define XK_mute_grave 0x100000a9
+#define XK_mute_asciicircum 0x100000aa
+#define XK_mute_diaeresis 0x100000ab
+#define XK_mute_asciitilde 0x100000ac
+#define XK_lira 0x100000af
+#define XK_guilder 0x100000be
+#ifndef XK_Ydiaeresis
+#define XK_Ydiaeresis 0x100000ee
+#endif
+#define XK_IO 0x100000ee
+#define XK_longminus 0x100000f6
+#define XK_block 0x100000fc
+
+#endif /* _HPKEYSYM_H */
diff --git a/x11proto/Makefile.am b/x11proto/Makefile.am
new file mode 100644
index 0000000..26b9995
--- /dev/null
+++ b/x11proto/Makefile.am
@@ -0,0 +1,47 @@
+xprotodir = $(includedir)/X11
+xproto_HEADERS = \
+ ap_keysym.h \
+ DECkeysym.h \
+ HPkeysym.h \
+ keysymdef.h \
+ keysym.h \
+ Sunkeysym.h \
+ Xalloca.h \
+ Xarch.h \
+ Xatom.h \
+ Xdefs.h \
+ XF86keysym.h \
+ Xfuncs.h \
+ X.h \
+ Xmd.h \
+ Xosdefs.h \
+ Xos.h \
+ Xos_r.h \
+ Xproto.h \
+ Xprotostr.h \
+ Xthreads.h \
+ Xw32defs.h \
+ XWDFile.h \
+ Xwindows.h \
+ Xwinsock.h
+
+nodist_xproto_HEADERS = \
+ Xfuncproto.h \
+ Xpoll.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
+
diff --git a/x11proto/README b/x11proto/README
new file mode 100644
index 0000000..f310ce8
--- /dev/null
+++ b/x11proto/README
@@ -0,0 +1,25 @@
+ X Window System Core Protocol
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/x11proto
+
+ http://cgit.freedesktop.org/xorg/proto/x11proto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/x11proto/Sunkeysym.h b/x11proto/Sunkeysym.h
new file mode 100644
index 0000000..87e7f11
--- /dev/null
+++ b/x11proto/Sunkeysym.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright © 1991 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+/************************************************************
+
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+***********************************************************/
+
+/*
+ * Floating Accent
+ */
+
+#define SunXK_FA_Grave 0x1005FF00
+#define SunXK_FA_Circum 0x1005FF01
+#define SunXK_FA_Tilde 0x1005FF02
+#define SunXK_FA_Acute 0x1005FF03
+#define SunXK_FA_Diaeresis 0x1005FF04
+#define SunXK_FA_Cedilla 0x1005FF05
+
+/*
+ * Miscellaneous Functions
+ */
+
+#define SunXK_F36 0x1005FF10 /* Labeled F11 */
+#define SunXK_F37 0x1005FF11 /* Labeled F12 */
+
+#define SunXK_Sys_Req 0x1005FF60
+#define SunXK_Print_Screen 0x0000FF61 /* Same as XK_Print */
+
+/*
+ * International & Multi-Key Character Composition
+ */
+
+#define SunXK_Compose 0x0000FF20 /* Same as XK_Multi_key */
+#define SunXK_AltGraph 0x0000FF7E /* Same as XK_Mode_switch */
+
+/*
+ * Cursor Control
+ */
+
+#define SunXK_PageUp 0x0000FF55 /* Same as XK_Prior */
+#define SunXK_PageDown 0x0000FF56 /* Same as XK_Next */
+
+/*
+ * Open Look Functions
+ */
+
+#define SunXK_Undo 0x0000FF65 /* Same as XK_Undo */
+#define SunXK_Again 0x0000FF66 /* Same as XK_Redo */
+#define SunXK_Find 0x0000FF68 /* Same as XK_Find */
+#define SunXK_Stop 0x0000FF69 /* Same as XK_Cancel */
+#define SunXK_Props 0x1005FF70
+#define SunXK_Front 0x1005FF71
+#define SunXK_Copy 0x1005FF72
+#define SunXK_Open 0x1005FF73
+#define SunXK_Paste 0x1005FF74
+#define SunXK_Cut 0x1005FF75
+
+#define SunXK_PowerSwitch 0x1005FF76
+#define SunXK_AudioLowerVolume 0x1005FF77
+#define SunXK_AudioMute 0x1005FF78
+#define SunXK_AudioRaiseVolume 0x1005FF79
+#define SunXK_VideoDegauss 0x1005FF7A
+#define SunXK_VideoLowerBrightness 0x1005FF7B
+#define SunXK_VideoRaiseBrightness 0x1005FF7C
+#define SunXK_PowerSwitchShift 0x1005FF7D
diff --git a/x11proto/X.h b/x11proto/X.h
new file mode 100644
index 0000000..5cf695d
--- /dev/null
+++ b/x11proto/X.h
@@ -0,0 +1,717 @@
+/* Definitions for the X window system likely to be used by applications */
+
+#ifndef X_H
+#define X_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#define X_PROTOCOL 11 /* current protocol version */
+#define X_PROTOCOL_REVISION 0 /* current minor version */
+
+/* Resources */
+
+/*
+ * _XSERVER64 must ONLY be defined when compiling X server sources on
+ * systems where unsigned long is not 32 bits, must NOT be used in
+ * client or library code.
+ */
+#ifndef _XSERVER64
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef unsigned long XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef unsigned long Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef unsigned long Atom; /* Also in Xdefs.h */
+# endif
+typedef unsigned long VisualID;
+typedef unsigned long Time;
+#else
+# include <X11/Xmd.h>
+# ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+typedef CARD32 XID;
+# endif
+# ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+typedef CARD32 Mask;
+# endif
+# ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+typedef CARD32 Atom;
+# endif
+typedef CARD32 VisualID;
+typedef CARD32 Time;
+#endif
+
+typedef XID Window;
+typedef XID Drawable;
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+typedef XID Pixmap;
+typedef XID Cursor;
+typedef XID Colormap;
+typedef XID GContext;
+typedef XID KeySym;
+
+typedef unsigned char KeyCode;
+
+/*****************************************************************
+ * RESERVED RESOURCE AND CONSTANT DEFINITIONS
+ *****************************************************************/
+
+#ifndef None
+#define None 0L /* universal null resource or null atom */
+#endif
+
+#define ParentRelative 1L /* background pixmap in CreateWindow
+ and ChangeWindowAttributes */
+
+#define CopyFromParent 0L /* border pixmap in CreateWindow
+ and ChangeWindowAttributes
+ special VisualID and special window
+ class passed to CreateWindow */
+
+#define PointerWindow 0L /* destination window in SendEvent */
+#define InputFocus 1L /* destination window in SendEvent */
+
+#define PointerRoot 1L /* focus window in SetInputFocus */
+
+#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
+
+#define AnyKey 0L /* special Key Code, passed to GrabKey */
+
+#define AnyButton 0L /* special Button Code, passed to GrabButton */
+
+#define AllTemporary 0L /* special Resource ID passed to KillClient */
+
+#define CurrentTime 0L /* special Time */
+
+#define NoSymbol 0L /* special KeySym */
+
+/*****************************************************************
+ * EVENT DEFINITIONS
+ *****************************************************************/
+
+/* Input Event Masks. Used as event-mask window attribute and as arguments
+ to Grab requests. Not to be confused with event names. */
+
+#define NoEventMask 0L
+#define KeyPressMask (1L<<0)
+#define KeyReleaseMask (1L<<1)
+#define ButtonPressMask (1L<<2)
+#define ButtonReleaseMask (1L<<3)
+#define EnterWindowMask (1L<<4)
+#define LeaveWindowMask (1L<<5)
+#define PointerMotionMask (1L<<6)
+#define PointerMotionHintMask (1L<<7)
+#define Button1MotionMask (1L<<8)
+#define Button2MotionMask (1L<<9)
+#define Button3MotionMask (1L<<10)
+#define Button4MotionMask (1L<<11)
+#define Button5MotionMask (1L<<12)
+#define ButtonMotionMask (1L<<13)
+#define KeymapStateMask (1L<<14)
+#define ExposureMask (1L<<15)
+#define VisibilityChangeMask (1L<<16)
+#define StructureNotifyMask (1L<<17)
+#define ResizeRedirectMask (1L<<18)
+#define SubstructureNotifyMask (1L<<19)
+#define SubstructureRedirectMask (1L<<20)
+#define FocusChangeMask (1L<<21)
+#define PropertyChangeMask (1L<<22)
+#define ColormapChangeMask (1L<<23)
+#define OwnerGrabButtonMask (1L<<24)
+
+/* Event names. Used in "type" field in XEvent structures. Not to be
+confused with event masks above. They start from 2 because 0 and 1
+are reserved in the protocol for errors and replies. */
+
+#define KeyPress 2
+#define KeyRelease 3
+#define ButtonPress 4
+#define ButtonRelease 5
+#define MotionNotify 6
+#define EnterNotify 7
+#define LeaveNotify 8
+#define FocusIn 9
+#define FocusOut 10
+#define KeymapNotify 11
+#define Expose 12
+#define GraphicsExpose 13
+#define NoExpose 14
+#define VisibilityNotify 15
+#define CreateNotify 16
+#define DestroyNotify 17
+#define UnmapNotify 18
+#define MapNotify 19
+#define MapRequest 20
+#define ReparentNotify 21
+#define ConfigureNotify 22
+#define ConfigureRequest 23
+#define GravityNotify 24
+#define ResizeRequest 25
+#define CirculateNotify 26
+#define CirculateRequest 27
+#define PropertyNotify 28
+#define SelectionClear 29
+#define SelectionRequest 30
+#define SelectionNotify 31
+#define ColormapNotify 32
+#define ClientMessage 33
+#define MappingNotify 34
+#define GenericEvent 35
+#define LASTEvent 36 /* must be bigger than any event # */
+
+
+/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
+ state in various key-, mouse-, and button-related events. */
+
+#define ShiftMask (1<<0)
+#define LockMask (1<<1)
+#define ControlMask (1<<2)
+#define Mod1Mask (1<<3)
+#define Mod2Mask (1<<4)
+#define Mod3Mask (1<<5)
+#define Mod4Mask (1<<6)
+#define Mod5Mask (1<<7)
+
+/* modifier names. Used to build a SetModifierMapping request or
+ to read a GetModifierMapping request. These correspond to the
+ masks defined above. */
+#define ShiftMapIndex 0
+#define LockMapIndex 1
+#define ControlMapIndex 2
+#define Mod1MapIndex 3
+#define Mod2MapIndex 4
+#define Mod3MapIndex 5
+#define Mod4MapIndex 6
+#define Mod5MapIndex 7
+
+
+/* button masks. Used in same manner as Key masks above. Not to be confused
+ with button names below. */
+
+#define Button1Mask (1<<8)
+#define Button2Mask (1<<9)
+#define Button3Mask (1<<10)
+#define Button4Mask (1<<11)
+#define Button5Mask (1<<12)
+
+#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
+
+
+/* button names. Used as arguments to GrabButton and as detail in ButtonPress
+ and ButtonRelease events. Not to be confused with button masks above.
+ Note that 0 is already defined above as "AnyButton". */
+
+#define Button1 1
+#define Button2 2
+#define Button3 3
+#define Button4 4
+#define Button5 5
+
+/* Notify modes */
+
+#define NotifyNormal 0
+#define NotifyGrab 1
+#define NotifyUngrab 2
+#define NotifyWhileGrabbed 3
+
+#define NotifyHint 1 /* for MotionNotify events */
+
+/* Notify detail */
+
+#define NotifyAncestor 0
+#define NotifyVirtual 1
+#define NotifyInferior 2
+#define NotifyNonlinear 3
+#define NotifyNonlinearVirtual 4
+#define NotifyPointer 5
+#define NotifyPointerRoot 6
+#define NotifyDetailNone 7
+
+/* Visibility notify */
+
+#define VisibilityUnobscured 0
+#define VisibilityPartiallyObscured 1
+#define VisibilityFullyObscured 2
+
+/* Circulation request */
+
+#define PlaceOnTop 0
+#define PlaceOnBottom 1
+
+/* protocol families */
+
+#define FamilyInternet 0 /* IPv4 */
+#define FamilyDECnet 1
+#define FamilyChaos 2
+#define FamilyInternet6 6 /* IPv6 */
+
+/* authentication families not tied to a specific protocol */
+#define FamilyServerInterpreted 5
+
+/* Property notification */
+
+#define PropertyNewValue 0
+#define PropertyDelete 1
+
+/* Color Map notification */
+
+#define ColormapUninstalled 0
+#define ColormapInstalled 1
+
+/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
+
+#define GrabModeSync 0
+#define GrabModeAsync 1
+
+/* GrabPointer, GrabKeyboard reply status */
+
+#define GrabSuccess 0
+#define AlreadyGrabbed 1
+#define GrabInvalidTime 2
+#define GrabNotViewable 3
+#define GrabFrozen 4
+
+/* AllowEvents modes */
+
+#define AsyncPointer 0
+#define SyncPointer 1
+#define ReplayPointer 2
+#define AsyncKeyboard 3
+#define SyncKeyboard 4
+#define ReplayKeyboard 5
+#define AsyncBoth 6
+#define SyncBoth 7
+
+/* Used in SetInputFocus, GetInputFocus */
+
+#define RevertToNone (int)None
+#define RevertToPointerRoot (int)PointerRoot
+#define RevertToParent 2
+
+/*****************************************************************
+ * ERROR CODES
+ *****************************************************************/
+
+#define Success 0 /* everything's okay */
+#define BadRequest 1 /* bad request code */
+#define BadValue 2 /* int parameter out of range */
+#define BadWindow 3 /* parameter not a Window */
+#define BadPixmap 4 /* parameter not a Pixmap */
+#define BadAtom 5 /* parameter not an Atom */
+#define BadCursor 6 /* parameter not a Cursor */
+#define BadFont 7 /* parameter not a Font */
+#define BadMatch 8 /* parameter mismatch */
+#define BadDrawable 9 /* parameter not a Pixmap or Window */
+#define BadAccess 10 /* depending on context:
+ - key/button already grabbed
+ - attempt to free an illegal
+ cmap entry
+ - attempt to store into a read-only
+ color map entry.
+ - attempt to modify the access control
+ list from other than the local host.
+ */
+#define BadAlloc 11 /* insufficient resources */
+#define BadColor 12 /* no such colormap */
+#define BadGC 13 /* parameter not a GC */
+#define BadIDChoice 14 /* choice not in range or already used */
+#define BadName 15 /* font or color name doesn't exist */
+#define BadLength 16 /* Request length incorrect */
+#define BadImplementation 17 /* server is defective */
+
+#define FirstExtensionError 128
+#define LastExtensionError 255
+
+/*****************************************************************
+ * WINDOW DEFINITIONS
+ *****************************************************************/
+
+/* Window classes used by CreateWindow */
+/* Note that CopyFromParent is already defined as 0 above */
+
+#define InputOutput 1
+#define InputOnly 2
+
+/* Window attributes for CreateWindow and ChangeWindowAttributes */
+
+#define CWBackPixmap (1L<<0)
+#define CWBackPixel (1L<<1)
+#define CWBorderPixmap (1L<<2)
+#define CWBorderPixel (1L<<3)
+#define CWBitGravity (1L<<4)
+#define CWWinGravity (1L<<5)
+#define CWBackingStore (1L<<6)
+#define CWBackingPlanes (1L<<7)
+#define CWBackingPixel (1L<<8)
+#define CWOverrideRedirect (1L<<9)
+#define CWSaveUnder (1L<<10)
+#define CWEventMask (1L<<11)
+#define CWDontPropagate (1L<<12)
+#define CWColormap (1L<<13)
+#define CWCursor (1L<<14)
+
+/* ConfigureWindow structure */
+
+#define CWX (1<<0)
+#define CWY (1<<1)
+#define CWWidth (1<<2)
+#define CWHeight (1<<3)
+#define CWBorderWidth (1<<4)
+#define CWSibling (1<<5)
+#define CWStackMode (1<<6)
+
+
+/* Bit Gravity */
+
+#define ForgetGravity 0
+#define NorthWestGravity 1
+#define NorthGravity 2
+#define NorthEastGravity 3
+#define WestGravity 4
+#define CenterGravity 5
+#define EastGravity 6
+#define SouthWestGravity 7
+#define SouthGravity 8
+#define SouthEastGravity 9
+#define StaticGravity 10
+
+/* Window gravity + bit gravity above */
+
+#define UnmapGravity 0
+
+/* Used in CreateWindow for backing-store hint */
+
+#define NotUseful 0
+#define WhenMapped 1
+#define Always 2
+
+/* Used in GetWindowAttributes reply */
+
+#define IsUnmapped 0
+#define IsUnviewable 1
+#define IsViewable 2
+
+/* Used in ChangeSaveSet */
+
+#define SetModeInsert 0
+#define SetModeDelete 1
+
+/* Used in ChangeCloseDownMode */
+
+#define DestroyAll 0
+#define RetainPermanent 1
+#define RetainTemporary 2
+
+/* Window stacking method (in configureWindow) */
+
+#define Above 0
+#define Below 1
+#define TopIf 2
+#define BottomIf 3
+#define Opposite 4
+
+/* Circulation direction */
+
+#define RaiseLowest 0
+#define LowerHighest 1
+
+/* Property modes */
+
+#define PropModeReplace 0
+#define PropModePrepend 1
+#define PropModeAppend 2
+
+/*****************************************************************
+ * GRAPHICS DEFINITIONS
+ *****************************************************************/
+
+/* graphics functions, as in GC.alu */
+
+#define GXclear 0x0 /* 0 */
+#define GXand 0x1 /* src AND dst */
+#define GXandReverse 0x2 /* src AND NOT dst */
+#define GXcopy 0x3 /* src */
+#define GXandInverted 0x4 /* NOT src AND dst */
+#define GXnoop 0x5 /* dst */
+#define GXxor 0x6 /* src XOR dst */
+#define GXor 0x7 /* src OR dst */
+#define GXnor 0x8 /* NOT src AND NOT dst */
+#define GXequiv 0x9 /* NOT src XOR dst */
+#define GXinvert 0xa /* NOT dst */
+#define GXorReverse 0xb /* src OR NOT dst */
+#define GXcopyInverted 0xc /* NOT src */
+#define GXorInverted 0xd /* NOT src OR dst */
+#define GXnand 0xe /* NOT src OR NOT dst */
+#define GXset 0xf /* 1 */
+
+/* LineStyle */
+
+#define LineSolid 0
+#define LineOnOffDash 1
+#define LineDoubleDash 2
+
+/* capStyle */
+
+#define CapNotLast 0
+#define CapButt 1
+#define CapRound 2
+#define CapProjecting 3
+
+/* joinStyle */
+
+#define JoinMiter 0
+#define JoinRound 1
+#define JoinBevel 2
+
+/* fillStyle */
+
+#define FillSolid 0
+#define FillTiled 1
+#define FillStippled 2
+#define FillOpaqueStippled 3
+
+/* fillRule */
+
+#define EvenOddRule 0
+#define WindingRule 1
+
+/* subwindow mode */
+
+#define ClipByChildren 0
+#define IncludeInferiors 1
+
+/* SetClipRectangles ordering */
+
+#define Unsorted 0
+#define YSorted 1
+#define YXSorted 2
+#define YXBanded 3
+
+/* CoordinateMode for drawing routines */
+
+#define CoordModeOrigin 0 /* relative to the origin */
+#define CoordModePrevious 1 /* relative to previous point */
+
+/* Polygon shapes */
+
+#define Complex 0 /* paths may intersect */
+#define Nonconvex 1 /* no paths intersect, but not convex */
+#define Convex 2 /* wholly convex */
+
+/* Arc modes for PolyFillArc */
+
+#define ArcChord 0 /* join endpoints of arc */
+#define ArcPieSlice 1 /* join endpoints to center of arc */
+
+/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
+ GC.stateChanges */
+
+#define GCFunction (1L<<0)
+#define GCPlaneMask (1L<<1)
+#define GCForeground (1L<<2)
+#define GCBackground (1L<<3)
+#define GCLineWidth (1L<<4)
+#define GCLineStyle (1L<<5)
+#define GCCapStyle (1L<<6)
+#define GCJoinStyle (1L<<7)
+#define GCFillStyle (1L<<8)
+#define GCFillRule (1L<<9)
+#define GCTile (1L<<10)
+#define GCStipple (1L<<11)
+#define GCTileStipXOrigin (1L<<12)
+#define GCTileStipYOrigin (1L<<13)
+#define GCFont (1L<<14)
+#define GCSubwindowMode (1L<<15)
+#define GCGraphicsExposures (1L<<16)
+#define GCClipXOrigin (1L<<17)
+#define GCClipYOrigin (1L<<18)
+#define GCClipMask (1L<<19)
+#define GCDashOffset (1L<<20)
+#define GCDashList (1L<<21)
+#define GCArcMode (1L<<22)
+
+#define GCLastBit 22
+/*****************************************************************
+ * FONTS
+ *****************************************************************/
+
+/* used in QueryFont -- draw direction */
+
+#define FontLeftToRight 0
+#define FontRightToLeft 1
+
+#define FontChange 255
+
+/*****************************************************************
+ * IMAGING
+ *****************************************************************/
+
+/* ImageFormat -- PutImage, GetImage */
+
+#define XYBitmap 0 /* depth 1, XYFormat */
+#define XYPixmap 1 /* depth == drawable depth */
+#define ZPixmap 2 /* depth == drawable depth */
+
+/*****************************************************************
+ * COLOR MAP STUFF
+ *****************************************************************/
+
+/* For CreateColormap */
+
+#define AllocNone 0 /* create map with no entries */
+#define AllocAll 1 /* allocate entire map writeable */
+
+
+/* Flags used in StoreNamedColor, StoreColors */
+
+#define DoRed (1<<0)
+#define DoGreen (1<<1)
+#define DoBlue (1<<2)
+
+/*****************************************************************
+ * CURSOR STUFF
+ *****************************************************************/
+
+/* QueryBestSize Class */
+
+#define CursorShape 0 /* largest size that can be displayed */
+#define TileShape 1 /* size tiled fastest */
+#define StippleShape 2 /* size stippled fastest */
+
+/*****************************************************************
+ * KEYBOARD/POINTER STUFF
+ *****************************************************************/
+
+#define AutoRepeatModeOff 0
+#define AutoRepeatModeOn 1
+#define AutoRepeatModeDefault 2
+
+#define LedModeOff 0
+#define LedModeOn 1
+
+/* masks for ChangeKeyboardControl */
+
+#define KBKeyClickPercent (1L<<0)
+#define KBBellPercent (1L<<1)
+#define KBBellPitch (1L<<2)
+#define KBBellDuration (1L<<3)
+#define KBLed (1L<<4)
+#define KBLedMode (1L<<5)
+#define KBKey (1L<<6)
+#define KBAutoRepeatMode (1L<<7)
+
+#define MappingSuccess 0
+#define MappingBusy 1
+#define MappingFailed 2
+
+#define MappingModifier 0
+#define MappingKeyboard 1
+#define MappingPointer 2
+
+/*****************************************************************
+ * SCREEN SAVER STUFF
+ *****************************************************************/
+
+#define DontPreferBlanking 0
+#define PreferBlanking 1
+#define DefaultBlanking 2
+
+#define DisableScreenSaver 0
+#define DisableScreenInterval 0
+
+#define DontAllowExposures 0
+#define AllowExposures 1
+#define DefaultExposures 2
+
+/* for ForceScreenSaver */
+
+#define ScreenSaverReset 0
+#define ScreenSaverActive 1
+
+/*****************************************************************
+ * HOSTS AND CONNECTIONS
+ *****************************************************************/
+
+/* for ChangeHosts */
+
+#define HostInsert 0
+#define HostDelete 1
+
+/* for ChangeAccessControl */
+
+#define EnableAccess 1
+#define DisableAccess 0
+
+/* Display classes used in opening the connection
+ * Note that the statically allocated ones are even numbered and the
+ * dynamically changeable ones are odd numbered */
+
+#define StaticGray 0
+#define GrayScale 1
+#define StaticColor 2
+#define PseudoColor 3
+#define TrueColor 4
+#define DirectColor 5
+
+
+/* Byte order used in imageByteOrder and bitmapBitOrder */
+
+#define LSBFirst 0
+#define MSBFirst 1
+
+#endif /* X_H */
diff --git a/x11proto/XF86keysym.h b/x11proto/XF86keysym.h
new file mode 100644
index 0000000..200f5c1
--- /dev/null
+++ b/x11proto/XF86keysym.h
@@ -0,0 +1,230 @@
+/*
+ * XFree86 vendor specific keysyms.
+ *
+ * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
+ *
+ * When adding new entries, the xc/lib/XKeysymDB file should also be
+ * updated to make the new entries visible to Xlib.
+ */
+
+/*
+ * ModeLock
+ *
+ * This one is old, and not really used any more since XKB offers this
+ * functionality.
+ */
+
+#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
+
+/*
+ * Note, 0x1008FF07 - 0x1008FF0F are free and should be used for misc new
+ * keysyms that don't fit into any of the groups below.
+ *
+ * 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used,
+ * and should be used first for new keysyms.
+ *
+ * Check in keysymdef.h for generic symbols before adding new XFree86-specific
+ * symbols here.
+ *
+ * X.Org will not be adding to the XF86 set of keysyms, though they have
+ * been adopted and are considered a "standard" part of X keysym definitions.
+ * XFree86 never properly commented these keysyms, so we have done our
+ * best to explain the semantic meaning of these keys.
+ *
+ * XFree86 has removed their mail archives of the period, that might have
+ * shed more light on some of these definitions. Until/unless we resurrect
+ * these archives, these are from memory and usage.
+ */
+
+
+/* Backlight controls. */
+#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
+#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
+#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
+#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
+
+/*
+ * Keys found on some "Internet" keyboards.
+ */
+#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
+#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
+#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
+#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
+#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
+#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
+#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
+#define XF86XK_AudioNext 0x1008FF17 /* Next track */
+#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
+#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
+#define XF86XK_Start 0x1008FF1A /* Start application */
+#define XF86XK_Search 0x1008FF1B /* Search */
+#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
+
+/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
+#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
+#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
+#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
+#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
+#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
+#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
+#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
+#define XF86XK_RockerDown 0x1008FF24 /* and down */
+#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
+
+/* Some more "Internet" keyboard symbols */
+#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
+#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
+#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
+#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
+#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
+#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
+#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
+#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
+#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
+#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
+#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
+#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
+#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
+#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
+#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
+#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
+#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
+#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
+#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
+#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
+#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
+#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
+#define XF86XK_Finance 0x1008FF3C /* Display financial site */
+#define XF86XK_Community 0x1008FF3D /* Display user's community */
+#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
+#define XF86XK_BackForward 0x1008FF3F /* ??? */
+#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
+#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
+#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
+#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
+#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
+#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
+#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
+#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
+#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
+#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
+#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
+#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
+#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
+#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
+#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
+#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
+
+#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
+#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
+#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
+#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
+#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
+#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
+#define XF86XK_Close 0x1008FF56 /* Close window */
+#define XF86XK_Copy 0x1008FF57 /* Copy selection */
+#define XF86XK_Cut 0x1008FF58 /* Cut selection */
+#define XF86XK_Display 0x1008FF59 /* Output switch key */
+#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
+#define XF86XK_Documents 0x1008FF5B /* Open documents window */
+#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
+#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
+#define XF86XK_Game 0x1008FF5E /* Launch game */
+#define XF86XK_Go 0x1008FF5F /* Go to URL */
+#define XF86XK_iTouch 0x1008FF60 /* Logitch iTouch- don't use */
+#define XF86XK_LogOff 0x1008FF61 /* Log off system */
+#define XF86XK_Market 0x1008FF62 /* ?? */
+#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
+#define XF86XK_MenuKB 0x1008FF65 /* distingush keyboard from PB */
+#define XF86XK_MenuPB 0x1008FF66 /* distinuish PB from keyboard */
+#define XF86XK_MySites 0x1008FF67 /* Favourites */
+#define XF86XK_New 0x1008FF68 /* New (folder, document... */
+#define XF86XK_News 0x1008FF69 /* News */
+#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
+#define XF86XK_Open 0x1008FF6B /* Open */
+#define XF86XK_Option 0x1008FF6C /* ?? */
+#define XF86XK_Paste 0x1008FF6D /* Paste */
+#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
+#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
+#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
+#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
+#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
+#define XF86XK_RotationPB 0x1008FF75 /* don't use */
+#define XF86XK_RotationKB 0x1008FF76 /* don't use */
+#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
+#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
+#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
+#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
+#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
+#define XF86XK_Spell 0x1008FF7C /* Spell checker */
+#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
+#define XF86XK_Support 0x1008FF7E /* Get support (??) */
+#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
+#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
+#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
+#define XF86XK_Travel 0x1008FF82 /* ?? */
+#define XF86XK_UserPB 0x1008FF84 /* ?? */
+#define XF86XK_User1KB 0x1008FF85 /* ?? */
+#define XF86XK_User2KB 0x1008FF86 /* ?? */
+#define XF86XK_Video 0x1008FF87 /* Launch video player */
+#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
+#define XF86XK_Word 0x1008FF89 /* Launch word processor */
+#define XF86XK_Xfer 0x1008FF8A
+#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
+#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
+
+#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
+#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
+#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
+#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
+#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
+#define XF86XK_Music 0x1008FF92 /* Launch music application */
+
+#define XF86XK_Battery 0x1008FF93 /* Display battery information */
+#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
+#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
+#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
+
+#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
+#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
+#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
+#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
+#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
+#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
+#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
+#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
+#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
+#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
+#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
+#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
+
+#define XF86XK_Red 0x1008FFA3 /* Red button */
+#define XF86XK_Green 0x1008FFA4 /* Green button */
+#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
+#define XF86XK_Blue 0x1008FFA6 /* Blue button */
+
+#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
+#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
+#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
+
+/* Keys for special action keys (hot keys) */
+/* Virtual terminals on some operating systems */
+#define XF86XK_Switch_VT_1 0x1008FE01
+#define XF86XK_Switch_VT_2 0x1008FE02
+#define XF86XK_Switch_VT_3 0x1008FE03
+#define XF86XK_Switch_VT_4 0x1008FE04
+#define XF86XK_Switch_VT_5 0x1008FE05
+#define XF86XK_Switch_VT_6 0x1008FE06
+#define XF86XK_Switch_VT_7 0x1008FE07
+#define XF86XK_Switch_VT_8 0x1008FE08
+#define XF86XK_Switch_VT_9 0x1008FE09
+#define XF86XK_Switch_VT_10 0x1008FE0A
+#define XF86XK_Switch_VT_11 0x1008FE0B
+#define XF86XK_Switch_VT_12 0x1008FE0C
+
+#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
+#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
+#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
+#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
+
diff --git a/x11proto/XWDFile.h b/x11proto/XWDFile.h
new file mode 100644
index 0000000..50e17df
--- /dev/null
+++ b/x11proto/XWDFile.h
@@ -0,0 +1,113 @@
+/*
+
+Copyright 1985, 1986, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/*
+ * XWDFile.h MIT Project Athena, X Window system window raster
+ * image dumper, dump file format header file.
+ *
+ * Author: Tony Della Fera, DEC
+ * 27-Jun-85
+ *
+ * Modifier: William F. Wyatt, SAO
+ * 18-Nov-86 - version 6 for saving/restoring color maps
+ */
+
+#ifndef XWDFILE_H
+#define XWDFILE_H
+
+#include <X11/Xmd.h>
+
+#define XWD_FILE_VERSION 7
+#define sz_XWDheader 100
+#define sz_XWDColor 12
+
+typedef CARD32 xwdval; /* for old broken programs */
+
+/* Values in the file are most significant byte first. */
+
+typedef struct _xwd_file_header {
+ /* header_size = SIZEOF(XWDheader) + length of null-terminated
+ * window name. */
+ CARD32 header_size B32;
+
+ CARD32 file_version B32; /* = XWD_FILE_VERSION above */
+ CARD32 pixmap_format B32; /* ZPixmap or XYPixmap */
+ CARD32 pixmap_depth B32; /* Pixmap depth */
+ CARD32 pixmap_width B32; /* Pixmap width */
+ CARD32 pixmap_height B32; /* Pixmap height */
+ CARD32 xoffset B32; /* Bitmap x offset, normally 0 */
+ CARD32 byte_order B32; /* of image data: MSBFirst, LSBFirst */
+
+ /* bitmap_unit applies to bitmaps (depth 1 format XY) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_unit B32;
+
+ CARD32 bitmap_bit_order B32; /* bitmaps only: MSBFirst, LSBFirst */
+
+ /* bitmap_pad applies to pixmaps (non-bitmaps) only.
+ * It is the number of bits that each scanline is padded to. */
+ CARD32 bitmap_pad B32;
+
+ CARD32 bits_per_pixel B32; /* Bits per pixel */
+
+ /* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
+ * or bitmap_pad (pixmaps). It is the delta (in bytes) to get
+ * to the same x position on an adjacent row. */
+ CARD32 bytes_per_line B32;
+ CARD32 visual_class B32; /* Class of colormap */
+ CARD32 red_mask B32; /* Z red mask */
+ CARD32 green_mask B32; /* Z green mask */
+ CARD32 blue_mask B32; /* Z blue mask */
+ CARD32 bits_per_rgb B32; /* Log2 of distinct color values */
+ CARD32 colormap_entries B32; /* Number of entries in colormap; not used? */
+ CARD32 ncolors B32; /* Number of XWDColor structures */
+ CARD32 window_width B32; /* Window width */
+ CARD32 window_height B32; /* Window height */
+ CARD32 window_x B32; /* Window upper left X coordinate */
+ CARD32 window_y B32; /* Window upper left Y coordinate */
+ CARD32 window_bdrwidth B32; /* Window border width */
+} XWDFileHeader;
+
+/* Null-terminated window name follows the above structure. */
+
+/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
+ * the file. XWDFileHeader.ncolors tells how many XWDColor structures
+ * there are.
+ */
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16;
+ CARD16 green B16;
+ CARD16 blue B16;
+ CARD8 flags;
+ CARD8 pad;
+} XWDColor;
+
+/* Last comes the image data in the format described by XWDFileHeader. */
+
+#endif /* XWDFILE_H */
+
diff --git a/x11proto/Xalloca.h b/x11proto/Xalloca.h
new file mode 100644
index 0000000..1919884
--- /dev/null
+++ b/x11proto/Xalloca.h
@@ -0,0 +1,121 @@
+/*
+
+Copyright 1995, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/*
+ * The purpose of this header is to define the macros ALLOCATE_LOCAL and
+ * DEALLOCATE_LOCAL appropriately for the platform being compiled on.
+ * These macros are used to make fast, function-local memory allocations.
+ * Their characteristics are as follows:
+ *
+ * void *ALLOCATE_LOCAL(int size)
+ * Returns a pointer to size bytes of memory, or NULL if the allocation
+ * failed. The memory must be freed with DEALLOCATE_LOCAL before the
+ * function that made the allocation returns. You should not ask for
+ * large blocks of memory with this function, since on many platforms
+ * the memory comes from the stack, which may have limited size.
+ *
+ * void DEALLOCATE_LOCAL(void *)
+ * Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
+ * step may be harmless on some platforms, but will result in
+ * memory leaks or worse on others.
+ *
+ * Before including this file, you should define two macros,
+ * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
+ * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
+ * header uses the fallbacks if it doesn't know a "better" way to define
+ * ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
+ *
+ * #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
+ * #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
+ * #include "Xalloca.h"
+ */
+
+#ifndef XALLOCA_H
+#define XALLOCA_H 1
+
+#ifndef INCLUDE_ALLOCA_H
+/* Need to add more here to match Imake *.cf's */
+# if defined(HAVE_ALLOCA_H) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+# define INCLUDE_ALLOCA_H
+# endif
+#endif
+
+#ifdef INCLUDE_ALLOCA_H
+# include <alloca.h>
+#endif
+
+#ifndef NO_ALLOCA
+/*
+ * os-dependent definition of local allocation and deallocation
+ * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
+ * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
+ */
+
+
+# ifdef __GNUC__
+# ifndef alloca
+# define alloca __builtin_alloca
+# endif /* !alloca */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# else /* ! __GNUC__ */
+
+/*
+ * warning: old mips alloca (pre 2.10) is unusable, new one is built in
+ * Test is easy, the new one is named __builtin_alloca and comes
+ * from alloca.h which #defines alloca.
+ */
+# if defined(__sun) || defined(alloca)
+/*
+ * Some System V boxes extract alloca.o from /lib/libPW.a; if you
+ * decide that you don't want to use alloca, you might want to fix it here.
+ */
+/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
+# if !defined(__cplusplus)
+# define __Xnullarg /* as nothing */
+ extern void *alloca(__Xnullarg);
+# endif
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# endif /* who does alloca */
+# endif /* __GNUC__ */
+
+#endif /* NO_ALLOCA */
+
+#if !defined(ALLOCATE_LOCAL)
+# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
+# else /* no fallbacks supplied; error */
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
+# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
+#else
+# if !defined(DEALLOCATE_LOCAL)
+# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
+# endif
+#endif /* defined(ALLOCATE_LOCAL) */
+
+#endif /* XALLOCA_H */
diff --git a/x11proto/Xarch.h b/x11proto/Xarch.h
new file mode 100644
index 0000000..58fb9a5
--- /dev/null
+++ b/x11proto/Xarch.h
@@ -0,0 +1,93 @@
+#ifndef _XARCH_H_
+# define _XARCH_H_
+
+/*
+ * Copyright 1997 Metro Link Incorporated
+ *
+ * All Rights Reserved
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the names of the above listed copyright holder(s)
+ * not be used in advertising or publicity pertaining to distribution of
+ * the software without specific, written prior permission. The above listed
+ * copyright holder(s) make(s) no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express or
+ * implied warranty.
+ *
+ * THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE
+ * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+
+/*
+ * Determine the machine's byte order.
+ */
+
+/* See if it is set in the imake config first */
+# ifdef X_BYTE_ORDER
+
+# define X_BIG_ENDIAN 4321
+# define X_LITTLE_ENDIAN 1234
+
+# else
+
+# if defined(SVR4) || defined(__SVR4)
+# include <sys/byteorder.h>
+# elif defined(CSRG_BASED)
+# if defined(__NetBSD__) || defined(__OpenBSD__)
+# include <sys/types.h>
+# endif
+# include <machine/endian.h>
+# elif defined(linux)
+# if defined __STRICT_ANSI__
+# undef __STRICT_ANSI__
+# include <endian.h>
+# define __STRICT_ANSI__
+# else
+# include <endian.h>
+# endif
+/* 'endian.h' might have been included before 'Xarch.h' */
+# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
+# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# endif
+# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
+# define BIG_ENDIAN __BIG_ENDIAN
+# endif
+# if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
+# define PDP_ENDIAN __PDP_ENDIAN
+# endif
+# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
+# define BYTE_ORDER __BYTE_ORDER
+# endif
+# endif
+
+# ifndef BYTE_ORDER
+# define LITTLE_ENDIAN 1234
+# define BIG_ENDIAN 4321
+
+# if defined(__sun) && defined(__SVR4)
+# include <sys/isa_defs.h>
+# ifdef _LITTLE_ENDIAN
+# define BYTE_ORDER LITTLE_ENDIAN
+# endif
+# ifdef _BIG_ENDIAN
+# define BYTE_ORDER BIG_ENDIAN
+# endif
+# endif /* sun */
+# endif /* BYTE_ORDER */
+
+# define X_BYTE_ORDER BYTE_ORDER
+# define X_BIG_ENDIAN BIG_ENDIAN
+# define X_LITTLE_ENDIAN LITTLE_ENDIAN
+
+# endif /* not in imake config */
+
+#endif /* _XARCH_H_ */
diff --git a/x11proto/Xatom.h b/x11proto/Xatom.h
new file mode 100644
index 0000000..485a423
--- /dev/null
+++ b/x11proto/Xatom.h
@@ -0,0 +1,79 @@
+#ifndef XATOM_H
+#define XATOM_H 1
+
+/* THIS IS A GENERATED FILE
+ *
+ * Do not change! Changing this file implies a protocol change!
+ */
+
+#define XA_PRIMARY ((Atom) 1)
+#define XA_SECONDARY ((Atom) 2)
+#define XA_ARC ((Atom) 3)
+#define XA_ATOM ((Atom) 4)
+#define XA_BITMAP ((Atom) 5)
+#define XA_CARDINAL ((Atom) 6)
+#define XA_COLORMAP ((Atom) 7)
+#define XA_CURSOR ((Atom) 8)
+#define XA_CUT_BUFFER0 ((Atom) 9)
+#define XA_CUT_BUFFER1 ((Atom) 10)
+#define XA_CUT_BUFFER2 ((Atom) 11)
+#define XA_CUT_BUFFER3 ((Atom) 12)
+#define XA_CUT_BUFFER4 ((Atom) 13)
+#define XA_CUT_BUFFER5 ((Atom) 14)
+#define XA_CUT_BUFFER6 ((Atom) 15)
+#define XA_CUT_BUFFER7 ((Atom) 16)
+#define XA_DRAWABLE ((Atom) 17)
+#define XA_FONT ((Atom) 18)
+#define XA_INTEGER ((Atom) 19)
+#define XA_PIXMAP ((Atom) 20)
+#define XA_POINT ((Atom) 21)
+#define XA_RECTANGLE ((Atom) 22)
+#define XA_RESOURCE_MANAGER ((Atom) 23)
+#define XA_RGB_COLOR_MAP ((Atom) 24)
+#define XA_RGB_BEST_MAP ((Atom) 25)
+#define XA_RGB_BLUE_MAP ((Atom) 26)
+#define XA_RGB_DEFAULT_MAP ((Atom) 27)
+#define XA_RGB_GRAY_MAP ((Atom) 28)
+#define XA_RGB_GREEN_MAP ((Atom) 29)
+#define XA_RGB_RED_MAP ((Atom) 30)
+#define XA_STRING ((Atom) 31)
+#define XA_VISUALID ((Atom) 32)
+#define XA_WINDOW ((Atom) 33)
+#define XA_WM_COMMAND ((Atom) 34)
+#define XA_WM_HINTS ((Atom) 35)
+#define XA_WM_CLIENT_MACHINE ((Atom) 36)
+#define XA_WM_ICON_NAME ((Atom) 37)
+#define XA_WM_ICON_SIZE ((Atom) 38)
+#define XA_WM_NAME ((Atom) 39)
+#define XA_WM_NORMAL_HINTS ((Atom) 40)
+#define XA_WM_SIZE_HINTS ((Atom) 41)
+#define XA_WM_ZOOM_HINTS ((Atom) 42)
+#define XA_MIN_SPACE ((Atom) 43)
+#define XA_NORM_SPACE ((Atom) 44)
+#define XA_MAX_SPACE ((Atom) 45)
+#define XA_END_SPACE ((Atom) 46)
+#define XA_SUPERSCRIPT_X ((Atom) 47)
+#define XA_SUPERSCRIPT_Y ((Atom) 48)
+#define XA_SUBSCRIPT_X ((Atom) 49)
+#define XA_SUBSCRIPT_Y ((Atom) 50)
+#define XA_UNDERLINE_POSITION ((Atom) 51)
+#define XA_UNDERLINE_THICKNESS ((Atom) 52)
+#define XA_STRIKEOUT_ASCENT ((Atom) 53)
+#define XA_STRIKEOUT_DESCENT ((Atom) 54)
+#define XA_ITALIC_ANGLE ((Atom) 55)
+#define XA_X_HEIGHT ((Atom) 56)
+#define XA_QUAD_WIDTH ((Atom) 57)
+#define XA_WEIGHT ((Atom) 58)
+#define XA_POINT_SIZE ((Atom) 59)
+#define XA_RESOLUTION ((Atom) 60)
+#define XA_COPYRIGHT ((Atom) 61)
+#define XA_NOTICE ((Atom) 62)
+#define XA_FONT_NAME ((Atom) 63)
+#define XA_FAMILY_NAME ((Atom) 64)
+#define XA_FULL_NAME ((Atom) 65)
+#define XA_CAP_HEIGHT ((Atom) 66)
+#define XA_WM_CLASS ((Atom) 67)
+#define XA_WM_TRANSIENT_FOR ((Atom) 68)
+
+#define XA_LAST_PREDEFINED ((Atom) 68)
+#endif /* XATOM_H */
diff --git a/x11proto/Xdefs.h b/x11proto/Xdefs.h
new file mode 100644
index 0000000..46ffdad
--- /dev/null
+++ b/x11proto/Xdefs.h
@@ -0,0 +1,108 @@
+/***********************************************************
+
+Copyright (c) 1999 The XFree86 Project Inc.
+
+All Rights Reserved.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The XFree86 Project
+Inc. shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from The XFree86 Project Inc..
+
+*/
+
+/**
+ ** Types definitions shared between server and clients
+ **/
+
+#ifndef _XDEFS_H
+#define _XDEFS_H
+
+#ifdef _XSERVER64
+#include <X11/Xmd.h>
+#endif
+
+#ifndef _XTYPEDEF_ATOM
+# define _XTYPEDEF_ATOM
+# ifndef _XSERVER64
+typedef unsigned long Atom;
+# else
+typedef CARD32 Atom;
+# endif
+#endif
+
+#ifndef Bool
+# ifndef _XTYPEDEF_BOOL
+# define _XTYPEDEF_BOOL
+typedef int Bool;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_POINTER
+# define _XTYPEDEF_POINTER
+typedef void *pointer;
+#endif
+
+#ifndef _XTYPEDEF_CLIENTPTR
+typedef struct _Client *ClientPtr;
+# define _XTYPEDEF_CLIENTPTR
+#endif
+
+#ifndef _XTYPEDEF_XID
+# define _XTYPEDEF_XID
+# ifndef _XSERVER64
+typedef unsigned long XID;
+# else
+typedef CARD32 XID;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_MASK
+# define _XTYPEDEF_MASK
+# ifndef _XSERVER64
+typedef unsigned long Mask;
+# else
+typedef CARD32 Mask;
+# endif
+#endif
+
+#ifndef _XTYPEDEF_FONTPTR
+# define _XTYPEDEF_FONTPTR
+typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
+#endif
+
+#ifndef _XTYPEDEF_FONT
+# define _XTYPEDEF_FONT
+typedef XID Font;
+#endif
+
+#ifndef _XTYPEDEF_FSID
+# ifndef _XSERVER64
+typedef unsigned long FSID;
+# else
+typedef CARD32 FSID;
+# endif
+#endif
+
+typedef FSID AccContext;
+
+/* OS independent time value
+ XXX Should probably go in Xos.h */
+typedef struct timeval **OSTimePtr;
+
+
+typedef void (* BlockHandlerProcPtr)(pointer /* blockData */,
+ OSTimePtr /* pTimeout */,
+ pointer /* pReadmask */);
+
+#endif
diff --git a/x11proto/Xfuncproto.h.in b/x11proto/Xfuncproto.h.in
new file mode 100644
index 0000000..96a585c
--- /dev/null
+++ b/x11proto/Xfuncproto.h.in
@@ -0,0 +1,126 @@
+/*
+ *
+Copyright 1989, 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+
+/* Definitions to make function prototypes manageable */
+
+#ifndef _XFUNCPROTO_H_
+#define _XFUNCPROTO_H_
+
+#ifndef NeedFunctionPrototypes
+#define NeedFunctionPrototypes 1
+#endif /* NeedFunctionPrototypes */
+
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes 1
+#endif /* NeedVarargsPrototypes */
+
+#if NeedFunctionPrototypes
+
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes 1
+#endif /* NeedNestedPrototypes */
+
+#ifndef _Xconst
+#define _Xconst const
+#endif /* _Xconst */
+
+/* Function prototype configuration (see configure for more info) */
+#ifndef NARROWPROTO
+#undef NARROWPROTO
+#endif
+#ifndef FUNCPROTO
+#undef FUNCPROTO
+#endif
+
+#ifndef NeedWidePrototypes
+#ifdef NARROWPROTO
+#define NeedWidePrototypes 0
+#else
+#define NeedWidePrototypes 1 /* default to make interropt. easier */
+#endif
+#endif /* NeedWidePrototypes */
+
+#endif /* NeedFunctionPrototypes */
+
+#ifndef _XFUNCPROTOBEGIN
+#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
+#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
+#define _XFUNCPROTOEND }
+#else
+#define _XFUNCPROTOBEGIN
+#define _XFUNCPROTOEND
+#endif
+#endif /* _XFUNCPROTOBEGIN */
+
+#if defined(__GNUC__) && (__GNUC__ >= 4)
+# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
+# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
+#else
+# define _X_SENTINEL(x)
+# define _X_ATTRIBUTE_PRINTF(x,y)
+#endif /* GNUC >= 4 */
+
+#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__CYGWIN__)
+# define _X_EXPORT __attribute__((visibility("default")))
+# define _X_HIDDEN __attribute__((visibility("hidden")))
+# define _X_INTERNAL __attribute__((visibility("internal")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_EXPORT __global
+# define _X_HIDDEN __hidden
+# define _X_INTERNAL __hidden
+#else /* not gcc >= 4 and not Sun Studio >= 8 */
+# define _X_EXPORT
+# define _X_HIDDEN
+# define _X_INTERNAL
+#endif /* GNUC >= 4 */
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
+# define _X_LIKELY(x) __builtin_expect(!!(x), 1)
+# define _X_UNLIKELY(x) __builtin_expect(!!(x), 0)
+# define _X_INLINE inline
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+# define _X_LIKELY(x) (x)
+# define _X_UNLIKELY(x) (x)
+# define _X_INLINE inline
+#else /* not gcc >= 3.3 and not Sun Studio >= 8 */
+# define _X_LIKELY(x) (x)
+# define _X_UNLIKELY(x) (x)
+# define _X_INLINE
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)
+# define _X_DEPRECATED __attribute__((deprecated))
+#else /* not gcc >= 3.1 */
+# define _X_DEPRECATED
+#endif
+
+#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)
+# define _X_NORETURN __attribute((noreturn))
+#else
+# define _X_NORETURN
+#endif /* GNUC */
+
+#endif /* _XFUNCPROTO_H_ */
diff --git a/x11proto/Xfuncs.h b/x11proto/Xfuncs.h
new file mode 100644
index 0000000..354b663
--- /dev/null
+++ b/x11proto/Xfuncs.h
@@ -0,0 +1,69 @@
+/*
+ *
+Copyright 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ */
+
+#ifndef _XFUNCS_H_
+# define _XFUNCS_H_
+
+# include <X11/Xosdefs.h>
+
+/* the old Xfuncs.h, for pre-R6 */
+# if !(defined(XFree86LOADER) && defined(IN_MODULE))
+
+# ifdef X_USEBFUNCS
+void bcopy();
+void bzero();
+int bcmp();
+# else
+# if defined(SYSV) && !defined(__SCO__) && !defined(__sun) && !defined(__UNIXWARE__)
+# include <memory.h>
+void bcopy();
+# define bzero(b,len) memset(b, 0, len)
+# define bcmp(b1,b2,len) memcmp(b1, b2, len)
+# else
+# include <string.h>
+# if defined(__SCO__) || defined(__sun) || defined(__UNIXWARE__)
+# include <strings.h>
+# endif
+# define _XFUNCS_H_INCLUDED_STRING_H
+# endif
+# endif /* X_USEBFUNCS */
+
+/* the new Xfuncs.h */
+
+/* the ANSI C way */
+# ifndef _XFUNCS_H_INCLUDED_STRING_H
+# include <string.h>
+# endif
+# undef bzero
+# define bzero(b,len) memset(b,0,len)
+
+# if defined WIN32 && defined __MINGW32__
+# define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
+# endif
+
+# endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */
+
+#endif /* _XFUNCS_H_ */
diff --git a/x11proto/Xmd.h b/x11proto/Xmd.h
new file mode 100644
index 0000000..f3868b3
--- /dev/null
+++ b/x11proto/Xmd.h
@@ -0,0 +1,185 @@
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#ifndef XMD_H
+# define XMD_H 1
+/*
+ * Xmd.h: MACHINE DEPENDENT DECLARATIONS.
+ */
+
+/*
+ * Special per-machine configuration flags.
+ */
+# if defined(__sun) && defined(__SVR4)
+# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */
+# endif
+
+# if defined (_LP64) || defined(__LP64__) || \
+ defined(__alpha) || defined(__alpha__) || \
+ defined(__ia64__) || defined(ia64) || \
+ defined(__sparc64__) || \
+ defined(__s390x__) || \
+ defined(__amd64__) || defined(amd64) || \
+ defined(__powerpc64__)
+# define LONG64 /* 32/64-bit architecture */
+# endif
+
+/*
+ * Stuff to handle large architecture machines; the constants were generated
+ * on a 32-bit machine and must correspond to the protocol.
+ */
+# ifdef WORD64
+# define MUSTCOPY
+# endif /* WORD64 */
+
+
+/*
+ * Definition of macro used to set constants for size of network structures;
+ * machines with preprocessors that can't handle all of the sz_ symbols
+ * can define this macro to be sizeof(x) if and only if their compiler doesn't
+ * pad out structures (esp. the xTextElt structure which contains only two
+ * one-byte fields). Network structures should always define sz_symbols.
+ *
+ * The sz_ prefix is used instead of something more descriptive so that the
+ * symbols are no more than 32 characters long (which causes problems for some
+ * compilers and preprocessors).
+ *
+ * The extra indirection is to get macro arguments to expand correctly before
+ * the concatenation, rather than afterward.
+ */
+# define _SIZEOF(x) sz_##x
+# define SIZEOF(x) _SIZEOF(x)
+
+/*
+ * Bitfield suffixes for the protocol structure elements, if you
+ * need them. Note that bitfields are not guaranteed to be signed
+ * (or even unsigned) according to ANSI C.
+ */
+# ifdef WORD64
+typedef long INT64;
+typedef unsigned long CARD64;
+# define B32 :32
+# define B16 :16
+# ifdef UNSIGNEDBITFIELDS
+typedef unsigned int INT32;
+typedef unsigned int INT16;
+# else
+typedef signed int INT32;
+typedef signed int INT16;
+# endif
+# else
+# define B32
+# define B16
+# ifdef LONG64
+typedef long INT64;
+typedef int INT32;
+# else
+typedef long INT32;
+# endif
+typedef short INT16;
+# endif
+
+typedef signed char INT8;
+
+# ifdef LONG64
+typedef unsigned long CARD64;
+typedef unsigned int CARD32;
+# else
+typedef unsigned long CARD32;
+# endif
+# if !defined(WORD64) && !defined(LONG64)
+typedef unsigned long long CARD64;
+# endif
+typedef unsigned short CARD16;
+typedef unsigned char CARD8;
+
+typedef CARD32 BITS32;
+typedef CARD16 BITS16;
+
+typedef CARD8 BYTE;
+typedef CARD8 BOOL;
+
+/*
+ * definitions for sign-extending bitfields on 64-bit architectures
+ */
+# if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
+# define cvtINT8toInt(val) (((val) & 0x00000080) ? ((val) | 0xffffffffffffff00) : (val))
+# define cvtINT16toInt(val) (((val) & 0x00008000) ? ((val) | 0xffffffffffff0000) : (val))
+# define cvtINT32toInt(val) (((val) & 0x80000000) ? ((val) | 0xffffffff00000000) : (val))
+# define cvtINT8toShort(val) cvtINT8toInt(val)
+# define cvtINT16toShort(val) cvtINT16toInt(val)
+# define cvtINT32toShort(val) cvtINT32toInt(val)
+# define cvtINT8toLong(val) cvtINT8toInt(val)
+# define cvtINT16toLong(val) cvtINT16toInt(val)
+# define cvtINT32toLong(val) cvtINT32toInt(val)
+# else
+# define cvtINT8toInt(val) (val)
+# define cvtINT16toInt(val) (val)
+# define cvtINT32toInt(val) (val)
+# define cvtINT8toShort(val) (val)
+# define cvtINT16toShort(val) (val)
+# define cvtINT32toShort(val) (val)
+# define cvtINT8toLong(val) (val)
+# define cvtINT16toLong(val) (val)
+# define cvtINT32toLong(val) (val)
+# endif /* WORD64 and UNSIGNEDBITFIELDS */
+
+
+
+# ifdef MUSTCOPY
+/*
+ * This macro must not cast or else pointers will get aligned and be wrong
+ */
+# define NEXTPTR(p,t) (((char *) p) + SIZEOF(t))
+# else /* else not MUSTCOPY, this is used for 32-bit machines */
+/*
+ * this version should leave result of type (t *), but that should only be
+ * used when not in MUSTCOPY
+ */
+# define NEXTPTR(p,t) (((t *)(p)) + 1)
+# endif /* MUSTCOPY - used machines whose C structs don't line up with proto */
+
+#endif /* XMD_H */
diff --git a/x11proto/Xos.h b/x11proto/Xos.h
new file mode 100644
index 0000000..646716b
--- /dev/null
+++ b/x11proto/Xos.h
@@ -0,0 +1,148 @@
+/*
+ *
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * The X Window System is a Trademark of The Open Group.
+ *
+ */
+
+/* This is a collection of things to try and minimize system dependencies
+ * in a "significant" number of source files.
+ */
+
+#ifndef _XOS_H_
+# define _XOS_H_
+
+# include <X11/Xosdefs.h>
+
+/*
+ * Get major data types (esp. caddr_t)
+ */
+
+# include <sys/types.h>
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# include <stdint.h>
+# endif
+
+
+/*
+ * Just about everyone needs the strings routines. We provide both forms here,
+ * index/rindex and strchr/strrchr, so any systems that don't provide them all
+ * need to have #defines here.
+ *
+ * These macros are defined this way, rather than, e.g.:
+ * #defined index(s,c) strchr(s,c)
+ * because someone might be using them as function pointers, and such
+ * a change would break compatibility for anyone who's relying on them
+ * being the way they currently are. So we're stuck with them this way,
+ * which can be really inconvenient. :-(
+ */
+
+# include <string.h>
+# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun)
+# include <strings.h>
+# else
+# ifndef index
+# define index(s,c) (strchr((s),(c)))
+# endif
+# ifndef rindex
+# define rindex(s,c) (strrchr((s),(c)))
+# endif
+# endif
+
+/*
+ * Get open(2) constants
+ */
+# if defined(X_NOT_POSIX)
+# include <fcntl.h>
+# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4))
+# include <unistd.h>
+# endif
+# ifdef WIN32
+# include <X11/Xw32defs.h>
+# else
+# include <sys/file.h>
+# endif
+# else /* X_NOT_POSIX */
+# include <fcntl.h>
+# include <unistd.h>
+# endif /* X_NOT_POSIX else */
+
+/*
+ * Get struct timeval and struct tm
+ */
+
+# if defined(_POSIX_SOURCE) && defined(SVR4)
+/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
+# undef _POSIX_SOURCE
+# include <sys/time.h>
+# define _POSIX_SOURCE
+# elif defined(WIN32)
+# include <time.h>
+# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
+struct timeval {
+ long tv_sec; /* seconds */
+ long tv_usec; /* and microseconds */
+};
+# define _TIMEVAL_DEFINED
+# endif
+# include <sys/timeb.h>
+# define gettimeofday(t) \
+{ \
+ struct _timeb _gtodtmp; \
+ _ftime (&_gtodtmp); \
+ (t)->tv_sec = _gtodtmp.time; \
+ (t)->tv_usec = _gtodtmp.millitm * 1000; \
+}
+# else
+# include <sys/time.h>
+# include <time.h>
+# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
+
+/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
+# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# else
+# if defined(SVR4) || defined(__SVR4) || defined(WIN32)
+# define X_GETTIMEOFDAY(t) gettimeofday(t)
+# else
+# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
+# endif
+# endif /* XPG4 else */
+
+
+# ifdef __GNU__
+# define PATH_MAX 4096
+# define MAXPATHLEN 4096
+# define OPEN_MAX 256 /* We define a reasonable limit. */
+# endif
+
+/* use POSIX name for signal */
+# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
+# define SIGCHLD SIGCLD
+# endif
+
+# include <X11/Xarch.h>
+
+#endif /* _XOS_H_ */
diff --git a/x11proto/Xos_r.h b/x11proto/Xos_r.h
new file mode 100644
index 0000000..f963b64
--- /dev/null
+++ b/x11proto/Xos_r.h
@@ -0,0 +1,1095 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+*/
+
+/*
+ * Various and sundry Thread-Safe functions used by X11, Motif, and CDE.
+ *
+ * Use this file in MT-safe code where you would have included
+ * <dirent.h> for readdir()
+ * <grp.h> for getgrgid() or getgrnam()
+ * <netdb.h> for gethostbyname(), gethostbyaddr(), or getservbyname()
+ * <pwd.h> for getpwnam() or getpwuid()
+ * <string.h> for strtok()
+ * <time.h> for asctime(), ctime(), localtime(), or gmtime()
+ * <unistd.h> for getlogin() or ttyname()
+ * or their thread-safe analogs.
+ *
+ * If you are on a platform that defines XTHREADS but does not have
+ * MT-safe system API (e.g. UnixWare) you must define _Xos_processLock
+ * and _Xos_processUnlock macros before including this header.
+ *
+ * For convenience XOS_USE_XLIB_LOCKING or XOS_USE_XT_LOCKING may be defined
+ * to obtain either Xlib-only or Xt-based versions of these macros. These
+ * macros won't result in truly thread-safe calls, but they are better than
+ * nothing. If you do not want locking in this situation define
+ * XOS_USE_NO_LOCKING.
+ *
+ * NOTE: On systems lacking appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * This header is nominally intended to simplify porting X11, Motif, and
+ * CDE; it may be useful to other people too. The structure below is
+ * complicated, mostly because P1003.1c (the IEEE POSIX Threads spec)
+ * went through lots of drafts, and some vendors shipped systems based
+ * on draft API that were changed later. Unfortunately POSIX did not
+ * provide a feature-test macro for distinguishing each of the drafts.
+ */
+
+/*
+ * This header has several parts. Search for "Effective prototypes"
+ * to locate the beginning of a section.
+ */
+
+/* This header can be included multiple times with different defines! */
+#ifndef _XOS_R_H_
+# define _XOS_R_H_
+
+# include <X11/Xos.h>
+# include <X11/Xfuncs.h>
+
+# ifndef X_NOT_POSIX
+# ifdef _POSIX_SOURCE
+# include <limits.h>
+# else
+# define _POSIX_SOURCE
+# include <limits.h>
+# undef _POSIX_SOURCE
+# endif
+# ifndef LINE_MAX
+# define X_LINE_MAX 2048
+# else
+# define X_LINE_MAX LINE_MAX
+# endif
+# endif
+#endif /* _XOS_R_H */
+
+#ifndef WIN32
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+# if defined(XOS_USE_XLIB_LOCKING)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+typedef struct _LockInfoRec *LockInfoPtr;
+extern LockInfoPtr _Xglobal_lock;
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized (_Xglobal_lock)
+# endif
+# if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE)
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */, char * /* file */, int /* line */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? (*_XLockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? (*_XUnlockMutex_fn)(_Xglobal_lock,__FILE__,__LINE__) : 0)
+# endif
+# else
+# ifndef XAllocIDs /* Xlibint.h does not have multiple include protection */
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void (*_XLockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+extern void (*_XUnlockMutex_fn)(
+# if NeedFunctionPrototypes
+ LockInfoPtr /* lock */
+# endif
+);
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock \
+ (_XLockMutex_fn ? ((*_XLockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock \
+ (_XUnlockMutex_fn ? ((*_XUnlockMutex_fn)(_Xglobal_lock), 0) : 0)
+# endif
+# endif
+# elif defined(XOS_USE_XT_LOCKING)
+# ifndef _XtThreadsI_h
+extern void (*_XtProcessLock)(void);
+# endif
+# ifndef _XtintrinsicP_h
+# include <X11/Xfuncproto.h> /* for NeedFunctionPrototypes */
+extern void XtProcessLock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+extern void XtProcessUnlock(
+# if NeedFunctionPrototypes
+ void
+# endif
+);
+# endif
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized _XtProcessLock
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock XtProcessLock()
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock XtProcessUnlock()
+# endif
+# elif defined(XOS_USE_NO_LOCKING)
+# ifndef _Xos_isThreadInitialized
+# define _Xos_isThreadInitialized 0
+# endif
+# ifndef _Xos_processLock
+# define _Xos_processLock 0
+# endif
+# ifndef _Xos_processUnlock
+# define _Xos_processUnlock 0
+# endif
+# endif
+
+#endif /* !defined WIN32 */
+
+/*
+ * Solaris defines the POSIX thread-safe feature test macro, but
+ * uses the older SVR4 thread-safe functions unless the POSIX ones
+ * are specifically requested. Fix the feature test macro.
+ */
+#if defined(__sun) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && \
+ (_POSIX_C_SOURCE - 0 < 199506L) && !defined(_POSIX_PTHREAD_SEMANTICS)
+# undef _POSIX_THREAD_SAFE_FUNCTIONS
+#endif
+
+/***** <pwd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <pwd.h> wrappers:
+ *
+ * #define X_INCLUDE_PWD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetpwparams;
+ *
+ * struct passwd* _XGetpwnam(const char *name, _Xgetpwparams);
+ * struct passwd* _XGetpwuid(uid_t uid, _Xgetpwparams);
+ */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# include <pwd.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_PWDAPI)
+# define XOS_USE_MTSAFE_PWDAPI 1
+# endif
+#endif
+
+#undef X_NEEDS_PWPARAMS
+#if !defined(X_INCLUDE_PWD_H) || defined(_XOS_INCLUDED_PWD_H)
+/* Do nothing */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+# if defined(X_NOT_POSIX) && !defined(__i386__) && !defined(SYSV)
+extern struct passwd *getpwuid(), *getpwnam();
+# endif
+typedef int _Xgetpwparams; /* dummy */
+# define _XGetpwuid(u,p) getpwuid((u))
+# define _XGetpwnam(u,p) getpwnam((u))
+
+#elif !defined(XOS_USE_MTSAFE_PWDAPI) || defined(XNO_MTSAFE_PWDAPI)
+/* UnixWare 2.0, or other systems with thread support but no _r API. */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[1024];
+ struct passwd* pwp;
+ size_t len;
+} _Xgetpwparams;
+
+/*
+ * NetBSD and FreeBSD, at least, are missing several of the unixware passwd
+ * fields.
+ */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
+ defined(__APPLE__) || defined(__DragonFly__)
+static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
+{
+ memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
+
+ (p).pws.pw_name = (p).pwbuf;
+ (p).len = strlen((p).pwp->pw_name);
+ strcpy((p).pws.pw_name, (p).pwp->pw_name);
+
+ (p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_passwd);
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd);
+
+ (p).pws.pw_class = (p).pws.pw_passwd + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_class);
+ strcpy((p).pws.pw_class, (p).pwp->pw_class);
+
+ (p).pws.pw_gecos = (p).pws.pw_class + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_gecos);
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos);
+
+ (p).pws.pw_dir = (p).pws.pw_gecos + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_dir);
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir);
+
+ (p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1;
+ (p).len = strlen((p).pwp->pw_shell);
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell);
+
+ (p).pwp = &(p).pws;
+}
+
+#else
+# define _Xpw_copyPasswd(p) \
+ (memcpy(&(p).pws, (p).pwp, sizeof(struct passwd)), \
+ ((p).pws.pw_name = (p).pwbuf), \
+ ((p).len = strlen((p).pwp->pw_name)), \
+ strcpy((p).pws.pw_name, (p).pwp->pw_name), \
+ ((p).pws.pw_passwd = (p).pws.pw_name + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_passwd)), \
+ strcpy((p).pws.pw_passwd,(p).pwp->pw_passwd), \
+ ((p).pws.pw_age = (p).pws.pw_passwd + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_age)), \
+ strcpy((p).pws.pw_age, (p).pwp->pw_age), \
+ ((p).pws.pw_comment = (p).pws.pw_age + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_comment)), \
+ strcpy((p).pws.pw_comment, (p).pwp->pw_comment), \
+ ((p).pws.pw_gecos = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_gecos)), \
+ strcpy((p).pws.pw_gecos, (p).pwp->pw_gecos), \
+ ((p).pws.pw_dir = (p).pws.pw_comment + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_dir)), \
+ strcpy((p).pws.pw_dir, (p).pwp->pw_dir), \
+ ((p).pws.pw_shell = (p).pws.pw_dir + (p).len + 1), \
+ ((p).len = strlen((p).pwp->pw_shell)), \
+ strcpy((p).pws.pw_shell, (p).pwp->pw_shell), \
+ ((p).pwp = &(p).pws), \
+ 0 )
+#endif
+# define _XGetpwuid(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwuid((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+# define _XGetpwnam(u,p) \
+( (_Xos_processLock), \
+ (((p).pwp = getpwnam((u))) ? _Xpw_copyPasswd(p), 0 : 0), \
+ (_Xos_processUnlock), \
+ (p).pwp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(__APPLE__)
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+} _Xgetpwparams;
+# if defined(_POSIX_REENTRANT_FUNCTIONS) || !defined(SVR4)
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == -1) ? NULL : &(p).pws)
+# else /* SVR4 */
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf)) == NULL) ? NULL : &(p).pws)
+# endif /* SVR4 */
+
+#else /* _POSIX_THREAD_SAFE_FUNCTIONS */
+# define X_NEEDS_PWPARAMS
+typedef struct {
+ struct passwd pws;
+ char pwbuf[X_LINE_MAX];
+ struct passwd* pwp;
+} _Xgetpwparams;
+typedef int _Xgetpwret;
+# define _XGetpwuid(u,p) \
+((getpwuid_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+# define _XGetpwnam(u,p) \
+((getpwnam_r((u),&(p).pws,(p).pwbuf,sizeof((p).pwbuf),&(p).pwp) == 0) ? \
+ (p).pwp : NULL)
+#endif /* X_INCLUDE_PWD_H */
+
+#if defined(X_INCLUDE_PWD_H) && !defined(_XOS_INCLUDED_PWD_H)
+# define _XOS_INCLUDED_PWD_H
+#endif
+
+
+/***** <netdb.h> wrappers *****/
+
+/*
+ * Effective prototypes for <netdb.h> wrappers:
+ *
+ * NOTE: On systems lacking the appropriate _r functions Gethostbyname(),
+ * Gethostbyaddr(), and Getservbyname() do NOT copy the host or
+ * protocol lists!
+ *
+ * #define X_INCLUDE_NETDB_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgethostbynameparams;
+ * typedef ... _Xgetservbynameparams;
+ *
+ * struct hostent* _XGethostbyname(const char* name,_Xgethostbynameparams);
+ * struct hostent* _XGethostbyaddr(const char* addr, int len, int type,
+ * _Xgethostbynameparams);
+ * struct servent* _XGetservbyname(const char* name, const char* proto,
+ * _Xgetservbynameparams);
+ */
+
+#undef XTHREADS_NEEDS_BYNAMEPARAMS
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H) \
+ && !defined(WIN32)
+# include <netdb.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_NETDBAPI)
+# define XOS_USE_MTSAFE_NETDBAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_NETDB_H) || defined(_XOS_INCLUDED_NETDB_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+
+#elif !defined(XOS_USE_MTSAFE_NETDBAPI) || defined(XNO_MTSAFE_NETDBAPI)
+/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
+
+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+#include <sys/param.h>
+#endif
+
+typedef struct {
+ struct hostent hent;
+ char h_name[MAXHOSTNAMELEN];
+ struct hostent *hptr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char s_name[255];
+ char s_proto[255];
+ struct servent *sptr;
+} _Xgetservbynameparams;
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# define _Xg_copyHostent(hp) \
+ (memcpy(&(hp).hent, (hp).hptr, sizeof(struct hostent)), \
+ strcpy((hp).h_name, (hp).hptr->h_name), \
+ ((hp).hent.h_name = (hp).h_name), \
+ ((hp).hptr = &(hp).hent), \
+ 0 )
+# define _Xg_copyServent(sp) \
+ (memcpy(&(sp).sent, (sp).sptr, sizeof(struct servent)), \
+ strcpy((sp).s_name, (sp).sptr->s_name), \
+ ((sp).sent.s_name = (sp).s_name), \
+ strcpy((sp).s_proto, (sp).sptr->s_proto), \
+ ((sp).sent.s_proto = (sp).s_proto), \
+ ((sp).sptr = &(sp).sent), \
+ 0 )
+# define _XGethostbyname(h,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyname((h))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGethostbyaddr(a,al,t,hp) \
+ ((_Xos_processLock), \
+ (((hp).hptr = gethostbyaddr((a),(al),(t))) ? _Xg_copyHostent(hp) : 0), \
+ (_Xos_processUnlock), \
+ (hp).hptr )
+# define _XGetservbyname(s,p,sp) \
+ ((_Xos_processLock), \
+ (((sp).sptr = getservbyname((s),(p))) ? _Xg_copyServent(sp) : 0), \
+ (_Xos_processUnlock), \
+ (sp).sptr )
+
+#elif defined(XUSE_NETDB_R_API)
+/*
+ * POSIX does not specify _r equivalents for <netdb.h> API, but some
+ * vendors provide them anyway. Use them only when explicitly asked.
+ */
+# ifdef _POSIX_REENTRANT_FUNCTIONS
+# ifndef _POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+# endif
+# ifdef _POSIX_THREAD_SAFE_FUNCTIONS
+# define X_POSIX_THREAD_SAFE_FUNCTIONS 1
+# endif
+
+# define XTHREADS_NEEDS_BYNAMEPARAMS
+
+# ifndef X_POSIX_THREAD_SAFE_FUNCTIONS
+typedef struct {
+ struct hostent hent;
+ char hbuf[X_LINE_MAX];
+ int herr;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ char sbuf[X_LINE_MAX];
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ gethostbyname_r((h),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGethostbyaddr(a,al,t,hp) \
+ gethostbyaddr_r((a),(al),(t),&(hp).hent,(hp).hbuf,sizeof((hp).hbuf),&(hp).herr)
+# define _XGetservbyname(s,p,sp) \
+ getservbyname_r((s),(p),&(sp).sent,(sp).sbuf,sizeof((sp).sbuf))
+# else
+typedef struct {
+ struct hostent hent;
+ struct hostent_data hdata;
+} _Xgethostbynameparams;
+typedef struct {
+ struct servent sent;
+ struct servent_data sdata;
+} _Xgetservbynameparams;
+# define _XGethostbyname(h,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyname_r((h),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGethostbyaddr(a,al,t,hp) \
+ (bzero((char*)&(hp).hdata,sizeof((hp).hdata)), \
+ ((gethostbyaddr_r((a),(al),(t),&(hp).hent,&(hp).hdata) == -1) ? NULL : &(hp).hent))
+# define _XGetservbyname(s,p,sp) \
+ (bzero((char*)&(sp).sdata,sizeof((sp).sdata)), \
+ ((getservbyname_r((s),(p),&(sp).sent,&(sp).sdata) == -1) ? NULL : &(sp).sent) )
+# endif
+# ifdef X_POSIX_THREAD_SAFE_FUNCTIONS
+# undef X_POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+
+#else
+/* The regular API is assumed to be MT-safe under POSIX. */
+typedef int _Xgethostbynameparams; /* dummy */
+typedef int _Xgetservbynameparams; /* dummy */
+# define _XGethostbyname(h,hp) gethostbyname((h))
+# define _XGethostbyaddr(a,al,t,hp) gethostbyaddr((a),(al),(t))
+# define _XGetservbyname(s,p,sp) getservbyname((s),(p))
+#endif /* X_INCLUDE_NETDB_H */
+
+#if defined(X_INCLUDE_NETDB_H) && !defined(_XOS_INCLUDED_NETDB_H)
+# define _XOS_INCLUDED_NETDB_H
+#endif
+
+
+/***** <dirent.h> wrappers *****/
+
+/*
+ * Effective prototypes for <dirent.h> wrappers:
+ *
+ * #define X_INCLUDE_DIRENT_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xreaddirparams;
+ *
+ * struct dirent *_XReaddir(DIR *dir_pointer, _Xreaddirparams);
+ */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# include <sys/types.h>
+# if !defined(X_NOT_POSIX) || defined(SYSV)
+# include <dirent.h>
+# else
+# include <sys/dir.h>
+# ifndef dirent
+# define dirent direct
+# endif
+# endif
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_DIRENTAPI)
+# define XOS_USE_MTSAFE_DIRENTAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_DIRENT_H) || defined(_XOS_INCLUDED_DIRENT_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xreaddirparams; /* dummy */
+# define _XReaddir(d,p) readdir(d)
+
+#elif !defined(XOS_USE_MTSAFE_DIRENTAPI) || defined(XNO_MTSAFE_DIRENTAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#else
+typedef struct {
+ struct dirent *result;
+ struct dirent dir_entry;
+# ifdef _POSIX_PATH_MAX
+ char buf[_POSIX_PATH_MAX];
+# elif defined(NAME_MAX)
+ char buf[NAME_MAX];
+# else
+ char buf[255];
+# endif
+} _Xreaddirparams;
+
+# if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(__APPLE__)
+/* POSIX final API, returns (int)0 on success. */
+# define _XReaddir(d,p) \
+ (readdir_r((d), &((p).dir_entry), &((p).result)) ? NULL : (p).result)
+# elif defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX draft API, returns (int)0 on success. */
+# define _XReaddir(d,p) \
+ (readdir_r((d),&((p).dir_entry)) ? NULL : &((p).dir_entry))
+# elif defined(SVR4)
+/* Pre-POSIX API, returns non-NULL on success. */
+# define _XReaddir(d,p) (readdir_r((d), &(p).dir_entry))
+# else
+/* We have no idea what is going on. Fake it all using process locks. */
+# define _XReaddir(d,p) \
+ ( (_Xos_processLock), \
+ (((p).result = readdir((d))) ? \
+ (memcpy(&((p).dir_entry), (p).result, (p).result->d_reclen), \
+ ((p).result = &(p).dir_entry), 0) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# endif
+#endif /* X_INCLUDE_DIRENT_H */
+
+#if defined(X_INCLUDE_DIRENT_H) && !defined(_XOS_INCLUDED_DIRENT_H)
+# define _XOS_INCLUDED_DIRENT_H
+#endif
+
+
+/***** <unistd.h> wrappers *****/
+
+/*
+ * Effective prototypes for <unistd.h> wrappers:
+ *
+ * #define X_INCLUDE_UNISTD_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetloginparams;
+ * typedef ... _Xttynameparams;
+ *
+ * char *_XGetlogin(_Xgetloginparams);
+ * char *_XTtyname(int, _Xttynameparams);
+ */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+/* <unistd.h> already included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_UNISTDAPI)
+# define XOS_USE_MTSAFE_UNISTDAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_UNISTD_H) || defined(_XOS_INCLUDED_UNISTD_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetloginparams; /* dummy */
+typedef int _Xttynameparams; /* dummy */
+# define _XGetlogin(p) getlogin()
+# define _XTtyname(f) ttyname((f))
+
+#elif !defined(XOS_USE_MTSAFE_UNISTDAPI) || defined(XNO_MTSAFE_UNISTDAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+ char *result;
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+ char *result;
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) \
+ ( (_Xos_processLock), \
+ (((p).result = getlogin()) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+#define _XTtyname(f,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ttyname(f)) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), \
+ ((p).buf[sizeof((p).buf)-1] = '\0'), \
+ ((p).result = (p).buf), 0) : 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_POSIX_REENTRANT_FUNCTIONS)
+/* POSIX API.
+ *
+ * extern int getlogin_r(char *, size_t);
+ * extern int ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) (getlogin_r((p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+# define _XTtyname(f,p) \
+ (ttyname_r((f), (p).buf, sizeof((p).buf)) ? NULL : (p).buf)
+
+#else
+/* Pre-POSIX API.
+ *
+ * extern char *getlogin_r(char *, size_t);
+ * extern char *ttyname_r(int, char *, size_t);
+ */
+typedef struct {
+# if defined(MAXLOGNAME)
+ char buf[MAXLOGNAME];
+# elif defined(LOGIN_NAME_MAX)
+ char buf[LOGIN_NAME_MAX];
+# else
+ char buf[64];
+# endif
+} _Xgetloginparams;
+typedef struct {
+# ifdef TTY_NAME_MAX
+ char buf[TTY_NAME_MAX];
+# elif defined(_POSIX_TTY_NAME_MAX)
+ char buf[_POSIX_TTY_NAME_MAX];
+# elif defined(_POSIX_PATH_MAX)
+ char buf[_POSIX_PATH_MAX];
+# else
+ char buf[256];
+# endif
+} _Xttynameparams;
+
+# define _XGetlogin(p) getlogin_r((p).buf, sizeof((p).buf))
+# define _XTtyname(f,p) ttyname_r((f), (p).buf, sizeof((p).buf))
+#endif /* X_INCLUDE_UNISTD_H */
+
+#if defined(X_INCLUDE_UNISTD_H) && !defined(_XOS_INCLUDED_UNISTD_H)
+# define _XOS_INCLUDED_UNISTD_H
+#endif
+
+
+/***** <string.h> wrappers *****/
+
+/*
+ * Effective prototypes for <string.h> wrappers:
+ *
+ * #define X_INCLUDE_STRING_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xstrtokparams;
+ *
+ * char *_XStrtok(char *, const char*, _Xstrtokparams);
+ */
+
+#if defined(X_INCLUDE_STRING_H) && !defined(_XOS_INCLUDED_STRING_H)
+/* <string.h> has already been included by <X11/Xos.h> */
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_STRINGAPI)
+# define XOS_USE_MTSAFE_STRINGAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_STRING_H) || defined(_XOS_INCLUDED_STRING_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xstrtokparams; /* dummy */
+# define _XStrtok(s1,s2,p) \
+ ( p = 0, (void)p, strtok((s1),(s2)) )
+
+#elif !defined(XOS_USE_MTSAFE_STRINGAPI) || defined(XNO_MTSAFE_STRINGAPI)
+/* Systems with thread support but no _r API. */
+typedef char *_Xstrtokparams;
+# define _XStrtok(s1,s2,p) \
+ ( (_Xos_processLock), \
+ ((p) = strtok((s1),(s2))), \
+ (_Xos_processUnlock), \
+ (p) )
+
+#else
+/* POSIX or pre-POSIX API. */
+typedef char * _Xstrtokparams;
+# define _XStrtok(s1,s2,p) strtok_r((s1),(s2),&(p))
+#endif /* X_INCLUDE_STRING_H */
+
+
+/***** <time.h> wrappers *****/
+
+/*
+ * Effective prototypes for <time.h> wrappers:
+ *
+ * #define X_INCLUDE_TIME_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xatimeparams;
+ * typedef ... _Xctimeparams;
+ * typedef ... _Xgtimeparams;
+ * typedef ... _Xltimeparams;
+ *
+ * char *_XAsctime(const struct tm *, _Xatimeparams);
+ * char *_XCtime(const time_t *, _Xctimeparams);
+ * struct tm *_XGmtime(const time_t *, _Xgtimeparams);
+ * struct tm *_XLocaltime(const time_t *, _Xltimeparams);
+ */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# include <time.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_TIMEAPI)
+# define XOS_USE_MTSAFE_TIMEAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_TIME_H) || defined(_XOS_INCLUDED_TIME_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xatimeparams; /* dummy */
+# define _XAsctime(t,p) asctime((t))
+typedef int _Xctimeparams; /* dummy */
+# define _XCtime(t,p) ctime((t))
+typedef int _Xgtimeparams; /* dummy */
+# define _XGmtime(t,p) gmtime((t))
+typedef int _Xltimeparams; /* dummy */
+# define _XLocaltime(t,p) localtime((t))
+
+#elif !defined(XOS_USE_MTSAFE_TIMEAPI) || defined(XNO_MTSAFE_TIMEAPI)
+/* Systems with thread support but no _r API. */
+typedef struct {
+# ifdef TIMELEN
+ char buf[TIMELEN];
+# else
+ char buf[26];
+# endif
+ char *result;
+} _Xctimeparams, _Xatimeparams;
+typedef struct {
+ struct tm buf;
+ struct tm *result;
+} _Xgtimeparams, _Xltimeparams;
+# define _XAsctime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = asctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XCtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = ctime((t))) ? \
+ (strncpy((p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XGmtime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = gmtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+# define _XLocaltime(t,p) \
+ ( (_Xos_processLock), \
+ (((p).result = localtime(t)) ? \
+ (memcpy(&(p).buf, (p).result, sizeof((p).buf)), (p).result = &(p).buf) : \
+ 0), \
+ (_Xos_processUnlock), \
+ (p).result )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(hpV4)
+/* Returns (int)0 on success.
+ *
+ * extern int asctime_r(const struct tm *timeptr, char *buffer, int buflen);
+ * extern int ctime_r(const time_t *timer, char *buffer, int buflen);
+ * extern int gmtime_r(const time_t *timer, struct tm *result);
+ * extern int localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) (asctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XCtime(t,p) (ctime_r((t),(p),sizeof((p))) ? NULL : (p))
+# define _XGmtime(t,p) (gmtime_r((t),&(p)) ? NULL : &(p))
+# define _XLocaltime(t,p) (localtime_r((t),&(p)) ? NULL : &(p))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun)
+/* Returns NULL on failure. Solaris 2.5
+ *
+ * extern char *asctime_r(const struct tm *tm,char *buf, int buflen);
+ * extern char *ctime_r(const time_t *clock, char *buf, int buflen);
+ * extern struct tm *gmtime_r(const time_t *clock, struct tm *res);
+ * extern struct tm *localtime_r(const time_t *clock, struct tm *res);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p),sizeof((p)))
+# define _XCtime(t,p) ctime_r((t),(p),sizeof((p)))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+
+#else /* defined(_POSIX_THREAD_SAFE_FUNCTIONS) */
+/* POSIX final API.
+ * extern char *asctime_r(const struct tm *timeptr, char *buffer);
+ * extern char *ctime_r(const time_t *timer, char *buffer);
+ * extern struct tm *gmtime_r(const time_t *timer, struct tm *result);
+ * extern struct tm *localtime_r(const time_t *timer, struct tm *result);
+ */
+# ifdef TIMELEN
+typedef char _Xatimeparams[TIMELEN];
+typedef char _Xctimeparams[TIMELEN];
+# else
+typedef char _Xatimeparams[26];
+typedef char _Xctimeparams[26];
+# endif
+typedef struct tm _Xgtimeparams;
+typedef struct tm _Xltimeparams;
+# define _XAsctime(t,p) asctime_r((t),(p))
+# define _XCtime(t,p) ctime_r((t),(p))
+# define _XGmtime(t,p) gmtime_r((t),&(p))
+# define _XLocaltime(t,p) localtime_r((t),&(p))
+#endif /* X_INCLUDE_TIME_H */
+
+#if defined(X_INCLUDE_TIME_H) && !defined(_XOS_INCLUDED_TIME_H)
+# define _XOS_INCLUDED_TIME_H
+#endif
+
+
+/***** <grp.h> wrappers *****/
+
+/*
+ * Effective prototypes for <grp.h> wrappers:
+ *
+ * NOTE: On systems lacking appropriate _r functions Getgrgid() and
+ * Getgrnam() do NOT copy the list of group members!
+ *
+ * Remember that fgetgrent(), setgrent(), getgrent(), and endgrent()
+ * are not included in POSIX.
+ *
+ * #define X_INCLUDE_GRP_H
+ * #define XOS_USE_..._LOCKING
+ * #include <X11/Xos_r.h>
+ *
+ * typedef ... _Xgetgrparams;
+ *
+ * struct group *_XGetgrgid(gid_t, _Xgetgrparams);
+ * struct group *_XGetgrnam(const char *, _Xgetgrparams);
+ */
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# include <grp.h>
+# if defined(XUSE_MTSAFE_API) || defined(XUSE_MTSAFE_GRPAPI)
+# define XOS_USE_MTSAFE_GRPAPI 1
+# endif
+#endif
+
+#if !defined(X_INCLUDE_GRP_H) || defined(_XOS_INCLUDED_GRP_H)
+/* Do nothing. */
+
+#elif !defined(XTHREADS) && !defined(X_FORCE_USE_MTSAFE_API)
+/* Use regular, unsafe API. */
+typedef int _Xgetgrparams; /* dummy */
+#define _XGetgrgid(g,p) getgrgid((g))
+#define _XGetgrnam(n,p) getgrnam((n))
+
+#elif !defined(XOS_USE_MTSAFE_GRPAPI) || defined(XNO_MTSAFE_GRPAPI)
+/* Systems with thread support but no _r API. UnixWare 2.0. */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *pgrp;
+ size_t len;
+} _Xgetgrparams;
+#ifdef SVR4
+/* Copy the gr_passwd field too. */
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ ((p).len = strlen((p).pgrp->gr_name)), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).grp.gr_passwd = (p).grp.gr_name + (p).len + 1), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#else
+# define _Xgrp_copyGroup(p) \
+ ( memcpy(&(p).grp, (p).pgrp, sizeof(struct group)), \
+ ((p).grp.gr_name = (p).buf), \
+ strcpy((p).grp.gr_name, (p).pgrp->gr_name), \
+ ((p).pgrp = &(p).grp), \
+ 0 )
+#endif
+#define _XGetgrgid(g,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrgid((g))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+#define _XGetgrnam(n,p) \
+ ( (_Xos_processLock), \
+ (((p).pgrp = getgrnam((n))) ? _Xgrp_copyGroup(p) : 0), \
+ (_Xos_processUnlock), \
+ (p).pgrp )
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS) && defined(__sun)
+/* Non-POSIX API. Solaris.
+ *
+ * extern struct group *getgrgid_r(gid_t, struct group *, char *, int);
+ * extern struct group *getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf))
+#define _XGetgrnam(n,p) getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf))
+
+#elif !defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+/* Non-POSIX API.
+ * extern int getgrgid_r(gid_t, struct group *, char *, int);
+ * extern int getgrnam_r(const char *, struct group *, char *, int);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+} _Xgetgrparams;
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf)) ? NULL : &(p).grp))
+
+#else
+/* POSIX final API.
+ *
+ * int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
+ * int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
+ */
+typedef struct {
+ struct group grp;
+ char buf[X_LINE_MAX]; /* Should be sysconf(_SC_GETGR_R_SIZE_MAX)? */
+ struct group *result;
+} _Xgetgrparams;
+
+#define _XGetgrgid(g,p) \
+ ((getgrgid_r((g), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#define _XGetgrnam(n,p) \
+ ((getgrnam_r((n), &(p).grp, (p).buf, sizeof((p).buf), &(p).result) ? \
+ NULL : (p).result))
+#endif
+
+#if defined(X_INCLUDE_GRP_H) && !defined(_XOS_INCLUDED_GRP_H)
+# define _XOS_INCLUDED_GRP_H
+#endif
+
+
+#ifdef __cplusplus
+} /* Close scope of 'extern "C"' declaration which encloses file. */
+#endif
diff --git a/x11proto/Xosdefs.h b/x11proto/Xosdefs.h
new file mode 100644
index 0000000..33eaee4
--- /dev/null
+++ b/x11proto/Xosdefs.h
@@ -0,0 +1,116 @@
+/*
+ * O/S-dependent (mis)feature macro definitions
+ *
+Copyright 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _XOSDEFS_H_
+# define _XOSDEFS_H_
+
+/*
+ * X_NOT_POSIX means does not have POSIX header files. Lack of this
+ * symbol does NOT mean that the POSIX environment is the default.
+ * You may still have to define _POSIX_SOURCE to get it.
+ */
+
+
+# ifdef _SCO_DS
+# ifndef __SCO__
+# define __SCO__
+# endif
+# endif
+
+# ifdef __i386__
+# ifdef SYSV
+# if !defined(__SCO__) && \
+ !defined(__UNIXWARE__) && !defined(__sun)
+# if !defined(_POSIX_SOURCE)
+# define X_NOT_POSIX
+# endif
+# endif
+# endif
+# endif
+
+# ifdef __sun
+/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
+ * This check allows non-Imake configured programs to build correctly.
+ */
+# if defined(__SVR4) && !defined(SVR4)
+# define SVR4 1
+# endif
+# ifdef SVR4
+/* define this to whatever it needs to be */
+# define X_POSIX_C_SOURCE 199300L
+# endif
+# endif
+
+# ifdef WIN32
+# ifndef _POSIX_
+# define X_NOT_POSIX
+# endif
+# endif
+
+
+# ifdef __APPLE__
+# define NULL_NOT_ZERO
+
+/* Defining any of these will sanitize the namespace to JUST want is defined by
+ * that particular standard. If that happens, we don't get some expected
+ * prototypes, typedefs, etc (like fd_mask). We can define _DARWIN_C_SOURCE to
+ * loosen our belts a tad.
+ */
+# if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
+# ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE
+# endif
+# endif
+
+# endif
+
+# ifdef __GNU__
+# ifndef PATH_MAX
+# define PATH_MAX 4096
+# endif
+# ifndef MAXPATHLEN
+# define MAXPATHLEN 4096
+# endif
+# endif
+
+# if defined(__SCO__) || defined(__UNIXWARE__)
+# ifndef PATH_MAX
+# define PATH_MAX 1024
+# endif
+# ifndef MAXPATHLEN
+# define MAXPATHLEN 1024
+# endif
+# endif
+
+# if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
+ || defined(__APPLE__) || defined(__DragonFly__)
+# ifndef CSRG_BASED
+# define CSRG_BASED
+# endif
+# endif
+
+#endif /* _XOSDEFS_H_ */
+
diff --git a/x11proto/Xpoll.h.in b/x11proto/Xpoll.h.in
new file mode 100644
index 0000000..8275658
--- /dev/null
+++ b/x11proto/Xpoll.h.in
@@ -0,0 +1,218 @@
+/*
+
+Copyright 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+
+/*
+ * Copyright © 2005 Daniel Stone
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Daniel Stone not be used in advertising
+ * or publicity pertaining to distribution of the software without specific,
+ * written prior permission. Daniel Stone makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+ * DANIEL STONE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*/
+
+#ifndef _XPOLL_H_
+#define _XPOLL_H_
+
+#ifndef WIN32
+
+#ifndef USE_POLL
+
+#include <X11/Xos.h>
+
+#include <sys/select.h> /* Get the FD_* macros. */
+
+#include <X11/Xmd.h>
+
+#ifdef CSRG_BASED
+#include <sys/param.h>
+# if BSD < 199103
+typedef long fd_mask;
+# endif
+#endif
+
+#define XFD_SETSIZE 256
+
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+
+#ifndef NBBY
+#define NBBY 8 /* number of bits in a byte */
+#endif
+
+#ifndef NFDBITS
+#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+#endif
+
+#ifndef howmany
+#define howmany(x,y) (((x)+((y)-1))/(y))
+#endif
+
+#if defined(BSD) && BSD < 198911
+typedef struct fd_set {
+ fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
+} fd_set;
+#endif
+
+# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define __X_FDS_BITS @USE_FDS_BITS@
+
+#ifndef __FDS_BITS
+# define __FDS_BITS(p) ((p)->__X_FDS_BITS)
+#endif
+
+#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n]
+
+#ifndef FD_SET
+#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_CLR
+#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ISSET
+#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS)))
+#endif
+#ifndef FD_ZERO
+#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
+#endif
+
+/*
+ * The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the
+ * array. before accessing an element in the array we check it exists.
+ * If it does not exist then the compiler discards the code to access it.
+ */
+#define XFD_ANYSET(p) \
+ ((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \
+ (howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))))
+
+#define XFD_COPYSET(src,dst) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \
+ }
+#define XFD_ANDSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_ORSET(dst,b1,b2) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \
+ }
+#define XFD_UNSET(dst,b1) { \
+ int __i__; \
+ for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
+ __XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \
+ }
+
+#else /* USE_POLL */
+#include <sys/poll.h>
+#endif /* USE_POLL */
+
+#else /* WIN32 */
+
+#define XFD_SETSIZE 256
+#ifndef FD_SETSIZE
+#define FD_SETSIZE XFD_SETSIZE
+#endif
+#include <X11/Xwinsock.h>
+
+#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
+
+#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count)
+#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i])
+#define XFD_ANYSET(p) XFD_SETCOUNT(p)
+
+#define XFD_COPYSET(src,dst) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \
+ XFD_FD(dst,__i) = XFD_FD(src,__i); \
+ } \
+ XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \
+}
+
+#define XFD_ANDSET(dst,b1,b2) { \
+ u_int __i; \
+ FD_ZERO(dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ if (FD_ISSET(XFD_FD(b1,__i), b2)) \
+ FD_SET(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+#define XFD_ORSET(dst,b1,b2) { \
+ u_int __i; \
+ if (dst != b1) XFD_COPYSET(b1,dst); \
+ for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \
+ if (!FD_ISSET(XFD_FD(b2,__i), dst)) \
+ FD_SET(XFD_FD(b2,__i), dst); \
+ } \
+}
+
+/* this one is really sub-optimal */
+#define XFD_UNSET(dst,b1) { \
+ u_int __i; \
+ for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
+ FD_CLR(XFD_FD(b1,__i), dst); \
+ } \
+}
+
+/* we have to pay the price of having an array here, unlike with bitmasks
+ calling twice FD_SET with the same fd is not transparent, so be careful */
+#undef FD_SET
+#define FD_SET(fd,set) do { \
+ if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \
+ XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \
+} while(0)
+
+#define getdtablesize() FD_SETSIZE
+
+#endif /* WIN32 */
+
+#endif /* _XPOLL_H_ */
diff --git a/x11proto/Xproto.h b/x11proto/Xproto.h
new file mode 100644
index 0000000..495d441
--- /dev/null
+++ b/x11proto/Xproto.h
@@ -0,0 +1,2157 @@
+/* Definitions for the X window system used by server and c bindings */
+
+/*
+ * This packet-construction scheme makes the following assumptions:
+ *
+ * 1. The compiler is able
+ * to generate code which addresses one- and two-byte quantities.
+ * In the worst case, this would be done with bit-fields. If bit-fields
+ * are used it may be necessary to reorder the request fields in this file,
+ * depending on the order in which the machine assigns bit fields to
+ * machine words. There may also be a problem with sign extension,
+ * as K+R specify that bitfields are always unsigned.
+ *
+ * 2. 2- and 4-byte fields in packet structures must be ordered by hand
+ * such that they are naturally-aligned, so that no compiler will ever
+ * insert padding bytes.
+ *
+ * 3. All packets are hand-padded to a multiple of 4 bytes, for
+ * the same reason.
+ */
+
+#ifndef XPROTO_H
+#define XPROTO_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+#include <X11/Xmd.h>
+#include <X11/Xprotostr.h>
+
+/*
+ * Define constants for the sizes of the network packets. The sz_ prefix is
+ * used instead of something more descriptive so that the symbols are no more
+ * than 32 characters in length (which causes problems for some compilers).
+ */
+#define sz_xSegment 8
+#define sz_xPoint 4
+#define sz_xRectangle 8
+#define sz_xArc 12
+#define sz_xConnClientPrefix 12
+#define sz_xConnSetupPrefix 8
+#define sz_xConnSetup 32
+#define sz_xPixmapFormat 8
+#define sz_xDepth 8
+#define sz_xVisualType 24
+#define sz_xWindowRoot 40
+#define sz_xTimecoord 8
+#define sz_xHostEntry 4
+#define sz_xCharInfo 12
+#define sz_xFontProp 8
+#define sz_xTextElt 2
+#define sz_xColorItem 12
+#define sz_xrgb 8
+#define sz_xGenericReply 32
+#define sz_xGetWindowAttributesReply 44
+#define sz_xGetGeometryReply 32
+#define sz_xQueryTreeReply 32
+#define sz_xInternAtomReply 32
+#define sz_xGetAtomNameReply 32
+#define sz_xGetPropertyReply 32
+#define sz_xListPropertiesReply 32
+#define sz_xGetSelectionOwnerReply 32
+#define sz_xGrabPointerReply 32
+#define sz_xQueryPointerReply 32
+#define sz_xGetMotionEventsReply 32
+#define sz_xTranslateCoordsReply 32
+#define sz_xGetInputFocusReply 32
+#define sz_xQueryKeymapReply 40
+#define sz_xQueryFontReply 60
+#define sz_xQueryTextExtentsReply 32
+#define sz_xListFontsReply 32
+#define sz_xGetFontPathReply 32
+#define sz_xGetImageReply 32
+#define sz_xListInstalledColormapsReply 32
+#define sz_xAllocColorReply 32
+#define sz_xAllocNamedColorReply 32
+#define sz_xAllocColorCellsReply 32
+#define sz_xAllocColorPlanesReply 32
+#define sz_xQueryColorsReply 32
+#define sz_xLookupColorReply 32
+#define sz_xQueryBestSizeReply 32
+#define sz_xQueryExtensionReply 32
+#define sz_xListExtensionsReply 32
+#define sz_xSetMappingReply 32
+#define sz_xGetKeyboardControlReply 52
+#define sz_xGetPointerControlReply 32
+#define sz_xGetScreenSaverReply 32
+#define sz_xListHostsReply 32
+#define sz_xSetModifierMappingReply 32
+#define sz_xError 32
+#define sz_xEvent 32
+#define sz_xKeymapEvent 32
+#define sz_xReq 4
+#define sz_xResourceReq 8
+#define sz_xCreateWindowReq 32
+#define sz_xChangeWindowAttributesReq 12
+#define sz_xChangeSaveSetReq 8
+#define sz_xReparentWindowReq 16
+#define sz_xConfigureWindowReq 12
+#define sz_xCirculateWindowReq 8
+#define sz_xInternAtomReq 8
+#define sz_xChangePropertyReq 24
+#define sz_xDeletePropertyReq 12
+#define sz_xGetPropertyReq 24
+#define sz_xSetSelectionOwnerReq 16
+#define sz_xConvertSelectionReq 24
+#define sz_xSendEventReq 44
+#define sz_xGrabPointerReq 24
+#define sz_xGrabButtonReq 24
+#define sz_xUngrabButtonReq 12
+#define sz_xChangeActivePointerGrabReq 16
+#define sz_xGrabKeyboardReq 16
+#define sz_xGrabKeyReq 16
+#define sz_xUngrabKeyReq 12
+#define sz_xAllowEventsReq 8
+#define sz_xGetMotionEventsReq 16
+#define sz_xTranslateCoordsReq 16
+#define sz_xWarpPointerReq 24
+#define sz_xSetInputFocusReq 12
+#define sz_xOpenFontReq 12
+#define sz_xQueryTextExtentsReq 8
+#define sz_xListFontsReq 8
+#define sz_xSetFontPathReq 8
+#define sz_xCreatePixmapReq 16
+#define sz_xCreateGCReq 16
+#define sz_xChangeGCReq 12
+#define sz_xCopyGCReq 16
+#define sz_xSetDashesReq 12
+#define sz_xSetClipRectanglesReq 12
+#define sz_xCopyAreaReq 28
+#define sz_xCopyPlaneReq 32
+#define sz_xPolyPointReq 12
+#define sz_xPolySegmentReq 12
+#define sz_xFillPolyReq 16
+#define sz_xPutImageReq 24
+#define sz_xGetImageReq 20
+#define sz_xPolyTextReq 16
+#define sz_xImageTextReq 16
+#define sz_xCreateColormapReq 16
+#define sz_xCopyColormapAndFreeReq 12
+#define sz_xAllocColorReq 16
+#define sz_xAllocNamedColorReq 12
+#define sz_xAllocColorCellsReq 12
+#define sz_xAllocColorPlanesReq 16
+#define sz_xFreeColorsReq 12
+#define sz_xStoreColorsReq 8
+#define sz_xStoreNamedColorReq 16
+#define sz_xQueryColorsReq 8
+#define sz_xLookupColorReq 12
+#define sz_xCreateCursorReq 32
+#define sz_xCreateGlyphCursorReq 32
+#define sz_xRecolorCursorReq 20
+#define sz_xQueryBestSizeReq 12
+#define sz_xQueryExtensionReq 8
+#define sz_xChangeKeyboardControlReq 8
+#define sz_xBellReq 4
+#define sz_xChangePointerControlReq 12
+#define sz_xSetScreenSaverReq 12
+#define sz_xChangeHostsReq 8
+#define sz_xListHostsReq 4
+#define sz_xChangeModeReq 4
+#define sz_xRotatePropertiesReq 12
+#define sz_xReply 32
+#define sz_xGrabKeyboardReply 32
+#define sz_xListFontsWithInfoReply 60
+#define sz_xSetPointerMappingReply 32
+#define sz_xGetKeyboardMappingReply 32
+#define sz_xGetPointerMappingReply 32
+#define sz_xGetModifierMappingReply 32
+#define sz_xListFontsWithInfoReq 8
+#define sz_xPolyLineReq 12
+#define sz_xPolyArcReq 12
+#define sz_xPolyRectangleReq 12
+#define sz_xPolyFillRectangleReq 12
+#define sz_xPolyFillArcReq 12
+#define sz_xPolyText8Req 16
+#define sz_xPolyText16Req 16
+#define sz_xImageText8Req 16
+#define sz_xImageText16Req 16
+#define sz_xSetPointerMappingReq 4
+#define sz_xForceScreenSaverReq 4
+#define sz_xSetCloseDownModeReq 4
+#define sz_xClearAreaReq 16
+#define sz_xSetAccessControlReq 4
+#define sz_xGetKeyboardMappingReq 8
+#define sz_xSetModifierMappingReq 4
+#define sz_xPropIconSize 24
+#define sz_xChangeKeyboardMappingReq 8
+
+
+/* For the purpose of the structure definitions in this file,
+we must redefine the following types in terms of Xmd.h's types, which may
+include bit fields. All of these are #undef'd at the end of this file,
+restoring the definitions in X.h. */
+
+#define Window CARD32
+#define Drawable CARD32
+#define Font CARD32
+#define Pixmap CARD32
+#define Cursor CARD32
+#define Colormap CARD32
+#define GContext CARD32
+#define Atom CARD32
+#define VisualID CARD32
+#define Time CARD32
+#define KeyCode CARD8
+#define KeySym CARD32
+
+#define X_TCP_PORT 6000 /* add display number */
+
+#define xTrue 1
+#define xFalse 0
+
+
+typedef CARD16 KeyButMask;
+
+/*****************
+ connection setup structure. This is followed by
+ numRoots xWindowRoot structs.
+*****************/
+
+typedef struct {
+ CARD8 byteOrder;
+ BYTE pad;
+ CARD16 majorVersion B16, minorVersion B16;
+ CARD16 nbytesAuthProto B16; /* Authorization protocol */
+ CARD16 nbytesAuthString B16; /* Authorization string */
+ CARD16 pad2 B16;
+} xConnClientPrefix;
+
+typedef struct {
+ CARD8 success;
+ BYTE lengthReason; /*num bytes in string following if failure */
+ CARD16 majorVersion B16,
+ minorVersion B16;
+ CARD16 length B16; /* 1/4 additional bytes in setup info */
+} xConnSetupPrefix;
+
+
+typedef struct {
+ CARD32 release B32;
+ CARD32 ridBase B32,
+ ridMask B32;
+ CARD32 motionBufferSize B32;
+ CARD16 nbytesVendor B16; /* number of bytes in vendor string */
+ CARD16 maxRequestSize B16;
+ CARD8 numRoots; /* number of roots structs to follow */
+ CARD8 numFormats; /* number of pixmap formats */
+ CARD8 imageByteOrder; /* LSBFirst, MSBFirst */
+ CARD8 bitmapBitOrder; /* LeastSignificant, MostSign...*/
+ CARD8 bitmapScanlineUnit, /* 8, 16, 32 */
+ bitmapScanlinePad; /* 8, 16, 32 */
+ KeyCode minKeyCode, maxKeyCode;
+ CARD32 pad2 B32;
+} xConnSetup;
+
+typedef struct {
+ CARD8 depth;
+ CARD8 bitsPerPixel;
+ CARD8 scanLinePad;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+} xPixmapFormat;
+
+/* window root */
+
+typedef struct {
+ CARD8 depth;
+ CARD8 pad1;
+ CARD16 nVisuals B16; /* number of xVisualType structures following */
+ CARD32 pad2 B32;
+ } xDepth;
+
+typedef struct {
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD8 bitsPerRGB;
+ CARD16 colormapEntries B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad B32;
+ } xVisualType;
+
+typedef struct {
+ Window windowId B32;
+ Colormap defaultColormap B32;
+ CARD32 whitePixel B32, blackPixel B32;
+ CARD32 currentInputMask B32;
+ CARD16 pixWidth B16, pixHeight B16;
+ CARD16 mmWidth B16, mmHeight B16;
+ CARD16 minInstalledMaps B16, maxInstalledMaps B16;
+ VisualID rootVisualID B32;
+ CARD8 backingStore;
+ BOOL saveUnders;
+ CARD8 rootDepth;
+ CARD8 nDepths; /* number of xDepth structures following */
+} xWindowRoot;
+
+
+/*****************************************************************
+ * Structure Defns
+ * Structures needed for replies
+ *****************************************************************/
+
+/* Used in GetMotionEvents */
+
+typedef struct {
+ CARD32 time B32;
+ INT16 x B16, y B16;
+} xTimecoord;
+
+typedef struct {
+ CARD8 family;
+ BYTE pad;
+ CARD16 length B16;
+} xHostEntry;
+
+typedef struct {
+ INT16 leftSideBearing B16,
+ rightSideBearing B16,
+ characterWidth B16,
+ ascent B16,
+ descent B16;
+ CARD16 attributes B16;
+} xCharInfo;
+
+typedef struct {
+ Atom name B32;
+ CARD32 value B32;
+} xFontProp;
+
+/*
+ * non-aligned big-endian font ID follows this struct
+ */
+typedef struct { /* followed by string */
+ CARD8 len; /* number of *characters* in string, or FontChange (255)
+ for font change, or 0 if just delta given */
+ INT8 delta;
+} xTextElt;
+
+
+typedef struct {
+ CARD32 pixel B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue booleans */
+ CARD8 pad;
+} xColorItem;
+
+
+typedef struct {
+ CARD16 red B16, green B16, blue B16, pad B16;
+} xrgb;
+
+typedef CARD8 KEYCODE;
+
+
+/*****************
+ * XRep:
+ * meant to be 32 byte quantity
+ *****************/
+
+/* GenericReply is the common format of all replies. The "data" items
+ are specific to each individual reply type. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE data1; /* depends on reply type */
+ CARD16 sequenceNumber B16; /* of last request received by server */
+ CARD32 length B32; /* 4 byte quantities beyond size of GenericReply */
+ CARD32 data00 B32;
+ CARD32 data01 B32;
+ CARD32 data02 B32;
+ CARD32 data03 B32;
+ CARD32 data04 B32;
+ CARD32 data05 B32;
+ } xGenericReply;
+
+/* Individual reply formats. */
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 backingStore;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* NOT 0; this is an extra-large reply */
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ CARD8 bitGravity;
+ CARD8 winGravity;
+ CARD32 backingBitPlanes B32;
+ CARD32 backingPixel B32;
+ BOOL saveUnder;
+ BOOL mapInstalled;
+ CARD8 mapState;
+ BOOL override;
+ Colormap colormap B32;
+ CARD32 allEventMasks B32;
+ CARD32 yourEventMask B32;
+ CARD16 doNotPropagateMask B16;
+ CARD16 pad B16;
+ } xGetWindowAttributesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD16 borderWidth B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetGeometryReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Window root B32, parent B32;
+ CARD16 nChildren B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xQueryTreeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Atom atom B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xInternAtomReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ CARD16 nameLength B16; /* # of characters in name */
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetAtomNameReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* of additional bytes */
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32; /* # of 8, 16, or 32-bit entities in reply */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xGetPropertyReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nProperties B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListPropertiesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window owner B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetSelectionOwnerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE status;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGrabPointerReply;
+
+typedef xGrabPointerReply xGrabKeyboardReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window root B32, child B32;
+ INT16 rootX B16, rootY B16, winX B16, winY B16;
+ CARD16 mask B16;
+ CARD16 pad1 B16;
+ CARD32 pad B32;
+ } xQueryPointerReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 nEvents B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetMotionEventsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sameScreen;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window child B32;
+ INT16 dstX B16, dstY B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xTranslateCoordsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 revertTo;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ Window focus B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xGetInputFocusReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 2, NOT 0; this is an extra-large reply */
+ BYTE map[32];
+ } xQueryKeymapReply;
+
+/* Warning: this MUST match (up to component renaming) xListFontsWithInfoReply */
+typedef struct _xQueryFontReply {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nCharInfos" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nCharInfos B32; /* followed by this many xCharInfo structures */
+} xQueryFontReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 drawDirection;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ INT16 fontAscent B16, fontDescent B16;
+ INT16 overallAscent B16, overallDescent B16;
+ INT32 overallWidth B32, overallLeft B32, overallRight B32;
+ CARD32 pad B32;
+ } xQueryTextExtentsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nFonts B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListFontsReply;
+
+/* Warning: this MUST match (up to component renaming) xQueryFontReply */
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nameLength; /* 0 indicates end-of-reply-sequence */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* definitely > 0, even if "nameLength" is 0 */
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nReplies B32; /* hint as to how many more replies might be coming */
+} xListFontsWithInfoReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPaths B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetFontPathReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ VisualID visual B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetImageReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColormaps B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListInstalledColormapsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+ CARD32 pixel B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xAllocColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pixel B32;
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ } xAllocNamedColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16, nMasks B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xAllocColorCellsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nPixels B16;
+ CARD16 pad2 B16;
+ CARD32 redMask B32, greenMask B32, blueMask B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ } xAllocColorPlanesReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nColors B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryColorsReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 exactRed B16, exactGreen B16, exactBlue B16;
+ CARD16 screenRed B16, screenGreen B16, screenBlue B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xLookupColorReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 width B16, height B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryBestSizeReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ BOOL present;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 first_error;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xQueryExtensionReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nExtensions;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListExtensionsReply;
+
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 success;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xSetMappingReply;
+typedef xSetMappingReply xSetPointerMappingReply;
+typedef xSetMappingReply xSetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nElts; /* how many elements does the map have */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xGetPointerMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 keySymsPerKeyCode;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGetKeyboardMappingReply;
+
+typedef struct {
+ BYTE type;
+ CARD8 numKeyPerModifier;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xGetModifierMappingReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL globalAutoRepeat;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 5 */
+ CARD32 ledMask B32;
+ CARD8 keyClickPercent, bellPercent;
+ CARD16 bellPitch B16, bellDuration B16;
+ CARD16 pad B16;
+ BYTE map[32]; /* bit masks start here */
+ } xGetKeyboardControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 accelNumerator B16, accelDenominator B16;
+ CARD16 threshold B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetPointerControlReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD16 timeout B16, interval B16;
+ BOOL preferBlanking;
+ BOOL allowExposures;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ } xGetScreenSaverReply;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL enabled;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 nHosts B16;
+ CARD16 pad1 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ } xListHostsReply;
+
+
+
+
+/*****************************************************************
+ * Xerror
+ * All errors are 32 bytes
+ *****************************************************************/
+
+typedef struct {
+ BYTE type; /* X_Error */
+ BYTE errorCode;
+ CARD16 sequenceNumber B16; /* the nth request from this client */
+ CARD32 resourceID B32;
+ CARD16 minorCode B16;
+ CARD8 majorCode;
+ BYTE pad1;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xError;
+
+/*****************************************************************
+ * xEvent
+ * All events are 32 bytes
+ *****************************************************************/
+
+typedef struct _xEvent {
+ union {
+ struct {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ } u;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BOOL sameScreen;
+ BYTE pad1;
+ } keyButtonPointer;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window root B32, event B32, child B32;
+ INT16 rootX B16, rootY B16, eventX B16, eventY B16;
+ KeyButMask state B16;
+ BYTE mode; /* really XMode */
+ BYTE flags; /* sameScreen and focus booleans, packed together */
+#define ELFlagFocus (1<<0)
+#define ELFlagSameScreen (1<<1)
+ } enterLeave;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ BYTE mode; /* really XMode */
+ BYTE pad1, pad2, pad3;
+ } focus;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 count B16;
+ CARD16 pad2 B16;
+ } expose;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 x B16, y B16, width B16, height B16;
+ CARD16 minorEvent B16;
+ CARD16 count B16;
+ BYTE majorEvent;
+ BYTE pad1, pad2, pad3;
+ } graphicsExposure;
+ struct {
+ CARD32 pad00 B32;
+ Drawable drawable B32;
+ CARD16 minorEvent B16;
+ BYTE majorEvent;
+ BYTE bpad;
+ } noExposure;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD8 state;
+ BYTE pad1, pad2, pad3;
+ } visibility;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } createNotify;
+/*
+ * The event fields in the structures for DestroyNotify, UnmapNotify,
+ * MapNotify, ReparentNotify, ConfigureNotify, CirculateNotify, GravityNotify,
+ * must be at the same offset because server internal code is depending upon
+ * this to patch up the events before they are delivered.
+ * Also note that MapRequest, ConfigureRequest and CirculateRequest have
+ * the same offset for the event window.
+ */
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ } destroyNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL fromConfigure;
+ BYTE pad1, pad2, pad3;
+ } unmapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } mapNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32;
+ } mapRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ INT16 x B16, y B16;
+ BOOL override;
+ BYTE pad1, pad2, pad3;
+ } reparent;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32, aboveSibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ BOOL override;
+ BYTE bpad;
+ } configureNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window parent B32, window B32, sibling B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+ CARD16 valueMask B16;
+ CARD32 pad1 B32;
+ } configureRequest;
+ struct {
+ CARD32 pad00 B32;
+ Window event B32, window B32;
+ INT16 x B16, y B16;
+ CARD32 pad1 B32, pad2 B32, pad3 B32, pad4 B32;
+ } gravity;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ CARD16 width B16, height B16;
+ } resizeRequest;
+ struct {
+/* The event field in the circulate record is really the parent when this
+ is used as a CirculateRequest instead of a CirculateNotify */
+ CARD32 pad00 B32;
+ Window event B32, window B32, parent B32;
+ BYTE place; /* Top or Bottom */
+ BYTE pad1, pad2, pad3;
+ } circulate;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Atom atom B32;
+ Time time B32;
+ BYTE state; /* NewValue or Deleted */
+ BYTE pad1;
+ CARD16 pad2 B16;
+ } property;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window window B32;
+ Atom atom B32;
+ } selectionClear;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window owner B32, requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionRequest;
+ struct {
+ CARD32 pad00 B32;
+ Time time B32;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ } selectionNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ Colormap colormap B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_new;
+#else
+ BOOL new;
+#endif
+ BYTE state; /* Installed or UnInstalled */
+ BYTE pad1, pad2;
+ } colormap;
+ struct {
+ CARD32 pad00 B32;
+ CARD8 request;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ BYTE pad1;
+ } mappingNotify;
+ struct {
+ CARD32 pad00 B32;
+ Window window B32;
+ union {
+ struct {
+ Atom type B32;
+ INT32 longs0 B32;
+ INT32 longs1 B32;
+ INT32 longs2 B32;
+ INT32 longs3 B32;
+ INT32 longs4 B32;
+ } l;
+ struct {
+ Atom type B32;
+ INT16 shorts0 B16;
+ INT16 shorts1 B16;
+ INT16 shorts2 B16;
+ INT16 shorts3 B16;
+ INT16 shorts4 B16;
+ INT16 shorts5 B16;
+ INT16 shorts6 B16;
+ INT16 shorts7 B16;
+ INT16 shorts8 B16;
+ INT16 shorts9 B16;
+ } s;
+ struct {
+ Atom type B32;
+ INT8 bytes[20];
+ } b;
+ } u;
+ } clientMessage;
+ } u;
+} xEvent;
+
+/*********************************************************
+ *
+ * Generic event
+ *
+ * Those events are not part of the core protocol spec and can be used by
+ * various extensions.
+ * type is always GenericEvent
+ * extension is the minor opcode of the extension the event belongs to.
+ * evtype is the actual event type, unique __per extension__.
+ *
+ * GenericEvents can be longer than 32 bytes, with the length field
+ * specifying the number of 4 byte blocks after the first 32 bytes.
+ *
+ *
+ */
+typedef struct
+{
+ BYTE type;
+ CARD8 extension;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 evtype B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xGenericEvent;
+
+
+
+/* KeymapNotify events are not included in the above union because they
+ are different from all other events: they do not have a "detail"
+ or "sequenceNumber", so there is room for a 248-bit key mask. */
+
+typedef struct {
+ BYTE type;
+ BYTE map[31];
+ } xKeymapEvent;
+
+#define XEventSize (sizeof(xEvent))
+
+/* XReply is the union of all the replies above whose "fixed part"
+fits in 32 bytes. It does NOT include GetWindowAttributesReply,
+QueryFontReply, QueryKeymapReply, or GetKeyboardControlReply
+ListFontsWithInfoReply */
+
+typedef union {
+ xGenericReply generic;
+ xGetGeometryReply geom;
+ xQueryTreeReply tree;
+ xInternAtomReply atom;
+ xGetAtomNameReply atomName;
+ xGetPropertyReply property;
+ xListPropertiesReply listProperties;
+ xGetSelectionOwnerReply selection;
+ xGrabPointerReply grabPointer;
+ xGrabKeyboardReply grabKeyboard;
+ xQueryPointerReply pointer;
+ xGetMotionEventsReply motionEvents;
+ xTranslateCoordsReply coords;
+ xGetInputFocusReply inputFocus;
+ xQueryTextExtentsReply textExtents;
+ xListFontsReply fonts;
+ xGetFontPathReply fontPath;
+ xGetImageReply image;
+ xListInstalledColormapsReply colormaps;
+ xAllocColorReply allocColor;
+ xAllocNamedColorReply allocNamedColor;
+ xAllocColorCellsReply colorCells;
+ xAllocColorPlanesReply colorPlanes;
+ xQueryColorsReply colors;
+ xLookupColorReply lookupColor;
+ xQueryBestSizeReply bestSize;
+ xQueryExtensionReply extension;
+ xListExtensionsReply extensions;
+ xSetModifierMappingReply setModifierMapping;
+ xGetModifierMappingReply getModifierMapping;
+ xSetPointerMappingReply setPointerMapping;
+ xGetKeyboardMappingReply getKeyboardMapping;
+ xGetPointerMappingReply getPointerMapping;
+ xGetPointerControlReply pointerControl;
+ xGetScreenSaverReply screenSaver;
+ xListHostsReply hosts;
+ xError error;
+ xEvent event;
+} xReply;
+
+
+
+/*****************************************************************
+ * REQUESTS
+ *****************************************************************/
+
+
+/* Request structure */
+
+typedef struct _xReq {
+ CARD8 reqType;
+ CARD8 data; /* meaning depends on request type */
+ CARD16 length B16; /* length in 4 bytes quantities
+ of whole request, including this header */
+} xReq;
+
+/*****************************************************************
+ * structures that follow request.
+ *****************************************************************/
+
+/* ResourceReq is used for any request which has a resource ID
+ (or Atom or Time) as its one and only argument. */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 id B32; /* a Window, Drawable, Font, GContext, Pixmap, etc. */
+ } xResourceReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Window wid B32, parent B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16, borderWidth B16;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ VisualID visual B32;
+ CARD32 mask B32;
+} xCreateWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD32 valueMask B32;
+} xChangeWindowAttributesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ Window window B32;
+} xChangeSaveSetReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32, parent B32;
+ INT16 x B16, y B16;
+} xReparentWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 mask B16;
+ CARD16 pad2 B16;
+} xConfigureWindowReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 direction;
+ CARD16 length B16;
+ Window window B32;
+} xCirculateWindowReq;
+
+typedef struct { /* followed by padded string */
+ CARD8 reqType;
+ BOOL onlyIfExists;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of bytes in string */
+ CARD16 pad B16;
+} xInternAtomReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD8 format;
+ BYTE pad[3];
+ CARD32 nUnits B32; /* length of stuff following, depends on format */
+} xChangePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+} xDeletePropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ BOOL c_delete;
+#else
+ BOOL delete;
+#endif
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32, type B32;
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+} xGetPropertyReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Atom selection B32;
+ Time time B32;
+} xSetSelectionOwnerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window requestor B32;
+ Atom selection B32, target B32, property B32;
+ Time time B32;
+ } xConvertSelectionReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL propagate;
+ CARD16 length B16;
+ Window destination B32;
+ CARD32 eventMask B32;
+#ifdef WORD64
+ /* the structure should have been quad-aligned */
+ BYTE eventdata[SIZEOF(xEvent)];
+#else
+ xEvent event;
+#endif /* WORD64 */
+} xSendEventReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ Time time B32;
+} xGrabPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 eventMask B16;
+ BYTE pointerMode, keyboardMode;
+ Window confineTo B32;
+ Cursor cursor B32;
+ CARD8 button;
+ BYTE pad;
+ CARD16 modifiers B16;
+} xGrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 button;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabButtonReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ Time time B32;
+ CARD16 eventMask B16;
+ CARD16 pad2 B16;
+} xChangeActivePointerGrabReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ Time time B32;
+ BYTE pointerMode, keyboardMode;
+ CARD16 pad B16;
+} xGrabKeyboardReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL ownerEvents;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD8 key;
+ BYTE pointerMode, keyboardMode;
+ BYTE pad1, pad2, pad3;
+} xGrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 key;
+ CARD16 length B16;
+ Window grabWindow B32;
+ CARD16 modifiers B16;
+ CARD16 pad B16;
+} xUngrabKeyReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 mode;
+ CARD16 length B16;
+ Time time B32;
+} xAllowEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ Time start B32, stop B32;
+} xGetMotionEventsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+} xTranslateCoordsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window srcWid B32, dstWid B32;
+ INT16 srcX B16, srcY B16;
+ CARD16 srcWidth B16, srcHeight B16;
+ INT16 dstX B16, dstY B16;
+} xWarpPointerReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 revertTo;
+ CARD16 length B16;
+ Window focus B32;
+ Time time B32;
+} xSetInputFocusReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Font fid B32;
+ CARD16 nbytes B16;
+ BYTE pad1, pad2; /* string follows on word boundary */
+} xOpenFontReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL oddLength;
+ CARD16 length B16;
+ Font fid B32;
+ } xQueryTextExtentsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 maxNames B16;
+ CARD16 nbytes B16; /* followed immediately by string bytes */
+} xListFontsReq;
+
+typedef xListFontsReq xListFontsWithInfoReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nFonts B16;
+ BYTE pad1, pad2; /* LISTofSTRING8 follows on word boundary */
+} xSetFontPathReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 depth;
+ CARD16 length B16;
+ Pixmap pid B32;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xCreatePixmapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ Drawable drawable B32;
+ CARD32 mask B32;
+} xCreateGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD32 mask B32;
+} xChangeGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext srcGC B32, dstGC B32;
+ CARD32 mask B32;
+} xCopyGCReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ GContext gc B32;
+ CARD16 dashOffset B16;
+ CARD16 nDashes B16; /* length LISTofCARD8 of values following */
+} xSetDashesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE ordering;
+ CARD16 length B16;
+ GContext gc B32;
+ INT16 xOrigin B16, yOrigin B16;
+} xSetClipRectanglesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL exposures;
+ CARD16 length B16;
+ Window window B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xClearAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+} xCopyAreaReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable srcDrawable B32, dstDrawable B32;
+ GContext gc B32;
+ INT16 srcX B16, srcY B16, dstX B16, dstY B16;
+ CARD16 width B16, height B16;
+ CARD32 bitPlane B32;
+} xCopyPlaneReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE coordMode;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolyPointReq;
+
+typedef xPolyPointReq xPolyLineReq; /* same request structure */
+
+/* The following used for PolySegment, PolyRectangle, PolyArc, PolyFillRectangle, PolyFillArc */
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+} xPolySegmentReq;
+
+typedef xPolySegmentReq xPolyArcReq;
+typedef xPolySegmentReq xPolyRectangleReq;
+typedef xPolySegmentReq xPolyFillRectangleReq;
+typedef xPolySegmentReq xPolyFillArcReq;
+
+typedef struct _FillPolyReq {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ BYTE shape;
+ BYTE coordMode;
+ CARD16 pad1 B16;
+} xFillPolyReq;
+
+
+typedef struct _PutImageReq {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD16 width B16, height B16;
+ INT16 dstX B16, dstY B16;
+ CARD8 leftPad;
+ CARD8 depth;
+ CARD16 pad B16;
+} xPutImageReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 format;
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 planeMask B32;
+} xGetImageReq;
+
+/* the following used by PolyText8 and PolyText16 */
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 pad;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16; /* items (xTextElt) start after struct */
+} xPolyTextReq;
+
+typedef xPolyTextReq xPolyText8Req;
+typedef xPolyTextReq xPolyText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE nChars;
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ INT16 x B16, y B16;
+} xImageTextReq;
+
+typedef xImageTextReq xImageText8Req;
+typedef xImageTextReq xImageText16Req;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE alloc;
+ CARD16 length B16;
+ Colormap mid B32;
+ Window window B32;
+ VisualID visual B32;
+} xCreateColormapReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap mid B32;
+ Colormap srcCmap B32;
+} xCopyColormapAndFreeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad2 B16;
+} xAllocColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* followed by structure */
+ BYTE pad1, pad2;
+} xAllocNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, planes B16;
+} xAllocColorCellsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BOOL contiguous;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 colors B16, red B16, green B16, blue B16;
+} xAllocColorPlanesReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 planeMask B32;
+} xFreeColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xStoreColorsReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 flags; /* DoRed, DoGreen, DoBlue, as in xColorItem */
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 pixel B32;
+ CARD16 nbytes B16; /* number of name string bytes following structure */
+ BYTE pad1, pad2;
+ } xStoreNamedColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+} xQueryColorsReq;
+
+typedef struct { /* followed by string of length len */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD16 nbytes B16; /* number of string bytes following structure*/
+ BYTE pad1, pad2;
+} xLookupColorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Pixmap source B32, mask B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+ CARD16 x B16, y B16;
+} xCreateCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cid B32;
+ Font source B32, mask B32;
+ CARD16 sourceChar B16, maskChar B16;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xCreateGlyphCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Cursor cursor B32;
+ CARD16 foreRed B16, foreGreen B16, foreBlue B16;
+ CARD16 backRed B16, backGreen B16, backBlue B16;
+} xRecolorCursorReq;
+
+typedef struct {
+ CARD8 reqType;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD8 c_class;
+#else
+ CARD8 class;
+#endif
+ CARD16 length B16;
+ Drawable drawable B32;
+ CARD16 width B16, height B16;
+} xQueryBestSizeReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD16 nbytes B16; /* number of string bytes following structure */
+ BYTE pad1, pad2;
+} xQueryExtensionReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 numKeyPerModifier;
+ CARD16 length B16;
+} xSetModifierMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 nElts; /* how many elements in the map */
+ CARD16 length B16;
+} xSetPointerMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ CARD16 pad1 B16;
+} xGetKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 keyCodes;
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 keySymsPerKeyCode;
+ CARD16 pad1 B16;
+} xChangeKeyboardMappingReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ CARD32 mask B32;
+} xChangeKeyboardControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ INT8 percent; /* -100 to 100 */
+ CARD16 length B16;
+} xBellReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 accelNum B16, accelDenum B16;
+ INT16 threshold B16;
+ BOOL doAccel, doThresh;
+} xChangePointerControlReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ INT16 timeout B16, interval B16;
+ BYTE preferBlank, allowExpose;
+ CARD16 pad2 B16;
+} xSetScreenSaverReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ CARD8 hostFamily;
+ BYTE pad;
+ CARD16 hostLength B16;
+} xChangeHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ } xListHostsReq;
+
+typedef struct {
+ CARD8 reqType;
+ BYTE mode;
+ CARD16 length B16;
+ } xChangeModeReq;
+
+typedef xChangeModeReq xSetAccessControlReq;
+typedef xChangeModeReq xSetCloseDownModeReq;
+typedef xChangeModeReq xForceScreenSaverReq;
+
+typedef struct { /* followed by LIST of ATOM */
+ CARD8 reqType;
+ BYTE pad;
+ CARD16 length B16;
+ Window window B32;
+ CARD16 nAtoms B16;
+ INT16 nPositions B16;
+ } xRotatePropertiesReq;
+
+
+
+/* Reply codes */
+
+#define X_Reply 1 /* Normal reply */
+#define X_Error 0 /* Error */
+
+/* Request codes */
+
+#define X_CreateWindow 1
+#define X_ChangeWindowAttributes 2
+#define X_GetWindowAttributes 3
+#define X_DestroyWindow 4
+#define X_DestroySubwindows 5
+#define X_ChangeSaveSet 6
+#define X_ReparentWindow 7
+#define X_MapWindow 8
+#define X_MapSubwindows 9
+#define X_UnmapWindow 10
+#define X_UnmapSubwindows 11
+#define X_ConfigureWindow 12
+#define X_CirculateWindow 13
+#define X_GetGeometry 14
+#define X_QueryTree 15
+#define X_InternAtom 16
+#define X_GetAtomName 17
+#define X_ChangeProperty 18
+#define X_DeleteProperty 19
+#define X_GetProperty 20
+#define X_ListProperties 21
+#define X_SetSelectionOwner 22
+#define X_GetSelectionOwner 23
+#define X_ConvertSelection 24
+#define X_SendEvent 25
+#define X_GrabPointer 26
+#define X_UngrabPointer 27
+#define X_GrabButton 28
+#define X_UngrabButton 29
+#define X_ChangeActivePointerGrab 30
+#define X_GrabKeyboard 31
+#define X_UngrabKeyboard 32
+#define X_GrabKey 33
+#define X_UngrabKey 34
+#define X_AllowEvents 35
+#define X_GrabServer 36
+#define X_UngrabServer 37
+#define X_QueryPointer 38
+#define X_GetMotionEvents 39
+#define X_TranslateCoords 40
+#define X_WarpPointer 41
+#define X_SetInputFocus 42
+#define X_GetInputFocus 43
+#define X_QueryKeymap 44
+#define X_OpenFont 45
+#define X_CloseFont 46
+#define X_QueryFont 47
+#define X_QueryTextExtents 48
+#define X_ListFonts 49
+#define X_ListFontsWithInfo 50
+#define X_SetFontPath 51
+#define X_GetFontPath 52
+#define X_CreatePixmap 53
+#define X_FreePixmap 54
+#define X_CreateGC 55
+#define X_ChangeGC 56
+#define X_CopyGC 57
+#define X_SetDashes 58
+#define X_SetClipRectangles 59
+#define X_FreeGC 60
+#define X_ClearArea 61
+#define X_CopyArea 62
+#define X_CopyPlane 63
+#define X_PolyPoint 64
+#define X_PolyLine 65
+#define X_PolySegment 66
+#define X_PolyRectangle 67
+#define X_PolyArc 68
+#define X_FillPoly 69
+#define X_PolyFillRectangle 70
+#define X_PolyFillArc 71
+#define X_PutImage 72
+#define X_GetImage 73
+#define X_PolyText8 74
+#define X_PolyText16 75
+#define X_ImageText8 76
+#define X_ImageText16 77
+#define X_CreateColormap 78
+#define X_FreeColormap 79
+#define X_CopyColormapAndFree 80
+#define X_InstallColormap 81
+#define X_UninstallColormap 82
+#define X_ListInstalledColormaps 83
+#define X_AllocColor 84
+#define X_AllocNamedColor 85
+#define X_AllocColorCells 86
+#define X_AllocColorPlanes 87
+#define X_FreeColors 88
+#define X_StoreColors 89
+#define X_StoreNamedColor 90
+#define X_QueryColors 91
+#define X_LookupColor 92
+#define X_CreateCursor 93
+#define X_CreateGlyphCursor 94
+#define X_FreeCursor 95
+#define X_RecolorCursor 96
+#define X_QueryBestSize 97
+#define X_QueryExtension 98
+#define X_ListExtensions 99
+#define X_ChangeKeyboardMapping 100
+#define X_GetKeyboardMapping 101
+#define X_ChangeKeyboardControl 102
+#define X_GetKeyboardControl 103
+#define X_Bell 104
+#define X_ChangePointerControl 105
+#define X_GetPointerControl 106
+#define X_SetScreenSaver 107
+#define X_GetScreenSaver 108
+#define X_ChangeHosts 109
+#define X_ListHosts 110
+#define X_SetAccessControl 111
+#define X_SetCloseDownMode 112
+#define X_KillClient 113
+#define X_RotateProperties 114
+#define X_ForceScreenSaver 115
+#define X_SetPointerMapping 116
+#define X_GetPointerMapping 117
+#define X_SetModifierMapping 118
+#define X_GetModifierMapping 119
+#define X_NoOperation 127
+
+/* restore these definitions back to the typedefs in X.h */
+#undef Window
+#undef Drawable
+#undef Font
+#undef Pixmap
+#undef Cursor
+#undef Colormap
+#undef GContext
+#undef Atom
+#undef VisualID
+#undef Time
+#undef KeyCode
+#undef KeySym
+
+#endif /* XPROTO_H */
diff --git a/x11proto/Xprotostr.h b/x11proto/Xprotostr.h
new file mode 100644
index 0000000..a9e854d
--- /dev/null
+++ b/x11proto/Xprotostr.h
@@ -0,0 +1,77 @@
+#ifndef XPROTOSTRUCTS_H
+#define XPROTOSTRUCTS_H
+
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+#include <X11/Xmd.h>
+
+/* Used by PolySegment */
+
+typedef struct _xSegment {
+ INT16 x1 B16, y1 B16, x2 B16, y2 B16;
+} xSegment;
+
+/* POINT */
+
+typedef struct _xPoint {
+ INT16 x B16, y B16;
+} xPoint;
+
+typedef struct _xRectangle {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+} xRectangle;
+
+/* ARC */
+
+typedef struct _xArc {
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ INT16 angle1 B16, angle2 B16;
+} xArc;
+
+#endif /* XPROTOSTRUCTS_H */
diff --git a/x11proto/Xthreads.h b/x11proto/Xthreads.h
new file mode 100644
index 0000000..3d44208
--- /dev/null
+++ b/x11proto/Xthreads.h
@@ -0,0 +1,313 @@
+/*
+ *
+Copyright 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ * *
+ */
+
+#ifndef _XTHREADS_H_
+# define _XTHREADS_H_
+
+/* Redefine these to XtMalloc/XtFree or whatever you want before including
+ * this header file.
+ */
+# ifndef xmalloc
+# define xmalloc malloc
+# endif
+# ifndef xfree
+# define xfree free
+# endif
+
+# ifdef CTHREADS
+# include <cthreads.h>
+typedef cthread_t xthread_t;
+typedef struct condition xcondition_rec;
+typedef struct mutex xmutex_rec;
+# define xthread_init() cthread_init()
+# define xthread_self cthread_self
+# define xthread_fork(func,closure) cthread_fork(func,closure)
+# define xthread_yield() cthread_yield()
+# define xthread_exit(v) cthread_exit(v)
+# define xthread_set_name(t,str) cthread_set_name(t,str)
+# define xmutex_init(m) mutex_init(m)
+# define xmutex_clear(m) mutex_clear(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xmutex_set_name(m,str) mutex_set_name(m,str)
+# define xcondition_init(cv) condition_init(cv)
+# define xcondition_clear(cv) condition_clear(cv)
+# define xcondition_wait(cv,m) condition_wait(cv,m)
+# define xcondition_signal(cv) condition_signal(cv)
+# define xcondition_broadcast(cv) condition_broadcast(cv)
+# define xcondition_set_name(cv,str) condition_set_name(cv,str)
+# else /* !CTHREADS */
+# if defined(SVR4)
+# include <thread.h>
+# include <synch.h>
+typedef thread_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+# if defined(__UNIXWARE__)
+extern xthread_t (*_x11_thr_self)();
+# define xthread_self (_x11_thr_self)
+# else
+# define xthread_self thr_self
+# endif
+# define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL)
+# define xthread_yield() thr_yield()
+# define xthread_exit(v) thr_exit(v)
+# define xthread_key_create(kp,d) thr_keycreate(kp,d)
+# ifdef __sun
+# define xthread_key_delete(k) 0
+# else
+# define xthread_key_delete(k) thr_keydelete(k)
+# endif
+# define xthread_set_specific(k,v) thr_setspecific(k,v)
+# define xthread_get_specific(k,vp) thr_getspecific(k,vp)
+# define xmutex_init(m) mutex_init(m,USYNC_THREAD,0)
+# define xmutex_clear(m) mutex_destroy(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0)
+# define xcondition_clear(cv) cond_destroy(cv)
+# define xcondition_wait(cv,m) cond_wait(cv,m)
+# define xcondition_signal(cv) cond_signal(cv)
+# define xcondition_broadcast(cv) cond_broadcast(cv)
+# else /* !SVR4 */
+# ifdef WIN32
+# include <X11/Xwindows.h>
+typedef DWORD xthread_t;
+typedef DWORD xthread_key_t;
+struct _xthread_waiter {
+ HANDLE sem;
+ struct _xthread_waiter *next;
+};
+typedef struct {
+ CRITICAL_SECTION cs;
+ struct _xthread_waiter *waiters;
+} xcondition_rec;
+typedef CRITICAL_SECTION xmutex_rec;
+# define xthread_init() _Xthread_init()
+# define xthread_self GetCurrentThreadId
+# define xthread_fork(func,closure) { \
+ DWORD _tmptid; \
+ CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \
+ &_tmptid); \
+}
+# define xthread_yield() Sleep(0)
+# define xthread_exit(v) ExitThread((DWORD)(v))
+# define xthread_key_create(kp,d) *(kp) = TlsAlloc()
+# define xthread_key_delete(k) TlsFree(k)
+# define xthread_set_specific(k,v) TlsSetValue(k,v)
+# define xthread_get_specific(k,vp) TlsGetValue(k)
+# define xmutex_init(m) InitializeCriticalSection(m)
+# define xmutex_clear(m) DeleteCriticalSection(m)
+# define _XMUTEX_NESTS
+# define xmutex_lock(m) EnterCriticalSection(m)
+# define xmutex_unlock(m) LeaveCriticalSection(m)
+# define xcondition_init(cv) { \
+ InitializeCriticalSection(&(cv)->cs); \
+ (cv)->waiters = NULL; \
+}
+# define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs)
+extern struct _xthread_waiter *_Xthread_waiter();
+# define xcondition_wait(cv,m) { \
+ struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \
+ EnterCriticalSection(&(cv)->cs); \
+ _tmpthr->next = (cv)->waiters; \
+ (cv)->waiters = _tmpthr; \
+ LeaveCriticalSection(&(cv)->cs); \
+ LeaveCriticalSection(m); \
+ WaitForSingleObject(_tmpthr->sem, INFINITE); \
+ EnterCriticalSection(m); \
+}
+# define xcondition_signal(cv) { \
+ EnterCriticalSection(&(cv)->cs); \
+ if ((cv)->waiters) { \
+ ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \
+ (cv)->waiters = (cv)->waiters->next; \
+ } \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+# define xcondition_broadcast(cv) { \
+ struct _xthread_waiter *_tmpthr; \
+ EnterCriticalSection(&(cv)->cs); \
+ for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \
+ ReleaseSemaphore(_tmpthr->sem, 1, NULL); \
+ (cv)->waiters = NULL; \
+ LeaveCriticalSection(&(cv)->cs); \
+}
+# else /* !WIN32 */
+# ifdef USE_TIS_SUPPORT
+/*
+ * TIS support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+# include <tis.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+# define xthread_self tis_self
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+# define xthread_yield() pthread_yield_np()
+# define xthread_exit(v) pthread_exit(v)
+# define xthread_key_create(kp,d) tis_key_create(kp,d)
+# define xthread_key_delete(k) tis_key_delete(k)
+# define xthread_set_specific(k,v) tis_setspecific(k,v)
+# define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k)
+# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+# define xmutex_init(m) tis_mutex_init(m)
+# define xmutex_clear(m) tis_mutex_destroy(m)
+# define xmutex_lock(m) tis_mutex_lock(m)
+# define xmutex_unlock(m) tis_mutex_unlock(m)
+# define xcondition_init(c) tis_cond_init(c)
+# define xcondition_clear(c) tis_cond_destroy(c)
+# define xcondition_wait(c,m) tis_cond_wait(c,m)
+# define xcondition_signal(c) tis_cond_signal(c)
+# define xcondition_broadcast(c) tis_cond_broadcast(c)
+# else
+# ifdef USE_NBSD_THREADLIB
+/*
+ * NetBSD threadlib support is intended for thread safe libraries.
+ * This should not be used for general client programming.
+ */
+# include <threadlib.h>
+typedef thr_t xthread_t;
+typedef thread_key_t xthread_key_t;
+typedef cond_t xcondition_rec;
+typedef mutex_t xmutex_rec;
+# define xthread_self thr_self
+# define xthread_fork(func,closure) { thr_t _tmpxthr; \
+ /* XXX Create it detached? --thorpej */ \
+ thr_create(&_tmpxthr,NULL,func,closure); }
+# define xthread_yield() thr_yield()
+# define xthread_exit(v) thr_exit(v)
+# define xthread_key_create(kp,d) thr_keycreate(kp,d)
+# define xthread_key_delete(k) thr_keydelete(k)
+# define xthread_set_specific(k,v) thr_setspecific(k,v)
+# define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k)
+# define XMUTEX_INITIALIZER MUTEX_INITIALIZER
+# define xmutex_init(m) mutex_init(m, 0)
+# define xmutex_clear(m) mutex_destroy(m)
+# define xmutex_lock(m) mutex_lock(m)
+# define xmutex_unlock(m) mutex_unlock(m)
+# define xcondition_init(c) cond_init(c, 0, 0)
+# define xcondition_clear(c) cond_destroy(c)
+# define xcondition_wait(c,m) cond_wait(c,m)
+# define xcondition_signal(c) cond_signal(c)
+# define xcondition_broadcast(c) cond_broadcast(c)
+# else
+# include <pthread.h>
+typedef pthread_t xthread_t;
+typedef pthread_key_t xthread_key_t;
+typedef pthread_cond_t xcondition_rec;
+typedef pthread_mutex_t xmutex_rec;
+# define xthread_self pthread_self
+# define xthread_yield() pthread_yield()
+# define xthread_exit(v) pthread_exit(v)
+# define xthread_set_specific(k,v) pthread_setspecific(k,v)
+# define xmutex_clear(m) pthread_mutex_destroy(m)
+# define xmutex_lock(m) pthread_mutex_lock(m)
+# define xmutex_unlock(m) pthread_mutex_unlock(m)
+# ifndef XPRE_STANDARD_API
+# define xthread_key_create(kp,d) pthread_key_create(kp,d)
+# define xthread_key_delete(k) pthread_key_delete(k)
+# define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k)
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,NULL,func,closure); }
+# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+# define xmutex_init(m) pthread_mutex_init(m, NULL)
+# define xcondition_init(c) pthread_cond_init(c, NULL)
+# else /* XPRE_STANDARD_API */
+# define xthread_key_create(kp,d) pthread_keycreate(kp,d)
+# define xthread_key_delete(k) 0
+# define xthread_get_specific(k,vp) pthread_getspecific(k,vp)
+# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
+ pthread_create(&_tmpxthr,pthread_attr_default,func,closure); }
+# define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default)
+# define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default)
+# endif /* XPRE_STANDARD_API */
+# define xcondition_clear(c) pthread_cond_destroy(c)
+# define xcondition_wait(c,m) pthread_cond_wait(c,m)
+# define xcondition_signal(c) pthread_cond_signal(c)
+# define xcondition_broadcast(c) pthread_cond_broadcast(c)
+# if defined(_DECTHREADS_)
+static xthread_t _X_no_thread_id;
+# define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id)
+# define xthread_clear_id(id) id = _X_no_thread_id
+# define xthread_equal(id1,id2) pthread_equal(id1, id2)
+# endif /* _DECTHREADS_ */
+# if defined(__linux__)
+# define xthread_have_id(id) !pthread_equal(id, 0)
+# define xthread_clear_id(id) id = 0
+# define xthread_equal(id1,id2) pthread_equal(id1, id2)
+# endif /* linux */
+# if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM)
+# ifdef DEBUG /* too much of a hack to enable normally */
+/* see also cma__obj_set_name() */
+# define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str)
+# define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str)
+# endif /* DEBUG */
+# endif /* _CMA_VENDOR_ == _CMA__IBM */
+# endif /* USE_NBSD_THREADLIB */
+# endif /* USE_TIS_SUPPORT */
+# endif /* WIN32 */
+# endif /* SVR4 */
+# endif /* CTHREADS */
+typedef xcondition_rec *xcondition_t;
+typedef xmutex_rec *xmutex_t;
+# ifndef xcondition_malloc
+# define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec))
+# endif
+# ifndef xcondition_free
+# define xcondition_free(c) xfree((char *)c)
+# endif
+# ifndef xmutex_malloc
+# define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec))
+# endif
+# ifndef xmutex_free
+# define xmutex_free(m) xfree((char *)m)
+# endif
+# ifndef xthread_have_id
+# define xthread_have_id(id) id
+# endif
+# ifndef xthread_clear_id
+# define xthread_clear_id(id) id = 0
+# endif
+# ifndef xthread_equal
+# define xthread_equal(id1,id2) ((id1) == (id2))
+# endif
+/* aids understood by some debuggers */
+# ifndef xthread_set_name
+# define xthread_set_name(t,str)
+# endif
+# ifndef xmutex_set_name
+# define xmutex_set_name(m,str)
+# endif
+# ifndef xcondition_set_name
+# define xcondition_set_name(cv,str)
+# endif
+
+#endif /* _XTHREADS_H_ */
diff --git a/x11proto/Xw32defs.h b/x11proto/Xw32defs.h
new file mode 100644
index 0000000..b2e4b33
--- /dev/null
+++ b/x11proto/Xw32defs.h
@@ -0,0 +1,79 @@
+#ifndef _XW32DEFS_H
+# define _XW32DEFS_H
+
+# ifdef __GNUC__ /* mingw is more close to unix than msvc */
+# if !defined(__daddr_t_defined)
+typedef char *caddr_t;
+# endif
+# define lstat stat
+
+# else
+typedef char *caddr_t;
+
+# define access _access
+# define alloca _alloca
+# define chdir _chdir
+# define chmod _chmod
+# define close _close
+# define creat _creat
+# define dup _dup
+# define dup2 _dup2
+# define environ _environ
+# define execl _execl
+# define execle _execle
+# define execlp _execlp
+# define execlpe _execlpe
+# define execv _execv
+# define execve _execve
+# define execvp _execvp
+# define execvpe _execvpe
+# define fdopen _fdopen
+# define fileno _fileno
+# define fstat _fstat
+# define getcwd _getcwd
+# define getpid _getpid
+# define hypot _hypot
+# define isascii __isascii
+# define isatty _isatty
+# define lseek _lseek
+# define mkdir _mkdir
+# define mktemp _mktemp
+# define open _open
+# define putenv _putenv
+# define read _read
+# define rmdir _rmdir
+# define sleep(x) Sleep((x) * 1000)
+# define stat _stat
+# define sys_errlist _sys_errlist
+# define sys_nerr _sys_nerr
+# define umask _umask
+# define unlink _unlink
+# define write _write
+# define random rand
+# define srandom srand
+
+# define O_RDONLY _O_RDONLY
+# define O_WRONLY _O_WRONLY
+# define O_RDWR _O_RDWR
+# define O_APPEND _O_APPEND
+# define O_CREAT _O_CREAT
+# define O_TRUNC _O_TRUNC
+# define O_EXCL _O_EXCL
+# define O_TEXT _O_TEXT
+# define O_BINARY _O_BINARY
+# define O_RAW _O_BINARY
+
+# define S_IFMT _S_IFMT
+# define S_IFDIR _S_IFDIR
+# define S_IFCHR _S_IFCHR
+# define S_IFREG _S_IFREG
+# define S_IREAD _S_IREAD
+# define S_IWRITE _S_IWRITE
+# define S_IEXEC _S_IEXEC
+
+# define F_OK 0
+# define X_OK 1
+# define W_OK 2
+# define R_OK 4
+# endif /* __GNUC__ */
+#endif
diff --git a/x11proto/Xwindows.h b/x11proto/Xwindows.h
new file mode 100644
index 0000000..6318155
--- /dev/null
+++ b/x11proto/Xwindows.h
@@ -0,0 +1,91 @@
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has the sole purpose of allowing the inclusion of
+ * windows.h without getting any name conflicts with X headers code, by
+ * renaming the conflicting definitions from windows.h
+ *
+ * Some (non-Microsoft) versions of the Windows API headers actually avoid
+ * making the conflicting definitions if XFree86Server is defined, so we
+ * need to remember if that was defined and undefine it during including
+ * windows.h (so the conflicting definitions get wrapped correctly), and
+ * then redefine it afterwards...
+ *
+ * There doesn't seem to be a good way to wrap the min/max macros from
+ * windows.h, so we simply avoid defining them completely, allowing any
+ * pre-existing definition to stand.
+ *
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+# define _XFree86Server
+# undef XFree86Server
+#endif
+
+#define NOMINMAX
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <windows.h>
+#undef NOMINMAX
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+
+#ifdef RESOURCE_H
+# undef RT_FONT
+# undef RT_CURSOR
+# define RT_FONT ((RESTYPE)4)
+# define RT_CURSOR ((RESTYPE)5)
+#endif
+
+#ifndef __CYGWIN__
+#define sleep(x) Sleep((x) * 1000)
+#endif
+
+#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
+# undef PATH_MAX
+# define PATH_MAX 1024
+#endif
+
+#ifdef _XFree86Server
+# define XFree86Server
+# undef _XFree86Server
+#endif
+
diff --git a/x11proto/Xwinsock.h b/x11proto/Xwinsock.h
new file mode 100644
index 0000000..e6ca7b5
--- /dev/null
+++ b/x11proto/Xwinsock.h
@@ -0,0 +1,65 @@
+/*
+
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
+ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
+ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization from
+The Open Group.
+
+*/
+
+/*
+ * This header file has for sole purpose to allow to include winsock.h
+ * without getting any name conflicts with our code.
+ * Conflicts come from the fact that including winsock.h actually pulls
+ * in the whole Windows API...
+ */
+
+#undef _XFree86Server
+#ifdef XFree86Server
+# define _XFree86Server
+# undef XFree86Server
+#endif
+
+#define BOOL wBOOL
+#define INT32 wINT32
+#undef Status
+#define Status wStatus
+#define ATOM wATOM
+#define BYTE wBYTE
+#define FreeResource wFreeResource
+#include <winsock2.h>
+#undef Status
+#define Status int
+#undef BYTE
+#undef BOOL
+#undef INT32
+#undef ATOM
+#undef FreeResource
+#undef CreateWindowA
+#undef RT_FONT
+#undef RT_CURSOR
+
+#ifdef _XFree86Server
+# define XFree86Server
+# undef _XFree86Server
+#endif
+
diff --git a/x11proto/ap_keysym.h b/x11proto/ap_keysym.h
new file mode 100644
index 0000000..9a11971
--- /dev/null
+++ b/x11proto/ap_keysym.h
@@ -0,0 +1,51 @@
+/******************************************************************
+Copyright 1987 by Apollo Computer Inc., Chelmsford, Massachusetts.
+Copyright 1989 by Hewlett-Packard Company.
+
+ All Rights Reserved
+
+Permission to use, duplicate, change, and distribute this software and
+its documentation for any purpose and without fee is granted, provided
+that the above copyright notice appear in such copy and that this
+copyright notice appear in all supporting documentation, and that the
+names of Apollo Computer Inc., the Hewlett-Packard Company, or the X
+Consortium not be used in advertising or publicity pertaining to
+distribution of the software without written prior permission.
+
+HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD
+TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. Hewlett-Packard shall not be liable for errors
+contained herein or direct, indirect, special, incidental or
+consequential damages in connection with the furnishing,
+performance, or use of this material.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+******************************************************************/
+
+#define apXK_LineDel 0x1000FF00
+#define apXK_CharDel 0x1000FF01
+#define apXK_Copy 0x1000FF02
+#define apXK_Cut 0x1000FF03
+#define apXK_Paste 0x1000FF04
+#define apXK_Move 0x1000FF05
+#define apXK_Grow 0x1000FF06
+#define apXK_Cmd 0x1000FF07
+#define apXK_Shell 0x1000FF08
+#define apXK_LeftBar 0x1000FF09
+#define apXK_RightBar 0x1000FF0A
+#define apXK_LeftBox 0x1000FF0B
+#define apXK_RightBox 0x1000FF0C
+#define apXK_UpBox 0x1000FF0D
+#define apXK_DownBox 0x1000FF0E
+#define apXK_Pop 0x1000FF0F
+#define apXK_Read 0x1000FF10
+#define apXK_Edit 0x1000FF11
+#define apXK_Save 0x1000FF12
+#define apXK_Exit 0x1000FF13
+#define apXK_Repeat 0x1000FF14
+
+#define apXK_KP_parenleft 0x1000FFA8
+#define apXK_KP_parenright 0x1000FFA9
diff --git a/x11proto/autogen.sh b/x11proto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/x11proto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/x11proto/configure.ac b/x11proto/configure.ac
new file mode 100644
index 0000000..ec1b825
--- /dev/null
+++ b/x11proto/configure.ac
@@ -0,0 +1,209 @@
+AC_PREREQ([2.60])
+AC_INIT([Xproto], [7.0.16], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_CONFIG_HEADER([do-not-use-config.h])
+AC_CONFIG_HEADER([Xfuncproto.h])
+
+AC_CANONICAL_HOST
+
+m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
+
+# Check for enable/disable options
+AC_ARG_ENABLE(function-prototypes,
+ AS_HELP_STRING([--enable-function-prototypes],
+ [force function prototypes (default: auto)]),
+ [FUNCPROTO=$enableval], [FUNCPROTO=auto])
+AC_ARG_ENABLE(varargs-prototypes,
+ AS_HELP_STRING([--enable-varargs-prototypes],
+ [varargs prototypes are supported (default: auto)]),
+ [VAPROTO=$enableval], [VAPROTO=auto])
+AC_ARG_ENABLE(const-prototypes,
+ AS_HELP_STRING([--enable-const-prototypes],
+ [const is supported (default: auto)]),
+ [CONSTPROTO=$enableval], [CONSTPROTO=auto])
+AC_ARG_ENABLE(nested-prototypes,
+ AS_HELP_STRING([--enable-nested-prototypes],
+ [nested prototypes are supported (default: auto)]),
+ [NESTEDPROTO=$enableval], [NESTEDPROTO=auto])
+AC_ARG_ENABLE(wide-prototypes,
+ AS_HELP_STRING([--enable-wide-prototypes],
+ [widen function prototypes (default: auto)]),
+ [WIDEPROTO=$enableval], [WIDEPROTO=auto])
+
+
+AC_CHECK_HEADERS([sys/select.h sys/param.h sys/types.h sys/time.h])
+
+# Handle Xpoll.h.in
+# Avoid determining fds_bits on WIN32 hosts (not including cygwin)
+case $host_os in
+ mingw*) fds_bits_found=true;;
+ *) fds_bits_found=false;;
+esac
+
+if test "x$fds_bits_found" = xfalse ; then
+ AC_CHECK_MEMBER(fd_set.fds_bits,
+ [
+ fds_bits_found=plain
+ USE_FDS_BITS="fds_bits"
+ ],,
+ [
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+ #ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+ #ifdef HAVE_SYS_TIME_H
+ #include <sys/time.h>
+ #endif
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+ ])
+fi
+
+if test "x$fds_bits_found" = xfalse ; then
+ AC_CHECK_MEMBER(fd_set.__fds_bits,
+ [
+ fds_bits_found=underscores
+ USE_FDS_BITS="__fds_bits"
+ ],,
+ [
+ #ifdef HAVE_SYS_PARAM_H
+ #include <sys/param.h>
+ #endif
+ #ifdef HAVE_SYS_TYPES_H
+ #include <sys/types.h>
+ #endif
+ #ifdef HAVE_SYS_TIME_H
+ #include <sys/time.h>
+ #endif
+ #ifdef HAVE_SYS_SELECT_H
+ #include <sys/select.h>
+ #endif
+ ])
+fi
+
+if test "x$fds_bits_found" = xfalse ; then
+ AC_MSG_ERROR([Could not determine how to access the fds_bits or equivalent
+ structure in fd_set on your platform.])
+fi
+
+AC_SUBST([USE_FDS_BITS])
+
+
+# Handle Xfuncproto.h
+AC_MSG_CHECKING([whether const prototypes are supported])
+if test "x$CONSTPROTO" = xauto; then
+ case $host_os in
+ linux*) CONSTPROTO=yes ;;
+ freebsd*) CONSTPROTO=yes ;;
+ netbsd*) CONSTPROTO=yes ;;
+ openbsd*) CONSTPROTO=yes ;;
+ solaris*) CONSTPROTO=yes ;;
+ *) CONSTPROTO=no ;;
+ esac
+fi
+AC_MSG_RESULT([$CONSTPROTO])
+
+AC_MSG_CHECKING([whether varargs prototypes are supported])
+if test "x$VAPROTO" = xauto; then
+ case $host_os in
+ linux*) VAPROTO=yes ;;
+ freebsd*) VAPROTO=yes ;;
+ netbsd*) VAPROTO=yes ;;
+ openbsd*) VAPROTO=yes ;;
+ solaris*) VAPROTO=yes ;;
+ *) VAPROTO=no ;;
+ esac
+fi
+AC_MSG_RESULT([$VAPROTO])
+
+AC_MSG_CHECKING([whether nested prototypes are supported])
+if test "x$NESTEDPROTO" = xauto; then
+ case $host_os in
+ linux*) NESTEDPROTO=yes ;;
+ freebsd*) NESTEDPROTO=yes ;;
+ netbsd*) NESTEDPROTO=yes ;;
+ openbsd*) NESTEDPROTO=yes ;;
+ solaris*) NESTEDPROTO=yes ;;
+ *) NESTEDPROTO=no ;;
+ esac
+fi
+AC_MSG_RESULT([$NESTEDPROTO])
+
+AC_MSG_CHECKING([whether to force function prototypes])
+if test "x$FUNCPROTO" = xauto; then
+ case $host_os in
+ linux*) FUNCPROTO=yes ;;
+ freebsd*) FUNCPROTO=yes ;;
+ netbsd*) FUNCPROTO=yes ;;
+ openbsd*) FUNCPROTO=yes ;;
+ *)
+ if test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
+ FUNCPROTO=yes
+ else
+ FUNCPROTO=no
+ fi
+ ;;
+ esac
+fi
+AC_MSG_RESULT([$FUNCPROTO])
+
+# Logic for this was taken from Imake.tmpl
+if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes && test "x$CONSTPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [15], [FUNCPROTO])
+else
+ if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [11], [FUNCPROTO])
+ else
+ if test "x$FUNCPROTO" = xyes && test "x$NESTEDPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [9], [FUNCPROTO])
+ else
+ if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes && test "x$CONSTPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [7], [FUNCPROTO])
+ else
+ if test "x$FUNCPROTO" = xyes && test "x$CONSTPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [5], [FUNCPROTO])
+ else
+ if test "x$FUNCPROTO" = xyes && test "x$VAPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [3], [FUNCPROTO])
+ else
+ if test "x$FUNCPROTO" = xyes; then
+ AC_DEFINE(FUNCPROTO, [], [FUNCPROTO])
+ fi
+ fi
+ fi
+ fi
+ fi
+ fi
+fi
+
+AC_MSG_CHECKING([whether to widen function prototypes])
+if test "x$WIDEPROTO" = xauto; then
+ case $host_os in
+ linux*) WIDEPROTO=no ;;
+ freebsd*) WIDEPROTO=no ;;
+ netbsd*) WIDEPROTO=no ;;
+ openbsd*) WIDEPROTO=no ;;
+ *) WIDEPROTO=yes ;;
+ esac
+fi
+AC_MSG_RESULT([$WIDEPROTO])
+
+if test "x$WIDEPROTO" = xno; then
+ AC_DEFINE(NARROWPROTO, [], [Narrow prototypes])
+fi
+
+
+AC_OUTPUT([Makefile
+ Xpoll.h
+ xproto.pc])
diff --git a/x11proto/keysym.h b/x11proto/keysym.h
new file mode 100644
index 0000000..641b25b
--- /dev/null
+++ b/x11proto/keysym.h
@@ -0,0 +1,73 @@
+/***********************************************************
+
+Copyright 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/* default keysyms */
+#define XK_MISCELLANY
+#define XK_XKB_KEYS
+#define XK_LATIN1
+#define XK_LATIN2
+#define XK_LATIN3
+#define XK_LATIN4
+#define XK_LATIN8
+#define XK_LATIN9
+#define XK_CAUCASUS
+#define XK_GREEK
+#define XK_KATAKANA
+#define XK_ARABIC
+#define XK_CYRILLIC
+#define XK_HEBREW
+#define XK_THAI
+#define XK_KOREAN
+#define XK_ARMENIAN
+#define XK_GEORGIAN
+#define XK_VIETNAMESE
+#define XK_CURRENCY
+#define XK_MATHEMATICAL
+#define XK_BRAILLE
+
+#include <X11/keysymdef.h>
+
diff --git a/x11proto/keysymdef.h b/x11proto/keysymdef.h
new file mode 100644
index 0000000..ec125a6
--- /dev/null
+++ b/x11proto/keysymdef.h
@@ -0,0 +1,2389 @@
+/***********************************************************
+Copyright 1987, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+
+Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+******************************************************************/
+
+/*
+ * The "X11 Window System Protocol" standard defines in Appendix A the
+ * keysym codes. These 29-bit integer values identify characters or
+ * functions associated with each key (e.g., via the visible
+ * engraving) of a keyboard layout. This file assigns mnemonic macro
+ * names for these keysyms.
+ *
+ * This file is also compiled (by src/util/makekeys.c in libX11) into
+ * hash tables that can be accessed with X11 library functions such as
+ * XStringToKeysym() and XKeysymToString().
+ *
+ * Where a keysym corresponds one-to-one to an ISO 10646 / Unicode
+ * character, this is noted in a comment that provides both the U+xxxx
+ * Unicode position, as well as the official Unicode name of the
+ * character.
+ *
+ * Where the correspondence is either not one-to-one or semantically
+ * unclear, the Unicode position and name are enclosed in
+ * parentheses. Such legacy keysyms should be considered deprecated
+ * and are not recommended for use in future keyboard mappings.
+ *
+ * For any future extension of the keysyms with characters already
+ * found in ISO 10646 / Unicode, the following algorithm shall be
+ * used. The new keysym code position will simply be the character's
+ * Unicode number plus 0x01000000. The keysym values in the range
+ * 0x01000100 to 0x0110ffff are reserved to represent Unicode
+ * characters in the range U+0100 to U+10FFFF.
+ *
+ * While most newer Unicode-based X11 clients do already accept
+ * Unicode-mapped keysyms in the range 0x01000100 to 0x0110ffff, it
+ * will remain necessary for clients -- in the interest of
+ * compatibility with existing servers -- to also understand the
+ * existing legacy keysym values in the range 0x0100 to 0x20ff.
+ *
+ * Where several mnemonic names are defined for the same keysym in this
+ * file, all but the first one listed should be considered deprecated.
+ *
+ * Mnemonic names for keysyms are defined in this file with lines
+ * that match one of these Perl regular expressions:
+ *
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\* U+([0-9A-F]{4,6}) (.*) \*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
+ * /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
+ *
+ * Before adding new keysyms, please do consider the following: In
+ * addition to the keysym names defined in this file, the
+ * XStringToKeysym() and XKeysymToString() functions will also handle
+ * any keysym string of the form "U0020" to "U007E" and "U00A0" to
+ * "U10FFFF" for all possible Unicode characters. In other words,
+ * every possible Unicode character has already a keysym string
+ * defined algorithmically, even if it is not listed here. Therefore,
+ * defining an additional keysym macro is only necessary where a
+ * non-hexadecimal mnemonic name is needed, or where the new keysym
+ * does not represent any existing Unicode character.
+ *
+ * When adding new keysyms to this file, do not forget to also update the
+ * following:
+ *
+ * - the mappings in src/KeyBind.c in the repo
+ * git://anongit.freedesktop.org/xorg/lib/libX11
+ *
+ * - the protocol specification in specs/XProtocol/X11.keysyms
+ * in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
+ *
+ */
+
+#define XK_VoidSymbol 0xffffff /* Void symbol */
+
+#ifdef XK_MISCELLANY
+/*
+ * TTY function keys, cleverly chosen to map to ASCII, for convenience of
+ * programming, but could have been arbitrary (at the cost of lookup
+ * tables in client code).
+ */
+
+#define XK_BackSpace 0xff08 /* Back space, back char */
+#define XK_Tab 0xff09
+#define XK_Linefeed 0xff0a /* Linefeed, LF */
+#define XK_Clear 0xff0b
+#define XK_Return 0xff0d /* Return, enter */
+#define XK_Pause 0xff13 /* Pause, hold */
+#define XK_Scroll_Lock 0xff14
+#define XK_Sys_Req 0xff15
+#define XK_Escape 0xff1b
+#define XK_Delete 0xffff /* Delete, rubout */
+
+
+
+/* International & multi-key character composition */
+
+#define XK_Multi_key 0xff20 /* Multi-key character compose */
+#define XK_Codeinput 0xff37
+#define XK_SingleCandidate 0xff3c
+#define XK_MultipleCandidate 0xff3d
+#define XK_PreviousCandidate 0xff3e
+
+/* Japanese keyboard support */
+
+#define XK_Kanji 0xff21 /* Kanji, Kanji convert */
+#define XK_Muhenkan 0xff22 /* Cancel Conversion */
+#define XK_Henkan_Mode 0xff23 /* Start/Stop Conversion */
+#define XK_Henkan 0xff23 /* Alias for Henkan_Mode */
+#define XK_Romaji 0xff24 /* to Romaji */
+#define XK_Hiragana 0xff25 /* to Hiragana */
+#define XK_Katakana 0xff26 /* to Katakana */
+#define XK_Hiragana_Katakana 0xff27 /* Hiragana/Katakana toggle */
+#define XK_Zenkaku 0xff28 /* to Zenkaku */
+#define XK_Hankaku 0xff29 /* to Hankaku */
+#define XK_Zenkaku_Hankaku 0xff2a /* Zenkaku/Hankaku toggle */
+#define XK_Touroku 0xff2b /* Add to Dictionary */
+#define XK_Massyo 0xff2c /* Delete from Dictionary */
+#define XK_Kana_Lock 0xff2d /* Kana Lock */
+#define XK_Kana_Shift 0xff2e /* Kana Shift */
+#define XK_Eisu_Shift 0xff2f /* Alphanumeric Shift */
+#define XK_Eisu_toggle 0xff30 /* Alphanumeric toggle */
+#define XK_Kanji_Bangou 0xff37 /* Codeinput */
+#define XK_Zen_Koho 0xff3d /* Multiple/All Candidate(s) */
+#define XK_Mae_Koho 0xff3e /* Previous Candidate */
+
+/* 0xff31 thru 0xff3f are under XK_KOREAN */
+
+/* Cursor control & motion */
+
+#define XK_Home 0xff50
+#define XK_Left 0xff51 /* Move left, left arrow */
+#define XK_Up 0xff52 /* Move up, up arrow */
+#define XK_Right 0xff53 /* Move right, right arrow */
+#define XK_Down 0xff54 /* Move down, down arrow */
+#define XK_Prior 0xff55 /* Prior, previous */
+#define XK_Page_Up 0xff55
+#define XK_Next 0xff56 /* Next */
+#define XK_Page_Down 0xff56
+#define XK_End 0xff57 /* EOL */
+#define XK_Begin 0xff58 /* BOL */
+
+
+/* Misc functions */
+
+#define XK_Select 0xff60 /* Select, mark */
+#define XK_Print 0xff61
+#define XK_Execute 0xff62 /* Execute, run, do */
+#define XK_Insert 0xff63 /* Insert, insert here */
+#define XK_Undo 0xff65
+#define XK_Redo 0xff66 /* Redo, again */
+#define XK_Menu 0xff67
+#define XK_Find 0xff68 /* Find, search */
+#define XK_Cancel 0xff69 /* Cancel, stop, abort, exit */
+#define XK_Help 0xff6a /* Help */
+#define XK_Break 0xff6b
+#define XK_Mode_switch 0xff7e /* Character set switch */
+#define XK_script_switch 0xff7e /* Alias for mode_switch */
+#define XK_Num_Lock 0xff7f
+
+/* Keypad functions, keypad numbers cleverly chosen to map to ASCII */
+
+#define XK_KP_Space 0xff80 /* Space */
+#define XK_KP_Tab 0xff89
+#define XK_KP_Enter 0xff8d /* Enter */
+#define XK_KP_F1 0xff91 /* PF1, KP_A, ... */
+#define XK_KP_F2 0xff92
+#define XK_KP_F3 0xff93
+#define XK_KP_F4 0xff94
+#define XK_KP_Home 0xff95
+#define XK_KP_Left 0xff96
+#define XK_KP_Up 0xff97
+#define XK_KP_Right 0xff98
+#define XK_KP_Down 0xff99
+#define XK_KP_Prior 0xff9a
+#define XK_KP_Page_Up 0xff9a
+#define XK_KP_Next 0xff9b
+#define XK_KP_Page_Down 0xff9b
+#define XK_KP_End 0xff9c
+#define XK_KP_Begin 0xff9d
+#define XK_KP_Insert 0xff9e
+#define XK_KP_Delete 0xff9f
+#define XK_KP_Equal 0xffbd /* Equals */
+#define XK_KP_Multiply 0xffaa
+#define XK_KP_Add 0xffab
+#define XK_KP_Separator 0xffac /* Separator, often comma */
+#define XK_KP_Subtract 0xffad
+#define XK_KP_Decimal 0xffae
+#define XK_KP_Divide 0xffaf
+
+#define XK_KP_0 0xffb0
+#define XK_KP_1 0xffb1
+#define XK_KP_2 0xffb2
+#define XK_KP_3 0xffb3
+#define XK_KP_4 0xffb4
+#define XK_KP_5 0xffb5
+#define XK_KP_6 0xffb6
+#define XK_KP_7 0xffb7
+#define XK_KP_8 0xffb8
+#define XK_KP_9 0xffb9
+
+
+
+/*
+ * Auxiliary functions; note the duplicate definitions for left and right
+ * function keys; Sun keyboards and a few other manufacturers have such
+ * function key groups on the left and/or right sides of the keyboard.
+ * We've not found a keyboard with more than 35 function keys total.
+ */
+
+#define XK_F1 0xffbe
+#define XK_F2 0xffbf
+#define XK_F3 0xffc0
+#define XK_F4 0xffc1
+#define XK_F5 0xffc2
+#define XK_F6 0xffc3
+#define XK_F7 0xffc4
+#define XK_F8 0xffc5
+#define XK_F9 0xffc6
+#define XK_F10 0xffc7
+#define XK_F11 0xffc8
+#define XK_L1 0xffc8
+#define XK_F12 0xffc9
+#define XK_L2 0xffc9
+#define XK_F13 0xffca
+#define XK_L3 0xffca
+#define XK_F14 0xffcb
+#define XK_L4 0xffcb
+#define XK_F15 0xffcc
+#define XK_L5 0xffcc
+#define XK_F16 0xffcd
+#define XK_L6 0xffcd
+#define XK_F17 0xffce
+#define XK_L7 0xffce
+#define XK_F18 0xffcf
+#define XK_L8 0xffcf
+#define XK_F19 0xffd0
+#define XK_L9 0xffd0
+#define XK_F20 0xffd1
+#define XK_L10 0xffd1
+#define XK_F21 0xffd2
+#define XK_R1 0xffd2
+#define XK_F22 0xffd3
+#define XK_R2 0xffd3
+#define XK_F23 0xffd4
+#define XK_R3 0xffd4
+#define XK_F24 0xffd5
+#define XK_R4 0xffd5
+#define XK_F25 0xffd6
+#define XK_R5 0xffd6
+#define XK_F26 0xffd7
+#define XK_R6 0xffd7
+#define XK_F27 0xffd8
+#define XK_R7 0xffd8
+#define XK_F28 0xffd9
+#define XK_R8 0xffd9
+#define XK_F29 0xffda
+#define XK_R9 0xffda
+#define XK_F30 0xffdb
+#define XK_R10 0xffdb
+#define XK_F31 0xffdc
+#define XK_R11 0xffdc
+#define XK_F32 0xffdd
+#define XK_R12 0xffdd
+#define XK_F33 0xffde
+#define XK_R13 0xffde
+#define XK_F34 0xffdf
+#define XK_R14 0xffdf
+#define XK_F35 0xffe0
+#define XK_R15 0xffe0
+
+/* Modifiers */
+
+#define XK_Shift_L 0xffe1 /* Left shift */
+#define XK_Shift_R 0xffe2 /* Right shift */
+#define XK_Control_L 0xffe3 /* Left control */
+#define XK_Control_R 0xffe4 /* Right control */
+#define XK_Caps_Lock 0xffe5 /* Caps lock */
+#define XK_Shift_Lock 0xffe6 /* Shift lock */
+
+#define XK_Meta_L 0xffe7 /* Left meta */
+#define XK_Meta_R 0xffe8 /* Right meta */
+#define XK_Alt_L 0xffe9 /* Left alt */
+#define XK_Alt_R 0xffea /* Right alt */
+#define XK_Super_L 0xffeb /* Left super */
+#define XK_Super_R 0xffec /* Right super */
+#define XK_Hyper_L 0xffed /* Left hyper */
+#define XK_Hyper_R 0xffee /* Right hyper */
+#endif /* XK_MISCELLANY */
+
+/*
+ * Keyboard (XKB) Extension function and modifier keys
+ * (from Appendix C of "The X Keyboard Extension: Protocol Specification")
+ * Byte 3 = 0xfe
+ */
+
+#ifdef XK_XKB_KEYS
+#define XK_ISO_Lock 0xfe01
+#define XK_ISO_Level2_Latch 0xfe02
+#define XK_ISO_Level3_Shift 0xfe03
+#define XK_ISO_Level3_Latch 0xfe04
+#define XK_ISO_Level3_Lock 0xfe05
+#define XK_ISO_Level5_Shift 0xfe11
+#define XK_ISO_Level5_Latch 0xfe12
+#define XK_ISO_Level5_Lock 0xfe13
+#define XK_ISO_Group_Shift 0xff7e /* Alias for mode_switch */
+#define XK_ISO_Group_Latch 0xfe06
+#define XK_ISO_Group_Lock 0xfe07
+#define XK_ISO_Next_Group 0xfe08
+#define XK_ISO_Next_Group_Lock 0xfe09
+#define XK_ISO_Prev_Group 0xfe0a
+#define XK_ISO_Prev_Group_Lock 0xfe0b
+#define XK_ISO_First_Group 0xfe0c
+#define XK_ISO_First_Group_Lock 0xfe0d
+#define XK_ISO_Last_Group 0xfe0e
+#define XK_ISO_Last_Group_Lock 0xfe0f
+
+#define XK_ISO_Left_Tab 0xfe20
+#define XK_ISO_Move_Line_Up 0xfe21
+#define XK_ISO_Move_Line_Down 0xfe22
+#define XK_ISO_Partial_Line_Up 0xfe23
+#define XK_ISO_Partial_Line_Down 0xfe24
+#define XK_ISO_Partial_Space_Left 0xfe25
+#define XK_ISO_Partial_Space_Right 0xfe26
+#define XK_ISO_Set_Margin_Left 0xfe27
+#define XK_ISO_Set_Margin_Right 0xfe28
+#define XK_ISO_Release_Margin_Left 0xfe29
+#define XK_ISO_Release_Margin_Right 0xfe2a
+#define XK_ISO_Release_Both_Margins 0xfe2b
+#define XK_ISO_Fast_Cursor_Left 0xfe2c
+#define XK_ISO_Fast_Cursor_Right 0xfe2d
+#define XK_ISO_Fast_Cursor_Up 0xfe2e
+#define XK_ISO_Fast_Cursor_Down 0xfe2f
+#define XK_ISO_Continuous_Underline 0xfe30
+#define XK_ISO_Discontinuous_Underline 0xfe31
+#define XK_ISO_Emphasize 0xfe32
+#define XK_ISO_Center_Object 0xfe33
+#define XK_ISO_Enter 0xfe34
+
+#define XK_dead_grave 0xfe50
+#define XK_dead_acute 0xfe51
+#define XK_dead_circumflex 0xfe52
+#define XK_dead_tilde 0xfe53
+#define XK_dead_perispomeni 0xfe53 /* alias for dead_tilde */
+#define XK_dead_macron 0xfe54
+#define XK_dead_breve 0xfe55
+#define XK_dead_abovedot 0xfe56
+#define XK_dead_diaeresis 0xfe57
+#define XK_dead_abovering 0xfe58
+#define XK_dead_doubleacute 0xfe59
+#define XK_dead_caron 0xfe5a
+#define XK_dead_cedilla 0xfe5b
+#define XK_dead_ogonek 0xfe5c
+#define XK_dead_iota 0xfe5d
+#define XK_dead_voiced_sound 0xfe5e
+#define XK_dead_semivoiced_sound 0xfe5f
+#define XK_dead_belowdot 0xfe60
+#define XK_dead_hook 0xfe61
+#define XK_dead_horn 0xfe62
+#define XK_dead_stroke 0xfe63
+#define XK_dead_abovecomma 0xfe64
+#define XK_dead_psili 0xfe64 /* alias for dead_abovecomma */
+#define XK_dead_abovereversedcomma 0xfe65
+#define XK_dead_dasia 0xfe65 /* alias for dead_abovereversedcomma */
+#define XK_dead_doublegrave 0xfe66
+#define XK_dead_belowring 0xfe67
+#define XK_dead_belowmacron 0xfe68
+#define XK_dead_belowcircumflex 0xfe69
+#define XK_dead_belowtilde 0xfe6a
+#define XK_dead_belowbreve 0xfe6b
+#define XK_dead_belowdiaeresis 0xfe6c
+#define XK_dead_invertedbreve 0xfe6d
+#define XK_dead_belowcomma 0xfe6e
+#define XK_dead_currency 0xfe6f
+
+/* dead vowels for universal syllable entry */
+#define XK_dead_a 0xfe80
+#define XK_dead_A 0xfe81
+#define XK_dead_e 0xfe82
+#define XK_dead_E 0xfe83
+#define XK_dead_i 0xfe84
+#define XK_dead_I 0xfe85
+#define XK_dead_o 0xfe86
+#define XK_dead_O 0xfe87
+#define XK_dead_u 0xfe88
+#define XK_dead_U 0xfe89
+#define XK_dead_small_schwa 0xfe8a
+#define XK_dead_capital_schwa 0xfe8b
+
+#define XK_First_Virtual_Screen 0xfed0
+#define XK_Prev_Virtual_Screen 0xfed1
+#define XK_Next_Virtual_Screen 0xfed2
+#define XK_Last_Virtual_Screen 0xfed4
+#define XK_Terminate_Server 0xfed5
+
+#define XK_AccessX_Enable 0xfe70
+#define XK_AccessX_Feedback_Enable 0xfe71
+#define XK_RepeatKeys_Enable 0xfe72
+#define XK_SlowKeys_Enable 0xfe73
+#define XK_BounceKeys_Enable 0xfe74
+#define XK_StickyKeys_Enable 0xfe75
+#define XK_MouseKeys_Enable 0xfe76
+#define XK_MouseKeys_Accel_Enable 0xfe77
+#define XK_Overlay1_Enable 0xfe78
+#define XK_Overlay2_Enable 0xfe79
+#define XK_AudibleBell_Enable 0xfe7a
+
+#define XK_Pointer_Left 0xfee0
+#define XK_Pointer_Right 0xfee1
+#define XK_Pointer_Up 0xfee2
+#define XK_Pointer_Down 0xfee3
+#define XK_Pointer_UpLeft 0xfee4
+#define XK_Pointer_UpRight 0xfee5
+#define XK_Pointer_DownLeft 0xfee6
+#define XK_Pointer_DownRight 0xfee7
+#define XK_Pointer_Button_Dflt 0xfee8
+#define XK_Pointer_Button1 0xfee9
+#define XK_Pointer_Button2 0xfeea
+#define XK_Pointer_Button3 0xfeeb
+#define XK_Pointer_Button4 0xfeec
+#define XK_Pointer_Button5 0xfeed
+#define XK_Pointer_DblClick_Dflt 0xfeee
+#define XK_Pointer_DblClick1 0xfeef
+#define XK_Pointer_DblClick2 0xfef0
+#define XK_Pointer_DblClick3 0xfef1
+#define XK_Pointer_DblClick4 0xfef2
+#define XK_Pointer_DblClick5 0xfef3
+#define XK_Pointer_Drag_Dflt 0xfef4
+#define XK_Pointer_Drag1 0xfef5
+#define XK_Pointer_Drag2 0xfef6
+#define XK_Pointer_Drag3 0xfef7
+#define XK_Pointer_Drag4 0xfef8
+#define XK_Pointer_Drag5 0xfefd
+
+#define XK_Pointer_EnableKeys 0xfef9
+#define XK_Pointer_Accelerate 0xfefa
+#define XK_Pointer_DfltBtnNext 0xfefb
+#define XK_Pointer_DfltBtnPrev 0xfefc
+
+#endif /* XK_XKB_KEYS */
+
+/*
+ * 3270 Terminal Keys
+ * Byte 3 = 0xfd
+ */
+
+#ifdef XK_3270
+#define XK_3270_Duplicate 0xfd01
+#define XK_3270_FieldMark 0xfd02
+#define XK_3270_Right2 0xfd03
+#define XK_3270_Left2 0xfd04
+#define XK_3270_BackTab 0xfd05
+#define XK_3270_EraseEOF 0xfd06
+#define XK_3270_EraseInput 0xfd07
+#define XK_3270_Reset 0xfd08
+#define XK_3270_Quit 0xfd09
+#define XK_3270_PA1 0xfd0a
+#define XK_3270_PA2 0xfd0b
+#define XK_3270_PA3 0xfd0c
+#define XK_3270_Test 0xfd0d
+#define XK_3270_Attn 0xfd0e
+#define XK_3270_CursorBlink 0xfd0f
+#define XK_3270_AltCursor 0xfd10
+#define XK_3270_KeyClick 0xfd11
+#define XK_3270_Jump 0xfd12
+#define XK_3270_Ident 0xfd13
+#define XK_3270_Rule 0xfd14
+#define XK_3270_Copy 0xfd15
+#define XK_3270_Play 0xfd16
+#define XK_3270_Setup 0xfd17
+#define XK_3270_Record 0xfd18
+#define XK_3270_ChangeScreen 0xfd19
+#define XK_3270_DeleteWord 0xfd1a
+#define XK_3270_ExSelect 0xfd1b
+#define XK_3270_CursorSelect 0xfd1c
+#define XK_3270_PrintScreen 0xfd1d
+#define XK_3270_Enter 0xfd1e
+#endif /* XK_3270 */
+
+/*
+ * Latin 1
+ * (ISO/IEC 8859-1 = Unicode U+0020..U+00FF)
+ * Byte 3 = 0
+ */
+#ifdef XK_LATIN1
+#define XK_space 0x0020 /* U+0020 SPACE */
+#define XK_exclam 0x0021 /* U+0021 EXCLAMATION MARK */
+#define XK_quotedbl 0x0022 /* U+0022 QUOTATION MARK */
+#define XK_numbersign 0x0023 /* U+0023 NUMBER SIGN */
+#define XK_dollar 0x0024 /* U+0024 DOLLAR SIGN */
+#define XK_percent 0x0025 /* U+0025 PERCENT SIGN */
+#define XK_ampersand 0x0026 /* U+0026 AMPERSAND */
+#define XK_apostrophe 0x0027 /* U+0027 APOSTROPHE */
+#define XK_quoteright 0x0027 /* deprecated */
+#define XK_parenleft 0x0028 /* U+0028 LEFT PARENTHESIS */
+#define XK_parenright 0x0029 /* U+0029 RIGHT PARENTHESIS */
+#define XK_asterisk 0x002a /* U+002A ASTERISK */
+#define XK_plus 0x002b /* U+002B PLUS SIGN */
+#define XK_comma 0x002c /* U+002C COMMA */
+#define XK_minus 0x002d /* U+002D HYPHEN-MINUS */
+#define XK_period 0x002e /* U+002E FULL STOP */
+#define XK_slash 0x002f /* U+002F SOLIDUS */
+#define XK_0 0x0030 /* U+0030 DIGIT ZERO */
+#define XK_1 0x0031 /* U+0031 DIGIT ONE */
+#define XK_2 0x0032 /* U+0032 DIGIT TWO */
+#define XK_3 0x0033 /* U+0033 DIGIT THREE */
+#define XK_4 0x0034 /* U+0034 DIGIT FOUR */
+#define XK_5 0x0035 /* U+0035 DIGIT FIVE */
+#define XK_6 0x0036 /* U+0036 DIGIT SIX */
+#define XK_7 0x0037 /* U+0037 DIGIT SEVEN */
+#define XK_8 0x0038 /* U+0038 DIGIT EIGHT */
+#define XK_9 0x0039 /* U+0039 DIGIT NINE */
+#define XK_colon 0x003a /* U+003A COLON */
+#define XK_semicolon 0x003b /* U+003B SEMICOLON */
+#define XK_less 0x003c /* U+003C LESS-THAN SIGN */
+#define XK_equal 0x003d /* U+003D EQUALS SIGN */
+#define XK_greater 0x003e /* U+003E GREATER-THAN SIGN */
+#define XK_question 0x003f /* U+003F QUESTION MARK */
+#define XK_at 0x0040 /* U+0040 COMMERCIAL AT */
+#define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */
+#define XK_B 0x0042 /* U+0042 LATIN CAPITAL LETTER B */
+#define XK_C 0x0043 /* U+0043 LATIN CAPITAL LETTER C */
+#define XK_D 0x0044 /* U+0044 LATIN CAPITAL LETTER D */
+#define XK_E 0x0045 /* U+0045 LATIN CAPITAL LETTER E */
+#define XK_F 0x0046 /* U+0046 LATIN CAPITAL LETTER F */
+#define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */
+#define XK_H 0x0048 /* U+0048 LATIN CAPITAL LETTER H */
+#define XK_I 0x0049 /* U+0049 LATIN CAPITAL LETTER I */
+#define XK_J 0x004a /* U+004A LATIN CAPITAL LETTER J */
+#define XK_K 0x004b /* U+004B LATIN CAPITAL LETTER K */
+#define XK_L 0x004c /* U+004C LATIN CAPITAL LETTER L */
+#define XK_M 0x004d /* U+004D LATIN CAPITAL LETTER M */
+#define XK_N 0x004e /* U+004E LATIN CAPITAL LETTER N */
+#define XK_O 0x004f /* U+004F LATIN CAPITAL LETTER O */
+#define XK_P 0x0050 /* U+0050 LATIN CAPITAL LETTER P */
+#define XK_Q 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */
+#define XK_R 0x0052 /* U+0052 LATIN CAPITAL LETTER R */
+#define XK_S 0x0053 /* U+0053 LATIN CAPITAL LETTER S */
+#define XK_T 0x0054 /* U+0054 LATIN CAPITAL LETTER T */
+#define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */
+#define XK_V 0x0056 /* U+0056 LATIN CAPITAL LETTER V */
+#define XK_W 0x0057 /* U+0057 LATIN CAPITAL LETTER W */
+#define XK_X 0x0058 /* U+0058 LATIN CAPITAL LETTER X */
+#define XK_Y 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */
+#define XK_Z 0x005a /* U+005A LATIN CAPITAL LETTER Z */
+#define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */
+#define XK_backslash 0x005c /* U+005C REVERSE SOLIDUS */
+#define XK_bracketright 0x005d /* U+005D RIGHT SQUARE BRACKET */
+#define XK_asciicircum 0x005e /* U+005E CIRCUMFLEX ACCENT */
+#define XK_underscore 0x005f /* U+005F LOW LINE */
+#define XK_grave 0x0060 /* U+0060 GRAVE ACCENT */
+#define XK_quoteleft 0x0060 /* deprecated */
+#define XK_a 0x0061 /* U+0061 LATIN SMALL LETTER A */
+#define XK_b 0x0062 /* U+0062 LATIN SMALL LETTER B */
+#define XK_c 0x0063 /* U+0063 LATIN SMALL LETTER C */
+#define XK_d 0x0064 /* U+0064 LATIN SMALL LETTER D */
+#define XK_e 0x0065 /* U+0065 LATIN SMALL LETTER E */
+#define XK_f 0x0066 /* U+0066 LATIN SMALL LETTER F */
+#define XK_g 0x0067 /* U+0067 LATIN SMALL LETTER G */
+#define XK_h 0x0068 /* U+0068 LATIN SMALL LETTER H */
+#define XK_i 0x0069 /* U+0069 LATIN SMALL LETTER I */
+#define XK_j 0x006a /* U+006A LATIN SMALL LETTER J */
+#define XK_k 0x006b /* U+006B LATIN SMALL LETTER K */
+#define XK_l 0x006c /* U+006C LATIN SMALL LETTER L */
+#define XK_m 0x006d /* U+006D LATIN SMALL LETTER M */
+#define XK_n 0x006e /* U+006E LATIN SMALL LETTER N */
+#define XK_o 0x006f /* U+006F LATIN SMALL LETTER O */
+#define XK_p 0x0070 /* U+0070 LATIN SMALL LETTER P */
+#define XK_q 0x0071 /* U+0071 LATIN SMALL LETTER Q */
+#define XK_r 0x0072 /* U+0072 LATIN SMALL LETTER R */
+#define XK_s 0x0073 /* U+0073 LATIN SMALL LETTER S */
+#define XK_t 0x0074 /* U+0074 LATIN SMALL LETTER T */
+#define XK_u 0x0075 /* U+0075 LATIN SMALL LETTER U */
+#define XK_v 0x0076 /* U+0076 LATIN SMALL LETTER V */
+#define XK_w 0x0077 /* U+0077 LATIN SMALL LETTER W */
+#define XK_x 0x0078 /* U+0078 LATIN SMALL LETTER X */
+#define XK_y 0x0079 /* U+0079 LATIN SMALL LETTER Y */
+#define XK_z 0x007a /* U+007A LATIN SMALL LETTER Z */
+#define XK_braceleft 0x007b /* U+007B LEFT CURLY BRACKET */
+#define XK_bar 0x007c /* U+007C VERTICAL LINE */
+#define XK_braceright 0x007d /* U+007D RIGHT CURLY BRACKET */
+#define XK_asciitilde 0x007e /* U+007E TILDE */
+
+#define XK_nobreakspace 0x00a0 /* U+00A0 NO-BREAK SPACE */
+#define XK_exclamdown 0x00a1 /* U+00A1 INVERTED EXCLAMATION MARK */
+#define XK_cent 0x00a2 /* U+00A2 CENT SIGN */
+#define XK_sterling 0x00a3 /* U+00A3 POUND SIGN */
+#define XK_currency 0x00a4 /* U+00A4 CURRENCY SIGN */
+#define XK_yen 0x00a5 /* U+00A5 YEN SIGN */
+#define XK_brokenbar 0x00a6 /* U+00A6 BROKEN BAR */
+#define XK_section 0x00a7 /* U+00A7 SECTION SIGN */
+#define XK_diaeresis 0x00a8 /* U+00A8 DIAERESIS */
+#define XK_copyright 0x00a9 /* U+00A9 COPYRIGHT SIGN */
+#define XK_ordfeminine 0x00aa /* U+00AA FEMININE ORDINAL INDICATOR */
+#define XK_guillemotleft 0x00ab /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_notsign 0x00ac /* U+00AC NOT SIGN */
+#define XK_hyphen 0x00ad /* U+00AD SOFT HYPHEN */
+#define XK_registered 0x00ae /* U+00AE REGISTERED SIGN */
+#define XK_macron 0x00af /* U+00AF MACRON */
+#define XK_degree 0x00b0 /* U+00B0 DEGREE SIGN */
+#define XK_plusminus 0x00b1 /* U+00B1 PLUS-MINUS SIGN */
+#define XK_twosuperior 0x00b2 /* U+00B2 SUPERSCRIPT TWO */
+#define XK_threesuperior 0x00b3 /* U+00B3 SUPERSCRIPT THREE */
+#define XK_acute 0x00b4 /* U+00B4 ACUTE ACCENT */
+#define XK_mu 0x00b5 /* U+00B5 MICRO SIGN */
+#define XK_paragraph 0x00b6 /* U+00B6 PILCROW SIGN */
+#define XK_periodcentered 0x00b7 /* U+00B7 MIDDLE DOT */
+#define XK_cedilla 0x00b8 /* U+00B8 CEDILLA */
+#define XK_onesuperior 0x00b9 /* U+00B9 SUPERSCRIPT ONE */
+#define XK_masculine 0x00ba /* U+00BA MASCULINE ORDINAL INDICATOR */
+#define XK_guillemotright 0x00bb /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */
+#define XK_onequarter 0x00bc /* U+00BC VULGAR FRACTION ONE QUARTER */
+#define XK_onehalf 0x00bd /* U+00BD VULGAR FRACTION ONE HALF */
+#define XK_threequarters 0x00be /* U+00BE VULGAR FRACTION THREE QUARTERS */
+#define XK_questiondown 0x00bf /* U+00BF INVERTED QUESTION MARK */
+#define XK_Agrave 0x00c0 /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */
+#define XK_Aacute 0x00c1 /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */
+#define XK_Acircumflex 0x00c2 /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */
+#define XK_Atilde 0x00c3 /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */
+#define XK_Adiaeresis 0x00c4 /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */
+#define XK_Aring 0x00c5 /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */
+#define XK_AE 0x00c6 /* U+00C6 LATIN CAPITAL LETTER AE */
+#define XK_Ccedilla 0x00c7 /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */
+#define XK_Egrave 0x00c8 /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */
+#define XK_Eacute 0x00c9 /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */
+#define XK_Ecircumflex 0x00ca /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */
+#define XK_Ediaeresis 0x00cb /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */
+#define XK_Igrave 0x00cc /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */
+#define XK_Iacute 0x00cd /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */
+#define XK_Icircumflex 0x00ce /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */
+#define XK_Idiaeresis 0x00cf /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */
+#define XK_ETH 0x00d0 /* U+00D0 LATIN CAPITAL LETTER ETH */
+#define XK_Eth 0x00d0 /* deprecated */
+#define XK_Ntilde 0x00d1 /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */
+#define XK_Ograve 0x00d2 /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */
+#define XK_Oacute 0x00d3 /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */
+#define XK_Ocircumflex 0x00d4 /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */
+#define XK_Otilde 0x00d5 /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */
+#define XK_Odiaeresis 0x00d6 /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */
+#define XK_multiply 0x00d7 /* U+00D7 MULTIPLICATION SIGN */
+#define XK_Oslash 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ooblique 0x00d8 /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
+#define XK_Ugrave 0x00d9 /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */
+#define XK_Uacute 0x00da /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */
+#define XK_Ucircumflex 0x00db /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */
+#define XK_Udiaeresis 0x00dc /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */
+#define XK_Yacute 0x00dd /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */
+#define XK_THORN 0x00de /* U+00DE LATIN CAPITAL LETTER THORN */
+#define XK_Thorn 0x00de /* deprecated */
+#define XK_ssharp 0x00df /* U+00DF LATIN SMALL LETTER SHARP S */
+#define XK_agrave 0x00e0 /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */
+#define XK_aacute 0x00e1 /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */
+#define XK_acircumflex 0x00e2 /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */
+#define XK_atilde 0x00e3 /* U+00E3 LATIN SMALL LETTER A WITH TILDE */
+#define XK_adiaeresis 0x00e4 /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */
+#define XK_aring 0x00e5 /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */
+#define XK_ae 0x00e6 /* U+00E6 LATIN SMALL LETTER AE */
+#define XK_ccedilla 0x00e7 /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */
+#define XK_egrave 0x00e8 /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */
+#define XK_eacute 0x00e9 /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */
+#define XK_ecircumflex 0x00ea /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */
+#define XK_ediaeresis 0x00eb /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */
+#define XK_igrave 0x00ec /* U+00EC LATIN SMALL LETTER I WITH GRAVE */
+#define XK_iacute 0x00ed /* U+00ED LATIN SMALL LETTER I WITH ACUTE */
+#define XK_icircumflex 0x00ee /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */
+#define XK_idiaeresis 0x00ef /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */
+#define XK_eth 0x00f0 /* U+00F0 LATIN SMALL LETTER ETH */
+#define XK_ntilde 0x00f1 /* U+00F1 LATIN SMALL LETTER N WITH TILDE */
+#define XK_ograve 0x00f2 /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */
+#define XK_oacute 0x00f3 /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */
+#define XK_ocircumflex 0x00f4 /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */
+#define XK_otilde 0x00f5 /* U+00F5 LATIN SMALL LETTER O WITH TILDE */
+#define XK_odiaeresis 0x00f6 /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */
+#define XK_division 0x00f7 /* U+00F7 DIVISION SIGN */
+#define XK_oslash 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ooblique 0x00f8 /* U+00F8 LATIN SMALL LETTER O WITH STROKE */
+#define XK_ugrave 0x00f9 /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */
+#define XK_uacute 0x00fa /* U+00FA LATIN SMALL LETTER U WITH ACUTE */
+#define XK_ucircumflex 0x00fb /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */
+#define XK_udiaeresis 0x00fc /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */
+#define XK_yacute 0x00fd /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */
+#define XK_thorn 0x00fe /* U+00FE LATIN SMALL LETTER THORN */
+#define XK_ydiaeresis 0x00ff /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN1 */
+
+/*
+ * Latin 2
+ * Byte 3 = 1
+ */
+
+#ifdef XK_LATIN2
+#define XK_Aogonek 0x01a1 /* U+0104 LATIN CAPITAL LETTER A WITH OGONEK */
+#define XK_breve 0x01a2 /* U+02D8 BREVE */
+#define XK_Lstroke 0x01a3 /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */
+#define XK_Lcaron 0x01a5 /* U+013D LATIN CAPITAL LETTER L WITH CARON */
+#define XK_Sacute 0x01a6 /* U+015A LATIN CAPITAL LETTER S WITH ACUTE */
+#define XK_Scaron 0x01a9 /* U+0160 LATIN CAPITAL LETTER S WITH CARON */
+#define XK_Scedilla 0x01aa /* U+015E LATIN CAPITAL LETTER S WITH CEDILLA */
+#define XK_Tcaron 0x01ab /* U+0164 LATIN CAPITAL LETTER T WITH CARON */
+#define XK_Zacute 0x01ac /* U+0179 LATIN CAPITAL LETTER Z WITH ACUTE */
+#define XK_Zcaron 0x01ae /* U+017D LATIN CAPITAL LETTER Z WITH CARON */
+#define XK_Zabovedot 0x01af /* U+017B LATIN CAPITAL LETTER Z WITH DOT ABOVE */
+#define XK_aogonek 0x01b1 /* U+0105 LATIN SMALL LETTER A WITH OGONEK */
+#define XK_ogonek 0x01b2 /* U+02DB OGONEK */
+#define XK_lstroke 0x01b3 /* U+0142 LATIN SMALL LETTER L WITH STROKE */
+#define XK_lcaron 0x01b5 /* U+013E LATIN SMALL LETTER L WITH CARON */
+#define XK_sacute 0x01b6 /* U+015B LATIN SMALL LETTER S WITH ACUTE */
+#define XK_caron 0x01b7 /* U+02C7 CARON */
+#define XK_scaron 0x01b9 /* U+0161 LATIN SMALL LETTER S WITH CARON */
+#define XK_scedilla 0x01ba /* U+015F LATIN SMALL LETTER S WITH CEDILLA */
+#define XK_tcaron 0x01bb /* U+0165 LATIN SMALL LETTER T WITH CARON */
+#define XK_zacute 0x01bc /* U+017A LATIN SMALL LETTER Z WITH ACUTE */
+#define XK_doubleacute 0x01bd /* U+02DD DOUBLE ACUTE ACCENT */
+#define XK_zcaron 0x01be /* U+017E LATIN SMALL LETTER Z WITH CARON */
+#define XK_zabovedot 0x01bf /* U+017C LATIN SMALL LETTER Z WITH DOT ABOVE */
+#define XK_Racute 0x01c0 /* U+0154 LATIN CAPITAL LETTER R WITH ACUTE */
+#define XK_Abreve 0x01c3 /* U+0102 LATIN CAPITAL LETTER A WITH BREVE */
+#define XK_Lacute 0x01c5 /* U+0139 LATIN CAPITAL LETTER L WITH ACUTE */
+#define XK_Cacute 0x01c6 /* U+0106 LATIN CAPITAL LETTER C WITH ACUTE */
+#define XK_Ccaron 0x01c8 /* U+010C LATIN CAPITAL LETTER C WITH CARON */
+#define XK_Eogonek 0x01ca /* U+0118 LATIN CAPITAL LETTER E WITH OGONEK */
+#define XK_Ecaron 0x01cc /* U+011A LATIN CAPITAL LETTER E WITH CARON */
+#define XK_Dcaron 0x01cf /* U+010E LATIN CAPITAL LETTER D WITH CARON */
+#define XK_Dstroke 0x01d0 /* U+0110 LATIN CAPITAL LETTER D WITH STROKE */
+#define XK_Nacute 0x01d1 /* U+0143 LATIN CAPITAL LETTER N WITH ACUTE */
+#define XK_Ncaron 0x01d2 /* U+0147 LATIN CAPITAL LETTER N WITH CARON */
+#define XK_Odoubleacute 0x01d5 /* U+0150 LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
+#define XK_Rcaron 0x01d8 /* U+0158 LATIN CAPITAL LETTER R WITH CARON */
+#define XK_Uring 0x01d9 /* U+016E LATIN CAPITAL LETTER U WITH RING ABOVE */
+#define XK_Udoubleacute 0x01db /* U+0170 LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
+#define XK_Tcedilla 0x01de /* U+0162 LATIN CAPITAL LETTER T WITH CEDILLA */
+#define XK_racute 0x01e0 /* U+0155 LATIN SMALL LETTER R WITH ACUTE */
+#define XK_abreve 0x01e3 /* U+0103 LATIN SMALL LETTER A WITH BREVE */
+#define XK_lacute 0x01e5 /* U+013A LATIN SMALL LETTER L WITH ACUTE */
+#define XK_cacute 0x01e6 /* U+0107 LATIN SMALL LETTER C WITH ACUTE */
+#define XK_ccaron 0x01e8 /* U+010D LATIN SMALL LETTER C WITH CARON */
+#define XK_eogonek 0x01ea /* U+0119 LATIN SMALL LETTER E WITH OGONEK */
+#define XK_ecaron 0x01ec /* U+011B LATIN SMALL LETTER E WITH CARON */
+#define XK_dcaron 0x01ef /* U+010F LATIN SMALL LETTER D WITH CARON */
+#define XK_dstroke 0x01f0 /* U+0111 LATIN SMALL LETTER D WITH STROKE */
+#define XK_nacute 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */
+#define XK_ncaron 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */
+#define XK_odoubleacute 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */
+#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */
+#define XK_rcaron 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */
+#define XK_uring 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */
+#define XK_tcedilla 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */
+#define XK_abovedot 0x01ff /* U+02D9 DOT ABOVE */
+#endif /* XK_LATIN2 */
+
+/*
+ * Latin 3
+ * Byte 3 = 2
+ */
+
+#ifdef XK_LATIN3
+#define XK_Hstroke 0x02a1 /* U+0126 LATIN CAPITAL LETTER H WITH STROKE */
+#define XK_Hcircumflex 0x02a6 /* U+0124 LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
+#define XK_Iabovedot 0x02a9 /* U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE */
+#define XK_Gbreve 0x02ab /* U+011E LATIN CAPITAL LETTER G WITH BREVE */
+#define XK_Jcircumflex 0x02ac /* U+0134 LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
+#define XK_hstroke 0x02b1 /* U+0127 LATIN SMALL LETTER H WITH STROKE */
+#define XK_hcircumflex 0x02b6 /* U+0125 LATIN SMALL LETTER H WITH CIRCUMFLEX */
+#define XK_idotless 0x02b9 /* U+0131 LATIN SMALL LETTER DOTLESS I */
+#define XK_gbreve 0x02bb /* U+011F LATIN SMALL LETTER G WITH BREVE */
+#define XK_jcircumflex 0x02bc /* U+0135 LATIN SMALL LETTER J WITH CIRCUMFLEX */
+#define XK_Cabovedot 0x02c5 /* U+010A LATIN CAPITAL LETTER C WITH DOT ABOVE */
+#define XK_Ccircumflex 0x02c6 /* U+0108 LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
+#define XK_Gabovedot 0x02d5 /* U+0120 LATIN CAPITAL LETTER G WITH DOT ABOVE */
+#define XK_Gcircumflex 0x02d8 /* U+011C LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
+#define XK_Ubreve 0x02dd /* U+016C LATIN CAPITAL LETTER U WITH BREVE */
+#define XK_Scircumflex 0x02de /* U+015C LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
+#define XK_cabovedot 0x02e5 /* U+010B LATIN SMALL LETTER C WITH DOT ABOVE */
+#define XK_ccircumflex 0x02e6 /* U+0109 LATIN SMALL LETTER C WITH CIRCUMFLEX */
+#define XK_gabovedot 0x02f5 /* U+0121 LATIN SMALL LETTER G WITH DOT ABOVE */
+#define XK_gcircumflex 0x02f8 /* U+011D LATIN SMALL LETTER G WITH CIRCUMFLEX */
+#define XK_ubreve 0x02fd /* U+016D LATIN SMALL LETTER U WITH BREVE */
+#define XK_scircumflex 0x02fe /* U+015D LATIN SMALL LETTER S WITH CIRCUMFLEX */
+#endif /* XK_LATIN3 */
+
+
+/*
+ * Latin 4
+ * Byte 3 = 3
+ */
+
+#ifdef XK_LATIN4
+#define XK_kra 0x03a2 /* U+0138 LATIN SMALL LETTER KRA */
+#define XK_kappa 0x03a2 /* deprecated */
+#define XK_Rcedilla 0x03a3 /* U+0156 LATIN CAPITAL LETTER R WITH CEDILLA */
+#define XK_Itilde 0x03a5 /* U+0128 LATIN CAPITAL LETTER I WITH TILDE */
+#define XK_Lcedilla 0x03a6 /* U+013B LATIN CAPITAL LETTER L WITH CEDILLA */
+#define XK_Emacron 0x03aa /* U+0112 LATIN CAPITAL LETTER E WITH MACRON */
+#define XK_Gcedilla 0x03ab /* U+0122 LATIN CAPITAL LETTER G WITH CEDILLA */
+#define XK_Tslash 0x03ac /* U+0166 LATIN CAPITAL LETTER T WITH STROKE */
+#define XK_rcedilla 0x03b3 /* U+0157 LATIN SMALL LETTER R WITH CEDILLA */
+#define XK_itilde 0x03b5 /* U+0129 LATIN SMALL LETTER I WITH TILDE */
+#define XK_lcedilla 0x03b6 /* U+013C LATIN SMALL LETTER L WITH CEDILLA */
+#define XK_emacron 0x03ba /* U+0113 LATIN SMALL LETTER E WITH MACRON */
+#define XK_gcedilla 0x03bb /* U+0123 LATIN SMALL LETTER G WITH CEDILLA */
+#define XK_tslash 0x03bc /* U+0167 LATIN SMALL LETTER T WITH STROKE */
+#define XK_ENG 0x03bd /* U+014A LATIN CAPITAL LETTER ENG */
+#define XK_eng 0x03bf /* U+014B LATIN SMALL LETTER ENG */
+#define XK_Amacron 0x03c0 /* U+0100 LATIN CAPITAL LETTER A WITH MACRON */
+#define XK_Iogonek 0x03c7 /* U+012E LATIN CAPITAL LETTER I WITH OGONEK */
+#define XK_Eabovedot 0x03cc /* U+0116 LATIN CAPITAL LETTER E WITH DOT ABOVE */
+#define XK_Imacron 0x03cf /* U+012A LATIN CAPITAL LETTER I WITH MACRON */
+#define XK_Ncedilla 0x03d1 /* U+0145 LATIN CAPITAL LETTER N WITH CEDILLA */
+#define XK_Omacron 0x03d2 /* U+014C LATIN CAPITAL LETTER O WITH MACRON */
+#define XK_Kcedilla 0x03d3 /* U+0136 LATIN CAPITAL LETTER K WITH CEDILLA */
+#define XK_Uogonek 0x03d9 /* U+0172 LATIN CAPITAL LETTER U WITH OGONEK */
+#define XK_Utilde 0x03dd /* U+0168 LATIN CAPITAL LETTER U WITH TILDE */
+#define XK_Umacron 0x03de /* U+016A LATIN CAPITAL LETTER U WITH MACRON */
+#define XK_amacron 0x03e0 /* U+0101 LATIN SMALL LETTER A WITH MACRON */
+#define XK_iogonek 0x03e7 /* U+012F LATIN SMALL LETTER I WITH OGONEK */
+#define XK_eabovedot 0x03ec /* U+0117 LATIN SMALL LETTER E WITH DOT ABOVE */
+#define XK_imacron 0x03ef /* U+012B LATIN SMALL LETTER I WITH MACRON */
+#define XK_ncedilla 0x03f1 /* U+0146 LATIN SMALL LETTER N WITH CEDILLA */
+#define XK_omacron 0x03f2 /* U+014D LATIN SMALL LETTER O WITH MACRON */
+#define XK_kcedilla 0x03f3 /* U+0137 LATIN SMALL LETTER K WITH CEDILLA */
+#define XK_uogonek 0x03f9 /* U+0173 LATIN SMALL LETTER U WITH OGONEK */
+#define XK_utilde 0x03fd /* U+0169 LATIN SMALL LETTER U WITH TILDE */
+#define XK_umacron 0x03fe /* U+016B LATIN SMALL LETTER U WITH MACRON */
+#endif /* XK_LATIN4 */
+
+/*
+ * Latin 8
+ */
+#ifdef XK_LATIN8
+#define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */
+#define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */
+#define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */
+#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */
+#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */
+#define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */
+#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */
+#define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */
+#define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */
+#define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */
+#define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */
+#define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */
+#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */
+#define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */
+#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */
+#define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */
+#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */
+#define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */
+#define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */
+#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */
+#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */
+#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */
+#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */
+#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */
+#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */
+#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */
+#endif /* XK_LATIN8 */
+
+/*
+ * Latin 9
+ * Byte 3 = 0x13
+ */
+
+#ifdef XK_LATIN9
+#define XK_OE 0x13bc /* U+0152 LATIN CAPITAL LIGATURE OE */
+#define XK_oe 0x13bd /* U+0153 LATIN SMALL LIGATURE OE */
+#define XK_Ydiaeresis 0x13be /* U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS */
+#endif /* XK_LATIN9 */
+
+/*
+ * Katakana
+ * Byte 3 = 4
+ */
+
+#ifdef XK_KATAKANA
+#define XK_overline 0x047e /* U+203E OVERLINE */
+#define XK_kana_fullstop 0x04a1 /* U+3002 IDEOGRAPHIC FULL STOP */
+#define XK_kana_openingbracket 0x04a2 /* U+300C LEFT CORNER BRACKET */
+#define XK_kana_closingbracket 0x04a3 /* U+300D RIGHT CORNER BRACKET */
+#define XK_kana_comma 0x04a4 /* U+3001 IDEOGRAPHIC COMMA */
+#define XK_kana_conjunctive 0x04a5 /* U+30FB KATAKANA MIDDLE DOT */
+#define XK_kana_middledot 0x04a5 /* deprecated */
+#define XK_kana_WO 0x04a6 /* U+30F2 KATAKANA LETTER WO */
+#define XK_kana_a 0x04a7 /* U+30A1 KATAKANA LETTER SMALL A */
+#define XK_kana_i 0x04a8 /* U+30A3 KATAKANA LETTER SMALL I */
+#define XK_kana_u 0x04a9 /* U+30A5 KATAKANA LETTER SMALL U */
+#define XK_kana_e 0x04aa /* U+30A7 KATAKANA LETTER SMALL E */
+#define XK_kana_o 0x04ab /* U+30A9 KATAKANA LETTER SMALL O */
+#define XK_kana_ya 0x04ac /* U+30E3 KATAKANA LETTER SMALL YA */
+#define XK_kana_yu 0x04ad /* U+30E5 KATAKANA LETTER SMALL YU */
+#define XK_kana_yo 0x04ae /* U+30E7 KATAKANA LETTER SMALL YO */
+#define XK_kana_tsu 0x04af /* U+30C3 KATAKANA LETTER SMALL TU */
+#define XK_kana_tu 0x04af /* deprecated */
+#define XK_prolongedsound 0x04b0 /* U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK */
+#define XK_kana_A 0x04b1 /* U+30A2 KATAKANA LETTER A */
+#define XK_kana_I 0x04b2 /* U+30A4 KATAKANA LETTER I */
+#define XK_kana_U 0x04b3 /* U+30A6 KATAKANA LETTER U */
+#define XK_kana_E 0x04b4 /* U+30A8 KATAKANA LETTER E */
+#define XK_kana_O 0x04b5 /* U+30AA KATAKANA LETTER O */
+#define XK_kana_KA 0x04b6 /* U+30AB KATAKANA LETTER KA */
+#define XK_kana_KI 0x04b7 /* U+30AD KATAKANA LETTER KI */
+#define XK_kana_KU 0x04b8 /* U+30AF KATAKANA LETTER KU */
+#define XK_kana_KE 0x04b9 /* U+30B1 KATAKANA LETTER KE */
+#define XK_kana_KO 0x04ba /* U+30B3 KATAKANA LETTER KO */
+#define XK_kana_SA 0x04bb /* U+30B5 KATAKANA LETTER SA */
+#define XK_kana_SHI 0x04bc /* U+30B7 KATAKANA LETTER SI */
+#define XK_kana_SU 0x04bd /* U+30B9 KATAKANA LETTER SU */
+#define XK_kana_SE 0x04be /* U+30BB KATAKANA LETTER SE */
+#define XK_kana_SO 0x04bf /* U+30BD KATAKANA LETTER SO */
+#define XK_kana_TA 0x04c0 /* U+30BF KATAKANA LETTER TA */
+#define XK_kana_CHI 0x04c1 /* U+30C1 KATAKANA LETTER TI */
+#define XK_kana_TI 0x04c1 /* deprecated */
+#define XK_kana_TSU 0x04c2 /* U+30C4 KATAKANA LETTER TU */
+#define XK_kana_TU 0x04c2 /* deprecated */
+#define XK_kana_TE 0x04c3 /* U+30C6 KATAKANA LETTER TE */
+#define XK_kana_TO 0x04c4 /* U+30C8 KATAKANA LETTER TO */
+#define XK_kana_NA 0x04c5 /* U+30CA KATAKANA LETTER NA */
+#define XK_kana_NI 0x04c6 /* U+30CB KATAKANA LETTER NI */
+#define XK_kana_NU 0x04c7 /* U+30CC KATAKANA LETTER NU */
+#define XK_kana_NE 0x04c8 /* U+30CD KATAKANA LETTER NE */
+#define XK_kana_NO 0x04c9 /* U+30CE KATAKANA LETTER NO */
+#define XK_kana_HA 0x04ca /* U+30CF KATAKANA LETTER HA */
+#define XK_kana_HI 0x04cb /* U+30D2 KATAKANA LETTER HI */
+#define XK_kana_FU 0x04cc /* U+30D5 KATAKANA LETTER HU */
+#define XK_kana_HU 0x04cc /* deprecated */
+#define XK_kana_HE 0x04cd /* U+30D8 KATAKANA LETTER HE */
+#define XK_kana_HO 0x04ce /* U+30DB KATAKANA LETTER HO */
+#define XK_kana_MA 0x04cf /* U+30DE KATAKANA LETTER MA */
+#define XK_kana_MI 0x04d0 /* U+30DF KATAKANA LETTER MI */
+#define XK_kana_MU 0x04d1 /* U+30E0 KATAKANA LETTER MU */
+#define XK_kana_ME 0x04d2 /* U+30E1 KATAKANA LETTER ME */
+#define XK_kana_MO 0x04d3 /* U+30E2 KATAKANA LETTER MO */
+#define XK_kana_YA 0x04d4 /* U+30E4 KATAKANA LETTER YA */
+#define XK_kana_YU 0x04d5 /* U+30E6 KATAKANA LETTER YU */
+#define XK_kana_YO 0x04d6 /* U+30E8 KATAKANA LETTER YO */
+#define XK_kana_RA 0x04d7 /* U+30E9 KATAKANA LETTER RA */
+#define XK_kana_RI 0x04d8 /* U+30EA KATAKANA LETTER RI */
+#define XK_kana_RU 0x04d9 /* U+30EB KATAKANA LETTER RU */
+#define XK_kana_RE 0x04da /* U+30EC KATAKANA LETTER RE */
+#define XK_kana_RO 0x04db /* U+30ED KATAKANA LETTER RO */
+#define XK_kana_WA 0x04dc /* U+30EF KATAKANA LETTER WA */
+#define XK_kana_N 0x04dd /* U+30F3 KATAKANA LETTER N */
+#define XK_voicedsound 0x04de /* U+309B KATAKANA-HIRAGANA VOICED SOUND MARK */
+#define XK_semivoicedsound 0x04df /* U+309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
+#define XK_kana_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_KATAKANA */
+
+/*
+ * Arabic
+ * Byte 3 = 5
+ */
+
+#ifdef XK_ARABIC
+#define XK_Farsi_0 0x10006f0 /* U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO */
+#define XK_Farsi_1 0x10006f1 /* U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE */
+#define XK_Farsi_2 0x10006f2 /* U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO */
+#define XK_Farsi_3 0x10006f3 /* U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE */
+#define XK_Farsi_4 0x10006f4 /* U+06F4 EXTENDED ARABIC-INDIC DIGIT FOUR */
+#define XK_Farsi_5 0x10006f5 /* U+06F5 EXTENDED ARABIC-INDIC DIGIT FIVE */
+#define XK_Farsi_6 0x10006f6 /* U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX */
+#define XK_Farsi_7 0x10006f7 /* U+06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN */
+#define XK_Farsi_8 0x10006f8 /* U+06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT */
+#define XK_Farsi_9 0x10006f9 /* U+06F9 EXTENDED ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_percent 0x100066a /* U+066A ARABIC PERCENT SIGN */
+#define XK_Arabic_superscript_alef 0x1000670 /* U+0670 ARABIC LETTER SUPERSCRIPT ALEF */
+#define XK_Arabic_tteh 0x1000679 /* U+0679 ARABIC LETTER TTEH */
+#define XK_Arabic_peh 0x100067e /* U+067E ARABIC LETTER PEH */
+#define XK_Arabic_tcheh 0x1000686 /* U+0686 ARABIC LETTER TCHEH */
+#define XK_Arabic_ddal 0x1000688 /* U+0688 ARABIC LETTER DDAL */
+#define XK_Arabic_rreh 0x1000691 /* U+0691 ARABIC LETTER RREH */
+#define XK_Arabic_comma 0x05ac /* U+060C ARABIC COMMA */
+#define XK_Arabic_fullstop 0x10006d4 /* U+06D4 ARABIC FULL STOP */
+#define XK_Arabic_0 0x1000660 /* U+0660 ARABIC-INDIC DIGIT ZERO */
+#define XK_Arabic_1 0x1000661 /* U+0661 ARABIC-INDIC DIGIT ONE */
+#define XK_Arabic_2 0x1000662 /* U+0662 ARABIC-INDIC DIGIT TWO */
+#define XK_Arabic_3 0x1000663 /* U+0663 ARABIC-INDIC DIGIT THREE */
+#define XK_Arabic_4 0x1000664 /* U+0664 ARABIC-INDIC DIGIT FOUR */
+#define XK_Arabic_5 0x1000665 /* U+0665 ARABIC-INDIC DIGIT FIVE */
+#define XK_Arabic_6 0x1000666 /* U+0666 ARABIC-INDIC DIGIT SIX */
+#define XK_Arabic_7 0x1000667 /* U+0667 ARABIC-INDIC DIGIT SEVEN */
+#define XK_Arabic_8 0x1000668 /* U+0668 ARABIC-INDIC DIGIT EIGHT */
+#define XK_Arabic_9 0x1000669 /* U+0669 ARABIC-INDIC DIGIT NINE */
+#define XK_Arabic_semicolon 0x05bb /* U+061B ARABIC SEMICOLON */
+#define XK_Arabic_question_mark 0x05bf /* U+061F ARABIC QUESTION MARK */
+#define XK_Arabic_hamza 0x05c1 /* U+0621 ARABIC LETTER HAMZA */
+#define XK_Arabic_maddaonalef 0x05c2 /* U+0622 ARABIC LETTER ALEF WITH MADDA ABOVE */
+#define XK_Arabic_hamzaonalef 0x05c3 /* U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaonwaw 0x05c4 /* U+0624 ARABIC LETTER WAW WITH HAMZA ABOVE */
+#define XK_Arabic_hamzaunderalef 0x05c5 /* U+0625 ARABIC LETTER ALEF WITH HAMZA BELOW */
+#define XK_Arabic_hamzaonyeh 0x05c6 /* U+0626 ARABIC LETTER YEH WITH HAMZA ABOVE */
+#define XK_Arabic_alef 0x05c7 /* U+0627 ARABIC LETTER ALEF */
+#define XK_Arabic_beh 0x05c8 /* U+0628 ARABIC LETTER BEH */
+#define XK_Arabic_tehmarbuta 0x05c9 /* U+0629 ARABIC LETTER TEH MARBUTA */
+#define XK_Arabic_teh 0x05ca /* U+062A ARABIC LETTER TEH */
+#define XK_Arabic_theh 0x05cb /* U+062B ARABIC LETTER THEH */
+#define XK_Arabic_jeem 0x05cc /* U+062C ARABIC LETTER JEEM */
+#define XK_Arabic_hah 0x05cd /* U+062D ARABIC LETTER HAH */
+#define XK_Arabic_khah 0x05ce /* U+062E ARABIC LETTER KHAH */
+#define XK_Arabic_dal 0x05cf /* U+062F ARABIC LETTER DAL */
+#define XK_Arabic_thal 0x05d0 /* U+0630 ARABIC LETTER THAL */
+#define XK_Arabic_ra 0x05d1 /* U+0631 ARABIC LETTER REH */
+#define XK_Arabic_zain 0x05d2 /* U+0632 ARABIC LETTER ZAIN */
+#define XK_Arabic_seen 0x05d3 /* U+0633 ARABIC LETTER SEEN */
+#define XK_Arabic_sheen 0x05d4 /* U+0634 ARABIC LETTER SHEEN */
+#define XK_Arabic_sad 0x05d5 /* U+0635 ARABIC LETTER SAD */
+#define XK_Arabic_dad 0x05d6 /* U+0636 ARABIC LETTER DAD */
+#define XK_Arabic_tah 0x05d7 /* U+0637 ARABIC LETTER TAH */
+#define XK_Arabic_zah 0x05d8 /* U+0638 ARABIC LETTER ZAH */
+#define XK_Arabic_ain 0x05d9 /* U+0639 ARABIC LETTER AIN */
+#define XK_Arabic_ghain 0x05da /* U+063A ARABIC LETTER GHAIN */
+#define XK_Arabic_tatweel 0x05e0 /* U+0640 ARABIC TATWEEL */
+#define XK_Arabic_feh 0x05e1 /* U+0641 ARABIC LETTER FEH */
+#define XK_Arabic_qaf 0x05e2 /* U+0642 ARABIC LETTER QAF */
+#define XK_Arabic_kaf 0x05e3 /* U+0643 ARABIC LETTER KAF */
+#define XK_Arabic_lam 0x05e4 /* U+0644 ARABIC LETTER LAM */
+#define XK_Arabic_meem 0x05e5 /* U+0645 ARABIC LETTER MEEM */
+#define XK_Arabic_noon 0x05e6 /* U+0646 ARABIC LETTER NOON */
+#define XK_Arabic_ha 0x05e7 /* U+0647 ARABIC LETTER HEH */
+#define XK_Arabic_heh 0x05e7 /* deprecated */
+#define XK_Arabic_waw 0x05e8 /* U+0648 ARABIC LETTER WAW */
+#define XK_Arabic_alefmaksura 0x05e9 /* U+0649 ARABIC LETTER ALEF MAKSURA */
+#define XK_Arabic_yeh 0x05ea /* U+064A ARABIC LETTER YEH */
+#define XK_Arabic_fathatan 0x05eb /* U+064B ARABIC FATHATAN */
+#define XK_Arabic_dammatan 0x05ec /* U+064C ARABIC DAMMATAN */
+#define XK_Arabic_kasratan 0x05ed /* U+064D ARABIC KASRATAN */
+#define XK_Arabic_fatha 0x05ee /* U+064E ARABIC FATHA */
+#define XK_Arabic_damma 0x05ef /* U+064F ARABIC DAMMA */
+#define XK_Arabic_kasra 0x05f0 /* U+0650 ARABIC KASRA */
+#define XK_Arabic_shadda 0x05f1 /* U+0651 ARABIC SHADDA */
+#define XK_Arabic_sukun 0x05f2 /* U+0652 ARABIC SUKUN */
+#define XK_Arabic_madda_above 0x1000653 /* U+0653 ARABIC MADDAH ABOVE */
+#define XK_Arabic_hamza_above 0x1000654 /* U+0654 ARABIC HAMZA ABOVE */
+#define XK_Arabic_hamza_below 0x1000655 /* U+0655 ARABIC HAMZA BELOW */
+#define XK_Arabic_jeh 0x1000698 /* U+0698 ARABIC LETTER JEH */
+#define XK_Arabic_veh 0x10006a4 /* U+06A4 ARABIC LETTER VEH */
+#define XK_Arabic_keheh 0x10006a9 /* U+06A9 ARABIC LETTER KEHEH */
+#define XK_Arabic_gaf 0x10006af /* U+06AF ARABIC LETTER GAF */
+#define XK_Arabic_noon_ghunna 0x10006ba /* U+06BA ARABIC LETTER NOON GHUNNA */
+#define XK_Arabic_heh_doachashmee 0x10006be /* U+06BE ARABIC LETTER HEH DOACHASHMEE */
+#define XK_Farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_farsi_yeh 0x10006cc /* U+06CC ARABIC LETTER FARSI YEH */
+#define XK_Arabic_yeh_baree 0x10006d2 /* U+06D2 ARABIC LETTER YEH BARREE */
+#define XK_Arabic_heh_goal 0x10006c1 /* U+06C1 ARABIC LETTER HEH GOAL */
+#define XK_Arabic_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_ARABIC */
+
+/*
+ * Cyrillic
+ * Byte 3 = 6
+ */
+#ifdef XK_CYRILLIC
+#define XK_Cyrillic_GHE_bar 0x1000492 /* U+0492 CYRILLIC CAPITAL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ghe_bar 0x1000493 /* U+0493 CYRILLIC SMALL LETTER GHE WITH STROKE */
+#define XK_Cyrillic_ZHE_descender 0x1000496 /* U+0496 CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_zhe_descender 0x1000497 /* U+0497 CYRILLIC SMALL LETTER ZHE WITH DESCENDER */
+#define XK_Cyrillic_KA_descender 0x100049a /* U+049A CYRILLIC CAPITAL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_ka_descender 0x100049b /* U+049B CYRILLIC SMALL LETTER KA WITH DESCENDER */
+#define XK_Cyrillic_KA_vertstroke 0x100049c /* U+049C CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_ka_vertstroke 0x100049d /* U+049D CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE */
+#define XK_Cyrillic_EN_descender 0x10004a2 /* U+04A2 CYRILLIC CAPITAL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_en_descender 0x10004a3 /* U+04A3 CYRILLIC SMALL LETTER EN WITH DESCENDER */
+#define XK_Cyrillic_U_straight 0x10004ae /* U+04AE CYRILLIC CAPITAL LETTER STRAIGHT U */
+#define XK_Cyrillic_u_straight 0x10004af /* U+04AF CYRILLIC SMALL LETTER STRAIGHT U */
+#define XK_Cyrillic_U_straight_bar 0x10004b0 /* U+04B0 CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_u_straight_bar 0x10004b1 /* U+04B1 CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE */
+#define XK_Cyrillic_HA_descender 0x10004b2 /* U+04B2 CYRILLIC CAPITAL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_ha_descender 0x10004b3 /* U+04B3 CYRILLIC SMALL LETTER HA WITH DESCENDER */
+#define XK_Cyrillic_CHE_descender 0x10004b6 /* U+04B6 CYRILLIC CAPITAL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_che_descender 0x10004b7 /* U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER */
+#define XK_Cyrillic_CHE_vertstroke 0x10004b8 /* U+04B8 CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_che_vertstroke 0x10004b9 /* U+04B9 CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE */
+#define XK_Cyrillic_SHHA 0x10004ba /* U+04BA CYRILLIC CAPITAL LETTER SHHA */
+#define XK_Cyrillic_shha 0x10004bb /* U+04BB CYRILLIC SMALL LETTER SHHA */
+
+#define XK_Cyrillic_SCHWA 0x10004d8 /* U+04D8 CYRILLIC CAPITAL LETTER SCHWA */
+#define XK_Cyrillic_schwa 0x10004d9 /* U+04D9 CYRILLIC SMALL LETTER SCHWA */
+#define XK_Cyrillic_I_macron 0x10004e2 /* U+04E2 CYRILLIC CAPITAL LETTER I WITH MACRON */
+#define XK_Cyrillic_i_macron 0x10004e3 /* U+04E3 CYRILLIC SMALL LETTER I WITH MACRON */
+#define XK_Cyrillic_O_bar 0x10004e8 /* U+04E8 CYRILLIC CAPITAL LETTER BARRED O */
+#define XK_Cyrillic_o_bar 0x10004e9 /* U+04E9 CYRILLIC SMALL LETTER BARRED O */
+#define XK_Cyrillic_U_macron 0x10004ee /* U+04EE CYRILLIC CAPITAL LETTER U WITH MACRON */
+#define XK_Cyrillic_u_macron 0x10004ef /* U+04EF CYRILLIC SMALL LETTER U WITH MACRON */
+
+#define XK_Serbian_dje 0x06a1 /* U+0452 CYRILLIC SMALL LETTER DJE */
+#define XK_Macedonia_gje 0x06a2 /* U+0453 CYRILLIC SMALL LETTER GJE */
+#define XK_Cyrillic_io 0x06a3 /* U+0451 CYRILLIC SMALL LETTER IO */
+#define XK_Ukrainian_ie 0x06a4 /* U+0454 CYRILLIC SMALL LETTER UKRAINIAN IE */
+#define XK_Ukranian_je 0x06a4 /* deprecated */
+#define XK_Macedonia_dse 0x06a5 /* U+0455 CYRILLIC SMALL LETTER DZE */
+#define XK_Ukrainian_i 0x06a6 /* U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_i 0x06a6 /* deprecated */
+#define XK_Ukrainian_yi 0x06a7 /* U+0457 CYRILLIC SMALL LETTER YI */
+#define XK_Ukranian_yi 0x06a7 /* deprecated */
+#define XK_Cyrillic_je 0x06a8 /* U+0458 CYRILLIC SMALL LETTER JE */
+#define XK_Serbian_je 0x06a8 /* deprecated */
+#define XK_Cyrillic_lje 0x06a9 /* U+0459 CYRILLIC SMALL LETTER LJE */
+#define XK_Serbian_lje 0x06a9 /* deprecated */
+#define XK_Cyrillic_nje 0x06aa /* U+045A CYRILLIC SMALL LETTER NJE */
+#define XK_Serbian_nje 0x06aa /* deprecated */
+#define XK_Serbian_tshe 0x06ab /* U+045B CYRILLIC SMALL LETTER TSHE */
+#define XK_Macedonia_kje 0x06ac /* U+045C CYRILLIC SMALL LETTER KJE */
+#define XK_Ukrainian_ghe_with_upturn 0x06ad /* U+0491 CYRILLIC SMALL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_shortu 0x06ae /* U+045E CYRILLIC SMALL LETTER SHORT U */
+#define XK_Cyrillic_dzhe 0x06af /* U+045F CYRILLIC SMALL LETTER DZHE */
+#define XK_Serbian_dze 0x06af /* deprecated */
+#define XK_numerosign 0x06b0 /* U+2116 NUMERO SIGN */
+#define XK_Serbian_DJE 0x06b1 /* U+0402 CYRILLIC CAPITAL LETTER DJE */
+#define XK_Macedonia_GJE 0x06b2 /* U+0403 CYRILLIC CAPITAL LETTER GJE */
+#define XK_Cyrillic_IO 0x06b3 /* U+0401 CYRILLIC CAPITAL LETTER IO */
+#define XK_Ukrainian_IE 0x06b4 /* U+0404 CYRILLIC CAPITAL LETTER UKRAINIAN IE */
+#define XK_Ukranian_JE 0x06b4 /* deprecated */
+#define XK_Macedonia_DSE 0x06b5 /* U+0405 CYRILLIC CAPITAL LETTER DZE */
+#define XK_Ukrainian_I 0x06b6 /* U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
+#define XK_Ukranian_I 0x06b6 /* deprecated */
+#define XK_Ukrainian_YI 0x06b7 /* U+0407 CYRILLIC CAPITAL LETTER YI */
+#define XK_Ukranian_YI 0x06b7 /* deprecated */
+#define XK_Cyrillic_JE 0x06b8 /* U+0408 CYRILLIC CAPITAL LETTER JE */
+#define XK_Serbian_JE 0x06b8 /* deprecated */
+#define XK_Cyrillic_LJE 0x06b9 /* U+0409 CYRILLIC CAPITAL LETTER LJE */
+#define XK_Serbian_LJE 0x06b9 /* deprecated */
+#define XK_Cyrillic_NJE 0x06ba /* U+040A CYRILLIC CAPITAL LETTER NJE */
+#define XK_Serbian_NJE 0x06ba /* deprecated */
+#define XK_Serbian_TSHE 0x06bb /* U+040B CYRILLIC CAPITAL LETTER TSHE */
+#define XK_Macedonia_KJE 0x06bc /* U+040C CYRILLIC CAPITAL LETTER KJE */
+#define XK_Ukrainian_GHE_WITH_UPTURN 0x06bd /* U+0490 CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
+#define XK_Byelorussian_SHORTU 0x06be /* U+040E CYRILLIC CAPITAL LETTER SHORT U */
+#define XK_Cyrillic_DZHE 0x06bf /* U+040F CYRILLIC CAPITAL LETTER DZHE */
+#define XK_Serbian_DZE 0x06bf /* deprecated */
+#define XK_Cyrillic_yu 0x06c0 /* U+044E CYRILLIC SMALL LETTER YU */
+#define XK_Cyrillic_a 0x06c1 /* U+0430 CYRILLIC SMALL LETTER A */
+#define XK_Cyrillic_be 0x06c2 /* U+0431 CYRILLIC SMALL LETTER BE */
+#define XK_Cyrillic_tse 0x06c3 /* U+0446 CYRILLIC SMALL LETTER TSE */
+#define XK_Cyrillic_de 0x06c4 /* U+0434 CYRILLIC SMALL LETTER DE */
+#define XK_Cyrillic_ie 0x06c5 /* U+0435 CYRILLIC SMALL LETTER IE */
+#define XK_Cyrillic_ef 0x06c6 /* U+0444 CYRILLIC SMALL LETTER EF */
+#define XK_Cyrillic_ghe 0x06c7 /* U+0433 CYRILLIC SMALL LETTER GHE */
+#define XK_Cyrillic_ha 0x06c8 /* U+0445 CYRILLIC SMALL LETTER HA */
+#define XK_Cyrillic_i 0x06c9 /* U+0438 CYRILLIC SMALL LETTER I */
+#define XK_Cyrillic_shorti 0x06ca /* U+0439 CYRILLIC SMALL LETTER SHORT I */
+#define XK_Cyrillic_ka 0x06cb /* U+043A CYRILLIC SMALL LETTER KA */
+#define XK_Cyrillic_el 0x06cc /* U+043B CYRILLIC SMALL LETTER EL */
+#define XK_Cyrillic_em 0x06cd /* U+043C CYRILLIC SMALL LETTER EM */
+#define XK_Cyrillic_en 0x06ce /* U+043D CYRILLIC SMALL LETTER EN */
+#define XK_Cyrillic_o 0x06cf /* U+043E CYRILLIC SMALL LETTER O */
+#define XK_Cyrillic_pe 0x06d0 /* U+043F CYRILLIC SMALL LETTER PE */
+#define XK_Cyrillic_ya 0x06d1 /* U+044F CYRILLIC SMALL LETTER YA */
+#define XK_Cyrillic_er 0x06d2 /* U+0440 CYRILLIC SMALL LETTER ER */
+#define XK_Cyrillic_es 0x06d3 /* U+0441 CYRILLIC SMALL LETTER ES */
+#define XK_Cyrillic_te 0x06d4 /* U+0442 CYRILLIC SMALL LETTER TE */
+#define XK_Cyrillic_u 0x06d5 /* U+0443 CYRILLIC SMALL LETTER U */
+#define XK_Cyrillic_zhe 0x06d6 /* U+0436 CYRILLIC SMALL LETTER ZHE */
+#define XK_Cyrillic_ve 0x06d7 /* U+0432 CYRILLIC SMALL LETTER VE */
+#define XK_Cyrillic_softsign 0x06d8 /* U+044C CYRILLIC SMALL LETTER SOFT SIGN */
+#define XK_Cyrillic_yeru 0x06d9 /* U+044B CYRILLIC SMALL LETTER YERU */
+#define XK_Cyrillic_ze 0x06da /* U+0437 CYRILLIC SMALL LETTER ZE */
+#define XK_Cyrillic_sha 0x06db /* U+0448 CYRILLIC SMALL LETTER SHA */
+#define XK_Cyrillic_e 0x06dc /* U+044D CYRILLIC SMALL LETTER E */
+#define XK_Cyrillic_shcha 0x06dd /* U+0449 CYRILLIC SMALL LETTER SHCHA */
+#define XK_Cyrillic_che 0x06de /* U+0447 CYRILLIC SMALL LETTER CHE */
+#define XK_Cyrillic_hardsign 0x06df /* U+044A CYRILLIC SMALL LETTER HARD SIGN */
+#define XK_Cyrillic_YU 0x06e0 /* U+042E CYRILLIC CAPITAL LETTER YU */
+#define XK_Cyrillic_A 0x06e1 /* U+0410 CYRILLIC CAPITAL LETTER A */
+#define XK_Cyrillic_BE 0x06e2 /* U+0411 CYRILLIC CAPITAL LETTER BE */
+#define XK_Cyrillic_TSE 0x06e3 /* U+0426 CYRILLIC CAPITAL LETTER TSE */
+#define XK_Cyrillic_DE 0x06e4 /* U+0414 CYRILLIC CAPITAL LETTER DE */
+#define XK_Cyrillic_IE 0x06e5 /* U+0415 CYRILLIC CAPITAL LETTER IE */
+#define XK_Cyrillic_EF 0x06e6 /* U+0424 CYRILLIC CAPITAL LETTER EF */
+#define XK_Cyrillic_GHE 0x06e7 /* U+0413 CYRILLIC CAPITAL LETTER GHE */
+#define XK_Cyrillic_HA 0x06e8 /* U+0425 CYRILLIC CAPITAL LETTER HA */
+#define XK_Cyrillic_I 0x06e9 /* U+0418 CYRILLIC CAPITAL LETTER I */
+#define XK_Cyrillic_SHORTI 0x06ea /* U+0419 CYRILLIC CAPITAL LETTER SHORT I */
+#define XK_Cyrillic_KA 0x06eb /* U+041A CYRILLIC CAPITAL LETTER KA */
+#define XK_Cyrillic_EL 0x06ec /* U+041B CYRILLIC CAPITAL LETTER EL */
+#define XK_Cyrillic_EM 0x06ed /* U+041C CYRILLIC CAPITAL LETTER EM */
+#define XK_Cyrillic_EN 0x06ee /* U+041D CYRILLIC CAPITAL LETTER EN */
+#define XK_Cyrillic_O 0x06ef /* U+041E CYRILLIC CAPITAL LETTER O */
+#define XK_Cyrillic_PE 0x06f0 /* U+041F CYRILLIC CAPITAL LETTER PE */
+#define XK_Cyrillic_YA 0x06f1 /* U+042F CYRILLIC CAPITAL LETTER YA */
+#define XK_Cyrillic_ER 0x06f2 /* U+0420 CYRILLIC CAPITAL LETTER ER */
+#define XK_Cyrillic_ES 0x06f3 /* U+0421 CYRILLIC CAPITAL LETTER ES */
+#define XK_Cyrillic_TE 0x06f4 /* U+0422 CYRILLIC CAPITAL LETTER TE */
+#define XK_Cyrillic_U 0x06f5 /* U+0423 CYRILLIC CAPITAL LETTER U */
+#define XK_Cyrillic_ZHE 0x06f6 /* U+0416 CYRILLIC CAPITAL LETTER ZHE */
+#define XK_Cyrillic_VE 0x06f7 /* U+0412 CYRILLIC CAPITAL LETTER VE */
+#define XK_Cyrillic_SOFTSIGN 0x06f8 /* U+042C CYRILLIC CAPITAL LETTER SOFT SIGN */
+#define XK_Cyrillic_YERU 0x06f9 /* U+042B CYRILLIC CAPITAL LETTER YERU */
+#define XK_Cyrillic_ZE 0x06fa /* U+0417 CYRILLIC CAPITAL LETTER ZE */
+#define XK_Cyrillic_SHA 0x06fb /* U+0428 CYRILLIC CAPITAL LETTER SHA */
+#define XK_Cyrillic_E 0x06fc /* U+042D CYRILLIC CAPITAL LETTER E */
+#define XK_Cyrillic_SHCHA 0x06fd /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
+#define XK_Cyrillic_CHE 0x06fe /* U+0427 CYRILLIC CAPITAL LETTER CHE */
+#define XK_Cyrillic_HARDSIGN 0x06ff /* U+042A CYRILLIC CAPITAL LETTER HARD SIGN */
+#endif /* XK_CYRILLIC */
+
+/*
+ * Greek
+ * (based on an early draft of, and not quite identical to, ISO/IEC 8859-7)
+ * Byte 3 = 7
+ */
+
+#ifdef XK_GREEK
+#define XK_Greek_ALPHAaccent 0x07a1 /* U+0386 GREEK CAPITAL LETTER ALPHA WITH TONOS */
+#define XK_Greek_EPSILONaccent 0x07a2 /* U+0388 GREEK CAPITAL LETTER EPSILON WITH TONOS */
+#define XK_Greek_ETAaccent 0x07a3 /* U+0389 GREEK CAPITAL LETTER ETA WITH TONOS */
+#define XK_Greek_IOTAaccent 0x07a4 /* U+038A GREEK CAPITAL LETTER IOTA WITH TONOS */
+#define XK_Greek_IOTAdieresis 0x07a5 /* U+03AA GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_IOTAdiaeresis 0x07a5 /* old typo */
+#define XK_Greek_OMICRONaccent 0x07a7 /* U+038C GREEK CAPITAL LETTER OMICRON WITH TONOS */
+#define XK_Greek_UPSILONaccent 0x07a8 /* U+038E GREEK CAPITAL LETTER UPSILON WITH TONOS */
+#define XK_Greek_UPSILONdieresis 0x07a9 /* U+03AB GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_OMEGAaccent 0x07ab /* U+038F GREEK CAPITAL LETTER OMEGA WITH TONOS */
+#define XK_Greek_accentdieresis 0x07ae /* U+0385 GREEK DIALYTIKA TONOS */
+#define XK_Greek_horizbar 0x07af /* U+2015 HORIZONTAL BAR */
+#define XK_Greek_alphaaccent 0x07b1 /* U+03AC GREEK SMALL LETTER ALPHA WITH TONOS */
+#define XK_Greek_epsilonaccent 0x07b2 /* U+03AD GREEK SMALL LETTER EPSILON WITH TONOS */
+#define XK_Greek_etaaccent 0x07b3 /* U+03AE GREEK SMALL LETTER ETA WITH TONOS */
+#define XK_Greek_iotaaccent 0x07b4 /* U+03AF GREEK SMALL LETTER IOTA WITH TONOS */
+#define XK_Greek_iotadieresis 0x07b5 /* U+03CA GREEK SMALL LETTER IOTA WITH DIALYTIKA */
+#define XK_Greek_iotaaccentdieresis 0x07b6 /* U+0390 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omicronaccent 0x07b7 /* U+03CC GREEK SMALL LETTER OMICRON WITH TONOS */
+#define XK_Greek_upsilonaccent 0x07b8 /* U+03CD GREEK SMALL LETTER UPSILON WITH TONOS */
+#define XK_Greek_upsilondieresis 0x07b9 /* U+03CB GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
+#define XK_Greek_upsilonaccentdieresis 0x07ba /* U+03B0 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
+#define XK_Greek_omegaaccent 0x07bb /* U+03CE GREEK SMALL LETTER OMEGA WITH TONOS */
+#define XK_Greek_ALPHA 0x07c1 /* U+0391 GREEK CAPITAL LETTER ALPHA */
+#define XK_Greek_BETA 0x07c2 /* U+0392 GREEK CAPITAL LETTER BETA */
+#define XK_Greek_GAMMA 0x07c3 /* U+0393 GREEK CAPITAL LETTER GAMMA */
+#define XK_Greek_DELTA 0x07c4 /* U+0394 GREEK CAPITAL LETTER DELTA */
+#define XK_Greek_EPSILON 0x07c5 /* U+0395 GREEK CAPITAL LETTER EPSILON */
+#define XK_Greek_ZETA 0x07c6 /* U+0396 GREEK CAPITAL LETTER ZETA */
+#define XK_Greek_ETA 0x07c7 /* U+0397 GREEK CAPITAL LETTER ETA */
+#define XK_Greek_THETA 0x07c8 /* U+0398 GREEK CAPITAL LETTER THETA */
+#define XK_Greek_IOTA 0x07c9 /* U+0399 GREEK CAPITAL LETTER IOTA */
+#define XK_Greek_KAPPA 0x07ca /* U+039A GREEK CAPITAL LETTER KAPPA */
+#define XK_Greek_LAMDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_LAMBDA 0x07cb /* U+039B GREEK CAPITAL LETTER LAMDA */
+#define XK_Greek_MU 0x07cc /* U+039C GREEK CAPITAL LETTER MU */
+#define XK_Greek_NU 0x07cd /* U+039D GREEK CAPITAL LETTER NU */
+#define XK_Greek_XI 0x07ce /* U+039E GREEK CAPITAL LETTER XI */
+#define XK_Greek_OMICRON 0x07cf /* U+039F GREEK CAPITAL LETTER OMICRON */
+#define XK_Greek_PI 0x07d0 /* U+03A0 GREEK CAPITAL LETTER PI */
+#define XK_Greek_RHO 0x07d1 /* U+03A1 GREEK CAPITAL LETTER RHO */
+#define XK_Greek_SIGMA 0x07d2 /* U+03A3 GREEK CAPITAL LETTER SIGMA */
+#define XK_Greek_TAU 0x07d4 /* U+03A4 GREEK CAPITAL LETTER TAU */
+#define XK_Greek_UPSILON 0x07d5 /* U+03A5 GREEK CAPITAL LETTER UPSILON */
+#define XK_Greek_PHI 0x07d6 /* U+03A6 GREEK CAPITAL LETTER PHI */
+#define XK_Greek_CHI 0x07d7 /* U+03A7 GREEK CAPITAL LETTER CHI */
+#define XK_Greek_PSI 0x07d8 /* U+03A8 GREEK CAPITAL LETTER PSI */
+#define XK_Greek_OMEGA 0x07d9 /* U+03A9 GREEK CAPITAL LETTER OMEGA */
+#define XK_Greek_alpha 0x07e1 /* U+03B1 GREEK SMALL LETTER ALPHA */
+#define XK_Greek_beta 0x07e2 /* U+03B2 GREEK SMALL LETTER BETA */
+#define XK_Greek_gamma 0x07e3 /* U+03B3 GREEK SMALL LETTER GAMMA */
+#define XK_Greek_delta 0x07e4 /* U+03B4 GREEK SMALL LETTER DELTA */
+#define XK_Greek_epsilon 0x07e5 /* U+03B5 GREEK SMALL LETTER EPSILON */
+#define XK_Greek_zeta 0x07e6 /* U+03B6 GREEK SMALL LETTER ZETA */
+#define XK_Greek_eta 0x07e7 /* U+03B7 GREEK SMALL LETTER ETA */
+#define XK_Greek_theta 0x07e8 /* U+03B8 GREEK SMALL LETTER THETA */
+#define XK_Greek_iota 0x07e9 /* U+03B9 GREEK SMALL LETTER IOTA */
+#define XK_Greek_kappa 0x07ea /* U+03BA GREEK SMALL LETTER KAPPA */
+#define XK_Greek_lamda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_lambda 0x07eb /* U+03BB GREEK SMALL LETTER LAMDA */
+#define XK_Greek_mu 0x07ec /* U+03BC GREEK SMALL LETTER MU */
+#define XK_Greek_nu 0x07ed /* U+03BD GREEK SMALL LETTER NU */
+#define XK_Greek_xi 0x07ee /* U+03BE GREEK SMALL LETTER XI */
+#define XK_Greek_omicron 0x07ef /* U+03BF GREEK SMALL LETTER OMICRON */
+#define XK_Greek_pi 0x07f0 /* U+03C0 GREEK SMALL LETTER PI */
+#define XK_Greek_rho 0x07f1 /* U+03C1 GREEK SMALL LETTER RHO */
+#define XK_Greek_sigma 0x07f2 /* U+03C3 GREEK SMALL LETTER SIGMA */
+#define XK_Greek_finalsmallsigma 0x07f3 /* U+03C2 GREEK SMALL LETTER FINAL SIGMA */
+#define XK_Greek_tau 0x07f4 /* U+03C4 GREEK SMALL LETTER TAU */
+#define XK_Greek_upsilon 0x07f5 /* U+03C5 GREEK SMALL LETTER UPSILON */
+#define XK_Greek_phi 0x07f6 /* U+03C6 GREEK SMALL LETTER PHI */
+#define XK_Greek_chi 0x07f7 /* U+03C7 GREEK SMALL LETTER CHI */
+#define XK_Greek_psi 0x07f8 /* U+03C8 GREEK SMALL LETTER PSI */
+#define XK_Greek_omega 0x07f9 /* U+03C9 GREEK SMALL LETTER OMEGA */
+#define XK_Greek_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_GREEK */
+
+/*
+ * Technical
+ * (from the DEC VT330/VT420 Technical Character Set, http://vt100.net/charsets/technical.html)
+ * Byte 3 = 8
+ */
+
+#ifdef XK_TECHNICAL
+#define XK_leftradical 0x08a1 /* U+23B7 RADICAL SYMBOL BOTTOM */
+#define XK_topleftradical 0x08a2 /*(U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT)*/
+#define XK_horizconnector 0x08a3 /*(U+2500 BOX DRAWINGS LIGHT HORIZONTAL)*/
+#define XK_topintegral 0x08a4 /* U+2320 TOP HALF INTEGRAL */
+#define XK_botintegral 0x08a5 /* U+2321 BOTTOM HALF INTEGRAL */
+#define XK_vertconnector 0x08a6 /*(U+2502 BOX DRAWINGS LIGHT VERTICAL)*/
+#define XK_topleftsqbracket 0x08a7 /* U+23A1 LEFT SQUARE BRACKET UPPER CORNER */
+#define XK_botleftsqbracket 0x08a8 /* U+23A3 LEFT SQUARE BRACKET LOWER CORNER */
+#define XK_toprightsqbracket 0x08a9 /* U+23A4 RIGHT SQUARE BRACKET UPPER CORNER */
+#define XK_botrightsqbracket 0x08aa /* U+23A6 RIGHT SQUARE BRACKET LOWER CORNER */
+#define XK_topleftparens 0x08ab /* U+239B LEFT PARENTHESIS UPPER HOOK */
+#define XK_botleftparens 0x08ac /* U+239D LEFT PARENTHESIS LOWER HOOK */
+#define XK_toprightparens 0x08ad /* U+239E RIGHT PARENTHESIS UPPER HOOK */
+#define XK_botrightparens 0x08ae /* U+23A0 RIGHT PARENTHESIS LOWER HOOK */
+#define XK_leftmiddlecurlybrace 0x08af /* U+23A8 LEFT CURLY BRACKET MIDDLE PIECE */
+#define XK_rightmiddlecurlybrace 0x08b0 /* U+23AC RIGHT CURLY BRACKET MIDDLE PIECE */
+#define XK_topleftsummation 0x08b1
+#define XK_botleftsummation 0x08b2
+#define XK_topvertsummationconnector 0x08b3
+#define XK_botvertsummationconnector 0x08b4
+#define XK_toprightsummation 0x08b5
+#define XK_botrightsummation 0x08b6
+#define XK_rightmiddlesummation 0x08b7
+#define XK_lessthanequal 0x08bc /* U+2264 LESS-THAN OR EQUAL TO */
+#define XK_notequal 0x08bd /* U+2260 NOT EQUAL TO */
+#define XK_greaterthanequal 0x08be /* U+2265 GREATER-THAN OR EQUAL TO */
+#define XK_integral 0x08bf /* U+222B INTEGRAL */
+#define XK_therefore 0x08c0 /* U+2234 THEREFORE */
+#define XK_variation 0x08c1 /* U+221D PROPORTIONAL TO */
+#define XK_infinity 0x08c2 /* U+221E INFINITY */
+#define XK_nabla 0x08c5 /* U+2207 NABLA */
+#define XK_approximate 0x08c8 /* U+223C TILDE OPERATOR */
+#define XK_similarequal 0x08c9 /* U+2243 ASYMPTOTICALLY EQUAL TO */
+#define XK_ifonlyif 0x08cd /* U+21D4 LEFT RIGHT DOUBLE ARROW */
+#define XK_implies 0x08ce /* U+21D2 RIGHTWARDS DOUBLE ARROW */
+#define XK_identical 0x08cf /* U+2261 IDENTICAL TO */
+#define XK_radical 0x08d6 /* U+221A SQUARE ROOT */
+#define XK_includedin 0x08da /* U+2282 SUBSET OF */
+#define XK_includes 0x08db /* U+2283 SUPERSET OF */
+#define XK_intersection 0x08dc /* U+2229 INTERSECTION */
+#define XK_union 0x08dd /* U+222A UNION */
+#define XK_logicaland 0x08de /* U+2227 LOGICAL AND */
+#define XK_logicalor 0x08df /* U+2228 LOGICAL OR */
+#define XK_partialderivative 0x08ef /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_function 0x08f6 /* U+0192 LATIN SMALL LETTER F WITH HOOK */
+#define XK_leftarrow 0x08fb /* U+2190 LEFTWARDS ARROW */
+#define XK_uparrow 0x08fc /* U+2191 UPWARDS ARROW */
+#define XK_rightarrow 0x08fd /* U+2192 RIGHTWARDS ARROW */
+#define XK_downarrow 0x08fe /* U+2193 DOWNWARDS ARROW */
+#endif /* XK_TECHNICAL */
+
+/*
+ * Special
+ * (from the DEC VT100 Special Graphics Character Set)
+ * Byte 3 = 9
+ */
+
+#ifdef XK_SPECIAL
+#define XK_blank 0x09df
+#define XK_soliddiamond 0x09e0 /* U+25C6 BLACK DIAMOND */
+#define XK_checkerboard 0x09e1 /* U+2592 MEDIUM SHADE */
+#define XK_ht 0x09e2 /* U+2409 SYMBOL FOR HORIZONTAL TABULATION */
+#define XK_ff 0x09e3 /* U+240C SYMBOL FOR FORM FEED */
+#define XK_cr 0x09e4 /* U+240D SYMBOL FOR CARRIAGE RETURN */
+#define XK_lf 0x09e5 /* U+240A SYMBOL FOR LINE FEED */
+#define XK_nl 0x09e8 /* U+2424 SYMBOL FOR NEWLINE */
+#define XK_vt 0x09e9 /* U+240B SYMBOL FOR VERTICAL TABULATION */
+#define XK_lowrightcorner 0x09ea /* U+2518 BOX DRAWINGS LIGHT UP AND LEFT */
+#define XK_uprightcorner 0x09eb /* U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT */
+#define XK_upleftcorner 0x09ec /* U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT */
+#define XK_lowleftcorner 0x09ed /* U+2514 BOX DRAWINGS LIGHT UP AND RIGHT */
+#define XK_crossinglines 0x09ee /* U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+#define XK_horizlinescan1 0x09ef /* U+23BA HORIZONTAL SCAN LINE-1 */
+#define XK_horizlinescan3 0x09f0 /* U+23BB HORIZONTAL SCAN LINE-3 */
+#define XK_horizlinescan5 0x09f1 /* U+2500 BOX DRAWINGS LIGHT HORIZONTAL */
+#define XK_horizlinescan7 0x09f2 /* U+23BC HORIZONTAL SCAN LINE-7 */
+#define XK_horizlinescan9 0x09f3 /* U+23BD HORIZONTAL SCAN LINE-9 */
+#define XK_leftt 0x09f4 /* U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+#define XK_rightt 0x09f5 /* U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+#define XK_bott 0x09f6 /* U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+#define XK_topt 0x09f7 /* U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+#define XK_vertbar 0x09f8 /* U+2502 BOX DRAWINGS LIGHT VERTICAL */
+#endif /* XK_SPECIAL */
+
+/*
+ * Publishing
+ * (these are probably from a long forgotten DEC Publishing
+ * font that once shipped with DECwrite)
+ * Byte 3 = 0x0a
+ */
+
+#ifdef XK_PUBLISHING
+#define XK_emspace 0x0aa1 /* U+2003 EM SPACE */
+#define XK_enspace 0x0aa2 /* U+2002 EN SPACE */
+#define XK_em3space 0x0aa3 /* U+2004 THREE-PER-EM SPACE */
+#define XK_em4space 0x0aa4 /* U+2005 FOUR-PER-EM SPACE */
+#define XK_digitspace 0x0aa5 /* U+2007 FIGURE SPACE */
+#define XK_punctspace 0x0aa6 /* U+2008 PUNCTUATION SPACE */
+#define XK_thinspace 0x0aa7 /* U+2009 THIN SPACE */
+#define XK_hairspace 0x0aa8 /* U+200A HAIR SPACE */
+#define XK_emdash 0x0aa9 /* U+2014 EM DASH */
+#define XK_endash 0x0aaa /* U+2013 EN DASH */
+#define XK_signifblank 0x0aac /*(U+2423 OPEN BOX)*/
+#define XK_ellipsis 0x0aae /* U+2026 HORIZONTAL ELLIPSIS */
+#define XK_doubbaselinedot 0x0aaf /* U+2025 TWO DOT LEADER */
+#define XK_onethird 0x0ab0 /* U+2153 VULGAR FRACTION ONE THIRD */
+#define XK_twothirds 0x0ab1 /* U+2154 VULGAR FRACTION TWO THIRDS */
+#define XK_onefifth 0x0ab2 /* U+2155 VULGAR FRACTION ONE FIFTH */
+#define XK_twofifths 0x0ab3 /* U+2156 VULGAR FRACTION TWO FIFTHS */
+#define XK_threefifths 0x0ab4 /* U+2157 VULGAR FRACTION THREE FIFTHS */
+#define XK_fourfifths 0x0ab5 /* U+2158 VULGAR FRACTION FOUR FIFTHS */
+#define XK_onesixth 0x0ab6 /* U+2159 VULGAR FRACTION ONE SIXTH */
+#define XK_fivesixths 0x0ab7 /* U+215A VULGAR FRACTION FIVE SIXTHS */
+#define XK_careof 0x0ab8 /* U+2105 CARE OF */
+#define XK_figdash 0x0abb /* U+2012 FIGURE DASH */
+#define XK_leftanglebracket 0x0abc /*(U+27E8 MATHEMATICAL LEFT ANGLE BRACKET)*/
+#define XK_decimalpoint 0x0abd /*(U+002E FULL STOP)*/
+#define XK_rightanglebracket 0x0abe /*(U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET)*/
+#define XK_marker 0x0abf
+#define XK_oneeighth 0x0ac3 /* U+215B VULGAR FRACTION ONE EIGHTH */
+#define XK_threeeighths 0x0ac4 /* U+215C VULGAR FRACTION THREE EIGHTHS */
+#define XK_fiveeighths 0x0ac5 /* U+215D VULGAR FRACTION FIVE EIGHTHS */
+#define XK_seveneighths 0x0ac6 /* U+215E VULGAR FRACTION SEVEN EIGHTHS */
+#define XK_trademark 0x0ac9 /* U+2122 TRADE MARK SIGN */
+#define XK_signaturemark 0x0aca /*(U+2613 SALTIRE)*/
+#define XK_trademarkincircle 0x0acb
+#define XK_leftopentriangle 0x0acc /*(U+25C1 WHITE LEFT-POINTING TRIANGLE)*/
+#define XK_rightopentriangle 0x0acd /*(U+25B7 WHITE RIGHT-POINTING TRIANGLE)*/
+#define XK_emopencircle 0x0ace /*(U+25CB WHITE CIRCLE)*/
+#define XK_emopenrectangle 0x0acf /*(U+25AF WHITE VERTICAL RECTANGLE)*/
+#define XK_leftsinglequotemark 0x0ad0 /* U+2018 LEFT SINGLE QUOTATION MARK */
+#define XK_rightsinglequotemark 0x0ad1 /* U+2019 RIGHT SINGLE QUOTATION MARK */
+#define XK_leftdoublequotemark 0x0ad2 /* U+201C LEFT DOUBLE QUOTATION MARK */
+#define XK_rightdoublequotemark 0x0ad3 /* U+201D RIGHT DOUBLE QUOTATION MARK */
+#define XK_prescription 0x0ad4 /* U+211E PRESCRIPTION TAKE */
+#define XK_minutes 0x0ad6 /* U+2032 PRIME */
+#define XK_seconds 0x0ad7 /* U+2033 DOUBLE PRIME */
+#define XK_latincross 0x0ad9 /* U+271D LATIN CROSS */
+#define XK_hexagram 0x0ada
+#define XK_filledrectbullet 0x0adb /*(U+25AC BLACK RECTANGLE)*/
+#define XK_filledlefttribullet 0x0adc /*(U+25C0 BLACK LEFT-POINTING TRIANGLE)*/
+#define XK_filledrighttribullet 0x0add /*(U+25B6 BLACK RIGHT-POINTING TRIANGLE)*/
+#define XK_emfilledcircle 0x0ade /*(U+25CF BLACK CIRCLE)*/
+#define XK_emfilledrect 0x0adf /*(U+25AE BLACK VERTICAL RECTANGLE)*/
+#define XK_enopencircbullet 0x0ae0 /*(U+25E6 WHITE BULLET)*/
+#define XK_enopensquarebullet 0x0ae1 /*(U+25AB WHITE SMALL SQUARE)*/
+#define XK_openrectbullet 0x0ae2 /*(U+25AD WHITE RECTANGLE)*/
+#define XK_opentribulletup 0x0ae3 /*(U+25B3 WHITE UP-POINTING TRIANGLE)*/
+#define XK_opentribulletdown 0x0ae4 /*(U+25BD WHITE DOWN-POINTING TRIANGLE)*/
+#define XK_openstar 0x0ae5 /*(U+2606 WHITE STAR)*/
+#define XK_enfilledcircbullet 0x0ae6 /*(U+2022 BULLET)*/
+#define XK_enfilledsqbullet 0x0ae7 /*(U+25AA BLACK SMALL SQUARE)*/
+#define XK_filledtribulletup 0x0ae8 /*(U+25B2 BLACK UP-POINTING TRIANGLE)*/
+#define XK_filledtribulletdown 0x0ae9 /*(U+25BC BLACK DOWN-POINTING TRIANGLE)*/
+#define XK_leftpointer 0x0aea /*(U+261C WHITE LEFT POINTING INDEX)*/
+#define XK_rightpointer 0x0aeb /*(U+261E WHITE RIGHT POINTING INDEX)*/
+#define XK_club 0x0aec /* U+2663 BLACK CLUB SUIT */
+#define XK_diamond 0x0aed /* U+2666 BLACK DIAMOND SUIT */
+#define XK_heart 0x0aee /* U+2665 BLACK HEART SUIT */
+#define XK_maltesecross 0x0af0 /* U+2720 MALTESE CROSS */
+#define XK_dagger 0x0af1 /* U+2020 DAGGER */
+#define XK_doubledagger 0x0af2 /* U+2021 DOUBLE DAGGER */
+#define XK_checkmark 0x0af3 /* U+2713 CHECK MARK */
+#define XK_ballotcross 0x0af4 /* U+2717 BALLOT X */
+#define XK_musicalsharp 0x0af5 /* U+266F MUSIC SHARP SIGN */
+#define XK_musicalflat 0x0af6 /* U+266D MUSIC FLAT SIGN */
+#define XK_malesymbol 0x0af7 /* U+2642 MALE SIGN */
+#define XK_femalesymbol 0x0af8 /* U+2640 FEMALE SIGN */
+#define XK_telephone 0x0af9 /* U+260E BLACK TELEPHONE */
+#define XK_telephonerecorder 0x0afa /* U+2315 TELEPHONE RECORDER */
+#define XK_phonographcopyright 0x0afb /* U+2117 SOUND RECORDING COPYRIGHT */
+#define XK_caret 0x0afc /* U+2038 CARET */
+#define XK_singlelowquotemark 0x0afd /* U+201A SINGLE LOW-9 QUOTATION MARK */
+#define XK_doublelowquotemark 0x0afe /* U+201E DOUBLE LOW-9 QUOTATION MARK */
+#define XK_cursor 0x0aff
+#endif /* XK_PUBLISHING */
+
+/*
+ * APL
+ * Byte 3 = 0x0b
+ */
+
+#ifdef XK_APL
+#define XK_leftcaret 0x0ba3 /*(U+003C LESS-THAN SIGN)*/
+#define XK_rightcaret 0x0ba6 /*(U+003E GREATER-THAN SIGN)*/
+#define XK_downcaret 0x0ba8 /*(U+2228 LOGICAL OR)*/
+#define XK_upcaret 0x0ba9 /*(U+2227 LOGICAL AND)*/
+#define XK_overbar 0x0bc0 /*(U+00AF MACRON)*/
+#define XK_downtack 0x0bc2 /* U+22A4 DOWN TACK */
+#define XK_upshoe 0x0bc3 /*(U+2229 INTERSECTION)*/
+#define XK_downstile 0x0bc4 /* U+230A LEFT FLOOR */
+#define XK_underbar 0x0bc6 /*(U+005F LOW LINE)*/
+#define XK_jot 0x0bca /* U+2218 RING OPERATOR */
+#define XK_quad 0x0bcc /* U+2395 APL FUNCTIONAL SYMBOL QUAD */
+#define XK_uptack 0x0bce /* U+22A5 UP TACK */
+#define XK_circle 0x0bcf /* U+25CB WHITE CIRCLE */
+#define XK_upstile 0x0bd3 /* U+2308 LEFT CEILING */
+#define XK_downshoe 0x0bd6 /*(U+222A UNION)*/
+#define XK_rightshoe 0x0bd8 /*(U+2283 SUPERSET OF)*/
+#define XK_leftshoe 0x0bda /*(U+2282 SUBSET OF)*/
+#define XK_lefttack 0x0bdc /* U+22A3 LEFT TACK */
+#define XK_righttack 0x0bfc /* U+22A2 RIGHT TACK */
+#endif /* XK_APL */
+
+/*
+ * Hebrew
+ * Byte 3 = 0x0c
+ */
+
+#ifdef XK_HEBREW
+#define XK_hebrew_doublelowline 0x0cdf /* U+2017 DOUBLE LOW LINE */
+#define XK_hebrew_aleph 0x0ce0 /* U+05D0 HEBREW LETTER ALEF */
+#define XK_hebrew_bet 0x0ce1 /* U+05D1 HEBREW LETTER BET */
+#define XK_hebrew_beth 0x0ce1 /* deprecated */
+#define XK_hebrew_gimel 0x0ce2 /* U+05D2 HEBREW LETTER GIMEL */
+#define XK_hebrew_gimmel 0x0ce2 /* deprecated */
+#define XK_hebrew_dalet 0x0ce3 /* U+05D3 HEBREW LETTER DALET */
+#define XK_hebrew_daleth 0x0ce3 /* deprecated */
+#define XK_hebrew_he 0x0ce4 /* U+05D4 HEBREW LETTER HE */
+#define XK_hebrew_waw 0x0ce5 /* U+05D5 HEBREW LETTER VAV */
+#define XK_hebrew_zain 0x0ce6 /* U+05D6 HEBREW LETTER ZAYIN */
+#define XK_hebrew_zayin 0x0ce6 /* deprecated */
+#define XK_hebrew_chet 0x0ce7 /* U+05D7 HEBREW LETTER HET */
+#define XK_hebrew_het 0x0ce7 /* deprecated */
+#define XK_hebrew_tet 0x0ce8 /* U+05D8 HEBREW LETTER TET */
+#define XK_hebrew_teth 0x0ce8 /* deprecated */
+#define XK_hebrew_yod 0x0ce9 /* U+05D9 HEBREW LETTER YOD */
+#define XK_hebrew_finalkaph 0x0cea /* U+05DA HEBREW LETTER FINAL KAF */
+#define XK_hebrew_kaph 0x0ceb /* U+05DB HEBREW LETTER KAF */
+#define XK_hebrew_lamed 0x0cec /* U+05DC HEBREW LETTER LAMED */
+#define XK_hebrew_finalmem 0x0ced /* U+05DD HEBREW LETTER FINAL MEM */
+#define XK_hebrew_mem 0x0cee /* U+05DE HEBREW LETTER MEM */
+#define XK_hebrew_finalnun 0x0cef /* U+05DF HEBREW LETTER FINAL NUN */
+#define XK_hebrew_nun 0x0cf0 /* U+05E0 HEBREW LETTER NUN */
+#define XK_hebrew_samech 0x0cf1 /* U+05E1 HEBREW LETTER SAMEKH */
+#define XK_hebrew_samekh 0x0cf1 /* deprecated */
+#define XK_hebrew_ayin 0x0cf2 /* U+05E2 HEBREW LETTER AYIN */
+#define XK_hebrew_finalpe 0x0cf3 /* U+05E3 HEBREW LETTER FINAL PE */
+#define XK_hebrew_pe 0x0cf4 /* U+05E4 HEBREW LETTER PE */
+#define XK_hebrew_finalzade 0x0cf5 /* U+05E5 HEBREW LETTER FINAL TSADI */
+#define XK_hebrew_finalzadi 0x0cf5 /* deprecated */
+#define XK_hebrew_zade 0x0cf6 /* U+05E6 HEBREW LETTER TSADI */
+#define XK_hebrew_zadi 0x0cf6 /* deprecated */
+#define XK_hebrew_qoph 0x0cf7 /* U+05E7 HEBREW LETTER QOF */
+#define XK_hebrew_kuf 0x0cf7 /* deprecated */
+#define XK_hebrew_resh 0x0cf8 /* U+05E8 HEBREW LETTER RESH */
+#define XK_hebrew_shin 0x0cf9 /* U+05E9 HEBREW LETTER SHIN */
+#define XK_hebrew_taw 0x0cfa /* U+05EA HEBREW LETTER TAV */
+#define XK_hebrew_taf 0x0cfa /* deprecated */
+#define XK_Hebrew_switch 0xff7e /* Alias for mode_switch */
+#endif /* XK_HEBREW */
+
+/*
+ * Thai
+ * Byte 3 = 0x0d
+ */
+
+#ifdef XK_THAI
+#define XK_Thai_kokai 0x0da1 /* U+0E01 THAI CHARACTER KO KAI */
+#define XK_Thai_khokhai 0x0da2 /* U+0E02 THAI CHARACTER KHO KHAI */
+#define XK_Thai_khokhuat 0x0da3 /* U+0E03 THAI CHARACTER KHO KHUAT */
+#define XK_Thai_khokhwai 0x0da4 /* U+0E04 THAI CHARACTER KHO KHWAI */
+#define XK_Thai_khokhon 0x0da5 /* U+0E05 THAI CHARACTER KHO KHON */
+#define XK_Thai_khorakhang 0x0da6 /* U+0E06 THAI CHARACTER KHO RAKHANG */
+#define XK_Thai_ngongu 0x0da7 /* U+0E07 THAI CHARACTER NGO NGU */
+#define XK_Thai_chochan 0x0da8 /* U+0E08 THAI CHARACTER CHO CHAN */
+#define XK_Thai_choching 0x0da9 /* U+0E09 THAI CHARACTER CHO CHING */
+#define XK_Thai_chochang 0x0daa /* U+0E0A THAI CHARACTER CHO CHANG */
+#define XK_Thai_soso 0x0dab /* U+0E0B THAI CHARACTER SO SO */
+#define XK_Thai_chochoe 0x0dac /* U+0E0C THAI CHARACTER CHO CHOE */
+#define XK_Thai_yoying 0x0dad /* U+0E0D THAI CHARACTER YO YING */
+#define XK_Thai_dochada 0x0dae /* U+0E0E THAI CHARACTER DO CHADA */
+#define XK_Thai_topatak 0x0daf /* U+0E0F THAI CHARACTER TO PATAK */
+#define XK_Thai_thothan 0x0db0 /* U+0E10 THAI CHARACTER THO THAN */
+#define XK_Thai_thonangmontho 0x0db1 /* U+0E11 THAI CHARACTER THO NANGMONTHO */
+#define XK_Thai_thophuthao 0x0db2 /* U+0E12 THAI CHARACTER THO PHUTHAO */
+#define XK_Thai_nonen 0x0db3 /* U+0E13 THAI CHARACTER NO NEN */
+#define XK_Thai_dodek 0x0db4 /* U+0E14 THAI CHARACTER DO DEK */
+#define XK_Thai_totao 0x0db5 /* U+0E15 THAI CHARACTER TO TAO */
+#define XK_Thai_thothung 0x0db6 /* U+0E16 THAI CHARACTER THO THUNG */
+#define XK_Thai_thothahan 0x0db7 /* U+0E17 THAI CHARACTER THO THAHAN */
+#define XK_Thai_thothong 0x0db8 /* U+0E18 THAI CHARACTER THO THONG */
+#define XK_Thai_nonu 0x0db9 /* U+0E19 THAI CHARACTER NO NU */
+#define XK_Thai_bobaimai 0x0dba /* U+0E1A THAI CHARACTER BO BAIMAI */
+#define XK_Thai_popla 0x0dbb /* U+0E1B THAI CHARACTER PO PLA */
+#define XK_Thai_phophung 0x0dbc /* U+0E1C THAI CHARACTER PHO PHUNG */
+#define XK_Thai_fofa 0x0dbd /* U+0E1D THAI CHARACTER FO FA */
+#define XK_Thai_phophan 0x0dbe /* U+0E1E THAI CHARACTER PHO PHAN */
+#define XK_Thai_fofan 0x0dbf /* U+0E1F THAI CHARACTER FO FAN */
+#define XK_Thai_phosamphao 0x0dc0 /* U+0E20 THAI CHARACTER PHO SAMPHAO */
+#define XK_Thai_moma 0x0dc1 /* U+0E21 THAI CHARACTER MO MA */
+#define XK_Thai_yoyak 0x0dc2 /* U+0E22 THAI CHARACTER YO YAK */
+#define XK_Thai_rorua 0x0dc3 /* U+0E23 THAI CHARACTER RO RUA */
+#define XK_Thai_ru 0x0dc4 /* U+0E24 THAI CHARACTER RU */
+#define XK_Thai_loling 0x0dc5 /* U+0E25 THAI CHARACTER LO LING */
+#define XK_Thai_lu 0x0dc6 /* U+0E26 THAI CHARACTER LU */
+#define XK_Thai_wowaen 0x0dc7 /* U+0E27 THAI CHARACTER WO WAEN */
+#define XK_Thai_sosala 0x0dc8 /* U+0E28 THAI CHARACTER SO SALA */
+#define XK_Thai_sorusi 0x0dc9 /* U+0E29 THAI CHARACTER SO RUSI */
+#define XK_Thai_sosua 0x0dca /* U+0E2A THAI CHARACTER SO SUA */
+#define XK_Thai_hohip 0x0dcb /* U+0E2B THAI CHARACTER HO HIP */
+#define XK_Thai_lochula 0x0dcc /* U+0E2C THAI CHARACTER LO CHULA */
+#define XK_Thai_oang 0x0dcd /* U+0E2D THAI CHARACTER O ANG */
+#define XK_Thai_honokhuk 0x0dce /* U+0E2E THAI CHARACTER HO NOKHUK */
+#define XK_Thai_paiyannoi 0x0dcf /* U+0E2F THAI CHARACTER PAIYANNOI */
+#define XK_Thai_saraa 0x0dd0 /* U+0E30 THAI CHARACTER SARA A */
+#define XK_Thai_maihanakat 0x0dd1 /* U+0E31 THAI CHARACTER MAI HAN-AKAT */
+#define XK_Thai_saraaa 0x0dd2 /* U+0E32 THAI CHARACTER SARA AA */
+#define XK_Thai_saraam 0x0dd3 /* U+0E33 THAI CHARACTER SARA AM */
+#define XK_Thai_sarai 0x0dd4 /* U+0E34 THAI CHARACTER SARA I */
+#define XK_Thai_saraii 0x0dd5 /* U+0E35 THAI CHARACTER SARA II */
+#define XK_Thai_saraue 0x0dd6 /* U+0E36 THAI CHARACTER SARA UE */
+#define XK_Thai_sarauee 0x0dd7 /* U+0E37 THAI CHARACTER SARA UEE */
+#define XK_Thai_sarau 0x0dd8 /* U+0E38 THAI CHARACTER SARA U */
+#define XK_Thai_sarauu 0x0dd9 /* U+0E39 THAI CHARACTER SARA UU */
+#define XK_Thai_phinthu 0x0dda /* U+0E3A THAI CHARACTER PHINTHU */
+#define XK_Thai_maihanakat_maitho 0x0dde
+#define XK_Thai_baht 0x0ddf /* U+0E3F THAI CURRENCY SYMBOL BAHT */
+#define XK_Thai_sarae 0x0de0 /* U+0E40 THAI CHARACTER SARA E */
+#define XK_Thai_saraae 0x0de1 /* U+0E41 THAI CHARACTER SARA AE */
+#define XK_Thai_sarao 0x0de2 /* U+0E42 THAI CHARACTER SARA O */
+#define XK_Thai_saraaimaimuan 0x0de3 /* U+0E43 THAI CHARACTER SARA AI MAIMUAN */
+#define XK_Thai_saraaimaimalai 0x0de4 /* U+0E44 THAI CHARACTER SARA AI MAIMALAI */
+#define XK_Thai_lakkhangyao 0x0de5 /* U+0E45 THAI CHARACTER LAKKHANGYAO */
+#define XK_Thai_maiyamok 0x0de6 /* U+0E46 THAI CHARACTER MAIYAMOK */
+#define XK_Thai_maitaikhu 0x0de7 /* U+0E47 THAI CHARACTER MAITAIKHU */
+#define XK_Thai_maiek 0x0de8 /* U+0E48 THAI CHARACTER MAI EK */
+#define XK_Thai_maitho 0x0de9 /* U+0E49 THAI CHARACTER MAI THO */
+#define XK_Thai_maitri 0x0dea /* U+0E4A THAI CHARACTER MAI TRI */
+#define XK_Thai_maichattawa 0x0deb /* U+0E4B THAI CHARACTER MAI CHATTAWA */
+#define XK_Thai_thanthakhat 0x0dec /* U+0E4C THAI CHARACTER THANTHAKHAT */
+#define XK_Thai_nikhahit 0x0ded /* U+0E4D THAI CHARACTER NIKHAHIT */
+#define XK_Thai_leksun 0x0df0 /* U+0E50 THAI DIGIT ZERO */
+#define XK_Thai_leknung 0x0df1 /* U+0E51 THAI DIGIT ONE */
+#define XK_Thai_leksong 0x0df2 /* U+0E52 THAI DIGIT TWO */
+#define XK_Thai_leksam 0x0df3 /* U+0E53 THAI DIGIT THREE */
+#define XK_Thai_leksi 0x0df4 /* U+0E54 THAI DIGIT FOUR */
+#define XK_Thai_lekha 0x0df5 /* U+0E55 THAI DIGIT FIVE */
+#define XK_Thai_lekhok 0x0df6 /* U+0E56 THAI DIGIT SIX */
+#define XK_Thai_lekchet 0x0df7 /* U+0E57 THAI DIGIT SEVEN */
+#define XK_Thai_lekpaet 0x0df8 /* U+0E58 THAI DIGIT EIGHT */
+#define XK_Thai_lekkao 0x0df9 /* U+0E59 THAI DIGIT NINE */
+#endif /* XK_THAI */
+
+/*
+ * Korean
+ * Byte 3 = 0x0e
+ */
+
+#ifdef XK_KOREAN
+
+#define XK_Hangul 0xff31 /* Hangul start/stop(toggle) */
+#define XK_Hangul_Start 0xff32 /* Hangul start */
+#define XK_Hangul_End 0xff33 /* Hangul end, English start */
+#define XK_Hangul_Hanja 0xff34 /* Start Hangul->Hanja Conversion */
+#define XK_Hangul_Jamo 0xff35 /* Hangul Jamo mode */
+#define XK_Hangul_Romaja 0xff36 /* Hangul Romaja mode */
+#define XK_Hangul_Codeinput 0xff37 /* Hangul code input mode */
+#define XK_Hangul_Jeonja 0xff38 /* Jeonja mode */
+#define XK_Hangul_Banja 0xff39 /* Banja mode */
+#define XK_Hangul_PreHanja 0xff3a /* Pre Hanja conversion */
+#define XK_Hangul_PostHanja 0xff3b /* Post Hanja conversion */
+#define XK_Hangul_SingleCandidate 0xff3c /* Single candidate */
+#define XK_Hangul_MultipleCandidate 0xff3d /* Multiple candidate */
+#define XK_Hangul_PreviousCandidate 0xff3e /* Previous candidate */
+#define XK_Hangul_Special 0xff3f /* Special symbols */
+#define XK_Hangul_switch 0xff7e /* Alias for mode_switch */
+
+/* Hangul Consonant Characters */
+#define XK_Hangul_Kiyeog 0x0ea1
+#define XK_Hangul_SsangKiyeog 0x0ea2
+#define XK_Hangul_KiyeogSios 0x0ea3
+#define XK_Hangul_Nieun 0x0ea4
+#define XK_Hangul_NieunJieuj 0x0ea5
+#define XK_Hangul_NieunHieuh 0x0ea6
+#define XK_Hangul_Dikeud 0x0ea7
+#define XK_Hangul_SsangDikeud 0x0ea8
+#define XK_Hangul_Rieul 0x0ea9
+#define XK_Hangul_RieulKiyeog 0x0eaa
+#define XK_Hangul_RieulMieum 0x0eab
+#define XK_Hangul_RieulPieub 0x0eac
+#define XK_Hangul_RieulSios 0x0ead
+#define XK_Hangul_RieulTieut 0x0eae
+#define XK_Hangul_RieulPhieuf 0x0eaf
+#define XK_Hangul_RieulHieuh 0x0eb0
+#define XK_Hangul_Mieum 0x0eb1
+#define XK_Hangul_Pieub 0x0eb2
+#define XK_Hangul_SsangPieub 0x0eb3
+#define XK_Hangul_PieubSios 0x0eb4
+#define XK_Hangul_Sios 0x0eb5
+#define XK_Hangul_SsangSios 0x0eb6
+#define XK_Hangul_Ieung 0x0eb7
+#define XK_Hangul_Jieuj 0x0eb8
+#define XK_Hangul_SsangJieuj 0x0eb9
+#define XK_Hangul_Cieuc 0x0eba
+#define XK_Hangul_Khieuq 0x0ebb
+#define XK_Hangul_Tieut 0x0ebc
+#define XK_Hangul_Phieuf 0x0ebd
+#define XK_Hangul_Hieuh 0x0ebe
+
+/* Hangul Vowel Characters */
+#define XK_Hangul_A 0x0ebf
+#define XK_Hangul_AE 0x0ec0
+#define XK_Hangul_YA 0x0ec1
+#define XK_Hangul_YAE 0x0ec2
+#define XK_Hangul_EO 0x0ec3
+#define XK_Hangul_E 0x0ec4
+#define XK_Hangul_YEO 0x0ec5
+#define XK_Hangul_YE 0x0ec6
+#define XK_Hangul_O 0x0ec7
+#define XK_Hangul_WA 0x0ec8
+#define XK_Hangul_WAE 0x0ec9
+#define XK_Hangul_OE 0x0eca
+#define XK_Hangul_YO 0x0ecb
+#define XK_Hangul_U 0x0ecc
+#define XK_Hangul_WEO 0x0ecd
+#define XK_Hangul_WE 0x0ece
+#define XK_Hangul_WI 0x0ecf
+#define XK_Hangul_YU 0x0ed0
+#define XK_Hangul_EU 0x0ed1
+#define XK_Hangul_YI 0x0ed2
+#define XK_Hangul_I 0x0ed3
+
+/* Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_Kiyeog 0x0ed4
+#define XK_Hangul_J_SsangKiyeog 0x0ed5
+#define XK_Hangul_J_KiyeogSios 0x0ed6
+#define XK_Hangul_J_Nieun 0x0ed7
+#define XK_Hangul_J_NieunJieuj 0x0ed8
+#define XK_Hangul_J_NieunHieuh 0x0ed9
+#define XK_Hangul_J_Dikeud 0x0eda
+#define XK_Hangul_J_Rieul 0x0edb
+#define XK_Hangul_J_RieulKiyeog 0x0edc
+#define XK_Hangul_J_RieulMieum 0x0edd
+#define XK_Hangul_J_RieulPieub 0x0ede
+#define XK_Hangul_J_RieulSios 0x0edf
+#define XK_Hangul_J_RieulTieut 0x0ee0
+#define XK_Hangul_J_RieulPhieuf 0x0ee1
+#define XK_Hangul_J_RieulHieuh 0x0ee2
+#define XK_Hangul_J_Mieum 0x0ee3
+#define XK_Hangul_J_Pieub 0x0ee4
+#define XK_Hangul_J_PieubSios 0x0ee5
+#define XK_Hangul_J_Sios 0x0ee6
+#define XK_Hangul_J_SsangSios 0x0ee7
+#define XK_Hangul_J_Ieung 0x0ee8
+#define XK_Hangul_J_Jieuj 0x0ee9
+#define XK_Hangul_J_Cieuc 0x0eea
+#define XK_Hangul_J_Khieuq 0x0eeb
+#define XK_Hangul_J_Tieut 0x0eec
+#define XK_Hangul_J_Phieuf 0x0eed
+#define XK_Hangul_J_Hieuh 0x0eee
+
+/* Ancient Hangul Consonant Characters */
+#define XK_Hangul_RieulYeorinHieuh 0x0eef
+#define XK_Hangul_SunkyeongeumMieum 0x0ef0
+#define XK_Hangul_SunkyeongeumPieub 0x0ef1
+#define XK_Hangul_PanSios 0x0ef2
+#define XK_Hangul_KkogjiDalrinIeung 0x0ef3
+#define XK_Hangul_SunkyeongeumPhieuf 0x0ef4
+#define XK_Hangul_YeorinHieuh 0x0ef5
+
+/* Ancient Hangul Vowel Characters */
+#define XK_Hangul_AraeA 0x0ef6
+#define XK_Hangul_AraeAE 0x0ef7
+
+/* Ancient Hangul syllable-final (JongSeong) Characters */
+#define XK_Hangul_J_PanSios 0x0ef8
+#define XK_Hangul_J_KkogjiDalrinIeung 0x0ef9
+#define XK_Hangul_J_YeorinHieuh 0x0efa
+
+/* Korean currency symbol */
+#define XK_Korean_Won 0x0eff /*(U+20A9 WON SIGN)*/
+
+#endif /* XK_KOREAN */
+
+/*
+ * Armenian
+ */
+
+#ifdef XK_ARMENIAN
+#define XK_Armenian_ligature_ew 0x1000587 /* U+0587 ARMENIAN SMALL LIGATURE ECH YIWN */
+#define XK_Armenian_full_stop 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_verjaket 0x1000589 /* U+0589 ARMENIAN FULL STOP */
+#define XK_Armenian_separation_mark 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_but 0x100055d /* U+055D ARMENIAN COMMA */
+#define XK_Armenian_hyphen 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_yentamna 0x100058a /* U+058A ARMENIAN HYPHEN */
+#define XK_Armenian_exclam 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_amanak 0x100055c /* U+055C ARMENIAN EXCLAMATION MARK */
+#define XK_Armenian_accent 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_shesht 0x100055b /* U+055B ARMENIAN EMPHASIS MARK */
+#define XK_Armenian_question 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_paruyk 0x100055e /* U+055E ARMENIAN QUESTION MARK */
+#define XK_Armenian_AYB 0x1000531 /* U+0531 ARMENIAN CAPITAL LETTER AYB */
+#define XK_Armenian_ayb 0x1000561 /* U+0561 ARMENIAN SMALL LETTER AYB */
+#define XK_Armenian_BEN 0x1000532 /* U+0532 ARMENIAN CAPITAL LETTER BEN */
+#define XK_Armenian_ben 0x1000562 /* U+0562 ARMENIAN SMALL LETTER BEN */
+#define XK_Armenian_GIM 0x1000533 /* U+0533 ARMENIAN CAPITAL LETTER GIM */
+#define XK_Armenian_gim 0x1000563 /* U+0563 ARMENIAN SMALL LETTER GIM */
+#define XK_Armenian_DA 0x1000534 /* U+0534 ARMENIAN CAPITAL LETTER DA */
+#define XK_Armenian_da 0x1000564 /* U+0564 ARMENIAN SMALL LETTER DA */
+#define XK_Armenian_YECH 0x1000535 /* U+0535 ARMENIAN CAPITAL LETTER ECH */
+#define XK_Armenian_yech 0x1000565 /* U+0565 ARMENIAN SMALL LETTER ECH */
+#define XK_Armenian_ZA 0x1000536 /* U+0536 ARMENIAN CAPITAL LETTER ZA */
+#define XK_Armenian_za 0x1000566 /* U+0566 ARMENIAN SMALL LETTER ZA */
+#define XK_Armenian_E 0x1000537 /* U+0537 ARMENIAN CAPITAL LETTER EH */
+#define XK_Armenian_e 0x1000567 /* U+0567 ARMENIAN SMALL LETTER EH */
+#define XK_Armenian_AT 0x1000538 /* U+0538 ARMENIAN CAPITAL LETTER ET */
+#define XK_Armenian_at 0x1000568 /* U+0568 ARMENIAN SMALL LETTER ET */
+#define XK_Armenian_TO 0x1000539 /* U+0539 ARMENIAN CAPITAL LETTER TO */
+#define XK_Armenian_to 0x1000569 /* U+0569 ARMENIAN SMALL LETTER TO */
+#define XK_Armenian_ZHE 0x100053a /* U+053A ARMENIAN CAPITAL LETTER ZHE */
+#define XK_Armenian_zhe 0x100056a /* U+056A ARMENIAN SMALL LETTER ZHE */
+#define XK_Armenian_INI 0x100053b /* U+053B ARMENIAN CAPITAL LETTER INI */
+#define XK_Armenian_ini 0x100056b /* U+056B ARMENIAN SMALL LETTER INI */
+#define XK_Armenian_LYUN 0x100053c /* U+053C ARMENIAN CAPITAL LETTER LIWN */
+#define XK_Armenian_lyun 0x100056c /* U+056C ARMENIAN SMALL LETTER LIWN */
+#define XK_Armenian_KHE 0x100053d /* U+053D ARMENIAN CAPITAL LETTER XEH */
+#define XK_Armenian_khe 0x100056d /* U+056D ARMENIAN SMALL LETTER XEH */
+#define XK_Armenian_TSA 0x100053e /* U+053E ARMENIAN CAPITAL LETTER CA */
+#define XK_Armenian_tsa 0x100056e /* U+056E ARMENIAN SMALL LETTER CA */
+#define XK_Armenian_KEN 0x100053f /* U+053F ARMENIAN CAPITAL LETTER KEN */
+#define XK_Armenian_ken 0x100056f /* U+056F ARMENIAN SMALL LETTER KEN */
+#define XK_Armenian_HO 0x1000540 /* U+0540 ARMENIAN CAPITAL LETTER HO */
+#define XK_Armenian_ho 0x1000570 /* U+0570 ARMENIAN SMALL LETTER HO */
+#define XK_Armenian_DZA 0x1000541 /* U+0541 ARMENIAN CAPITAL LETTER JA */
+#define XK_Armenian_dza 0x1000571 /* U+0571 ARMENIAN SMALL LETTER JA */
+#define XK_Armenian_GHAT 0x1000542 /* U+0542 ARMENIAN CAPITAL LETTER GHAD */
+#define XK_Armenian_ghat 0x1000572 /* U+0572 ARMENIAN SMALL LETTER GHAD */
+#define XK_Armenian_TCHE 0x1000543 /* U+0543 ARMENIAN CAPITAL LETTER CHEH */
+#define XK_Armenian_tche 0x1000573 /* U+0573 ARMENIAN SMALL LETTER CHEH */
+#define XK_Armenian_MEN 0x1000544 /* U+0544 ARMENIAN CAPITAL LETTER MEN */
+#define XK_Armenian_men 0x1000574 /* U+0574 ARMENIAN SMALL LETTER MEN */
+#define XK_Armenian_HI 0x1000545 /* U+0545 ARMENIAN CAPITAL LETTER YI */
+#define XK_Armenian_hi 0x1000575 /* U+0575 ARMENIAN SMALL LETTER YI */
+#define XK_Armenian_NU 0x1000546 /* U+0546 ARMENIAN CAPITAL LETTER NOW */
+#define XK_Armenian_nu 0x1000576 /* U+0576 ARMENIAN SMALL LETTER NOW */
+#define XK_Armenian_SHA 0x1000547 /* U+0547 ARMENIAN CAPITAL LETTER SHA */
+#define XK_Armenian_sha 0x1000577 /* U+0577 ARMENIAN SMALL LETTER SHA */
+#define XK_Armenian_VO 0x1000548 /* U+0548 ARMENIAN CAPITAL LETTER VO */
+#define XK_Armenian_vo 0x1000578 /* U+0578 ARMENIAN SMALL LETTER VO */
+#define XK_Armenian_CHA 0x1000549 /* U+0549 ARMENIAN CAPITAL LETTER CHA */
+#define XK_Armenian_cha 0x1000579 /* U+0579 ARMENIAN SMALL LETTER CHA */
+#define XK_Armenian_PE 0x100054a /* U+054A ARMENIAN CAPITAL LETTER PEH */
+#define XK_Armenian_pe 0x100057a /* U+057A ARMENIAN SMALL LETTER PEH */
+#define XK_Armenian_JE 0x100054b /* U+054B ARMENIAN CAPITAL LETTER JHEH */
+#define XK_Armenian_je 0x100057b /* U+057B ARMENIAN SMALL LETTER JHEH */
+#define XK_Armenian_RA 0x100054c /* U+054C ARMENIAN CAPITAL LETTER RA */
+#define XK_Armenian_ra 0x100057c /* U+057C ARMENIAN SMALL LETTER RA */
+#define XK_Armenian_SE 0x100054d /* U+054D ARMENIAN CAPITAL LETTER SEH */
+#define XK_Armenian_se 0x100057d /* U+057D ARMENIAN SMALL LETTER SEH */
+#define XK_Armenian_VEV 0x100054e /* U+054E ARMENIAN CAPITAL LETTER VEW */
+#define XK_Armenian_vev 0x100057e /* U+057E ARMENIAN SMALL LETTER VEW */
+#define XK_Armenian_TYUN 0x100054f /* U+054F ARMENIAN CAPITAL LETTER TIWN */
+#define XK_Armenian_tyun 0x100057f /* U+057F ARMENIAN SMALL LETTER TIWN */
+#define XK_Armenian_RE 0x1000550 /* U+0550 ARMENIAN CAPITAL LETTER REH */
+#define XK_Armenian_re 0x1000580 /* U+0580 ARMENIAN SMALL LETTER REH */
+#define XK_Armenian_TSO 0x1000551 /* U+0551 ARMENIAN CAPITAL LETTER CO */
+#define XK_Armenian_tso 0x1000581 /* U+0581 ARMENIAN SMALL LETTER CO */
+#define XK_Armenian_VYUN 0x1000552 /* U+0552 ARMENIAN CAPITAL LETTER YIWN */
+#define XK_Armenian_vyun 0x1000582 /* U+0582 ARMENIAN SMALL LETTER YIWN */
+#define XK_Armenian_PYUR 0x1000553 /* U+0553 ARMENIAN CAPITAL LETTER PIWR */
+#define XK_Armenian_pyur 0x1000583 /* U+0583 ARMENIAN SMALL LETTER PIWR */
+#define XK_Armenian_KE 0x1000554 /* U+0554 ARMENIAN CAPITAL LETTER KEH */
+#define XK_Armenian_ke 0x1000584 /* U+0584 ARMENIAN SMALL LETTER KEH */
+#define XK_Armenian_O 0x1000555 /* U+0555 ARMENIAN CAPITAL LETTER OH */
+#define XK_Armenian_o 0x1000585 /* U+0585 ARMENIAN SMALL LETTER OH */
+#define XK_Armenian_FE 0x1000556 /* U+0556 ARMENIAN CAPITAL LETTER FEH */
+#define XK_Armenian_fe 0x1000586 /* U+0586 ARMENIAN SMALL LETTER FEH */
+#define XK_Armenian_apostrophe 0x100055a /* U+055A ARMENIAN APOSTROPHE */
+#endif /* XK_ARMENIAN */
+
+/*
+ * Georgian
+ */
+
+#ifdef XK_GEORGIAN
+#define XK_Georgian_an 0x10010d0 /* U+10D0 GEORGIAN LETTER AN */
+#define XK_Georgian_ban 0x10010d1 /* U+10D1 GEORGIAN LETTER BAN */
+#define XK_Georgian_gan 0x10010d2 /* U+10D2 GEORGIAN LETTER GAN */
+#define XK_Georgian_don 0x10010d3 /* U+10D3 GEORGIAN LETTER DON */
+#define XK_Georgian_en 0x10010d4 /* U+10D4 GEORGIAN LETTER EN */
+#define XK_Georgian_vin 0x10010d5 /* U+10D5 GEORGIAN LETTER VIN */
+#define XK_Georgian_zen 0x10010d6 /* U+10D6 GEORGIAN LETTER ZEN */
+#define XK_Georgian_tan 0x10010d7 /* U+10D7 GEORGIAN LETTER TAN */
+#define XK_Georgian_in 0x10010d8 /* U+10D8 GEORGIAN LETTER IN */
+#define XK_Georgian_kan 0x10010d9 /* U+10D9 GEORGIAN LETTER KAN */
+#define XK_Georgian_las 0x10010da /* U+10DA GEORGIAN LETTER LAS */
+#define XK_Georgian_man 0x10010db /* U+10DB GEORGIAN LETTER MAN */
+#define XK_Georgian_nar 0x10010dc /* U+10DC GEORGIAN LETTER NAR */
+#define XK_Georgian_on 0x10010dd /* U+10DD GEORGIAN LETTER ON */
+#define XK_Georgian_par 0x10010de /* U+10DE GEORGIAN LETTER PAR */
+#define XK_Georgian_zhar 0x10010df /* U+10DF GEORGIAN LETTER ZHAR */
+#define XK_Georgian_rae 0x10010e0 /* U+10E0 GEORGIAN LETTER RAE */
+#define XK_Georgian_san 0x10010e1 /* U+10E1 GEORGIAN LETTER SAN */
+#define XK_Georgian_tar 0x10010e2 /* U+10E2 GEORGIAN LETTER TAR */
+#define XK_Georgian_un 0x10010e3 /* U+10E3 GEORGIAN LETTER UN */
+#define XK_Georgian_phar 0x10010e4 /* U+10E4 GEORGIAN LETTER PHAR */
+#define XK_Georgian_khar 0x10010e5 /* U+10E5 GEORGIAN LETTER KHAR */
+#define XK_Georgian_ghan 0x10010e6 /* U+10E6 GEORGIAN LETTER GHAN */
+#define XK_Georgian_qar 0x10010e7 /* U+10E7 GEORGIAN LETTER QAR */
+#define XK_Georgian_shin 0x10010e8 /* U+10E8 GEORGIAN LETTER SHIN */
+#define XK_Georgian_chin 0x10010e9 /* U+10E9 GEORGIAN LETTER CHIN */
+#define XK_Georgian_can 0x10010ea /* U+10EA GEORGIAN LETTER CAN */
+#define XK_Georgian_jil 0x10010eb /* U+10EB GEORGIAN LETTER JIL */
+#define XK_Georgian_cil 0x10010ec /* U+10EC GEORGIAN LETTER CIL */
+#define XK_Georgian_char 0x10010ed /* U+10ED GEORGIAN LETTER CHAR */
+#define XK_Georgian_xan 0x10010ee /* U+10EE GEORGIAN LETTER XAN */
+#define XK_Georgian_jhan 0x10010ef /* U+10EF GEORGIAN LETTER JHAN */
+#define XK_Georgian_hae 0x10010f0 /* U+10F0 GEORGIAN LETTER HAE */
+#define XK_Georgian_he 0x10010f1 /* U+10F1 GEORGIAN LETTER HE */
+#define XK_Georgian_hie 0x10010f2 /* U+10F2 GEORGIAN LETTER HIE */
+#define XK_Georgian_we 0x10010f3 /* U+10F3 GEORGIAN LETTER WE */
+#define XK_Georgian_har 0x10010f4 /* U+10F4 GEORGIAN LETTER HAR */
+#define XK_Georgian_hoe 0x10010f5 /* U+10F5 GEORGIAN LETTER HOE */
+#define XK_Georgian_fi 0x10010f6 /* U+10F6 GEORGIAN LETTER FI */
+#endif /* XK_GEORGIAN */
+
+/*
+ * Azeri (and other Turkic or Caucasian languages)
+ */
+
+#ifdef XK_CAUCASUS
+/* latin */
+#define XK_Xabovedot 0x1001e8a /* U+1E8A LATIN CAPITAL LETTER X WITH DOT ABOVE */
+#define XK_Ibreve 0x100012c /* U+012C LATIN CAPITAL LETTER I WITH BREVE */
+#define XK_Zstroke 0x10001b5 /* U+01B5 LATIN CAPITAL LETTER Z WITH STROKE */
+#define XK_Gcaron 0x10001e6 /* U+01E6 LATIN CAPITAL LETTER G WITH CARON */
+#define XK_Ocaron 0x10001d1 /* U+01D2 LATIN CAPITAL LETTER O WITH CARON */
+#define XK_Obarred 0x100019f /* U+019F LATIN CAPITAL LETTER O WITH MIDDLE TILDE */
+#define XK_xabovedot 0x1001e8b /* U+1E8B LATIN SMALL LETTER X WITH DOT ABOVE */
+#define XK_ibreve 0x100012d /* U+012D LATIN SMALL LETTER I WITH BREVE */
+#define XK_zstroke 0x10001b6 /* U+01B6 LATIN SMALL LETTER Z WITH STROKE */
+#define XK_gcaron 0x10001e7 /* U+01E7 LATIN SMALL LETTER G WITH CARON */
+#define XK_ocaron 0x10001d2 /* U+01D2 LATIN SMALL LETTER O WITH CARON */
+#define XK_obarred 0x1000275 /* U+0275 LATIN SMALL LETTER BARRED O */
+#define XK_SCHWA 0x100018f /* U+018F LATIN CAPITAL LETTER SCHWA */
+#define XK_schwa 0x1000259 /* U+0259 LATIN SMALL LETTER SCHWA */
+/* those are not really Caucasus */
+/* For Inupiak */
+#define XK_Lbelowdot 0x1001e36 /* U+1E36 LATIN CAPITAL LETTER L WITH DOT BELOW */
+#define XK_lbelowdot 0x1001e37 /* U+1E37 LATIN SMALL LETTER L WITH DOT BELOW */
+#endif /* XK_CAUCASUS */
+
+/*
+ * Vietnamese
+ */
+
+#ifdef XK_VIETNAMESE
+#define XK_Abelowdot 0x1001ea0 /* U+1EA0 LATIN CAPITAL LETTER A WITH DOT BELOW */
+#define XK_abelowdot 0x1001ea1 /* U+1EA1 LATIN SMALL LETTER A WITH DOT BELOW */
+#define XK_Ahook 0x1001ea2 /* U+1EA2 LATIN CAPITAL LETTER A WITH HOOK ABOVE */
+#define XK_ahook 0x1001ea3 /* U+1EA3 LATIN SMALL LETTER A WITH HOOK ABOVE */
+#define XK_Acircumflexacute 0x1001ea4 /* U+1EA4 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_acircumflexacute 0x1001ea5 /* U+1EA5 LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE */
+#define XK_Acircumflexgrave 0x1001ea6 /* U+1EA6 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_acircumflexgrave 0x1001ea7 /* U+1EA7 LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE */
+#define XK_Acircumflexhook 0x1001ea8 /* U+1EA8 LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_acircumflexhook 0x1001ea9 /* U+1EA9 LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Acircumflextilde 0x1001eaa /* U+1EAA LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_acircumflextilde 0x1001eab /* U+1EAB LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE */
+#define XK_Acircumflexbelowdot 0x1001eac /* U+1EAC LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_acircumflexbelowdot 0x1001ead /* U+1EAD LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Abreveacute 0x1001eae /* U+1EAE LATIN CAPITAL LETTER A WITH BREVE AND ACUTE */
+#define XK_abreveacute 0x1001eaf /* U+1EAF LATIN SMALL LETTER A WITH BREVE AND ACUTE */
+#define XK_Abrevegrave 0x1001eb0 /* U+1EB0 LATIN CAPITAL LETTER A WITH BREVE AND GRAVE */
+#define XK_abrevegrave 0x1001eb1 /* U+1EB1 LATIN SMALL LETTER A WITH BREVE AND GRAVE */
+#define XK_Abrevehook 0x1001eb2 /* U+1EB2 LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_abrevehook 0x1001eb3 /* U+1EB3 LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE */
+#define XK_Abrevetilde 0x1001eb4 /* U+1EB4 LATIN CAPITAL LETTER A WITH BREVE AND TILDE */
+#define XK_abrevetilde 0x1001eb5 /* U+1EB5 LATIN SMALL LETTER A WITH BREVE AND TILDE */
+#define XK_Abrevebelowdot 0x1001eb6 /* U+1EB6 LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_abrevebelowdot 0x1001eb7 /* U+1EB7 LATIN SMALL LETTER A WITH BREVE AND DOT BELOW */
+#define XK_Ebelowdot 0x1001eb8 /* U+1EB8 LATIN CAPITAL LETTER E WITH DOT BELOW */
+#define XK_ebelowdot 0x1001eb9 /* U+1EB9 LATIN SMALL LETTER E WITH DOT BELOW */
+#define XK_Ehook 0x1001eba /* U+1EBA LATIN CAPITAL LETTER E WITH HOOK ABOVE */
+#define XK_ehook 0x1001ebb /* U+1EBB LATIN SMALL LETTER E WITH HOOK ABOVE */
+#define XK_Etilde 0x1001ebc /* U+1EBC LATIN CAPITAL LETTER E WITH TILDE */
+#define XK_etilde 0x1001ebd /* U+1EBD LATIN SMALL LETTER E WITH TILDE */
+#define XK_Ecircumflexacute 0x1001ebe /* U+1EBE LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_ecircumflexacute 0x1001ebf /* U+1EBF LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ecircumflexgrave 0x1001ec0 /* U+1EC0 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_ecircumflexgrave 0x1001ec1 /* U+1EC1 LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ecircumflexhook 0x1001ec2 /* U+1EC2 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ecircumflexhook 0x1001ec3 /* U+1EC3 LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ecircumflextilde 0x1001ec4 /* U+1EC4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_ecircumflextilde 0x1001ec5 /* U+1EC5 LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE */
+#define XK_Ecircumflexbelowdot 0x1001ec6 /* U+1EC6 LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ecircumflexbelowdot 0x1001ec7 /* U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ihook 0x1001ec8 /* U+1EC8 LATIN CAPITAL LETTER I WITH HOOK ABOVE */
+#define XK_ihook 0x1001ec9 /* U+1EC9 LATIN SMALL LETTER I WITH HOOK ABOVE */
+#define XK_Ibelowdot 0x1001eca /* U+1ECA LATIN CAPITAL LETTER I WITH DOT BELOW */
+#define XK_ibelowdot 0x1001ecb /* U+1ECB LATIN SMALL LETTER I WITH DOT BELOW */
+#define XK_Obelowdot 0x1001ecc /* U+1ECC LATIN CAPITAL LETTER O WITH DOT BELOW */
+#define XK_obelowdot 0x1001ecd /* U+1ECD LATIN SMALL LETTER O WITH DOT BELOW */
+#define XK_Ohook 0x1001ece /* U+1ECE LATIN CAPITAL LETTER O WITH HOOK ABOVE */
+#define XK_ohook 0x1001ecf /* U+1ECF LATIN SMALL LETTER O WITH HOOK ABOVE */
+#define XK_Ocircumflexacute 0x1001ed0 /* U+1ED0 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_ocircumflexacute 0x1001ed1 /* U+1ED1 LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE */
+#define XK_Ocircumflexgrave 0x1001ed2 /* U+1ED2 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_ocircumflexgrave 0x1001ed3 /* U+1ED3 LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE */
+#define XK_Ocircumflexhook 0x1001ed4 /* U+1ED4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_ocircumflexhook 0x1001ed5 /* U+1ED5 LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE */
+#define XK_Ocircumflextilde 0x1001ed6 /* U+1ED6 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_ocircumflextilde 0x1001ed7 /* U+1ED7 LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE */
+#define XK_Ocircumflexbelowdot 0x1001ed8 /* U+1ED8 LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_ocircumflexbelowdot 0x1001ed9 /* U+1ED9 LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW */
+#define XK_Ohornacute 0x1001eda /* U+1EDA LATIN CAPITAL LETTER O WITH HORN AND ACUTE */
+#define XK_ohornacute 0x1001edb /* U+1EDB LATIN SMALL LETTER O WITH HORN AND ACUTE */
+#define XK_Ohorngrave 0x1001edc /* U+1EDC LATIN CAPITAL LETTER O WITH HORN AND GRAVE */
+#define XK_ohorngrave 0x1001edd /* U+1EDD LATIN SMALL LETTER O WITH HORN AND GRAVE */
+#define XK_Ohornhook 0x1001ede /* U+1EDE LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_ohornhook 0x1001edf /* U+1EDF LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE */
+#define XK_Ohorntilde 0x1001ee0 /* U+1EE0 LATIN CAPITAL LETTER O WITH HORN AND TILDE */
+#define XK_ohorntilde 0x1001ee1 /* U+1EE1 LATIN SMALL LETTER O WITH HORN AND TILDE */
+#define XK_Ohornbelowdot 0x1001ee2 /* U+1EE2 LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW */
+#define XK_ohornbelowdot 0x1001ee3 /* U+1EE3 LATIN SMALL LETTER O WITH HORN AND DOT BELOW */
+#define XK_Ubelowdot 0x1001ee4 /* U+1EE4 LATIN CAPITAL LETTER U WITH DOT BELOW */
+#define XK_ubelowdot 0x1001ee5 /* U+1EE5 LATIN SMALL LETTER U WITH DOT BELOW */
+#define XK_Uhook 0x1001ee6 /* U+1EE6 LATIN CAPITAL LETTER U WITH HOOK ABOVE */
+#define XK_uhook 0x1001ee7 /* U+1EE7 LATIN SMALL LETTER U WITH HOOK ABOVE */
+#define XK_Uhornacute 0x1001ee8 /* U+1EE8 LATIN CAPITAL LETTER U WITH HORN AND ACUTE */
+#define XK_uhornacute 0x1001ee9 /* U+1EE9 LATIN SMALL LETTER U WITH HORN AND ACUTE */
+#define XK_Uhorngrave 0x1001eea /* U+1EEA LATIN CAPITAL LETTER U WITH HORN AND GRAVE */
+#define XK_uhorngrave 0x1001eeb /* U+1EEB LATIN SMALL LETTER U WITH HORN AND GRAVE */
+#define XK_Uhornhook 0x1001eec /* U+1EEC LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_uhornhook 0x1001eed /* U+1EED LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE */
+#define XK_Uhorntilde 0x1001eee /* U+1EEE LATIN CAPITAL LETTER U WITH HORN AND TILDE */
+#define XK_uhorntilde 0x1001eef /* U+1EEF LATIN SMALL LETTER U WITH HORN AND TILDE */
+#define XK_Uhornbelowdot 0x1001ef0 /* U+1EF0 LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW */
+#define XK_uhornbelowdot 0x1001ef1 /* U+1EF1 LATIN SMALL LETTER U WITH HORN AND DOT BELOW */
+#define XK_Ybelowdot 0x1001ef4 /* U+1EF4 LATIN CAPITAL LETTER Y WITH DOT BELOW */
+#define XK_ybelowdot 0x1001ef5 /* U+1EF5 LATIN SMALL LETTER Y WITH DOT BELOW */
+#define XK_Yhook 0x1001ef6 /* U+1EF6 LATIN CAPITAL LETTER Y WITH HOOK ABOVE */
+#define XK_yhook 0x1001ef7 /* U+1EF7 LATIN SMALL LETTER Y WITH HOOK ABOVE */
+#define XK_Ytilde 0x1001ef8 /* U+1EF8 LATIN CAPITAL LETTER Y WITH TILDE */
+#define XK_ytilde 0x1001ef9 /* U+1EF9 LATIN SMALL LETTER Y WITH TILDE */
+#define XK_Ohorn 0x10001a0 /* U+01A0 LATIN CAPITAL LETTER O WITH HORN */
+#define XK_ohorn 0x10001a1 /* U+01A1 LATIN SMALL LETTER O WITH HORN */
+#define XK_Uhorn 0x10001af /* U+01AF LATIN CAPITAL LETTER U WITH HORN */
+#define XK_uhorn 0x10001b0 /* U+01B0 LATIN SMALL LETTER U WITH HORN */
+
+#endif /* XK_VIETNAMESE */
+
+#ifdef XK_CURRENCY
+#define XK_EcuSign 0x10020a0 /* U+20A0 EURO-CURRENCY SIGN */
+#define XK_ColonSign 0x10020a1 /* U+20A1 COLON SIGN */
+#define XK_CruzeiroSign 0x10020a2 /* U+20A2 CRUZEIRO SIGN */
+#define XK_FFrancSign 0x10020a3 /* U+20A3 FRENCH FRANC SIGN */
+#define XK_LiraSign 0x10020a4 /* U+20A4 LIRA SIGN */
+#define XK_MillSign 0x10020a5 /* U+20A5 MILL SIGN */
+#define XK_NairaSign 0x10020a6 /* U+20A6 NAIRA SIGN */
+#define XK_PesetaSign 0x10020a7 /* U+20A7 PESETA SIGN */
+#define XK_RupeeSign 0x10020a8 /* U+20A8 RUPEE SIGN */
+#define XK_WonSign 0x10020a9 /* U+20A9 WON SIGN */
+#define XK_NewSheqelSign 0x10020aa /* U+20AA NEW SHEQEL SIGN */
+#define XK_DongSign 0x10020ab /* U+20AB DONG SIGN */
+#define XK_EuroSign 0x20ac /* U+20AC EURO SIGN */
+#endif /* XK_CURRENCY */
+
+#ifdef XK_MATHEMATICAL
+/* one, two and three are defined above. */
+#define XK_zerosuperior 0x1002070 /* U+2070 SUPERSCRIPT ZERO */
+#define XK_foursuperior 0x1002074 /* U+2074 SUPERSCRIPT FOUR */
+#define XK_fivesuperior 0x1002075 /* U+2075 SUPERSCRIPT FIVE */
+#define XK_sixsuperior 0x1002076 /* U+2076 SUPERSCRIPT SIX */
+#define XK_sevensuperior 0x1002077 /* U+2077 SUPERSCRIPT SEVEN */
+#define XK_eightsuperior 0x1002078 /* U+2078 SUPERSCRIPT EIGHT */
+#define XK_ninesuperior 0x1002079 /* U+2079 SUPERSCRIPT NINE */
+#define XK_zerosubscript 0x1002080 /* U+2080 SUBSCRIPT ZERO */
+#define XK_onesubscript 0x1002081 /* U+2081 SUBSCRIPT ONE */
+#define XK_twosubscript 0x1002082 /* U+2082 SUBSCRIPT TWO */
+#define XK_threesubscript 0x1002083 /* U+2083 SUBSCRIPT THREE */
+#define XK_foursubscript 0x1002084 /* U+2084 SUBSCRIPT FOUR */
+#define XK_fivesubscript 0x1002085 /* U+2085 SUBSCRIPT FIVE */
+#define XK_sixsubscript 0x1002086 /* U+2086 SUBSCRIPT SIX */
+#define XK_sevensubscript 0x1002087 /* U+2087 SUBSCRIPT SEVEN */
+#define XK_eightsubscript 0x1002088 /* U+2088 SUBSCRIPT EIGHT */
+#define XK_ninesubscript 0x1002089 /* U+2089 SUBSCRIPT NINE */
+#define XK_partdifferential 0x1002202 /* U+2202 PARTIAL DIFFERENTIAL */
+#define XK_emptyset 0x1002205 /* U+2205 NULL SET */
+#define XK_elementof 0x1002208 /* U+2208 ELEMENT OF */
+#define XK_notelementof 0x1002209 /* U+2209 NOT AN ELEMENT OF */
+#define XK_containsas 0x100220B /* U+220B CONTAINS AS MEMBER */
+#define XK_squareroot 0x100221A /* U+221A SQUARE ROOT */
+#define XK_cuberoot 0x100221B /* U+221B CUBE ROOT */
+#define XK_fourthroot 0x100221C /* U+221C FOURTH ROOT */
+#define XK_dintegral 0x100222C /* U+222C DOUBLE INTEGRAL */
+#define XK_tintegral 0x100222D /* U+222D TRIPLE INTEGRAL */
+#define XK_because 0x1002235 /* U+2235 BECAUSE */
+#define XK_approxeq 0x1002248 /* U+2245 ALMOST EQUAL TO */
+#define XK_notapproxeq 0x1002247 /* U+2247 NOT ALMOST EQUAL TO */
+#define XK_notidentical 0x1002262 /* U+2262 NOT IDENTICAL TO */
+#define XK_stricteq 0x1002263 /* U+2263 STRICTLY EQUIVALENT TO */
+#endif /* XK_MATHEMATICAL */
+
+#ifdef XK_BRAILLE
+#define XK_braille_dot_1 0xfff1
+#define XK_braille_dot_2 0xfff2
+#define XK_braille_dot_3 0xfff3
+#define XK_braille_dot_4 0xfff4
+#define XK_braille_dot_5 0xfff5
+#define XK_braille_dot_6 0xfff6
+#define XK_braille_dot_7 0xfff7
+#define XK_braille_dot_8 0xfff8
+#define XK_braille_dot_9 0xfff9
+#define XK_braille_dot_10 0xfffa
+#define XK_braille_blank 0x1002800 /* U+2800 BRAILLE PATTERN BLANK */
+#define XK_braille_dots_1 0x1002801 /* U+2801 BRAILLE PATTERN DOTS-1 */
+#define XK_braille_dots_2 0x1002802 /* U+2802 BRAILLE PATTERN DOTS-2 */
+#define XK_braille_dots_12 0x1002803 /* U+2803 BRAILLE PATTERN DOTS-12 */
+#define XK_braille_dots_3 0x1002804 /* U+2804 BRAILLE PATTERN DOTS-3 */
+#define XK_braille_dots_13 0x1002805 /* U+2805 BRAILLE PATTERN DOTS-13 */
+#define XK_braille_dots_23 0x1002806 /* U+2806 BRAILLE PATTERN DOTS-23 */
+#define XK_braille_dots_123 0x1002807 /* U+2807 BRAILLE PATTERN DOTS-123 */
+#define XK_braille_dots_4 0x1002808 /* U+2808 BRAILLE PATTERN DOTS-4 */
+#define XK_braille_dots_14 0x1002809 /* U+2809 BRAILLE PATTERN DOTS-14 */
+#define XK_braille_dots_24 0x100280a /* U+280a BRAILLE PATTERN DOTS-24 */
+#define XK_braille_dots_124 0x100280b /* U+280b BRAILLE PATTERN DOTS-124 */
+#define XK_braille_dots_34 0x100280c /* U+280c BRAILLE PATTERN DOTS-34 */
+#define XK_braille_dots_134 0x100280d /* U+280d BRAILLE PATTERN DOTS-134 */
+#define XK_braille_dots_234 0x100280e /* U+280e BRAILLE PATTERN DOTS-234 */
+#define XK_braille_dots_1234 0x100280f /* U+280f BRAILLE PATTERN DOTS-1234 */
+#define XK_braille_dots_5 0x1002810 /* U+2810 BRAILLE PATTERN DOTS-5 */
+#define XK_braille_dots_15 0x1002811 /* U+2811 BRAILLE PATTERN DOTS-15 */
+#define XK_braille_dots_25 0x1002812 /* U+2812 BRAILLE PATTERN DOTS-25 */
+#define XK_braille_dots_125 0x1002813 /* U+2813 BRAILLE PATTERN DOTS-125 */
+#define XK_braille_dots_35 0x1002814 /* U+2814 BRAILLE PATTERN DOTS-35 */
+#define XK_braille_dots_135 0x1002815 /* U+2815 BRAILLE PATTERN DOTS-135 */
+#define XK_braille_dots_235 0x1002816 /* U+2816 BRAILLE PATTERN DOTS-235 */
+#define XK_braille_dots_1235 0x1002817 /* U+2817 BRAILLE PATTERN DOTS-1235 */
+#define XK_braille_dots_45 0x1002818 /* U+2818 BRAILLE PATTERN DOTS-45 */
+#define XK_braille_dots_145 0x1002819 /* U+2819 BRAILLE PATTERN DOTS-145 */
+#define XK_braille_dots_245 0x100281a /* U+281a BRAILLE PATTERN DOTS-245 */
+#define XK_braille_dots_1245 0x100281b /* U+281b BRAILLE PATTERN DOTS-1245 */
+#define XK_braille_dots_345 0x100281c /* U+281c BRAILLE PATTERN DOTS-345 */
+#define XK_braille_dots_1345 0x100281d /* U+281d BRAILLE PATTERN DOTS-1345 */
+#define XK_braille_dots_2345 0x100281e /* U+281e BRAILLE PATTERN DOTS-2345 */
+#define XK_braille_dots_12345 0x100281f /* U+281f BRAILLE PATTERN DOTS-12345 */
+#define XK_braille_dots_6 0x1002820 /* U+2820 BRAILLE PATTERN DOTS-6 */
+#define XK_braille_dots_16 0x1002821 /* U+2821 BRAILLE PATTERN DOTS-16 */
+#define XK_braille_dots_26 0x1002822 /* U+2822 BRAILLE PATTERN DOTS-26 */
+#define XK_braille_dots_126 0x1002823 /* U+2823 BRAILLE PATTERN DOTS-126 */
+#define XK_braille_dots_36 0x1002824 /* U+2824 BRAILLE PATTERN DOTS-36 */
+#define XK_braille_dots_136 0x1002825 /* U+2825 BRAILLE PATTERN DOTS-136 */
+#define XK_braille_dots_236 0x1002826 /* U+2826 BRAILLE PATTERN DOTS-236 */
+#define XK_braille_dots_1236 0x1002827 /* U+2827 BRAILLE PATTERN DOTS-1236 */
+#define XK_braille_dots_46 0x1002828 /* U+2828 BRAILLE PATTERN DOTS-46 */
+#define XK_braille_dots_146 0x1002829 /* U+2829 BRAILLE PATTERN DOTS-146 */
+#define XK_braille_dots_246 0x100282a /* U+282a BRAILLE PATTERN DOTS-246 */
+#define XK_braille_dots_1246 0x100282b /* U+282b BRAILLE PATTERN DOTS-1246 */
+#define XK_braille_dots_346 0x100282c /* U+282c BRAILLE PATTERN DOTS-346 */
+#define XK_braille_dots_1346 0x100282d /* U+282d BRAILLE PATTERN DOTS-1346 */
+#define XK_braille_dots_2346 0x100282e /* U+282e BRAILLE PATTERN DOTS-2346 */
+#define XK_braille_dots_12346 0x100282f /* U+282f BRAILLE PATTERN DOTS-12346 */
+#define XK_braille_dots_56 0x1002830 /* U+2830 BRAILLE PATTERN DOTS-56 */
+#define XK_braille_dots_156 0x1002831 /* U+2831 BRAILLE PATTERN DOTS-156 */
+#define XK_braille_dots_256 0x1002832 /* U+2832 BRAILLE PATTERN DOTS-256 */
+#define XK_braille_dots_1256 0x1002833 /* U+2833 BRAILLE PATTERN DOTS-1256 */
+#define XK_braille_dots_356 0x1002834 /* U+2834 BRAILLE PATTERN DOTS-356 */
+#define XK_braille_dots_1356 0x1002835 /* U+2835 BRAILLE PATTERN DOTS-1356 */
+#define XK_braille_dots_2356 0x1002836 /* U+2836 BRAILLE PATTERN DOTS-2356 */
+#define XK_braille_dots_12356 0x1002837 /* U+2837 BRAILLE PATTERN DOTS-12356 */
+#define XK_braille_dots_456 0x1002838 /* U+2838 BRAILLE PATTERN DOTS-456 */
+#define XK_braille_dots_1456 0x1002839 /* U+2839 BRAILLE PATTERN DOTS-1456 */
+#define XK_braille_dots_2456 0x100283a /* U+283a BRAILLE PATTERN DOTS-2456 */
+#define XK_braille_dots_12456 0x100283b /* U+283b BRAILLE PATTERN DOTS-12456 */
+#define XK_braille_dots_3456 0x100283c /* U+283c BRAILLE PATTERN DOTS-3456 */
+#define XK_braille_dots_13456 0x100283d /* U+283d BRAILLE PATTERN DOTS-13456 */
+#define XK_braille_dots_23456 0x100283e /* U+283e BRAILLE PATTERN DOTS-23456 */
+#define XK_braille_dots_123456 0x100283f /* U+283f BRAILLE PATTERN DOTS-123456 */
+#define XK_braille_dots_7 0x1002840 /* U+2840 BRAILLE PATTERN DOTS-7 */
+#define XK_braille_dots_17 0x1002841 /* U+2841 BRAILLE PATTERN DOTS-17 */
+#define XK_braille_dots_27 0x1002842 /* U+2842 BRAILLE PATTERN DOTS-27 */
+#define XK_braille_dots_127 0x1002843 /* U+2843 BRAILLE PATTERN DOTS-127 */
+#define XK_braille_dots_37 0x1002844 /* U+2844 BRAILLE PATTERN DOTS-37 */
+#define XK_braille_dots_137 0x1002845 /* U+2845 BRAILLE PATTERN DOTS-137 */
+#define XK_braille_dots_237 0x1002846 /* U+2846 BRAILLE PATTERN DOTS-237 */
+#define XK_braille_dots_1237 0x1002847 /* U+2847 BRAILLE PATTERN DOTS-1237 */
+#define XK_braille_dots_47 0x1002848 /* U+2848 BRAILLE PATTERN DOTS-47 */
+#define XK_braille_dots_147 0x1002849 /* U+2849 BRAILLE PATTERN DOTS-147 */
+#define XK_braille_dots_247 0x100284a /* U+284a BRAILLE PATTERN DOTS-247 */
+#define XK_braille_dots_1247 0x100284b /* U+284b BRAILLE PATTERN DOTS-1247 */
+#define XK_braille_dots_347 0x100284c /* U+284c BRAILLE PATTERN DOTS-347 */
+#define XK_braille_dots_1347 0x100284d /* U+284d BRAILLE PATTERN DOTS-1347 */
+#define XK_braille_dots_2347 0x100284e /* U+284e BRAILLE PATTERN DOTS-2347 */
+#define XK_braille_dots_12347 0x100284f /* U+284f BRAILLE PATTERN DOTS-12347 */
+#define XK_braille_dots_57 0x1002850 /* U+2850 BRAILLE PATTERN DOTS-57 */
+#define XK_braille_dots_157 0x1002851 /* U+2851 BRAILLE PATTERN DOTS-157 */
+#define XK_braille_dots_257 0x1002852 /* U+2852 BRAILLE PATTERN DOTS-257 */
+#define XK_braille_dots_1257 0x1002853 /* U+2853 BRAILLE PATTERN DOTS-1257 */
+#define XK_braille_dots_357 0x1002854 /* U+2854 BRAILLE PATTERN DOTS-357 */
+#define XK_braille_dots_1357 0x1002855 /* U+2855 BRAILLE PATTERN DOTS-1357 */
+#define XK_braille_dots_2357 0x1002856 /* U+2856 BRAILLE PATTERN DOTS-2357 */
+#define XK_braille_dots_12357 0x1002857 /* U+2857 BRAILLE PATTERN DOTS-12357 */
+#define XK_braille_dots_457 0x1002858 /* U+2858 BRAILLE PATTERN DOTS-457 */
+#define XK_braille_dots_1457 0x1002859 /* U+2859 BRAILLE PATTERN DOTS-1457 */
+#define XK_braille_dots_2457 0x100285a /* U+285a BRAILLE PATTERN DOTS-2457 */
+#define XK_braille_dots_12457 0x100285b /* U+285b BRAILLE PATTERN DOTS-12457 */
+#define XK_braille_dots_3457 0x100285c /* U+285c BRAILLE PATTERN DOTS-3457 */
+#define XK_braille_dots_13457 0x100285d /* U+285d BRAILLE PATTERN DOTS-13457 */
+#define XK_braille_dots_23457 0x100285e /* U+285e BRAILLE PATTERN DOTS-23457 */
+#define XK_braille_dots_123457 0x100285f /* U+285f BRAILLE PATTERN DOTS-123457 */
+#define XK_braille_dots_67 0x1002860 /* U+2860 BRAILLE PATTERN DOTS-67 */
+#define XK_braille_dots_167 0x1002861 /* U+2861 BRAILLE PATTERN DOTS-167 */
+#define XK_braille_dots_267 0x1002862 /* U+2862 BRAILLE PATTERN DOTS-267 */
+#define XK_braille_dots_1267 0x1002863 /* U+2863 BRAILLE PATTERN DOTS-1267 */
+#define XK_braille_dots_367 0x1002864 /* U+2864 BRAILLE PATTERN DOTS-367 */
+#define XK_braille_dots_1367 0x1002865 /* U+2865 BRAILLE PATTERN DOTS-1367 */
+#define XK_braille_dots_2367 0x1002866 /* U+2866 BRAILLE PATTERN DOTS-2367 */
+#define XK_braille_dots_12367 0x1002867 /* U+2867 BRAILLE PATTERN DOTS-12367 */
+#define XK_braille_dots_467 0x1002868 /* U+2868 BRAILLE PATTERN DOTS-467 */
+#define XK_braille_dots_1467 0x1002869 /* U+2869 BRAILLE PATTERN DOTS-1467 */
+#define XK_braille_dots_2467 0x100286a /* U+286a BRAILLE PATTERN DOTS-2467 */
+#define XK_braille_dots_12467 0x100286b /* U+286b BRAILLE PATTERN DOTS-12467 */
+#define XK_braille_dots_3467 0x100286c /* U+286c BRAILLE PATTERN DOTS-3467 */
+#define XK_braille_dots_13467 0x100286d /* U+286d BRAILLE PATTERN DOTS-13467 */
+#define XK_braille_dots_23467 0x100286e /* U+286e BRAILLE PATTERN DOTS-23467 */
+#define XK_braille_dots_123467 0x100286f /* U+286f BRAILLE PATTERN DOTS-123467 */
+#define XK_braille_dots_567 0x1002870 /* U+2870 BRAILLE PATTERN DOTS-567 */
+#define XK_braille_dots_1567 0x1002871 /* U+2871 BRAILLE PATTERN DOTS-1567 */
+#define XK_braille_dots_2567 0x1002872 /* U+2872 BRAILLE PATTERN DOTS-2567 */
+#define XK_braille_dots_12567 0x1002873 /* U+2873 BRAILLE PATTERN DOTS-12567 */
+#define XK_braille_dots_3567 0x1002874 /* U+2874 BRAILLE PATTERN DOTS-3567 */
+#define XK_braille_dots_13567 0x1002875 /* U+2875 BRAILLE PATTERN DOTS-13567 */
+#define XK_braille_dots_23567 0x1002876 /* U+2876 BRAILLE PATTERN DOTS-23567 */
+#define XK_braille_dots_123567 0x1002877 /* U+2877 BRAILLE PATTERN DOTS-123567 */
+#define XK_braille_dots_4567 0x1002878 /* U+2878 BRAILLE PATTERN DOTS-4567 */
+#define XK_braille_dots_14567 0x1002879 /* U+2879 BRAILLE PATTERN DOTS-14567 */
+#define XK_braille_dots_24567 0x100287a /* U+287a BRAILLE PATTERN DOTS-24567 */
+#define XK_braille_dots_124567 0x100287b /* U+287b BRAILLE PATTERN DOTS-124567 */
+#define XK_braille_dots_34567 0x100287c /* U+287c BRAILLE PATTERN DOTS-34567 */
+#define XK_braille_dots_134567 0x100287d /* U+287d BRAILLE PATTERN DOTS-134567 */
+#define XK_braille_dots_234567 0x100287e /* U+287e BRAILLE PATTERN DOTS-234567 */
+#define XK_braille_dots_1234567 0x100287f /* U+287f BRAILLE PATTERN DOTS-1234567 */
+#define XK_braille_dots_8 0x1002880 /* U+2880 BRAILLE PATTERN DOTS-8 */
+#define XK_braille_dots_18 0x1002881 /* U+2881 BRAILLE PATTERN DOTS-18 */
+#define XK_braille_dots_28 0x1002882 /* U+2882 BRAILLE PATTERN DOTS-28 */
+#define XK_braille_dots_128 0x1002883 /* U+2883 BRAILLE PATTERN DOTS-128 */
+#define XK_braille_dots_38 0x1002884 /* U+2884 BRAILLE PATTERN DOTS-38 */
+#define XK_braille_dots_138 0x1002885 /* U+2885 BRAILLE PATTERN DOTS-138 */
+#define XK_braille_dots_238 0x1002886 /* U+2886 BRAILLE PATTERN DOTS-238 */
+#define XK_braille_dots_1238 0x1002887 /* U+2887 BRAILLE PATTERN DOTS-1238 */
+#define XK_braille_dots_48 0x1002888 /* U+2888 BRAILLE PATTERN DOTS-48 */
+#define XK_braille_dots_148 0x1002889 /* U+2889 BRAILLE PATTERN DOTS-148 */
+#define XK_braille_dots_248 0x100288a /* U+288a BRAILLE PATTERN DOTS-248 */
+#define XK_braille_dots_1248 0x100288b /* U+288b BRAILLE PATTERN DOTS-1248 */
+#define XK_braille_dots_348 0x100288c /* U+288c BRAILLE PATTERN DOTS-348 */
+#define XK_braille_dots_1348 0x100288d /* U+288d BRAILLE PATTERN DOTS-1348 */
+#define XK_braille_dots_2348 0x100288e /* U+288e BRAILLE PATTERN DOTS-2348 */
+#define XK_braille_dots_12348 0x100288f /* U+288f BRAILLE PATTERN DOTS-12348 */
+#define XK_braille_dots_58 0x1002890 /* U+2890 BRAILLE PATTERN DOTS-58 */
+#define XK_braille_dots_158 0x1002891 /* U+2891 BRAILLE PATTERN DOTS-158 */
+#define XK_braille_dots_258 0x1002892 /* U+2892 BRAILLE PATTERN DOTS-258 */
+#define XK_braille_dots_1258 0x1002893 /* U+2893 BRAILLE PATTERN DOTS-1258 */
+#define XK_braille_dots_358 0x1002894 /* U+2894 BRAILLE PATTERN DOTS-358 */
+#define XK_braille_dots_1358 0x1002895 /* U+2895 BRAILLE PATTERN DOTS-1358 */
+#define XK_braille_dots_2358 0x1002896 /* U+2896 BRAILLE PATTERN DOTS-2358 */
+#define XK_braille_dots_12358 0x1002897 /* U+2897 BRAILLE PATTERN DOTS-12358 */
+#define XK_braille_dots_458 0x1002898 /* U+2898 BRAILLE PATTERN DOTS-458 */
+#define XK_braille_dots_1458 0x1002899 /* U+2899 BRAILLE PATTERN DOTS-1458 */
+#define XK_braille_dots_2458 0x100289a /* U+289a BRAILLE PATTERN DOTS-2458 */
+#define XK_braille_dots_12458 0x100289b /* U+289b BRAILLE PATTERN DOTS-12458 */
+#define XK_braille_dots_3458 0x100289c /* U+289c BRAILLE PATTERN DOTS-3458 */
+#define XK_braille_dots_13458 0x100289d /* U+289d BRAILLE PATTERN DOTS-13458 */
+#define XK_braille_dots_23458 0x100289e /* U+289e BRAILLE PATTERN DOTS-23458 */
+#define XK_braille_dots_123458 0x100289f /* U+289f BRAILLE PATTERN DOTS-123458 */
+#define XK_braille_dots_68 0x10028a0 /* U+28a0 BRAILLE PATTERN DOTS-68 */
+#define XK_braille_dots_168 0x10028a1 /* U+28a1 BRAILLE PATTERN DOTS-168 */
+#define XK_braille_dots_268 0x10028a2 /* U+28a2 BRAILLE PATTERN DOTS-268 */
+#define XK_braille_dots_1268 0x10028a3 /* U+28a3 BRAILLE PATTERN DOTS-1268 */
+#define XK_braille_dots_368 0x10028a4 /* U+28a4 BRAILLE PATTERN DOTS-368 */
+#define XK_braille_dots_1368 0x10028a5 /* U+28a5 BRAILLE PATTERN DOTS-1368 */
+#define XK_braille_dots_2368 0x10028a6 /* U+28a6 BRAILLE PATTERN DOTS-2368 */
+#define XK_braille_dots_12368 0x10028a7 /* U+28a7 BRAILLE PATTERN DOTS-12368 */
+#define XK_braille_dots_468 0x10028a8 /* U+28a8 BRAILLE PATTERN DOTS-468 */
+#define XK_braille_dots_1468 0x10028a9 /* U+28a9 BRAILLE PATTERN DOTS-1468 */
+#define XK_braille_dots_2468 0x10028aa /* U+28aa BRAILLE PATTERN DOTS-2468 */
+#define XK_braille_dots_12468 0x10028ab /* U+28ab BRAILLE PATTERN DOTS-12468 */
+#define XK_braille_dots_3468 0x10028ac /* U+28ac BRAILLE PATTERN DOTS-3468 */
+#define XK_braille_dots_13468 0x10028ad /* U+28ad BRAILLE PATTERN DOTS-13468 */
+#define XK_braille_dots_23468 0x10028ae /* U+28ae BRAILLE PATTERN DOTS-23468 */
+#define XK_braille_dots_123468 0x10028af /* U+28af BRAILLE PATTERN DOTS-123468 */
+#define XK_braille_dots_568 0x10028b0 /* U+28b0 BRAILLE PATTERN DOTS-568 */
+#define XK_braille_dots_1568 0x10028b1 /* U+28b1 BRAILLE PATTERN DOTS-1568 */
+#define XK_braille_dots_2568 0x10028b2 /* U+28b2 BRAILLE PATTERN DOTS-2568 */
+#define XK_braille_dots_12568 0x10028b3 /* U+28b3 BRAILLE PATTERN DOTS-12568 */
+#define XK_braille_dots_3568 0x10028b4 /* U+28b4 BRAILLE PATTERN DOTS-3568 */
+#define XK_braille_dots_13568 0x10028b5 /* U+28b5 BRAILLE PATTERN DOTS-13568 */
+#define XK_braille_dots_23568 0x10028b6 /* U+28b6 BRAILLE PATTERN DOTS-23568 */
+#define XK_braille_dots_123568 0x10028b7 /* U+28b7 BRAILLE PATTERN DOTS-123568 */
+#define XK_braille_dots_4568 0x10028b8 /* U+28b8 BRAILLE PATTERN DOTS-4568 */
+#define XK_braille_dots_14568 0x10028b9 /* U+28b9 BRAILLE PATTERN DOTS-14568 */
+#define XK_braille_dots_24568 0x10028ba /* U+28ba BRAILLE PATTERN DOTS-24568 */
+#define XK_braille_dots_124568 0x10028bb /* U+28bb BRAILLE PATTERN DOTS-124568 */
+#define XK_braille_dots_34568 0x10028bc /* U+28bc BRAILLE PATTERN DOTS-34568 */
+#define XK_braille_dots_134568 0x10028bd /* U+28bd BRAILLE PATTERN DOTS-134568 */
+#define XK_braille_dots_234568 0x10028be /* U+28be BRAILLE PATTERN DOTS-234568 */
+#define XK_braille_dots_1234568 0x10028bf /* U+28bf BRAILLE PATTERN DOTS-1234568 */
+#define XK_braille_dots_78 0x10028c0 /* U+28c0 BRAILLE PATTERN DOTS-78 */
+#define XK_braille_dots_178 0x10028c1 /* U+28c1 BRAILLE PATTERN DOTS-178 */
+#define XK_braille_dots_278 0x10028c2 /* U+28c2 BRAILLE PATTERN DOTS-278 */
+#define XK_braille_dots_1278 0x10028c3 /* U+28c3 BRAILLE PATTERN DOTS-1278 */
+#define XK_braille_dots_378 0x10028c4 /* U+28c4 BRAILLE PATTERN DOTS-378 */
+#define XK_braille_dots_1378 0x10028c5 /* U+28c5 BRAILLE PATTERN DOTS-1378 */
+#define XK_braille_dots_2378 0x10028c6 /* U+28c6 BRAILLE PATTERN DOTS-2378 */
+#define XK_braille_dots_12378 0x10028c7 /* U+28c7 BRAILLE PATTERN DOTS-12378 */
+#define XK_braille_dots_478 0x10028c8 /* U+28c8 BRAILLE PATTERN DOTS-478 */
+#define XK_braille_dots_1478 0x10028c9 /* U+28c9 BRAILLE PATTERN DOTS-1478 */
+#define XK_braille_dots_2478 0x10028ca /* U+28ca BRAILLE PATTERN DOTS-2478 */
+#define XK_braille_dots_12478 0x10028cb /* U+28cb BRAILLE PATTERN DOTS-12478 */
+#define XK_braille_dots_3478 0x10028cc /* U+28cc BRAILLE PATTERN DOTS-3478 */
+#define XK_braille_dots_13478 0x10028cd /* U+28cd BRAILLE PATTERN DOTS-13478 */
+#define XK_braille_dots_23478 0x10028ce /* U+28ce BRAILLE PATTERN DOTS-23478 */
+#define XK_braille_dots_123478 0x10028cf /* U+28cf BRAILLE PATTERN DOTS-123478 */
+#define XK_braille_dots_578 0x10028d0 /* U+28d0 BRAILLE PATTERN DOTS-578 */
+#define XK_braille_dots_1578 0x10028d1 /* U+28d1 BRAILLE PATTERN DOTS-1578 */
+#define XK_braille_dots_2578 0x10028d2 /* U+28d2 BRAILLE PATTERN DOTS-2578 */
+#define XK_braille_dots_12578 0x10028d3 /* U+28d3 BRAILLE PATTERN DOTS-12578 */
+#define XK_braille_dots_3578 0x10028d4 /* U+28d4 BRAILLE PATTERN DOTS-3578 */
+#define XK_braille_dots_13578 0x10028d5 /* U+28d5 BRAILLE PATTERN DOTS-13578 */
+#define XK_braille_dots_23578 0x10028d6 /* U+28d6 BRAILLE PATTERN DOTS-23578 */
+#define XK_braille_dots_123578 0x10028d7 /* U+28d7 BRAILLE PATTERN DOTS-123578 */
+#define XK_braille_dots_4578 0x10028d8 /* U+28d8 BRAILLE PATTERN DOTS-4578 */
+#define XK_braille_dots_14578 0x10028d9 /* U+28d9 BRAILLE PATTERN DOTS-14578 */
+#define XK_braille_dots_24578 0x10028da /* U+28da BRAILLE PATTERN DOTS-24578 */
+#define XK_braille_dots_124578 0x10028db /* U+28db BRAILLE PATTERN DOTS-124578 */
+#define XK_braille_dots_34578 0x10028dc /* U+28dc BRAILLE PATTERN DOTS-34578 */
+#define XK_braille_dots_134578 0x10028dd /* U+28dd BRAILLE PATTERN DOTS-134578 */
+#define XK_braille_dots_234578 0x10028de /* U+28de BRAILLE PATTERN DOTS-234578 */
+#define XK_braille_dots_1234578 0x10028df /* U+28df BRAILLE PATTERN DOTS-1234578 */
+#define XK_braille_dots_678 0x10028e0 /* U+28e0 BRAILLE PATTERN DOTS-678 */
+#define XK_braille_dots_1678 0x10028e1 /* U+28e1 BRAILLE PATTERN DOTS-1678 */
+#define XK_braille_dots_2678 0x10028e2 /* U+28e2 BRAILLE PATTERN DOTS-2678 */
+#define XK_braille_dots_12678 0x10028e3 /* U+28e3 BRAILLE PATTERN DOTS-12678 */
+#define XK_braille_dots_3678 0x10028e4 /* U+28e4 BRAILLE PATTERN DOTS-3678 */
+#define XK_braille_dots_13678 0x10028e5 /* U+28e5 BRAILLE PATTERN DOTS-13678 */
+#define XK_braille_dots_23678 0x10028e6 /* U+28e6 BRAILLE PATTERN DOTS-23678 */
+#define XK_braille_dots_123678 0x10028e7 /* U+28e7 BRAILLE PATTERN DOTS-123678 */
+#define XK_braille_dots_4678 0x10028e8 /* U+28e8 BRAILLE PATTERN DOTS-4678 */
+#define XK_braille_dots_14678 0x10028e9 /* U+28e9 BRAILLE PATTERN DOTS-14678 */
+#define XK_braille_dots_24678 0x10028ea /* U+28ea BRAILLE PATTERN DOTS-24678 */
+#define XK_braille_dots_124678 0x10028eb /* U+28eb BRAILLE PATTERN DOTS-124678 */
+#define XK_braille_dots_34678 0x10028ec /* U+28ec BRAILLE PATTERN DOTS-34678 */
+#define XK_braille_dots_134678 0x10028ed /* U+28ed BRAILLE PATTERN DOTS-134678 */
+#define XK_braille_dots_234678 0x10028ee /* U+28ee BRAILLE PATTERN DOTS-234678 */
+#define XK_braille_dots_1234678 0x10028ef /* U+28ef BRAILLE PATTERN DOTS-1234678 */
+#define XK_braille_dots_5678 0x10028f0 /* U+28f0 BRAILLE PATTERN DOTS-5678 */
+#define XK_braille_dots_15678 0x10028f1 /* U+28f1 BRAILLE PATTERN DOTS-15678 */
+#define XK_braille_dots_25678 0x10028f2 /* U+28f2 BRAILLE PATTERN DOTS-25678 */
+#define XK_braille_dots_125678 0x10028f3 /* U+28f3 BRAILLE PATTERN DOTS-125678 */
+#define XK_braille_dots_35678 0x10028f4 /* U+28f4 BRAILLE PATTERN DOTS-35678 */
+#define XK_braille_dots_135678 0x10028f5 /* U+28f5 BRAILLE PATTERN DOTS-135678 */
+#define XK_braille_dots_235678 0x10028f6 /* U+28f6 BRAILLE PATTERN DOTS-235678 */
+#define XK_braille_dots_1235678 0x10028f7 /* U+28f7 BRAILLE PATTERN DOTS-1235678 */
+#define XK_braille_dots_45678 0x10028f8 /* U+28f8 BRAILLE PATTERN DOTS-45678 */
+#define XK_braille_dots_145678 0x10028f9 /* U+28f9 BRAILLE PATTERN DOTS-145678 */
+#define XK_braille_dots_245678 0x10028fa /* U+28fa BRAILLE PATTERN DOTS-245678 */
+#define XK_braille_dots_1245678 0x10028fb /* U+28fb BRAILLE PATTERN DOTS-1245678 */
+#define XK_braille_dots_345678 0x10028fc /* U+28fc BRAILLE PATTERN DOTS-345678 */
+#define XK_braille_dots_1345678 0x10028fd /* U+28fd BRAILLE PATTERN DOTS-1345678 */
+#define XK_braille_dots_2345678 0x10028fe /* U+28fe BRAILLE PATTERN DOTS-2345678 */
+#define XK_braille_dots_12345678 0x10028ff /* U+28ff BRAILLE PATTERN DOTS-12345678 */
+#endif /* XK_BRAILLE */
diff --git a/x11proto/xproto.pc.in b/x11proto/xproto.pc.in
new file mode 100644
index 0000000..63ae864
--- /dev/null
+++ b/x11proto/xproto.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+includex11dir=@includedir@/X11
+
+Name: Xproto
+Description: Xproto headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xcmiscproto/.gitignore b/xcmiscproto/.gitignore
new file mode 100644
index 0000000..ba72582
--- /dev/null
+++ b/xcmiscproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xcmiscproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xcmiscproto/COPYING b/xcmiscproto/COPYING
new file mode 100644
index 0000000..782a1ec
--- /dev/null
+++ b/xcmiscproto/COPYING
@@ -0,0 +1,21 @@
+Copyright 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
diff --git a/xcmiscproto/Makefile.am b/xcmiscproto/Makefile.am
new file mode 100644
index 0000000..7937ee6
--- /dev/null
+++ b/xcmiscproto/Makefile.am
@@ -0,0 +1,20 @@
+xcmiscdir = $(includedir)/X11/extensions
+xcmisc_HEADERS = \
+ xcmiscproto.h \
+ xcmiscstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xcmiscproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xcmiscproto/README b/xcmiscproto/README
new file mode 100644
index 0000000..12ce76e
--- /dev/null
+++ b/xcmiscproto/README
@@ -0,0 +1,30 @@
+ XC-MISC Extension
+
+This extension defines a protocol that provides Xlib two ways to query
+the server for available resource IDs.
+
+Extension name: XC-MISC
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xcmiscproto
+
+ http://cgit.freedesktop.org/xorg/proto/xcmiscproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xcmiscproto/autogen.sh b/xcmiscproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xcmiscproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xcmiscproto/configure.ac b/xcmiscproto/configure.ac
new file mode 100644
index 0000000..7f355d8
--- /dev/null
+++ b/xcmiscproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XCMiscProto], [1.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xcmiscproto.pc])
diff --git a/xcmiscproto/xcmiscproto.h b/xcmiscproto/xcmiscproto.h
new file mode 100644
index 0000000..482c2dc
--- /dev/null
+++ b/xcmiscproto/xcmiscproto.h
@@ -0,0 +1,110 @@
+/*
+
+Copyright 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XCMISCPROTO_H_
+#define _XCMISCPROTO_H_
+
+#define X_XCMiscGetVersion 0
+#define X_XCMiscGetXIDRange 1
+#define X_XCMiscGetXIDList 2
+
+#define XCMiscNumberEvents 0
+
+#define XCMiscNumberErrors 0
+
+#define XCMiscMajorVersion 1
+#define XCMiscMinorVersion 1
+
+#define XCMiscExtensionName "XC-MISC"
+
+typedef struct {
+ CARD8 reqType; /* always XCMiscCode */
+ CARD8 miscReqType; /* always X_XCMiscGetVersion */
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xXCMiscGetVersionReq;
+#define sz_xXCMiscGetVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXCMiscGetVersionReply;
+#define sz_xXCMiscGetVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always XCMiscCode */
+ CARD8 miscReqType; /* always X_XCMiscGetXIDRange */
+ CARD16 length B16;
+} xXCMiscGetXIDRangeReq;
+#define sz_xXCMiscGetXIDRangeReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 start_id B32;
+ CARD32 count B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xXCMiscGetXIDRangeReply;
+#define sz_xXCMiscGetXIDRangeReply 32
+
+typedef struct {
+ CARD8 reqType; /* always XCMiscCode */
+ CARD8 miscReqType; /* always X_XCMiscGetXIDList */
+ CARD16 length B16;
+ CARD32 count B32; /* number of IDs requested */
+} xXCMiscGetXIDListReq;
+#define sz_xXCMiscGetXIDListReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 count B32; /* number of IDs requested */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXCMiscGetXIDListReply;
+#define sz_xXCMiscGetXIDListReply 32
+
+#endif /* _XCMISCPROTO_H_ */
diff --git a/xcmiscproto/xcmiscproto.pc.in b/xcmiscproto/xcmiscproto.pc.in
new file mode 100644
index 0000000..86b030a
--- /dev/null
+++ b/xcmiscproto/xcmiscproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XCMiscProto
+Description: XCMisc extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xcmiscproto/xcmiscstr.h b/xcmiscproto/xcmiscstr.h
new file mode 100644
index 0000000..c2b6433
--- /dev/null
+++ b/xcmiscproto/xcmiscstr.h
@@ -0,0 +1,3 @@
+#warning "xcmiscstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xcmiscproto.h> for the protocol defines."
+#include <X11/extensions/xcmiscproto.h>
diff --git a/xextproto/.gitignore b/xextproto/.gitignore
new file mode 100644
index 0000000..f03e5bd
--- /dev/null
+++ b/xextproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xextproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xextproto/COPYING b/xextproto/COPYING
new file mode 100644
index 0000000..23135f9
--- /dev/null
+++ b/xextproto/COPYING
@@ -0,0 +1,201 @@
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1992 Network Computing Devices
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of NCD. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. NCD. makes no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+
+NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright (c) 1994, 1995 Hewlett-Packard Company
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the Hewlett-Packard
+Company shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the Hewlett-Packard Company.
+
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+
+Copyright 1988, 1989, 1990, 1994 Network Computing Devices, Inc.
+
+Permission to use, copy, modify, distribute, and sell this software and
+its documentation for any purpose is hereby granted without fee, provided
+that the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name Network Computing Devices, Inc. not be
+used in advertising or publicity pertaining to distribution of this
+software without specific, written prior permission.
+
+THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING DEVICES, INC.,
+DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT
+LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
+COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE,
+DATA, OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
+REGARDLESS OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+
+Copyright © 2007-2008 Peter Hutterer
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice (including the next
+paragraph) shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/xextproto/EVI.h b/xextproto/EVI.h
new file mode 100644
index 0000000..7f3f733
--- /dev/null
+++ b/xextproto/EVI.h
@@ -0,0 +1,36 @@
+/************************************************************
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+********************************************************/
+
+#ifndef _EVI_H_
+#define _EVI_H_
+
+#define XEVI_TRANSPARENCY_NONE 0
+#define XEVI_TRANSPARENCY_PIXEL 1
+#define XEVI_TRANSPARENCY_MASK 2
+
+#define EVINAME "Extended-Visual-Information"
+
+#define XEVI_MAJOR_VERSION 1 /* current version numbers */
+#define XEVI_MINOR_VERSION 0
+
+#endif
diff --git a/xextproto/EVIproto.h b/xextproto/EVIproto.h
new file mode 100644
index 0000000..afa282a
--- /dev/null
+++ b/xextproto/EVIproto.h
@@ -0,0 +1,96 @@
+/************************************************************
+Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+********************************************************/
+
+#ifndef _EVIPROTO_H_
+#define _EVIPROTO_H_
+
+#include <X11/extensions/EVI.h>
+
+#define X_EVIQueryVersion 0
+#define X_EVIGetVisualInfo 1
+
+#define VisualID CARD32
+
+typedef CARD32 VisualID32;
+#define sz_VisualID32 4
+
+typedef struct _xExtendedVisualInfo {
+ VisualID core_visual_id B32;
+ INT8 screen;
+ INT8 level;
+ CARD8 transparency_type;
+ CARD8 pad0;
+ CARD32 transparency_value B32;
+ CARD8 min_hw_colormaps;
+ CARD8 max_hw_colormaps;
+ CARD16 num_colormap_conflicts B16;
+} xExtendedVisualInfo;
+#define sz_xExtendedVisualInfo 16
+
+typedef struct _XEVIQueryVersion {
+ CARD8 reqType; /* always XEVIReqCode */
+ CARD8 xeviReqType; /* always X_EVIQueryVersion */
+ CARD16 length B16;
+} xEVIQueryVersionReq;
+#define sz_xEVIQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of EVI protocol */
+ CARD16 minorVersion B16; /* minor version of EVI protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xEVIQueryVersionReply;
+#define sz_xEVIQueryVersionReply 32
+
+typedef struct _XEVIGetVisualInfoReq {
+ CARD8 reqType; /* always XEVIReqCode */
+ CARD8 xeviReqType; /* always X_EVIGetVisualInfo */
+ CARD16 length B16;
+ CARD32 n_visual B32;
+} xEVIGetVisualInfoReq;
+#define sz_xEVIGetVisualInfoReq 8
+
+typedef struct _XEVIGetVisualInfoReply {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 n_info B32;
+ CARD32 n_conflicts B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xEVIGetVisualInfoReply;
+#define sz_xEVIGetVisualInfoReply 32
+
+#undef VisualID
+
+#endif /* _EVIPROTO_H_ */
diff --git a/xextproto/Makefile.am b/xextproto/Makefile.am
new file mode 100644
index 0000000..8a318f6
--- /dev/null
+++ b/xextproto/Makefile.am
@@ -0,0 +1,60 @@
+xextdir = $(includedir)/X11/extensions
+xext_HEADERS = \
+ dpmsconst.h \
+ dpmsproto.h \
+ ge.h \
+ geproto.h \
+ lbx.h \
+ lbxproto.h \
+ mitmiscconst.h \
+ mitmiscproto.h \
+ multibufconst.h \
+ multibufproto.h \
+ secur.h \
+ securproto.h \
+ shapeconst.h \
+ shapeproto.h \
+ shm.h \
+ shmproto.h \
+ syncconst.h \
+ syncproto.h \
+ ag.h \
+ agproto.h \
+ cup.h \
+ cupproto.h \
+ dbe.h \
+ dbeproto.h \
+ EVI.h \
+ EVIproto.h \
+ xtestext1proto.h \
+ xtestext1const.h \
+ xtestconst.h \
+ xtestproto.h
+
+#
+# These headers allow old servers to be built with
+# new headers
+#
+compatdir = $(xextdir)
+compat_HEADERS = \
+ shapestr.h \
+ shmstr.h \
+ syncstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xextproto.pc
+
+dist_doc_DATA = geproto.txt
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xextproto/README b/xextproto/README
new file mode 100644
index 0000000..bb6fc79
--- /dev/null
+++ b/xextproto/README
@@ -0,0 +1,42 @@
+ X Protocol Extensions
+
+Extension names:
+
+DOUBLE-BUFFER
+DPMS
+Extended-Visual-Information
+Generic Event Extension
+LBX
+MIT-SHM
+MIT-SUNDRY-NONSTANDARD
+Multi-Buffering
+SECURITY
+SHAPE
+SYNC
+TOG-CUP
+XC-APPGROUP
+XTEST
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xextproto
+
+ http://cgit.freedesktop.org/xorg/proto/xextproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xextproto/ag.h b/xextproto/ag.h
new file mode 100644
index 0000000..be5883a
--- /dev/null
+++ b/xextproto/ag.h
@@ -0,0 +1,52 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _AG_H_
+#define _AG_H_
+
+#define XAGNAME "XC-APPGROUP"
+
+#define XAG_MAJOR_VERSION 1 /* current version numbers */
+#define XAG_MINOR_VERSION 0
+
+#define XagWindowTypeX11 0
+#define XagWindowTypeMacintosh 1
+#define XagWindowTypeWin32 2
+#define XagWindowTypeWin16 3
+
+#define XagBadAppGroup 0
+#define XagNumberErrors (XagBadAppGroup + 1)
+
+#define XagNsingleScreen 7
+#define XagNdefaultRoot 1
+#define XagNrootVisual 2
+#define XagNdefaultColormap 3
+#define XagNblackPixel 4
+#define XagNwhitePixel 5
+#define XagNappGroupLeader 6
+
+#endif /* _AG_H_ */
+
diff --git a/xextproto/agproto.h b/xextproto/agproto.h
new file mode 100644
index 0000000..1086661
--- /dev/null
+++ b/xextproto/agproto.h
@@ -0,0 +1,178 @@
+/*
+Copyright 1996, 1998, 2001 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _AGPROTO_H_ /* { */
+#define _AGPROTO_H_
+
+#include <X11/extensions/ag.h>
+
+#define X_XagQueryVersion 0
+#define X_XagCreate 1
+#define X_XagDestroy 2
+#define X_XagGetAttr 3
+#define X_XagQuery 4
+#define X_XagCreateAssoc 5
+#define X_XagDestroyAssoc 6
+
+#define XAppGroup CARD32
+
+/*
+* Redefine some basic types used by structures defined herein. This allows
+* both the library and server to view communicated data as 32-bit entities,
+* thus preventing problems on 64-bit architectures where libXext sees this
+* data as 64 bits and the server sees it as 32 bits.
+*/
+
+#define Colormap CARD32
+#define VisualID CARD32
+#define Window CARD32
+
+typedef struct _XagQueryVersion {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagQueryVersion */
+ CARD16 length B16;
+ CARD16 client_major_version B16;
+ CARD16 client_minor_version B16;
+} xXagQueryVersionReq;
+#define sz_xXagQueryVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD16 server_major_version B16;
+ CARD16 server_minor_version B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXagQueryVersionReply;
+#define sz_xXagQueryVersionReply 32
+
+/* Set AppGroup Attributes masks */
+#define XagSingleScreenMask 1 << 0
+#define XagDefaultRootMask 1 << XagNdefaultRoot
+#define XagRootVisualMask 1 << XagNrootVisual
+#define XagDefaultColormapMask 1 << XagNdefaultColormap
+#define XagBlackPixelMask 1 << XagNblackPixel
+#define XagWhitePixelMask 1 << XagNwhitePixel
+#define XagAppGroupLeaderMask 1 << XagNappGroupLeader
+
+typedef struct _XagCreate {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagCreate */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+ CARD32 attrib_mask B32; /* LISTofVALUE follows */
+} xXagCreateReq;
+#define sz_xXagCreateReq 12
+
+typedef struct _XagDestroy {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagDestroy */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+} xXagDestroyReq;
+#define sz_xXagDestroyReq 8
+
+typedef struct _XagGetAttr {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagGetAttr */
+ CARD16 length B16;
+ XAppGroup app_group B32;
+} xXagGetAttrReq;
+#define sz_xXagGetAttrReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ Window default_root B32;
+ VisualID root_visual B32;
+ Colormap default_colormap B32;
+ CARD32 black_pixel B32;
+ CARD32 white_pixel B32;
+ BOOL single_screen;
+ BOOL app_group_leader;
+ CARD16 pad2 B16;
+} xXagGetAttrReply;
+#define sz_xXagGetAttrReply 32
+
+typedef struct _XagQuery {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagQuery */
+ CARD16 length B16;
+ CARD32 resource B32;
+} xXagQueryReq;
+#define sz_xXagQueryReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ XAppGroup app_group B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXagQueryReply;
+#define sz_xXagQueryReply 32
+
+typedef struct _XagCreateAssoc {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagCreateAssoc */
+ CARD16 length B16;
+ Window window B32;
+ CARD16 window_type B16;
+ CARD16 system_window_len B16; /* LISTofCARD8 follows */
+} xXagCreateAssocReq;
+#define sz_xXagCreateAssocReq 12
+
+typedef struct _XagDestroyAssoc {
+ CARD8 reqType; /* always XagReqCode */
+ CARD8 xagReqType; /* always X_XagDestroyAssoc */
+ CARD16 length B16;
+ Window window B32;
+} xXagDestroyAssocReq;
+#define sz_xXagDestroyAssocReq 8
+
+#undef XAppGroup
+/*
+ * Cancel the previous redefinition of the basic types, thus restoring their
+ * X.h definitions.
+ */
+
+#undef Window
+#undef Colormap
+#undef VisualID
+
+#endif /* } _AGPROTO_H_ */
+
diff --git a/xextproto/autogen.sh b/xextproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xextproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xextproto/configure.ac b/xextproto/configure.ac
new file mode 100644
index 0000000..4040f13
--- /dev/null
+++ b/xextproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XExtProto], [7.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xextproto.pc])
diff --git a/xextproto/cup.h b/xextproto/cup.h
new file mode 100644
index 0000000..cbbc34b
--- /dev/null
+++ b/xextproto/cup.h
@@ -0,0 +1,38 @@
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _CUP_H_
+#define _CUP_H_
+
+#define XCUPNAME "TOG-CUP"
+
+#define XCUP_MAJOR_VERSION 1 /* current version numbers */
+#define XCUP_MINOR_VERSION 0
+
+#define XcupNumberErrors 0
+
+#endif /* _CUP_H_ */
+
diff --git a/xextproto/cupproto.h b/xextproto/cupproto.h
new file mode 100644
index 0000000..f61c9f0
--- /dev/null
+++ b/xextproto/cupproto.h
@@ -0,0 +1,105 @@
+/*
+
+Copyright 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XCUPPROTO_H_ /* { */
+#define _XCUPPROTO_H_
+
+#include <X11/extensions/cup.h>
+
+#define X_XcupQueryVersion 0
+#define X_XcupGetReservedColormapEntries 1
+#define X_XcupStoreColors 2
+
+typedef struct _XcupQueryVersion {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupQueryVersion */
+ CARD16 length B16;
+ CARD16 client_major_version B16;
+ CARD16 client_minor_version B16;
+} xXcupQueryVersionReq;
+#define sz_xXcupQueryVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD16 server_major_version B16;
+ CARD16 server_minor_version B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXcupQueryVersionReply;
+#define sz_xXcupQueryVersionReply 32
+
+typedef struct _XcupGetReservedColormapEntries {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupGetReservedColormapEntries */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXcupGetReservedColormapEntriesReq;
+#define sz_xXcupGetReservedColormapEntriesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXcupGetReservedColormapEntriesReply;
+#define sz_xXcupGetReservedColormapEntriesReply 32
+
+typedef struct _XcupStoreColors {
+ CARD8 reqType; /* always XcupReqCode */
+ CARD8 xcupReqType; /* always X_XcupStoreColors */
+ CARD16 length B16;
+ CARD32 cmap B32;
+} xXcupStoreColorsReq;
+#define sz_xXcupStoreColorsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequence_number B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXcupStoreColorsReply;
+#define sz_xXcupStoreColorsReply 32
+
+#endif /* } _XCUPPROTO_H_ */
+
diff --git a/xextproto/dbe.h b/xextproto/dbe.h
new file mode 100644
index 0000000..7968552
--- /dev/null
+++ b/xextproto/dbe.h
@@ -0,0 +1,57 @@
+/******************************************************************************
+ *
+ * Copyright (c) 1994, 1995 Hewlett-Packard Company
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Hewlett-Packard
+ * Company shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the Hewlett-Packard Company.
+ *
+ * Header file for Xlib-related DBE
+ *
+ *****************************************************************************/
+
+#ifndef DBE_H
+#define DBE_H
+
+/* Values for swap_action field of XdbeSwapInfo structure */
+#define XdbeUndefined 0
+#define XdbeBackground 1
+#define XdbeUntouched 2
+#define XdbeCopied 3
+
+/* Errors */
+#define XdbeBadBuffer 0
+
+#define DBE_PROTOCOL_NAME "DOUBLE-BUFFER"
+
+/* Current version numbers */
+#define DBE_MAJOR_VERSION 1
+#define DBE_MINOR_VERSION 0
+
+/* Used when adding extension; also used in Xdbe macros */
+#define DbeNumberEvents 0
+#define DbeBadBuffer 0
+#define DbeNumberErrors (DbeBadBuffer + 1)
+
+#endif /* DBE_H */
+
diff --git a/xextproto/dbeproto.h b/xextproto/dbeproto.h
new file mode 100644
index 0000000..784926e
--- /dev/null
+++ b/xextproto/dbeproto.h
@@ -0,0 +1,224 @@
+/******************************************************************************
+ *
+ * Copyright (c) 1994, 1995 Hewlett-Packard Company
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name of the Hewlett-Packard
+ * Company shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization from the Hewlett-Packard Company.
+ *
+ * Header file for Xlib-related DBE
+ *
+ *****************************************************************************/
+
+#ifndef DBE_PROTO_H
+#define DBE_PROTO_H
+
+#include <X11/extensions/dbe.h>
+
+/* Request values used in (S)ProcDbeDispatch() */
+#define X_DbeGetVersion 0
+#define X_DbeAllocateBackBufferName 1
+#define X_DbeDeallocateBackBufferName 2
+#define X_DbeSwapBuffers 3
+#define X_DbeBeginIdiom 4
+#define X_DbeEndIdiom 5
+#define X_DbeGetVisualInfo 6
+#define X_DbeGetBackBufferAttributes 7
+
+typedef CARD8 xDbeSwapAction;
+typedef CARD32 xDbeBackBuffer;
+
+/* TYPEDEFS */
+
+/* Protocol data types */
+
+typedef struct
+{
+ CARD32 window B32; /* window */
+ xDbeSwapAction swapAction; /* swap action */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16;
+
+} xDbeSwapInfo;
+
+typedef struct
+{
+ CARD32 visualID B32; /* associated visual */
+ CARD8 depth; /* depth of visual */
+ CARD8 perfLevel; /* performance level hint */
+ CARD16 pad1 B16;
+
+} xDbeVisInfo;
+#define sz_xDbeVisInfo 8
+
+typedef struct
+{
+ CARD32 n B32; /* number of visual info items in list */
+
+} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */
+
+typedef struct
+{
+ CARD32 window B32; /* window */
+
+} xDbeBufferAttributes;
+
+
+/* Requests and replies */
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */
+ CARD16 length B16; /* request length: (2) */
+ CARD8 majorVersion; /* client-major-version */
+ CARD8 minorVersion; /* client-minor-version */
+ CARD16 unused B16; /* unused */
+
+} xDbeGetVersionReq;
+#define sz_xDbeGetVersionReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length: (0) */
+ CARD8 majorVersion; /* server-major-version */
+ CARD8 minorVersion; /* server-minor-version */
+ CARD16 pad1 B16; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+
+} xDbeGetVersionReply;
+#define sz_xDbeGetVersionReply 32
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */
+ CARD16 length B16; /* request length: (4) */
+ CARD32 window B32; /* window */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+ xDbeSwapAction swapAction; /* swap action hint */
+ CARD8 pad1; /* unused */
+ CARD16 pad2 B16;
+
+} xDbeAllocateBackBufferNameReq;
+#define sz_xDbeAllocateBackBufferNameReq 16
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */
+ CARD16 length B16; /* request length: (2) */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+
+} xDbeDeallocateBackBufferNameReq;
+#define sz_xDbeDeallocateBackBufferNameReq 8
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */
+ CARD16 length B16; /* request length: (2+2n) */
+ CARD32 n B32; /* n, number of window/swap action pairs */
+
+} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */
+#define sz_xDbeSwapBuffersReq 8
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */
+ CARD16 length B16; /* request length: (1) */
+
+} xDbeBeginIdiomReq;
+#define sz_xDbeBeginIdiomReq 4
+
+typedef struct
+{
+ CARD8 reqType; /* major-opcode: always codes->major_opcode */
+ CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */
+ CARD16 length B16; /* request length: (1) */
+
+} xDbeEndIdiomReq;
+#define sz_xDbeEndIdiomReq 4
+
+typedef struct
+{
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */
+ CARD16 length B16; /* request length: (2+n) */
+ CARD32 n B32; /* n, number of drawables in list */
+
+} xDbeGetVisualInfoReq; /* followed by n drawables */
+#define sz_xDbeGetVisualInfoReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length */
+ CARD32 m; /* m, number of visual infos in list */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+} xDbeGetVisualInfoReply; /* followed by m visual infos */
+#define sz_xDbeGetVisualInfoReply 32
+
+typedef struct
+{
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */
+ CARD16 length B16; /* request length: (2) */
+ xDbeBackBuffer buffer B32; /* back buffer name */
+
+} xDbeGetBackBufferAttributesReq;
+#define sz_xDbeGetBackBufferAttributesReq 8
+
+typedef struct
+{
+ BYTE type; /* Reply: X_Reply (1) */
+ CARD8 unused; /* unused */
+ CARD16 sequenceNumber B16; /* sequence number */
+ CARD32 length B32; /* reply length: (0) */
+ CARD32 attributes; /* attributes */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+
+} xDbeGetBackBufferAttributesReply;
+#define sz_xDbeGetBackBufferAttributesReply 32
+
+#endif /* DBE_PROTO_H */
+
diff --git a/xextproto/dpmsconst.h b/xextproto/dpmsconst.h
new file mode 100644
index 0000000..75f0586
--- /dev/null
+++ b/xextproto/dpmsconst.h
@@ -0,0 +1,43 @@
+/*****************************************************************
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+#ifndef _DPMSCONST_H
+#define _DPMSCONST_H 1
+
+#define DPMSMajorVersion 1
+#define DPMSMinorVersion 1
+
+#define DPMSExtensionName "DPMS"
+
+#define DPMSModeOn 0
+#define DPMSModeStandby 1
+#define DPMSModeSuspend 2
+#define DPMSModeOff 3
+
+#endif /* !_DPMSCONST_H */
+
diff --git a/xextproto/dpmsproto.h b/xextproto/dpmsproto.h
new file mode 100644
index 0000000..63fd3fc
--- /dev/null
+++ b/xextproto/dpmsproto.h
@@ -0,0 +1,175 @@
+/*****************************************************************
+
+Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Digital Equipment Corporation
+shall not be used in advertising or otherwise to promote the sale, use or other
+dealings in this Software without prior written authorization from Digital
+Equipment Corporation.
+
+******************************************************************/
+
+#ifndef _DPMSPROTO_H_
+#define _DPMSPROTO_H_
+
+#include <X11/extensions/dpmsconst.h>
+
+#define X_DPMSGetVersion 0
+#define X_DPMSCapable 1
+#define X_DPMSGetTimeouts 2
+#define X_DPMSSetTimeouts 3
+#define X_DPMSEnable 4
+#define X_DPMSDisable 5
+#define X_DPMSForceLevel 6
+#define X_DPMSInfo 7
+
+#define DPMSNumberEvents 0
+
+#define DPMSNumberErrors 0
+
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSGetVersion */
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xDPMSGetVersionReq;
+#define sz_xDPMSGetVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDPMSGetVersionReply;
+#define sz_xDPMSGetVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSCapable */
+ CARD16 length B16;
+} xDPMSCapableReq;
+#define sz_xDPMSCapableReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL capable;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xDPMSCapableReply;
+#define sz_xDPMSCapableReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSGetTimeouts */
+ CARD16 length B16;
+} xDPMSGetTimeoutsReq;
+#define sz_xDPMSGetTimeoutsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 standby B16;
+ CARD16 suspend B16;
+ CARD16 off B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xDPMSGetTimeoutsReply;
+#define sz_xDPMSGetTimeoutsReply 32
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSSetTimeouts */
+ CARD16 length B16;
+ CARD16 standby B16;
+ CARD16 suspend B16;
+ CARD16 off B16;
+ CARD16 pad0 B16;
+} xDPMSSetTimeoutsReq;
+#define sz_xDPMSSetTimeoutsReq 12
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSEnable */
+ CARD16 length B16;
+} xDPMSEnableReq;
+#define sz_xDPMSEnableReq 4
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSDisable */
+ CARD16 length B16;
+} xDPMSDisableReq;
+#define sz_xDPMSDisableReq 4
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSForceLevel */
+ CARD16 length B16;
+ CARD16 level B16; /* power level requested */
+ CARD16 pad0 B16;
+} xDPMSForceLevelReq;
+#define sz_xDPMSForceLevelReq 8
+
+typedef struct {
+ CARD8 reqType; /* always DPMSCode */
+ CARD8 dpmsReqType; /* always X_DPMSInfo */
+ CARD16 length B16;
+} xDPMSInfoReq;
+#define sz_xDPMSInfoReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 power_level B16;
+ BOOL state;
+ CARD8 pad1;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xDPMSInfoReply;
+#define sz_xDPMSInfoReply 32
+
+#endif /* _DPMSPROTO_H_ */
diff --git a/xextproto/ge.h b/xextproto/ge.h
new file mode 100644
index 0000000..6521698
--- /dev/null
+++ b/xextproto/ge.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright © 2007-2008 Peter Hutterer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Peter Hutterer, University of South Australia, NICTA
+ *
+ */
+
+#ifndef _GE_H_
+#define _GE_H_
+
+#define GE_NAME "Generic Event Extension"
+#define GE_MAJOR 1
+#define GE_MINOR 0
+
+/*********************************************************
+ *
+ * Requests
+ *
+ */
+
+#define X_GEQueryVersion 0
+
+#define GENumberRequests (X_GEQueryVersion + 1)
+
+/*********************************************************
+ *
+ * Events
+ *
+ */
+
+#define X_GenericEvent 0
+
+#define GENumberEvents (X_GenericEvent + 1)
+
+/*********************************************************
+ *
+ * Errors
+ *
+ */
+
+#define GENumberErrors 0
+
+#endif /* _GE_H_ */
diff --git a/xextproto/geproto.h b/xextproto/geproto.h
new file mode 100644
index 0000000..c8860dd
--- /dev/null
+++ b/xextproto/geproto.h
@@ -0,0 +1,85 @@
+/*
+ * Copyright © 2007-2008 Peter Hutterer
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Authors: Peter Hutterer, University of South Australia, NICTA
+ *
+ */
+
+#ifndef _GEPROTO_H_
+#define _GEPROTO_H_
+
+#include<X11/Xproto.h>
+#include<X11/X.h>
+#include<X11/extensions/ge.h>
+
+
+/*********************************************************
+ *
+ * Protocol request constants
+ *
+ */
+
+#define X_GEGetExtensionVersion 1
+
+/*********************************************************
+ *
+ * XGE protocol requests/replies
+ *
+ */
+
+/* generic request */
+typedef struct {
+ CARD8 reqType;
+ CARD8 ReqType;
+ CARD16 length B16;
+} xGEReq;
+
+
+/* QueryVersion */
+typedef struct {
+ CARD8 reqType; /* input extension major code */
+ CARD8 ReqType; /* always X_GEQueryVersion */
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xGEQueryVersionReq;
+
+#define sz_xGEQueryVersionReq 8
+
+typedef struct {
+ CARD8 repType; /* X_Reply */
+ CARD8 RepType; /* always X_GEQueryVersion */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad00 B32;
+ CARD32 pad01 B32;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+} xGEQueryVersionReply;
+
+#define sz_xGEQueryVersionReply 32
+
+#endif /* _GEPROTO_H_ */
+
diff --git a/xextproto/geproto.txt b/xextproto/geproto.txt
new file mode 100644
index 0000000..654cd0f
--- /dev/null
+++ b/xextproto/geproto.txt
@@ -0,0 +1,83 @@
+ X Generic Event Extension
+ Peter Hutterer
+ peter.hutterer@who-t.net
+
+
+1. Introduction
+2. Extension Initialization
+3. Extension Events
+4. Notes
+
+_____________________________________________________________________________
+1. Introduction
+
+X was designed to provide 64 event opcodes for all extensions. These events
+are limited to 32 bytes.
+
+The Generic Event Extension provides a template event for extensions to re-use
+a single event opcode. GE only provide headers and the most basic
+functionality, leaving the extensions to interpret the events in their
+specific context.
+
+GenericEvents may be longer than 32 bytes. If so, the number of 4 byte units
+following the initial 32 bytes must be specified in the length field of the
+event.
+_____________________________________________________________________________
+2. Extension Initialization
+
+The name of this extension is "Generic Event Extension"
+
+┌───
+ GEQueryVersion
+ client-major-version: CARD16
+ client-minor-version: CARD16
+ ▶
+ major-version: CARD16
+ minor-version: CARD16
+└───
+
+ The client sends the highest supported version to the server
+ and the server sends the highest version it supports, but no
+ higher than the requested version. Major versions changes can
+ introduce incompatibilities in existing functionality, minor
+ version changes introduce only backward compatible changes.
+ It is the clients responsibility to ensure that the server
+ supports a version which is compatible with its expectations.
+
+
+ As of version 1.0, no other requests are provided by this extension.
+_____________________________________________________________________________
+3. Extension Events
+
+GE defines a single event, to be used by all extensions. The event's structure
+is similar to a reply.
+
+┌───
+ GenericEvent
+ type: BYTE; always GenericEvent
+ extension: CARD8; extension offset
+ sequenceNumber: CARD16 low 16 bits of request seq. number
+ length: CARD32 length
+ evtype: CARD16 event type
+└───
+
+ The field 'extension' is to be set to the major opcode of the
+ extension. The 'evtype' field is the actual opcode of the event.
+ The length field specifies the number of 4-byte blocks after the
+ initial 32 bytes. If length is 0, the event is 32 bytes long.
+_____________________________________________________________________________
+4. Notes
+
+Although the wire event is of arbitrary length, the actual size of an XEvent
+is restricted to sizeof(XEvent) [96 bytes, see Xlib.h]. If an extension
+converts a wire event to an XEvent > 96 bytes, it will overwrite the space
+allocated for the event. See struct _XSQEvent in Xlibint.h for details.
+
+Extensions need to malloc additional data and fill the XEvent structure with
+pointers to the malloc'd data. The client then needs to free the data, only
+the XEvent structure will be released by Xlib.
+
+The server must not send GenericEvents longer than 32 bytes until it has
+verified that the client is able to interpret these events. If a long event is
+sent to a client unable to process GenericEvents, future interpretation of
+replies and events by this client will fail.
diff --git a/xextproto/lbx.h b/xextproto/lbx.h
new file mode 100644
index 0000000..ecd24ff
--- /dev/null
+++ b/xextproto/lbx.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright 1992 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of NCD. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. NCD. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _LBX_H_
+#define _LBX_H_
+
+#define LBXNAME "LBX"
+
+#define LBX_MAJOR_VERSION 1
+#define LBX_MINOR_VERSION 0
+
+#define LbxNumberReqs 44
+#define LbxEvent 0
+#define LbxQuickMotionDeltaEvent 1
+#define LbxNumberEvents 2
+
+/* This is always the master client */
+#define LbxMasterClientIndex 0
+
+/* LbxEvent lbxType sub-fields */
+#define LbxSwitchEvent 0
+#define LbxCloseEvent 1
+#define LbxDeltaEvent 2
+#define LbxInvalidateTagEvent 3
+#define LbxSendTagDataEvent 4
+#define LbxListenToOne 5
+#define LbxListenToAll 6
+#define LbxMotionDeltaEvent 7
+#define LbxReleaseCmapEvent 8
+#define LbxFreeCellsEvent 9
+
+/*
+ * Lbx image compression methods
+ *
+ * No compression is always assigned the value of 0.
+ *
+ * The rest of the compression method opcodes are assigned dynamically
+ * at option negotiation time.
+ */
+
+#define LbxImageCompressNone 0
+
+
+#define BadLbxClient 0
+#define LbxNumberErrors (BadLbxClient + 1)
+
+/* tagged data types */
+#define LbxTagTypeModmap 1
+#define LbxTagTypeKeymap 2
+#define LbxTagTypeProperty 3
+#define LbxTagTypeFont 4
+#define LbxTagTypeConnInfo 5
+
+#endif
diff --git a/xextproto/lbxproto.h b/xextproto/lbxproto.h
new file mode 100644
index 0000000..a1ae62b
--- /dev/null
+++ b/xextproto/lbxproto.h
@@ -0,0 +1,975 @@
+/*
+ * Copyright 1992 Network Computing Devices
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of NCD. not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission. NCD. makes no representations about the
+ * suitability of this software for any purpose. It is provided "as is"
+ * without express or implied warranty.
+ *
+ * NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
+ * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef _LBXPROTO_H_
+#define _LBXPROTO_H_
+
+#include <X11/extensions/lbx.h>
+/*
+ * NOTE: any changes or additions to the opcodes needs to be reflected
+ * in the lbxCacheable array in Xserver/lbx/lbxmain.c
+ */
+
+#define X_LbxQueryVersion 0
+#define X_LbxStartProxy 1
+#define X_LbxStopProxy 2
+#define X_LbxSwitch 3
+#define X_LbxNewClient 4
+#define X_LbxCloseClient 5
+#define X_LbxModifySequence 6
+#define X_LbxAllowMotion 7
+#define X_LbxIncrementPixel 8
+#define X_LbxDelta 9
+#define X_LbxGetModifierMapping 10
+#define X_LbxInvalidateTag 12
+#define X_LbxPolyPoint 13
+#define X_LbxPolyLine 14
+#define X_LbxPolySegment 15
+#define X_LbxPolyRectangle 16
+#define X_LbxPolyArc 17
+#define X_LbxFillPoly 18
+#define X_LbxPolyFillRectangle 19
+#define X_LbxPolyFillArc 20
+#define X_LbxGetKeyboardMapping 21
+#define X_LbxQueryFont 22
+#define X_LbxChangeProperty 23
+#define X_LbxGetProperty 24
+#define X_LbxTagData 25
+
+#define X_LbxCopyArea 26
+#define X_LbxCopyPlane 27
+#define X_LbxPolyText8 28
+#define X_LbxPolyText16 29
+#define X_LbxImageText8 30
+#define X_LbxImageText16 31
+
+#define X_LbxQueryExtension 32
+#define X_LbxPutImage 33
+#define X_LbxGetImage 34
+
+#define X_LbxBeginLargeRequest 35
+#define X_LbxLargeRequestData 36
+#define X_LbxEndLargeRequest 37
+
+#define X_LbxInternAtoms 38
+#define X_LbxGetWinAttrAndGeom 39
+
+#define X_LbxGrabCmap 40
+#define X_LbxReleaseCmap 41
+#define X_LbxAllocColor 42
+
+#define X_LbxSync 43
+
+/*
+ * Redefine some basic types used by structures defined herein. This removes
+ * any possibility on 64-bit architectures of one entity viewing communicated
+ * data as 32-bit quantities and another entity viewing the same data as 64-bit
+ * quantities.
+ */
+#define XID CARD32
+#define Atom CARD32
+#define Colormap CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define Window CARD32
+
+typedef struct {
+ BOOL success; /* TRUE */
+ BOOL changeType;
+ CARD16 majorVersion B16,
+ minorVersion B16;
+ CARD16 length B16; /* 1/4 additional bytes in setup info */
+ CARD32 tag B32;
+} xLbxConnSetupPrefix;
+
+typedef struct _LbxQueryVersion {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryVersion */
+ CARD16 length B16;
+} xLbxQueryVersionReq;
+#define sz_xLbxQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of LBX protocol */
+ CARD16 minorVersion B16; /* minor version of LBX protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxQueryVersionReply;
+#define sz_xLbxQueryVersionReply 32
+
+typedef struct _LbxStartProxy {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxStartProxy */
+ CARD16 length B16;
+} xLbxStartProxyReq;
+#define sz_xLbxStartProxyReq 4
+
+typedef struct _LbxStopProxy {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxStopProxy */
+ CARD16 length B16;
+} xLbxStopProxyReq;
+#define sz_xLbxStopProxyReq 4
+
+typedef struct _LbxSwitch {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxSwitch */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxSwitchReq;
+#define sz_xLbxSwitchReq 8
+
+typedef struct _LbxNewClient {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxNewClient */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxNewClientReq;
+#define sz_xLbxNewClientReq 8
+
+typedef struct _LbxCloseClient {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxCloseClient */
+ CARD16 length B16;
+ CARD32 client B32; /* new client */
+} xLbxCloseClientReq;
+#define sz_xLbxCloseClientReq 8
+
+typedef struct _LbxModifySequence {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxModifySequence */
+ CARD16 length B16;
+ CARD32 adjust B32;
+} xLbxModifySequenceReq;
+#define sz_xLbxModifySequenceReq 8
+
+typedef struct _LbxAllowMotion {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxAllowMotion */
+ CARD16 length B16;
+ CARD32 num B32;
+} xLbxAllowMotionReq;
+#define sz_xLbxAllowMotionReq 8
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGrabCmap */
+ CARD16 length B16;
+ Colormap cmap B32;
+} xLbxGrabCmapReq;
+#define sz_xLbxGrabCmapReq 8
+
+#define LBX_SMART_GRAB 0x80
+#define LBX_AUTO_RELEASE 0x40
+#define LBX_3CHANNELS 0x20
+#define LBX_2BYTE_PIXELS 0x10
+#define LBX_RGB_BITS_MASK 0x0f
+
+#define LBX_LIST_END 0
+#define LBX_PIXEL_PRIVATE 1
+#define LBX_PIXEL_SHARED 2
+#define LBX_PIXEL_RANGE_PRIVATE 3
+#define LBX_PIXEL_RANGE_SHARED 4
+#define LBX_NEXT_CHANNEL 5
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 flags;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B16;
+} xLbxGrabCmapReply;
+#define sz_xLbxGrabCmapReply 32
+#define sz_xLbxGrabCmapReplyHdr 8
+
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxReleaseCmap */
+ CARD16 length B16;
+ Colormap cmap B32;
+} xLbxReleaseCmapReq;
+#define sz_xLbxReleaseCmapReq 8
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxAllocColor */
+ CARD16 length B16;
+ Colormap cmap B32;
+ CARD32 pixel B32;
+ CARD16 red B16, green B16, blue B16;
+ CARD16 pad B16;
+} xLbxAllocColorReq;
+#define sz_xLbxAllocColorReq 20
+
+typedef struct _LbxIncrementPixel {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxIncrementPixel */
+ CARD16 length B16;
+ CARD32 cmap B32;
+ CARD32 pixel B32;
+} xLbxIncrementPixelReq;
+#define sz_xLbxIncrementPixelReq 12
+
+typedef struct _LbxDelta {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxDelta */
+ CARD16 length B16;
+ CARD8 diffs; /* number of diffs */
+ CARD8 cindex; /* cache index */
+ /* list of diffs follows */
+} xLbxDeltaReq;
+#define sz_xLbxDeltaReq 6
+
+typedef struct _LbxGetModifierMapping {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetModifierMapping */
+ CARD16 length B16;
+} xLbxGetModifierMappingReq;
+#define sz_xLbxGetModifierMappingReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 keyspermod;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxGetModifierMappingReply;
+#define sz_xLbxGetModifierMappingReply 32
+
+typedef struct _LbxGetKeyboardMapping {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetKeyboardMapping */
+ CARD16 length B16;
+ KeyCode firstKeyCode;
+ CARD8 count;
+ CARD16 pad1 B16;
+} xLbxGetKeyboardMappingReq;
+#define sz_xLbxGetKeyboardMappingReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 keysperkeycode;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxGetKeyboardMappingReply;
+#define sz_xLbxGetKeyboardMappingReply 32
+
+typedef struct _LbxQueryFont {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryFont */
+ CARD16 length B16;
+ CARD32 fid B32;
+} xLbxQueryFontReq;
+#define sz_xLbxQueryFontReq 8
+
+typedef struct _LbxInternAtoms {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxInternAtoms */
+ CARD16 length B16;
+ CARD16 num B16;
+} xLbxInternAtomsReq;
+#define sz_xLbxInternAtomsReq 6
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 atomsStart B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxInternAtomsReply;
+#define sz_xLbxInternAtomsReply 32
+#define sz_xLbxInternAtomsReplyHdr 8
+
+
+typedef struct _LbxGetWinAttrAndGeom {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetWinAttrAndGeom */
+ CARD16 length B16;
+ CARD32 id B32; /* window id */
+} xLbxGetWinAttrAndGeomReq;
+#define sz_xLbxGetWinAttrAndGeomReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 backingStore;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* NOT 0; this is an extra-large reply */
+ VisualID visualID B32;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ CARD8 bitGravity;
+ CARD8 winGravity;
+ CARD32 backingBitPlanes B32;
+ CARD32 backingPixel B32;
+ BOOL saveUnder;
+ BOOL mapInstalled;
+ CARD8 mapState;
+ BOOL override;
+ Colormap colormap B32;
+ CARD32 allEventMasks B32;
+ CARD32 yourEventMask B32;
+ CARD16 doNotPropagateMask B16;
+ CARD16 pad1 B16;
+ Window root B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD16 borderWidth B16;
+ CARD8 depth;
+ CARD8 pad2;
+} xLbxGetWinAttrAndGeomReply;
+#define sz_xLbxGetWinAttrAndGeomReply 60
+
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxSync */
+ CARD16 length B16;
+} xLbxSyncReq;
+#define sz_xLbxSyncReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxSyncReply;
+#define sz_xLbxSyncReply 32
+
+
+/* an LBX squished charinfo packs the data in a CARD32 as follows */
+#define LBX_WIDTH_SHIFT 26
+#define LBX_LEFT_SHIFT 20
+#define LBX_RIGHT_SHIFT 13
+#define LBX_ASCENT_SHIFT 7
+#define LBX_DESCENT_SHIFT 0
+
+#define LBX_WIDTH_BITS 6
+#define LBX_LEFT_BITS 6
+#define LBX_RIGHT_BITS 7
+#define LBX_ASCENT_BITS 6
+#define LBX_DESCENT_BITS 7
+
+#define LBX_WIDTH_MASK 0xfc000000
+#define LBX_LEFT_MASK 0x03f00000
+#define LBX_RIGHT_MASK 0x000fe000
+#define LBX_ASCENT_MASK 0x00001f80
+#define LBX_DESCENT_MASK 0x0000007f
+
+#define LBX_MASK_BITS(val, n) ((unsigned int) ((val) & ((1 << (n)) - 1)))
+
+typedef struct {
+ CARD32 metrics B32;
+} xLbxCharInfo;
+
+/* note that this is identical to xQueryFontReply except for missing
+ * first 2 words
+ */
+typedef struct {
+ xCharInfo minBounds;
+/* XXX do we need to leave this gunk? */
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16; /* followed by this many xFontProp structures */
+ CARD8 drawDirection;
+ CARD8 minByte1, maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16, fontDescent B16;
+ CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */
+} xLbxFontInfo;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 compression;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ /* X_QueryFont sticks much of the data in the base reply packet,
+ * but we hope that it won't be needed, (and it won't fit in 32 bytes
+ * with the tag anyways)
+ *
+ * if any additional data is needed, its sent in a xLbxFontInfo
+ */
+} xLbxQueryFontReply;
+#define sz_xLbxQueryFontReply 32
+
+typedef struct _LbxChangeProperty {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxChangeProperty */
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+ Atom type B32;
+ CARD8 format;
+ CARD8 mode;
+ BYTE pad[2];
+ CARD32 nUnits B32;
+} xLbxChangePropertyReq;
+#define sz_xLbxChangePropertyReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 tag B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxChangePropertyReply;
+#define sz_xLbxChangePropertyReply 32
+
+typedef struct _LbxGetProperty {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetProperty */
+ CARD16 length B16;
+ Window window B32;
+ Atom property B32;
+ Atom type B32;
+ CARD8 delete;
+ BYTE pad[3];
+ CARD32 longOffset B32;
+ CARD32 longLength B32;
+} xLbxGetPropertyReq;
+#define sz_xLbxGetPropertyReq 28
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 format;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ Atom propertyType B32;
+ CARD32 bytesAfter B32;
+ CARD32 nItems B32;
+ CARD32 tag B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xLbxGetPropertyReply;
+#define sz_xLbxGetPropertyReply 32
+
+typedef struct _LbxTagData {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxTagData */
+ CARD16 length B16;
+ XID tag B32;
+ CARD32 real_length B32;
+ /* data */
+} xLbxTagDataReq;
+#define sz_xLbxTagDataReq 12
+
+typedef struct _LbxInvalidateTag {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxInvalidateTag */
+ CARD16 length B16;
+ CARD32 tag B32;
+} xLbxInvalidateTagReq;
+#define sz_xLbxInvalidateTagReq 8
+
+typedef struct _LbxPutImage {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxPutImage */
+ CARD16 length B16;
+ CARD8 compressionMethod;
+ CARD8 cacheEnts;
+ CARD8 bitPacked;
+ /* rest is variable */
+} xLbxPutImageReq;
+#define sz_xLbxPutImageReq 7
+
+typedef struct {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxGetImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16, y B16;
+ CARD16 width B16, height B16;
+ CARD32 planeMask B32;
+ CARD8 format;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+} xLbxGetImageReq;
+
+#define sz_xLbxGetImageReq 24
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 lbxLength B32;
+ CARD32 xLength B32;
+ VisualID visual B32;
+ CARD8 compressionMethod;
+ CARD8 pad1;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxGetImageReply;
+
+#define sz_xLbxGetImageReply 32
+
+/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment,
+ LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */
+
+#define GFX_CACHE_SIZE 15
+
+#define GFXdCacheEnt(e) ((e) & 0xf)
+#define GFXgCacheEnt(e) (((e) >> 4) & 0xf)
+#define GFXCacheEnts(d,g) (((d) & 0xf) | (((g) & 0xf) << 4))
+
+#define GFXCacheNone 0xf
+
+typedef struct _LbxPolyPoint {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ CARD8 padBytes;
+} xLbxPolyPointReq;
+
+#define sz_xLbxPolyPointReq 6
+
+typedef xLbxPolyPointReq xLbxPolyLineReq;
+typedef xLbxPolyPointReq xLbxPolySegmentReq;
+typedef xLbxPolyPointReq xLbxPolyRectangleReq;
+typedef xLbxPolyPointReq xLbxPolyArcReq;
+typedef xLbxPolyPointReq xLbxPolyFillRectangleReq;
+typedef xLbxPolyPointReq xLbxPolyFillArcReq;
+
+#define sz_xLbxPolyLineReq sz_xLbxPolyPointReq
+#define sz_xLbxPolySegmentReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyRectangleReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyArcReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyFillRectangleReq sz_xLbxPolyPointReq
+#define sz_xLbxPolyFillArc sz_xLbxPolyPointReq
+
+typedef struct _LbxFillPoly {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ BYTE shape;
+ CARD8 padBytes;
+} xLbxFillPolyReq;
+#define sz_xLbxFillPolyReq 7
+
+typedef struct _LbxCopyArea {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 srcCache; /* source drawable */
+ CARD8 cacheEnts; /* dest drawable and gc */
+ /* followed by encoded src x, src y, dst x, dst y, width, height */
+} xLbxCopyAreaReq;
+
+#define sz_xLbxCopyAreaReq 6
+
+typedef struct _LbxCopyPlane {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD32 bitPlane B32;
+ CARD8 srcCache; /* source drawable */
+ CARD8 cacheEnts; /* dest drawable and gc */
+ /* followed by encoded src x, src y, dst x, dst y, width, height */
+} xLbxCopyPlaneReq;
+
+#define sz_xLbxCopyPlaneReq 10
+
+typedef struct _LbxPolyText {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ /* followed by encoded src x, src y coordinates and text elts */
+} xLbxPolyTextReq;
+
+#define sz_xLbxPolyTextReq 5
+
+typedef xLbxPolyTextReq xLbxPolyText8Req;
+typedef xLbxPolyTextReq xLbxPolyText16Req;
+
+#define sz_xLbxPolyTextReq 5
+#define sz_xLbxPolyText8Req 5
+#define sz_xLbxPolyText16Req 5
+
+typedef struct _LbxImageText {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType;
+ CARD16 length B16;
+ CARD8 cacheEnts;
+ CARD8 nChars;
+ /* followed by encoded src x, src y coordinates and string */
+} xLbxImageTextReq;
+
+typedef xLbxImageTextReq xLbxImageText8Req;
+typedef xLbxImageTextReq xLbxImageText16Req;
+
+#define sz_xLbxImageTextReq 6
+#define sz_xLbxImageText8Req 6
+#define sz_xLbxImageText16Req 6
+
+typedef struct {
+ CARD8 offset;
+ CARD8 diff;
+} xLbxDiffItem;
+#define sz_xLbxDiffItem 2
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 nOpts;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 optDataStart B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxStartReply;
+#define sz_xLbxStartReply 32
+#define sz_xLbxStartReplyHdr 8
+
+typedef struct _LbxQueryExtension {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxQueryExtension */
+ CARD16 length B16;
+ CARD32 nbytes B32;
+} xLbxQueryExtensionReq;
+#define sz_xLbxQueryExtensionReq 8
+
+typedef struct _LbxQueryExtensionReply {
+ BYTE type; /* X_Reply */
+ CARD8 numReqs;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL present;
+ CARD8 major_opcode;
+ CARD8 first_event;
+ CARD8 first_error;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+
+ /* reply & event generating requests */
+} xLbxQueryExtensionReply;
+#define sz_xLbxQueryExtensionReply 32
+
+
+typedef struct _LbxBeginLargeRequest {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxBeginLargeRequest */
+ CARD16 length B16;
+ CARD32 largeReqLength B32;
+} xLbxBeginLargeRequestReq;
+#define sz_BeginLargeRequestReq 8
+
+typedef struct _LbxLargeRequestData {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxLargeRequestData */
+ CARD16 length B16;
+ /* followed by LISTofCARD8 data */
+} xLbxLargeRequestDataReq;
+#define sz_LargeRequestDataReq 4
+
+typedef struct _LbxEndLargeRequest {
+ CARD8 reqType; /* always LbxReqCode */
+ CARD8 lbxReqType; /* always X_LbxEndLargeRequest */
+ CARD16 length B16;
+} xLbxEndLargeRequestReq;
+#define sz_EndLargeRequestReq 4
+
+
+
+typedef struct _LbxSwitchEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxSwitchEvent */
+ CARD16 pad B16;
+ CARD32 client B32;
+} xLbxSwitchEvent;
+#define sz_xLbxSwitchEvent 8
+
+typedef struct _LbxCloseEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxCloseEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 client B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxCloseEvent;
+#define sz_xLbxCloseEvent 32
+
+typedef struct _LbxInvalidateTagEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxInvalidateTagEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 tag B32;
+ CARD32 tagType B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxInvalidateTagEvent;
+#define sz_xLbxInvalidateTagEvent 32
+
+typedef struct _LbxSendTagDataEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxSendTagDataEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 tag B32;
+ CARD32 tagType B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xLbxSendTagDataEvent;
+#define sz_xLbxSendTagDataEvent 32
+
+typedef struct _LbxListenToOneEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxListenToOneEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 client B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxListenToOneEvent;
+#define sz_xLbxListenToOneEvent 32
+
+typedef struct _LbxListenToAllEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxListenToAllEvent */
+ CARD16 sequenceNumber B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xLbxListenToAllEvent;
+#define sz_xLbxListenToOneEvent 32
+
+typedef struct _LbxReleaseCmapEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxReleaseCmapEvent */
+ CARD16 sequenceNumber B16;
+ Colormap colormap B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xLbxReleaseCmapEvent;
+#define sz_xLbxReleaseCmapEvent 32
+
+
+typedef struct _LbxFreeCellsEvent {
+ BYTE type; /* always eventBase + LbxEvent */
+ BYTE lbxType; /* LbxFreeCellsEvent */
+ CARD16 sequenceNumber B16;
+ Colormap colormap B32;
+ CARD32 pixelStart B32;
+ CARD32 pixelEnd B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xLbxFreeCellsEvent;
+#define sz_xLbxFreeCellsEvent 32
+
+
+/*
+ * squished X event sizes. If these change, be sure to update lbxquish.c
+ * and unsquish.c appropriately
+ *
+ * lbxsz_* is the padded squished length
+ * lbxupsz_* is the unpadded squished length
+ */
+
+#define lbxsz_KeyButtonEvent 32
+#define lbxupsz_KeyButtonEvent 31
+
+#define lbxsz_EnterLeaveEvent 32
+#define lbxupsz_EnterLeaveEvent 32
+
+#define lbxsz_FocusEvent 12
+#define lbxupsz_FocusEvent 9
+
+#define lbxsz_KeymapEvent 32
+#define lbxupsz_KeymapEvent 32
+
+#define lbxsz_ExposeEvent 20
+#define lbxupsz_ExposeEvent 18
+
+#define lbxsz_GfxExposeEvent 24
+#define lbxupsz_GfxExposeEvent 21
+
+#define lbxsz_NoExposeEvent 12
+#define lbxupsz_NoExposeEvent 11
+
+#define lbxsz_VisibilityEvent 12
+#define lbxupsz_VisibilityEvent 9
+
+#define lbxsz_CreateNotifyEvent 24
+#define lbxupsz_CreateNotifyEvent 23
+
+#define lbxsz_DestroyNotifyEvent 12
+#define lbxupsz_DestroyNotifyEvent 12
+
+#define lbxsz_UnmapNotifyEvent 16
+#define lbxupsz_UnmapNotifyEvent 13
+
+#define lbxsz_MapNotifyEvent 16
+#define lbxupsz_MapNotifyEvent 13
+
+#define lbxsz_MapRequestEvent 12
+#define lbxupsz_MapRequestEvent 12
+
+#define lbxsz_ReparentEvent 24
+#define lbxupsz_ReparentEvent 21
+
+#define lbxsz_ConfigureNotifyEvent 28
+#define lbxupsz_ConfigureNotifyEvent 27
+
+#define lbxsz_ConfigureRequestEvent 28
+#define lbxupsz_ConfigureRequestEvent 28
+
+#define lbxsz_GravityEvent 16
+#define lbxupsz_GravityEvent 16
+
+#define lbxsz_ResizeRequestEvent 12
+#define lbxupsz_ResizeRequestEvent 12
+
+#define lbxsz_CirculateEvent 20
+#define lbxupsz_CirculateEvent 17
+
+#define lbxsz_PropertyEvent 20
+#define lbxupsz_PropertyEvent 17
+
+#define lbxsz_SelectionClearEvent 16
+#define lbxupsz_SelectionClearEvent 16
+
+#define lbxsz_SelectionRequestEvent 28
+#define lbxupsz_SelectionRequestEvent 28
+
+#define lbxsz_SelectionNotifyEvent 24
+#define lbxupsz_SelectionNotifyEvent 24
+
+#define lbxsz_ColormapEvent 16
+#define lbxupsz_ColormapEvent 14
+
+#define lbxsz_MappingNotifyEvent 8
+#define lbxupsz_MappingNotifyEvent 7
+
+#define lbxsz_ClientMessageEvent 32
+#define lbxupsz_ClientMessageEvent 32
+
+#define lbxsz_UnknownEvent 32
+
+#ifdef DEBUG
+
+#define DBG_SWITCH 0x00000001
+#define DBG_CLOSE 0x00000002
+#define DBG_IO 0x00000004
+#define DBG_READ_REQ 0x00000008
+#define DBG_LEN 0x00000010
+#define DBG_BLOCK 0x00000020
+#define DBG_CLIENT 0x00000040
+#define DBG_DELTA 0x00000080
+#endif
+/*
+ * Cancel the previous redefinition of the basic types, thus restoring their
+ * X.h definitions.
+ */
+
+#undef XID
+#undef Atom
+#undef Colormap
+#undef Drawable
+#undef VisualID
+#undef Window
+
+#endif /* _LBXPROTO_H_ */
diff --git a/xextproto/mitmiscconst.h b/xextproto/mitmiscconst.h
new file mode 100644
index 0000000..adc5f94
--- /dev/null
+++ b/xextproto/mitmiscconst.h
@@ -0,0 +1,38 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
+
+
+#ifndef _MITMISCCONST_H_
+#define _MITMISCCONST_H_
+
+#define MITMiscNumberEvents 0
+#define MITMiscNumberErrors 0
+
+#define MITMISCNAME "MIT-SUNDRY-NONSTANDARD"
+
+#endif
diff --git a/xextproto/mitmiscproto.h b/xextproto/mitmiscproto.h
new file mode 100644
index 0000000..18c202a
--- /dev/null
+++ b/xextproto/mitmiscproto.h
@@ -0,0 +1,68 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
+
+#ifndef _MITMISCPROTO_H_
+#define _MITMISCPROTO_H_
+
+#include <X11/extensions/mitmiscconst.h>
+
+#define X_MITSetBugMode 0
+#define X_MITGetBugMode 1
+
+typedef struct _SetBugMode {
+ CARD8 reqType; /* always MITReqCode */
+ CARD8 mitReqType; /* always X_MITSetBugMode */
+ CARD16 length B16;
+ BOOL onOff;
+ BYTE pad0;
+ CARD16 pad1;
+} xMITSetBugModeReq;
+#define sz_xMITSetBugModeReq 8
+
+typedef struct _GetBugMode {
+ CARD8 reqType; /* always MITReqCode */
+ CARD8 mitReqType; /* always X_MITGetBugMode */
+ CARD16 length B16;
+} xMITGetBugModeReq;
+#define sz_xMITGetBugModeReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL onOff;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xMITGetBugModeReply;
+#define sz_xMITGetBugModeReply 32
+
+#endif /* _MITMISCPROTO_H_ */
diff --git a/xextproto/multibufconst.h b/xextproto/multibufconst.h
new file mode 100644
index 0000000..2d1238c
--- /dev/null
+++ b/xextproto/multibufconst.h
@@ -0,0 +1,83 @@
+/*
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _MULTIBUFCONST_H_
+#define _MULTIBUFCONST_H_
+
+#define MULTIBUFFER_PROTOCOL_NAME "Multi-Buffering"
+
+#define MULTIBUFFER_MAJOR_VERSION 1 /* current version numbers */
+#define MULTIBUFFER_MINOR_VERSION 1 /* has ClearImageBufferArea */
+
+/*
+ * update_action field
+ */
+#define MultibufferUpdateActionUndefined 0
+#define MultibufferUpdateActionBackground 1
+#define MultibufferUpdateActionUntouched 2
+#define MultibufferUpdateActionCopied 3
+
+/*
+ * update_hint field
+ */
+#define MultibufferUpdateHintFrequent 0
+#define MultibufferUpdateHintIntermittent 1
+#define MultibufferUpdateHintStatic 2
+
+/*
+ * valuemask fields
+ */
+#define MultibufferWindowUpdateHint (1L << 0)
+#define MultibufferBufferEventMask (1L << 0)
+
+/*
+ * mono vs. stereo and left vs. right
+ */
+#define MultibufferModeMono 0
+#define MultibufferModeStereo 1
+#define MultibufferSideMono 0
+#define MultibufferSideLeft 1
+#define MultibufferSideRight 2
+
+/*
+ * clobber state
+ */
+#define MultibufferUnclobbered 0
+#define MultibufferPartiallyClobbered 1
+#define MultibufferFullyClobbered 2
+
+/*
+ * event stuff
+ */
+#define MultibufferClobberNotifyMask 0x02000000
+#define MultibufferUpdateNotifyMask 0x04000000
+
+#define MultibufferClobberNotify 0
+#define MultibufferUpdateNotify 1
+#define MultibufferNumberEvents (MultibufferUpdateNotify + 1)
+
+#define MultibufferBadBuffer 0
+#define MultibufferNumberErrors (MultibufferBadBuffer + 1)
+
+#endif /* _MULTIBUFCONST_H_ */
diff --git a/xextproto/multibufproto.h b/xextproto/multibufproto.h
new file mode 100644
index 0000000..e2184d3
--- /dev/null
+++ b/xextproto/multibufproto.h
@@ -0,0 +1,295 @@
+/*
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ */
+
+#ifndef _MULTIBUFPROTO_H_
+#define _MULTIBUFPROTO_H_
+
+#include <X11/extensions/multibufconst.h>
+
+/*
+ * Protocol requests constants and alignment values
+ */
+
+#define Window CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define Multibuffer CARD32
+
+#define X_MbufGetBufferVersion 0
+#define X_MbufCreateImageBuffers 1
+#define X_MbufDestroyImageBuffers 2
+#define X_MbufDisplayImageBuffers 3
+#define X_MbufSetMBufferAttributes 4
+#define X_MbufGetMBufferAttributes 5
+#define X_MbufSetBufferAttributes 6
+#define X_MbufGetBufferAttributes 7
+#define X_MbufGetBufferInfo 8
+#define X_MbufCreateStereoWindow 9
+#define X_MbufClearImageBufferArea 10
+
+
+typedef struct xMbufBufferInfo {
+ CARD32 visualID B32; /* associated visual */
+ CARD16 maxBuffers B16; /* maximum supported buffers */
+ CARD8 depth; /* depth of visual (redundant) */
+ CARD8 unused;
+} xMbufBufferInfo;
+#define sz_xMbufBufferInfo 8
+
+typedef struct {
+ BYTE type;
+ BYTE unused;
+ CARD16 sequenceNumber B16;
+ CARD32 buffer B32; /* affected buffer */
+ BYTE state; /* current status */
+ CARD8 unused1;
+ CARD16 unused2 B16;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+ CARD32 unused7 B32;
+} xMbufClobberNotifyEvent;
+
+typedef struct {
+ BYTE type;
+ BYTE unused;
+ CARD16 sequenceNumber B16;
+ CARD32 buffer B32; /* affected buffer */
+ CARD32 timeStamp B32; /* update time */
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+} xMbufUpdateNotifyEvent;
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferVersion */
+ CARD16 length B16;
+} xMbufGetBufferVersionReq;
+#define sz_xMbufGetBufferVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 majorVersion; /* major version of Multi-Buffering protocol */
+ CARD8 minorVersion; /* minor version of Multi-Buffering protocol */
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xMbufGetBufferVersionReply;
+#define sz_xMbufGetBufferVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufCreateImageBuffers */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+ CARD8 updateAction; /* action at update */
+ CARD8 updateHint; /* hint as to frequency of updates */
+ CARD16 unused;
+} xMbufCreateImageBuffersReq; /* followed by buffer ids */
+#define sz_xMbufCreateImageBuffersReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 numberBuffer B16; /* number successfully allocated */
+ CARD16 unused1 B16;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+ CARD32 unused6 B32;
+} xMbufCreateImageBuffersReply;
+#define sz_xMbufCreateImageBuffersReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufDestroyImageBuffers */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+} xMbufDestroyImageBuffersReq;
+#define sz_xMbufDestroyImageBuffersReq 8
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufDisplayImageBuffers */
+ CARD16 length B16;
+ CARD16 minDelay B16; /* minimum time between last update and now */
+ CARD16 maxDelay B16; /* maximum time between last update and now */
+} xMbufDisplayImageBuffersReq; /* followed by list of buffers */
+#define sz_xMbufDisplayImageBuffersReq 8
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufSetMBufferAttributes */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+ CARD32 valueMask B32; /* modified entries */
+} xMbufSetMBufferAttributesReq; /* followed by values */
+#define sz_xMbufSetMBufferAttributesReq 12
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetMBufferAttributes */
+ CARD16 length B16;
+ CARD32 window B32; /* associated window */
+} xMbufGetMBufferAttributesReq;
+#define sz_xMbufGetMBufferAttributesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 displayedBuffer B16; /* currently visible buffer */
+ CARD8 updateAction;
+ CARD8 updateHint;
+ CARD8 windowMode;
+ CARD8 unused0;
+ CARD16 unused1 B16;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+} xMbufGetMBufferAttributesReply;
+#define sz_xMbufGetMBufferAttributesReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufSetBufferAttributes */
+ CARD16 length B16;
+ CARD32 buffer B32;
+ CARD32 valueMask B32;
+} xMbufSetBufferAttributesReq; /* followed by values */
+#define sz_xMbufSetBufferAttributesReq 12
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferAttributes */
+ CARD16 length B16;
+ CARD32 buffer B32;
+} xMbufGetBufferAttributesReq;
+#define sz_xMbufGetBufferAttributesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 window B32;
+ CARD32 eventMask B32;
+ CARD16 bufferIndex B16;
+ CARD8 side;
+ CARD8 unused0;
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+} xMbufGetBufferAttributesReply;
+#define sz_xMbufGetBufferAttributesReply 32
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufGetBufferInfo */
+ CARD16 length B16;
+ Drawable drawable B32;
+} xMbufGetBufferInfoReq;
+#define sz_xMbufGetBufferInfoReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 normalInfo B16;
+ CARD16 stereoInfo B16;
+ CARD32 unused1 B32;
+ CARD32 unused2 B32;
+ CARD32 unused3 B32;
+ CARD32 unused4 B32;
+ CARD32 unused5 B32;
+} xMbufGetBufferInfoReply; /* followed by buffer infos */
+#define sz_xMbufGetBufferInfoReply 32
+
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufCreateStereoWindow */
+ CARD16 length B16;
+ CARD8 unused0;
+ CARD8 unused1;
+ CARD8 unused2;
+ CARD8 depth;
+ Window wid B32;
+ Window parent B32;
+ Multibuffer left B32; /* associated buffers */
+ Multibuffer right B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 borderWidth B16;
+#if defined(__cplusplus) || defined(c_plusplus)
+ CARD16 c_class B16;
+#else
+ CARD16 class B16;
+#endif
+ VisualID visual B32;
+ CARD32 mask B32;
+} xMbufCreateStereoWindowReq; /* followed by value list */
+#define sz_xMbufCreateStereoWindowReq 44
+
+typedef struct {
+ CARD8 reqType; /* always codes->major_opcode */
+ CARD8 mbufReqType; /* always X_MbufClearImageBufferArea */
+ CARD16 length B16;
+ Multibuffer buffer B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 unused0;
+ CARD8 unused1;
+ CARD8 unused2;
+ BOOL exposures;
+} xMbufClearImageBufferAreaReq;
+#define sz_xMbufClearImageBufferAreaReq 20
+
+#undef Window
+#undef Drawable
+#undef VisualID
+#undef Multibuffer
+
+#endif /* _MULTIBUFPROTO_H_ */
diff --git a/xextproto/secur.h b/xextproto/secur.h
new file mode 100644
index 0000000..ca27b29
--- /dev/null
+++ b/xextproto/secur.h
@@ -0,0 +1,61 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _SECUR_H
+#define _SECUR_H
+
+#define SECURITY_EXTENSION_NAME "SECURITY"
+#define SECURITY_MAJOR_VERSION 1
+#define SECURITY_MINOR_VERSION 0
+
+#define XSecurityNumberEvents 1
+#define XSecurityNumberErrors 2
+#define XSecurityBadAuthorization 0
+#define XSecurityBadAuthorizationProtocol 1
+
+/* trust levels */
+#define XSecurityClientTrusted 0
+#define XSecurityClientUntrusted 1
+
+/* authorization attribute masks */
+#define XSecurityTimeout (1<<0)
+#define XSecurityTrustLevel (1<<1)
+#define XSecurityGroup (1<<2)
+#define XSecurityEventMask (1<<3)
+#define XSecurityAllAuthorizationAttributes \
+ (XSecurityTimeout | XSecurityTrustLevel | XSecurityGroup | XSecurityEventMask)
+
+/* event masks */
+#define XSecurityAuthorizationRevokedMask (1<<0)
+#define XSecurityAllEventMasks XSecurityAuthorizationRevokedMask
+
+/* event offsets */
+#define XSecurityAuthorizationRevoked 0
+
+#define XSecurityAuthorizationName "XC-QUERY-SECURITY-1"
+#define XSecurityAuthorizationNameLen 19
+
+#endif /* _SECUR_H */
diff --git a/xextproto/securproto.h b/xextproto/securproto.h
new file mode 100644
index 0000000..409a4c5
--- /dev/null
+++ b/xextproto/securproto.h
@@ -0,0 +1,110 @@
+/*
+Copyright 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+*/
+
+#ifndef _SECURPROTO_H
+#define _SECURPROTO_H
+
+#include <X11/extensions/secur.h>
+
+#define X_SecurityQueryVersion 0
+#define X_SecurityGenerateAuthorization 1
+#define X_SecurityRevokeAuthorization 2
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+} xSecurityQueryVersionReq;
+#define sz_xSecurityQueryVersionReq 8
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16;
+ CARD16 minorVersion B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xSecurityQueryVersionReply;
+#define sz_xSecurityQueryVersionReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD16 nbytesAuthProto B16;
+ CARD16 nbytesAuthData B16;
+ CARD32 valueMask B32;
+ /* auth protocol name padded to 4 bytes */
+ /* auth protocol data padded to 4 bytes */
+ /* list of CARD32 values, if any */
+} xSecurityGenerateAuthorizationReq;
+#define sz_xSecurityGenerateAuthorizationReq 12
+
+typedef struct {
+ CARD8 type;
+ CARD8 pad0;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 authId B32;
+ CARD16 dataLength B16;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ } xSecurityGenerateAuthorizationReply;
+#define sz_xSecurityGenerateAuthorizationReply 32
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 securityReqType;
+ CARD16 length B16;
+ CARD32 authId B32;
+} xSecurityRevokeAuthorizationReq;
+#define sz_xSecurityRevokeAuthorizationReq 8
+
+typedef struct _xSecurityAuthorizationRevokedEvent {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ CARD32 authId B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xSecurityAuthorizationRevokedEvent;
+#define sz_xSecurityAuthorizationRevokedEvent 32
+
+#endif /* _SECURPROTO_H */
diff --git a/xextproto/shapeconst.h b/xextproto/shapeconst.h
new file mode 100644
index 0000000..9088956
--- /dev/null
+++ b/xextproto/shapeconst.h
@@ -0,0 +1,55 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+#ifndef _SHAPECONST_H_
+#define _SHAPECONST_H_
+
+/*
+ * Protocol requests constants and alignment values
+ * These would really be in SHAPE's X.h and Xproto.h equivalents
+ */
+
+#define SHAPENAME "SHAPE"
+
+#define SHAPE_MAJOR_VERSION 1 /* current version numbers */
+#define SHAPE_MINOR_VERSION 1
+
+#define ShapeSet 0
+#define ShapeUnion 1
+#define ShapeIntersect 2
+#define ShapeSubtract 3
+#define ShapeInvert 4
+
+#define ShapeBounding 0
+#define ShapeClip 1
+#define ShapeInput 2
+
+#define ShapeNotifyMask (1L << 0)
+#define ShapeNotify 0
+
+#define ShapeNumberEvents (ShapeNotify + 1)
+
+#endif /* _SHAPECONST_H_ */
diff --git a/xextproto/shapeproto.h b/xextproto/shapeproto.h
new file mode 100644
index 0000000..49bd1a1
--- /dev/null
+++ b/xextproto/shapeproto.h
@@ -0,0 +1,237 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+#ifndef _SHAPEPROTO_H_
+#define _SHAPEPROTO_H_
+
+#include <X11/extensions/shapeconst.h>
+
+/*
+ * Protocol requests constants and alignment values
+ * These would really be in SHAPE's X.h and Xproto.h equivalents
+ */
+
+#define Window CARD32
+#define Time CARD32
+
+#define X_ShapeQueryVersion 0
+#define X_ShapeRectangles 1
+#define X_ShapeMask 2
+#define X_ShapeCombine 3
+#define X_ShapeOffset 4
+#define X_ShapeQueryExtents 5
+#define X_ShapeSelectInput 6
+#define X_ShapeInputSelected 7
+#define X_ShapeGetRectangles 8
+
+typedef struct _ShapeQueryVersion {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeQueryVersion */
+ CARD16 length B16;
+} xShapeQueryVersionReq;
+#define sz_xShapeQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of SHAPE protocol */
+ CARD16 minorVersion B16; /* minor version of SHAPE protocol */
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xShapeQueryVersionReply;
+#define sz_xShapeQueryVersionReply 32
+
+typedef struct _ShapeRectangles {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeRectangles */
+ CARD16 length B16;
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */
+ CARD8 pad0; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xShapeRectanglesReq; /* followed by xRects */
+#define sz_xShapeRectanglesReq 16
+
+typedef struct _ShapeMask {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeMask */
+ CARD16 length B16;
+
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD16 junk B16; /* not used */
+
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+ CARD32 src B32; /* 1 bit pixmap */
+} xShapeMaskReq;
+#define sz_xShapeMaskReq 20
+
+typedef struct _ShapeCombine {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeCombine */
+ CARD16 length B16;
+ CARD8 op; /* Set, ... */
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 srcKind; /* ShapeBounding or ShapeClip */
+ CARD8 junk; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+ Window src B32;
+} xShapeCombineReq;
+#define sz_xShapeCombineReq 20
+
+typedef struct _ShapeOffset {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeOffset */
+ CARD16 length B16;
+ CARD8 destKind; /* ShapeBounding or ShapeClip */
+ CARD8 junk1; /* not used */
+ CARD16 junk2 B16; /* not used */
+ Window dest B32;
+ INT16 xOff B16;
+ INT16 yOff B16;
+} xShapeOffsetReq;
+#define sz_xShapeOffsetReq 16
+
+typedef struct _ShapeQueryExtents {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeQueryExtents */
+ CARD16 length B16;
+ Window window B32;
+} xShapeQueryExtentsReq;
+#define sz_xShapeQueryExtentsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 unused; /* not used */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD8 boundingShaped; /* window has bounding shape */
+ CARD8 clipShaped; /* window has clip shape */
+ CARD16 unused1 B16;
+ INT16 xBoundingShape B16; /* extents of bounding shape */
+ INT16 yBoundingShape B16;
+ CARD16 widthBoundingShape B16;
+ CARD16 heightBoundingShape B16;
+ INT16 xClipShape B16; /* extents of clip shape */
+ INT16 yClipShape B16;
+ CARD16 widthClipShape B16;
+ CARD16 heightClipShape B16;
+ CARD32 pad1 B32;
+} xShapeQueryExtentsReply;
+#define sz_xShapeQueryExtentsReply 32
+
+typedef struct _ShapeSelectInput {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeSelectInput */
+ CARD16 length B16;
+ Window window B32;
+ BYTE enable; /* xTrue -> send events */
+ BYTE pad1;
+ CARD16 pad2 B16;
+} xShapeSelectInputReq;
+#define sz_xShapeSelectInputReq 12
+
+typedef struct _ShapeNotify {
+ BYTE type; /* always eventBase + ShapeNotify */
+ BYTE kind; /* either ShapeBounding or ShapeClip */
+ CARD16 sequenceNumber B16;
+ Window window B32;
+ INT16 x B16;
+ INT16 y B16; /* extents of new shape */
+ CARD16 width B16;
+ CARD16 height B16;
+ Time time B32; /* time of change */
+ BYTE shaped; /* set when a shape actual exists */
+ BYTE pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xShapeNotifyEvent;
+#define sz_xShapeNotifyEvent 32
+
+typedef struct _ShapeInputSelected {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeInputSelected */
+ CARD16 length B16;
+ Window window B32;
+} xShapeInputSelectedReq;
+#define sz_xShapeInputSelectedReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 enabled; /* current status */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* 0 */
+ CARD32 pad1 B32; /* unused */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xShapeInputSelectedReply;
+#define sz_xShapeInputSelectedReply 32
+
+typedef struct _ShapeGetRectangles {
+ CARD8 reqType; /* always ShapeReqCode */
+ CARD8 shapeReqType; /* always X_ShapeGetRectangles */
+ CARD16 length B16;
+ Window window B32;
+ CARD8 kind; /* ShapeBounding or ShapeClip */
+ CARD8 junk1;
+ CARD16 junk2 B16;
+} xShapeGetRectanglesReq;
+#define sz_xShapeGetRectanglesReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 ordering; /* UnSorted, YSorted, YXSorted, YXBanded */
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* not zero */
+ CARD32 nrects B32; /* number of rectangles */
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xShapeGetRectanglesReply; /* followed by xRectangles */
+#define sz_xShapeGetRectanglesReply 32
+
+#undef Window
+#undef Time
+
+#endif /* _SHAPEPROTO_H_ */
diff --git a/xextproto/shapestr.h b/xextproto/shapestr.h
new file mode 100644
index 0000000..20fde1d
--- /dev/null
+++ b/xextproto/shapestr.h
@@ -0,0 +1,8 @@
+#ifndef _SHAPESTR_H_
+#define _SHAPESTR_H_
+
+#warning "shapestr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/shapeproto.h> for the protocol defines."
+#include <X11/extensions/shapeproto.h>
+
+#endif /* _SHAPESTR_H_ */
diff --git a/xextproto/shm.h b/xextproto/shm.h
new file mode 100644
index 0000000..e076402
--- /dev/null
+++ b/xextproto/shm.h
@@ -0,0 +1,44 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHM_H_
+#define _SHM_H_
+
+#define SHMNAME "MIT-SHM"
+
+#define SHM_MAJOR_VERSION 1 /* current version numbers */
+#define SHM_MINOR_VERSION 1
+
+#define ShmCompletion 0
+#define ShmNumberEvents (ShmCompletion + 1)
+
+#define BadShmSeg 0
+#define ShmNumberErrors (BadShmSeg + 1)
+
+
+#endif /* _SHM_H_ */
diff --git a/xextproto/shmproto.h b/xextproto/shmproto.h
new file mode 100644
index 0000000..e5de377
--- /dev/null
+++ b/xextproto/shmproto.h
@@ -0,0 +1,187 @@
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHMPROTO_H_
+#define _SHMPROTO_H_
+
+#include <X11/extensions/shm.h>
+
+#define ShmSeg CARD32
+#define Drawable CARD32
+#define VisualID CARD32
+#define GContext CARD32
+#define Pixmap CARD32
+
+#define X_ShmQueryVersion 0
+#define X_ShmAttach 1
+#define X_ShmDetach 2
+#define X_ShmPutImage 3
+#define X_ShmGetImage 4
+#define X_ShmCreatePixmap 5
+
+typedef struct _ShmQueryVersion {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmQueryVersion */
+ CARD16 length B16;
+} xShmQueryVersionReq;
+#define sz_xShmQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL sharedPixmaps;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of SHM protocol */
+ CARD16 minorVersion B16; /* minor version of SHM protocol */
+ CARD16 uid B16;
+ CARD16 gid B16;
+ CARD8 pixmapFormat;
+ CARD8 pad0;
+ CARD16 pad1 B16;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xShmQueryVersionReply;
+#define sz_xShmQueryVersionReply 32
+
+typedef struct _ShmAttach {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmAttach */
+ CARD16 length B16;
+ ShmSeg shmseg B32;
+ CARD32 shmid B32;
+ BOOL readOnly;
+ BYTE pad0;
+ CARD16 pad1 B16;
+} xShmAttachReq;
+#define sz_xShmAttachReq 16
+
+typedef struct _ShmDetach {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmDetach */
+ CARD16 length B16;
+ ShmSeg shmseg B32;
+} xShmDetachReq;
+#define sz_xShmDetachReq 8
+
+typedef struct _ShmPutImage {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmPutImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ GContext gc B32;
+ CARD16 totalWidth B16;
+ CARD16 totalHeight B16;
+ CARD16 srcX B16;
+ CARD16 srcY B16;
+ CARD16 srcWidth B16;
+ CARD16 srcHeight B16;
+ INT16 dstX B16;
+ INT16 dstY B16;
+ CARD8 depth;
+ CARD8 format;
+ CARD8 sendEvent;
+ CARD8 bpad;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmPutImageReq;
+#define sz_xShmPutImageReq 40
+
+typedef struct _ShmGetImage {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmGetImage */
+ CARD16 length B16;
+ Drawable drawable B32;
+ INT16 x B16;
+ INT16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 planeMask B32;
+ CARD8 format;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmGetImageReq;
+#define sz_xShmGetImageReq 32
+
+typedef struct _ShmGetImageReply {
+ BYTE type; /* X_Reply */
+ CARD8 depth;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ VisualID visual B32;
+ CARD32 size B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xShmGetImageReply;
+#define sz_xShmGetImageReply 32
+
+typedef struct _ShmCreatePixmap {
+ CARD8 reqType; /* always ShmReqCode */
+ CARD8 shmReqType; /* always X_ShmCreatePixmap */
+ CARD16 length B16;
+ Pixmap pid B32;
+ Drawable drawable B32;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD8 depth;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+} xShmCreatePixmapReq;
+#define sz_xShmCreatePixmapReq 28
+
+typedef struct _ShmCompletion {
+ BYTE type; /* always eventBase + ShmCompletion */
+ BYTE bpad0;
+ CARD16 sequenceNumber B16;
+ Drawable drawable B32;
+ CARD16 minorEvent B16;
+ BYTE majorEvent;
+ BYTE bpad1;
+ ShmSeg shmseg B32;
+ CARD32 offset B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xShmCompletionEvent;
+#define sz_xShmCompletionEvent 32
+
+#undef ShmSeg
+#undef Drawable
+#undef VisualID
+#undef GContext
+#undef Pixmap
+
+#endif /* _SHMPROTO_H_ */
diff --git a/xextproto/shmstr.h b/xextproto/shmstr.h
new file mode 100644
index 0000000..6358860
--- /dev/null
+++ b/xextproto/shmstr.h
@@ -0,0 +1,66 @@
+/* $XFree86: xc/include/extensions/shmstr.h,v 3.3 2001/12/14 19:53:29 dawes Exp $ */
+/************************************************************
+
+Copyright 1989, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+********************************************************/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _SHMSTR_H_
+#define _SHMSTR_H_
+
+/* $Xorg: shmstr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
+
+#include <X11/extensions/shmproto.h>
+
+#ifdef _XSHM_SERVER_
+#define XSHM_PUT_IMAGE_ARGS \
+ DrawablePtr /* dst */, \
+ GCPtr /* pGC */, \
+ int /* depth */, \
+ unsigned int /* format */, \
+ int /* w */, \
+ int /* h */, \
+ int /* sx */, \
+ int /* sy */, \
+ int /* sw */, \
+ int /* sh */, \
+ int /* dx */, \
+ int /* dy */, \
+ char * /* data */
+
+#define XSHM_CREATE_PIXMAP_ARGS \
+ ScreenPtr /* pScreen */, \
+ int /* width */, \
+ int /* height */, \
+ int /* depth */, \
+ char * /* addr */
+
+typedef struct _ShmFuncs {
+ PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS);
+ void (* PutImage)(XSHM_PUT_IMAGE_ARGS);
+} ShmFuncs, *ShmFuncsPtr;
+#endif
+
+#endif /* _SHMSTR_H_ */
diff --git a/xextproto/syncconst.h b/xextproto/syncconst.h
new file mode 100644
index 0000000..926b60c
--- /dev/null
+++ b/xextproto/syncconst.h
@@ -0,0 +1,179 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCCONST_H_
+#define _SYNCCONST_H_
+
+#define SYNC_NAME "SYNC"
+
+#define SYNC_MAJOR_VERSION 3
+#define SYNC_MINOR_VERSION 0
+
+
+#define XSyncCounterNotify 0
+#define XSyncAlarmNotify 1
+#define XSyncAlarmNotifyMask (1L << XSyncAlarmNotify)
+
+#define XSyncNumberEvents 2L
+
+#define XSyncBadCounter 0L
+#define XSyncBadAlarm 1L
+#define XSyncNumberErrors (XSyncBadAlarm + 1)
+
+/*
+ * Flags for Alarm Attributes
+ */
+#define XSyncCACounter (1L<<0)
+#define XSyncCAValueType (1L<<1)
+#define XSyncCAValue (1L<<2)
+#define XSyncCATestType (1L<<3)
+#define XSyncCADelta (1L<<4)
+#define XSyncCAEvents (1L<<5)
+
+/* The _XSync macros below are for library internal use only. They exist
+ * so that if we have to make a fix, we can change it in this one place
+ * and have both the macro and function variants inherit the fix.
+ */
+
+#define _XSyncIntToValue(pv, i) ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
+#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h))
+#define _XSyncValueGreaterThan(a, b)\
+ ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo))
+#define _XSyncValueLessThan(a, b)\
+ ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo))
+#define _XSyncValueGreaterOrEqual(a, b)\
+ ((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo))
+#define _XSyncValueLessOrEqual(a, b)\
+ ((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo))
+#define _XSyncValueEqual(a, b) ((a).lo==(b).lo && (a).hi==(b).hi)
+#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0)
+#define _XSyncValueIsZero(a) ((a).lo==0 && (a).hi==0)
+#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1)
+#define _XSyncValueLow32(v) ((v).lo)
+#define _XSyncValueHigh32(v) ((v).hi)
+#define _XSyncValueAdd(presult,a,b,poverflow) {\
+ int t = (a).lo;\
+ Bool signa = XSyncValueIsNegative(a);\
+ Bool signb = XSyncValueIsNegative(b);\
+ ((presult)->lo = (a).lo + (b).lo);\
+ ((presult)->hi = (a).hi + (b).hi);\
+ if (t>(presult)->lo) (presult)->hi++;\
+ *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+ }
+#define _XSyncValueSubtract(presult,a,b,poverflow) {\
+ int t = (a).lo;\
+ Bool signa = XSyncValueIsNegative(a);\
+ Bool signb = XSyncValueIsNegative(b);\
+ ((presult)->lo = (a).lo - (b).lo);\
+ ((presult)->hi = (a).hi - (b).hi);\
+ if (t<(presult)->lo) (presult)->hi--;\
+ *poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
+ }
+#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff)
+#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0)
+
+/*
+ * These are the publically usable macros. If you want the function version
+ * of one of these, just #undef the macro to uncover the function.
+ * (This is the same convention that the ANSI C library uses.)
+ */
+
+#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i)
+#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h)
+#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b)
+#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b)
+#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b)
+#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b)
+#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b)
+#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v)
+#define XSyncValueIsZero(a) _XSyncValueIsZero(a)
+#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v)
+#define XSyncValueLow32(v) _XSyncValueLow32(v)
+#define XSyncValueHigh32(v) _XSyncValueHigh32(v)
+#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow)
+#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow)
+#define XSyncMaxValue(pv) _XSyncMaxValue(pv)
+#define XSyncMinValue(pv) _XSyncMinValue(pv)
+
+/*
+ * Constants for the value_type argument of various requests
+ */
+typedef enum {
+ XSyncAbsolute,
+ XSyncRelative
+} XSyncValueType;
+
+/*
+ * Alarm Test types
+ */
+typedef enum {
+ XSyncPositiveTransition,
+ XSyncNegativeTransition,
+ XSyncPositiveComparison,
+ XSyncNegativeComparison
+} XSyncTestType;
+
+/*
+ * Alarm state constants
+ */
+typedef enum {
+ XSyncAlarmActive,
+ XSyncAlarmInactive,
+ XSyncAlarmDestroyed
+} XSyncAlarmState;
+
+
+typedef XID XSyncCounter;
+typedef XID XSyncAlarm;
+typedef struct _XSyncValue {
+ int hi;
+ unsigned int lo;
+} XSyncValue;
+#endif /* _SYNCCONST_H_ */
diff --git a/xextproto/syncproto.h b/xextproto/syncproto.h
new file mode 100644
index 0000000..13b53d5
--- /dev/null
+++ b/xextproto/syncproto.h
@@ -0,0 +1,378 @@
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+#ifndef _SYNCPROTO_H_
+#define _SYNCPROTO_H_
+
+#include <X11/extensions/syncconst.h>
+
+#define X_SyncInitialize 0
+#define X_SyncListSystemCounters 1
+#define X_SyncCreateCounter 2
+#define X_SyncSetCounter 3
+#define X_SyncChangeCounter 4
+#define X_SyncQueryCounter 5
+#define X_SyncDestroyCounter 6
+#define X_SyncAwait 7
+#define X_SyncCreateAlarm 8
+#define X_SyncChangeAlarm 9
+#define X_SyncQueryAlarm 10
+#define X_SyncDestroyAlarm 11
+#define X_SyncSetPriority 12
+#define X_SyncGetPriority 13
+
+/* cover up types from sync.h to make sure they're the right size for
+ * protocol packaging. These will be undef'ed after all the protocol
+ * structures are defined.
+ */
+#define XSyncCounter CARD32
+#define XSyncAlarm CARD32
+
+/*
+ * Initialize
+ */
+typedef struct _xSyncInitialize {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+} xSyncInitializeReq;
+#define sz_xSyncInitializeReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 majorVersion;
+ CARD8 minorVersion;
+ CARD16 pad B16;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncInitializeReply;
+#define sz_xSyncInitializeReply 32
+
+/*
+ * ListSystemCounters
+ */
+typedef struct _xSyncListSystemCounters
+{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncListSystemCountersReq;
+#define sz_xSyncListSystemCountersReq 4
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 nCounters B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncListSystemCountersReply;
+#define sz_xSyncListSystemCountersReply 32
+
+typedef struct {
+ XSyncCounter counter B32;
+ INT32 resolution_hi B32;
+ CARD32 resolution_lo B32;
+ CARD16 name_length B16;
+} xSyncSystemCounter;
+#define sz_xSyncSystemCounter 14
+
+/*
+ * Create Counter
+ */
+typedef struct _xSyncCreateCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 initial_value_hi B32;
+ CARD32 initial_value_lo B32;
+} xSyncCreateCounterReq;
+#define sz_xSyncCreateCounterReq 16
+
+/*
+ * Change Counter
+ */
+typedef struct _xSyncChangeCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncChangeCounterReq;
+#define sz_xSyncChangeCounterReq 16
+
+/*
+ * Set Counter
+ */
+typedef struct _xSyncSetCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter cid B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+} xSyncSetCounterReq;
+#define sz_xSyncSetCounterReq 16
+
+/*
+ * Destroy Counter
+ */
+typedef struct _xSyncDestroyCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncDestroyCounterReq;
+#define sz_xSyncDestroyCounterReq 8
+
+/*
+ * Query Counter
+ */
+typedef struct _xSyncQueryCounterReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncCounter counter B32;
+} xSyncQueryCounterReq;
+#define sz_xSyncQueryCounterReq 8
+
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 value_hi B32;
+ CARD32 value_lo B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xSyncQueryCounterReply;
+#define sz_xSyncQueryCounterReply 32
+
+/*
+ * Await
+ */
+typedef struct _xSyncAwaitReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+} xSyncAwaitReq;
+#define sz_xSyncAwaitReq 4
+
+typedef struct _xSyncWaitCondition {
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 event_threshold_hi B32;
+ CARD32 event_threshold_lo B32;
+} xSyncWaitCondition;
+#define sz_xSyncWaitCondition 28
+
+/*
+ * Create Alarm
+ */
+typedef struct _xSyncCreateAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm id B32;
+ CARD32 valueMask B32;
+} xSyncCreateAlarmReq;
+#define sz_xSyncCreateAlarmReq 12
+
+/*
+ * Destroy Alarm
+ */
+typedef struct _xSyncDestroyAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncDestroyAlarmReq;
+#define sz_xSyncDestroyAlarmReq 8
+
+/*
+ * Query Alarm
+ */
+typedef struct _xSyncQueryAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+} xSyncQueryAlarmReq;
+#define sz_xSyncQueryAlarmReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ XSyncCounter counter B32;
+ CARD32 value_type B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ CARD32 test_type B32;
+ INT32 delta_hi B32;
+ CARD32 delta_lo B32;
+ BOOL events;
+ BYTE state;
+ BYTE pad0;
+ BYTE pad1;
+} xSyncQueryAlarmReply;
+#define sz_xSyncQueryAlarmReply 40
+
+/*
+ * Change Alarm
+ */
+typedef struct _xSyncChangeAlarmReq {
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ XSyncAlarm alarm B32;
+ CARD32 valueMask B32;
+} xSyncChangeAlarmReq;
+#define sz_xSyncChangeAlarmReq 12
+
+/*
+ * SetPriority
+ */
+typedef struct _xSyncSetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32;
+ INT32 priority B32;
+} xSyncSetPriorityReq;
+#define sz_xSyncSetPriorityReq 12
+
+/*
+ * Get Priority
+ */
+typedef struct _xSyncGetPriority{
+ CARD8 reqType;
+ CARD8 syncReqType;
+ CARD16 length B16;
+ CARD32 id B32; /*XXX XID? */
+} xSyncGetPriorityReq;
+#define sz_xSyncGetPriorityReq 8
+
+typedef struct {
+ BYTE type;
+ CARD8 unused;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ INT32 priority B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xSyncGetPriorityReply;
+#define sz_xSyncGetPriorityReply 32
+
+/*
+ * Events
+ */
+
+typedef struct _xSyncCounterNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncCounter counter B32;
+ INT32 wait_value_hi B32;
+ CARD32 wait_value_lo B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ CARD32 time B32;
+ CARD16 count B16;
+ BOOL destroyed;
+ BYTE pad0;
+} xSyncCounterNotifyEvent;
+
+typedef struct _xSyncAlarmNotifyEvent {
+ BYTE type;
+ BYTE kind;
+ CARD16 sequenceNumber B16;
+ XSyncAlarm alarm B32;
+ INT32 counter_value_hi B32;
+ CARD32 counter_value_lo B32;
+ INT32 alarm_value_hi B32;
+ CARD32 alarm_value_lo B32;
+ CARD32 time B32;
+ CARD8 state;
+ BYTE pad0;
+ BYTE pad1;
+ BYTE pad2;
+} xSyncAlarmNotifyEvent;
+
+#undef XSyncCounter
+#undef XSyncAlarm
+
+
+#endif /* _SYNCPROTO_H_ */
diff --git a/xextproto/syncstr.h b/xextproto/syncstr.h
new file mode 100644
index 0000000..87697a2
--- /dev/null
+++ b/xextproto/syncstr.h
@@ -0,0 +1,184 @@
+/* $Xorg: syncstr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */
+/*
+
+Copyright 1991, 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/***********************************************************
+Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
+and Olivetti Research Limited, Cambridge, England.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Digital or Olivetti
+not be used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+/* $XFree86: xc/include/extensions/syncstr.h,v 1.3 2003/07/16 01:38:24 dawes Exp $ */
+
+#ifndef _SYNCSTR_H_
+#define _SYNCSTR_H_
+
+#include <X11/extensions/syncproto.h>
+
+#ifdef _SYNC_SERVER
+
+#define CARD64 XSyncValue /* XXX temporary! need real 64 bit values for Alpha */
+
+typedef struct _SyncCounter {
+ ClientPtr client; /* Owning client. 0 for system counters */
+ XSyncCounter id; /* resource ID */
+ CARD64 value; /* counter value */
+ struct _SyncTriggerList *pTriglist; /* list of triggers */
+ Bool beingDestroyed; /* in process of going away */
+ struct _SysCounterInfo *pSysCounterInfo; /* NULL if not a system counter */
+} SyncCounter;
+
+/*
+ * The System Counter interface
+ */
+
+typedef enum {
+ XSyncCounterNeverChanges,
+ XSyncCounterNeverIncreases,
+ XSyncCounterNeverDecreases,
+ XSyncCounterUnrestricted
+} SyncCounterType;
+
+typedef struct _SysCounterInfo {
+ char *name;
+ CARD64 resolution;
+ CARD64 bracket_greater;
+ CARD64 bracket_less;
+ SyncCounterType counterType; /* how can this counter change */
+ void (*QueryValue)(
+ pointer /*pCounter*/,
+ CARD64 * /*freshvalue*/
+);
+ void (*BracketValues)(
+ pointer /*pCounter*/,
+ CARD64 * /*lessthan*/,
+ CARD64 * /*greaterthan*/
+);
+} SysCounterInfo;
+
+
+
+typedef struct _SyncTrigger {
+ SyncCounter *pCounter;
+ CARD64 wait_value; /* wait value */
+ unsigned int value_type; /* Absolute or Relative */
+ unsigned int test_type; /* transition or Comparision type */
+ CARD64 test_value; /* trigger event threshold value */
+ Bool (*CheckTrigger)(
+ struct _SyncTrigger * /*pTrigger*/,
+ CARD64 /*newval*/
+ );
+ void (*TriggerFired)(
+ struct _SyncTrigger * /*pTrigger*/
+ );
+ void (*CounterDestroyed)(
+ struct _SyncTrigger * /*pTrigger*/
+ );
+} SyncTrigger;
+
+typedef struct _SyncTriggerList {
+ SyncTrigger *pTrigger;
+ struct _SyncTriggerList *next;
+} SyncTriggerList;
+
+typedef struct _SyncAlarmClientList {
+ ClientPtr client;
+ XID delete_id;
+ struct _SyncAlarmClientList *next;
+} SyncAlarmClientList;
+
+typedef struct _SyncAlarm {
+ SyncTrigger trigger;
+ ClientPtr client;
+ XSyncAlarm alarm_id;
+ CARD64 delta;
+ int events;
+ int state;
+ SyncAlarmClientList *pEventClients;
+} SyncAlarm;
+
+typedef struct {
+ ClientPtr client;
+ CARD32 delete_id;
+ int num_waitconditions;
+} SyncAwaitHeader;
+
+typedef struct {
+ SyncTrigger trigger;
+ CARD64 event_threshold;
+ SyncAwaitHeader *pHeader;
+} SyncAwait;
+
+typedef union {
+ SyncAwaitHeader header;
+ SyncAwait await;
+} SyncAwaitUnion;
+
+
+extern pointer SyncCreateSystemCounter(
+ char * /* name */,
+ CARD64 /* inital_value */,
+ CARD64 /* resolution */,
+ SyncCounterType /* change characterization */,
+ void (* /*QueryValue*/ ) (
+ pointer /* pCounter */,
+ CARD64 * /* pValue_return */), /* XXX prototype */
+ void (* /*BracketValues*/) (
+ pointer /* pCounter */,
+ CARD64 * /* pbracket_less */,
+ CARD64 * /* pbracket_greater */)
+);
+
+extern void SyncChangeCounter(
+ SyncCounter * /* pCounter*/,
+ CARD64 /* new_value */
+);
+
+extern void SyncDestroySystemCounter(
+ pointer pCounter
+);
+extern void InitServertime(void);
+
+#endif /* _SYNC_SERVER */
+
+#endif /* _SYNCSTR_H_ */
diff --git a/xextproto/xextproto.pc.in b/xextproto/xextproto.pc.in
new file mode 100644
index 0000000..e85200f
--- /dev/null
+++ b/xextproto/xextproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XExtProto
+Description: XExt extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xextproto/xtestconst.h b/xextproto/xtestconst.h
new file mode 100644
index 0000000..e74b904
--- /dev/null
+++ b/xextproto/xtestconst.h
@@ -0,0 +1,41 @@
+/*
+
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XTEST_CONST_H_
+#define _XTEST_CONST_H_
+
+#define XTestNumberEvents 0
+
+#define XTestNumberErrors 0
+
+#define XTestCurrentCursor ((Cursor)1)
+
+#define XTestMajorVersion 2
+#define XTestMinorVersion 2
+
+#define XTestExtensionName "XTEST"
+
+#endif
diff --git a/xextproto/xtestext1const.h b/xextproto/xtestext1const.h
new file mode 100644
index 0000000..656edc6
--- /dev/null
+++ b/xextproto/xtestext1const.h
@@ -0,0 +1,160 @@
+/*
+ * xtestext1.h
+ *
+ * X11 Input Synthesis Extension include file
+ */
+
+/*
+
+
+Copyright 1986, 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+*/
+
+#ifndef _XTESTEXT1CONST_H
+#define _XTESTEXT1CONST_H 1
+
+#define XTestMAX_ACTION_LIST_SIZE 64
+#define XTestACTIONS_SIZE 28
+
+
+/*
+ * used in the XTestPressButton and XTestPressKey functions
+ */
+#define XTestPRESS 1 << 0
+#define XTestRELEASE 1 << 1
+#define XTestSTROKE 1 << 2
+
+/*
+ * When doing a key or button stroke, the number of milliseconds
+ * to delay between the press and the release of a key or button
+ * in the XTestPressButton and XTestPressKey functions.
+ */
+
+#define XTestSTROKE_DELAY_TIME 10
+
+/*
+ * used in the XTestGetInput function
+ */
+#define XTestEXCLUSIVE 1 << 0
+#define XTestPACKED_ACTIONS 1 << 1
+#define XTestPACKED_MOTION 1 << 2
+
+/*
+ * used in the XTestFakeInput function
+ */
+#define XTestFAKE_ACK_NOT_NEEDED 0
+#define XTestFAKE_ACK_REQUEST 1
+
+/*
+ * used in the XTest extension initialization routine
+ */
+#define XTestEXTENSION_NAME "XTestExtension1"
+#define XTestEVENT_COUNT 2
+
+/*
+ * This is the definition for the format of the header byte
+ * in the input action structures.
+ */
+#define XTestACTION_TYPE_MASK 0x03 /* bits 0 and 1 */
+#define XTestKEY_STATE_MASK 0x04 /* bit 2 (key action) */
+#define XTestX_SIGN_BIT_MASK 0x04 /* bit 2 (motion action) */
+#define XTestY_SIGN_BIT_MASK 0x08 /* bit 3 (motion action) */
+#define XTestDEVICE_ID_MASK 0xf0 /* bits 4 through 7 */
+
+#define XTestMAX_DEVICE_ID 0x0f
+#define XTestPackDeviceID(x) (((x) & XTestMAX_DEVICE_ID) << 4)
+#define XTestUnpackDeviceID(x) (((x) & XTestDEVICE_ID_MASK) >> 4)
+
+/*
+ * These are the possible action types.
+ */
+#define XTestDELAY_ACTION 0
+#define XTestKEY_ACTION 1
+#define XTestMOTION_ACTION 2
+#define XTestJUMP_ACTION 3
+
+/*
+ * These are the definitions for key/button motion input actions.
+ */
+#define XTestKEY_UP 0x04
+#define XTestKEY_DOWN 0x00
+
+/*
+ * These are the definitions for pointer relative motion input
+ * actions.
+ *
+ * The sign bits for the x and y relative motions are contained
+ * in the header byte. The x and y relative motions are packed
+ * into one byte to make things fit in 32 bits. If the relative
+ * motion range is larger than +/-15, use the pointer jump action.
+ */
+#define XTestMOTION_MAX 15
+#define XTestMOTION_MIN -15
+
+#define XTestX_NEGATIVE 0x04
+#define XTestY_NEGATIVE 0x08
+
+#define XTestX_MOTION_MASK 0x0f
+#define XTestY_MOTION_MASK 0xf0
+
+#define XTestPackXMotionValue(x) ((x) & XTestX_MOTION_MASK)
+#define XTestPackYMotionValue(x) (((x) << 4) & XTestY_MOTION_MASK)
+
+#define XTestUnpackXMotionValue(x) ((x) & XTestX_MOTION_MASK)
+#define XTestUnpackYMotionValue(x) (((x) & XTestY_MOTION_MASK) >> 4)
+/*
+ * These are the definitions for a long delay input action. It is
+ * used when more than XTestSHORT_DELAY_TIME milliseconds of delay
+ * (approximately one minute) is needed.
+ *
+ * The device ID for a delay is always set to XTestDELAY_DEVICE_ID.
+ * This guarantees that a header byte with a value of 0 is not
+ * a valid header, so it can be used as a flag to indicate that
+ * there are no more input actions in an XTestInputAction event.
+ */
+
+#define XTestSHORT_DELAY_TIME 0xffff
+#define XTestDELAY_DEVICE_ID 0x0f
+
+#endif /* _XTESTEXT1CONST_H */
diff --git a/xextproto/xtestext1proto.h b/xextproto/xtestext1proto.h
new file mode 100644
index 0000000..e9bdee0
--- /dev/null
+++ b/xextproto/xtestext1proto.h
@@ -0,0 +1,221 @@
+/*
+ * xtestext1.h
+ *
+ * X11 Input Synthesis Extension include file
+ */
+
+/*
+Copyright 1986, 1987, 1988, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+
+Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Hewlett-Packard not be used in
+advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose. It is provided
+"as is" without express or implied warranty.
+
+This software is not subject to any license of the American
+Telephone and Telegraph Company or of the Regents of the
+University of California.
+
+*/
+
+#ifndef _XTESTEXT1PROTO_H
+#define _XTESTEXT1PROTO_H 1
+
+#include <X11/extensions/xtestext1const.h>
+
+/*
+ * the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
+ */
+
+/*
+ * XTest request type values
+ *
+ * used in the XTest extension protocol requests
+ */
+#define X_TestFakeInput 1
+#define X_TestGetInput 2
+#define X_TestStopInput 3
+#define X_TestReset 4
+#define X_TestQueryInputSize 5
+
+/*
+ * This defines the maximum size of a list of input actions
+ * to be sent to the server. It should always be a multiple of
+ * 4 so that the entire xTestFakeInputReq structure size is a
+ * multiple of 4.
+ */
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestFakeInput */
+ CARD16 length B16; /* 2 + XTestMAX_ACTION_LIST_SIZE/4 */
+ CARD32 ack B32;
+ CARD8 action_list[XTestMAX_ACTION_LIST_SIZE];
+} xTestFakeInputReq;
+#define sz_xTestFakeInputReq (XTestMAX_ACTION_LIST_SIZE + 8)
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestGetInput */
+ CARD16 length B16; /* 2 */
+ CARD32 mode B32;
+} xTestGetInputReq;
+#define sz_xTestGetInputReq 8
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestStopInput */
+ CARD16 length B32; /* 1 */
+} xTestStopInputReq;
+#define sz_xTestStopInputReq 4
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestReset */
+ CARD16 length B16; /* 1 */
+} xTestResetReq;
+#define sz_xTestResetReq 4
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 XTestReqType; /* always X_TestQueryInputSize */
+ CARD16 length B16; /* 1 */
+} xTestQueryInputSizeReq;
+#define sz_xTestQueryInputSizeReq 4
+
+/*
+ * This is the definition of the reply for the xTestQueryInputSize
+ * request. It should remain the same minimum size as other replies
+ * (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always X_Reply */
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* always 0 */
+ CARD32 size_return B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xTestQueryInputSizeReply;
+
+/*
+ * This is the definition for the input action wire event structure.
+ * This event is sent to the client when the server has one or
+ * more user input actions to report to the client. It must
+ * remain the same size as all other wire events (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always XTestInputActionType */
+ CARD8 pad00;
+ CARD16 sequenceNumber B16;
+ CARD8 actions[XTestACTIONS_SIZE];
+} xTestInputActionEvent;
+
+/*
+ * This is the definition for the xTestFakeAck wire event structure.
+ * This event is sent to the client when the server has completely
+ * processed its input action buffer, and is ready for more.
+ * It must remain the same size as all other wire events (32 bytes).
+ */
+typedef struct {
+ CARD8 type; /* always XTestFakeAckType */
+ CARD8 pad00;
+ CARD16 sequenceNumber B16;
+ CARD32 pad02 B32;
+ CARD32 pad03 B32;
+ CARD32 pad04 B32;
+ CARD32 pad05 B32;
+ CARD32 pad06 B32;
+ CARD32 pad07 B32;
+ CARD32 pad08 B32;
+} xTestFakeAckEvent;
+
+/*
+ * These are the definitions for key/button motion input actions.
+ */
+typedef struct {
+ CARD8 header; /* which device, key up/down */
+ CARD8 keycode; /* which key/button to move */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestKeyInfo;
+
+/*
+ * This is the definition for pointer jump input actions.
+ */
+typedef struct {
+ CARD8 header; /* which pointer */
+ CARD8 pad1; /* unused padding byte */
+ CARD16 jumpx B16; /* x coord to jump to */
+ CARD16 jumpy B16; /* y coord to jump to */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestJumpInfo;
+
+/*
+ * These are the definitions for pointer relative motion input
+ * actions.
+ *
+ * The sign bits for the x and y relative motions are contained
+ * in the header byte. The x and y relative motions are packed
+ * into one byte to make things fit in 32 bits. If the relative
+ * motion range is larger than +/-15, use the pointer jump action.
+ */
+
+typedef struct {
+ CARD8 header; /* which pointer */
+ CARD8 motion_data; /* x,y relative motion */
+ CARD16 delay_time B16; /* how long to delay (in ms) */
+} XTestMotionInfo;
+
+/*
+ * These are the definitions for a long delay input action. It is
+ * used when more than XTestSHORT_DELAY_TIME milliseconds of delay
+ * (approximately one minute) is needed.
+ *
+ * The device ID for a delay is always set to XTestDELAY_DEVICE_ID.
+ * This guarantees that a header byte with a value of 0 is not
+ * a valid header, so it can be used as a flag to indicate that
+ * there are no more input actions in an XTestInputAction event.
+ */
+
+typedef struct {
+ CARD8 header; /* always XTestDELAY_DEVICE_ID */
+ CARD8 pad1; /* unused padding byte */
+ CARD16 pad2 B16; /* unused padding word */
+ CARD32 delay_time B32; /* how long to delay (in ms) */
+} XTestDelayInfo;
+
+#endif /* _XTESTEXT1PROTO_H */
diff --git a/xextproto/xtestproto.h b/xextproto/xtestproto.h
new file mode 100644
index 0000000..4f8db26
--- /dev/null
+++ b/xextproto/xtestproto.h
@@ -0,0 +1,124 @@
+/*
+
+Copyright 1992, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+#ifndef _XTESTPROTO_H_
+#define _XTESTPROTO_H_
+
+#include <X11/extensions/xtestconst.h>
+
+#define Window CARD32
+#define Time CARD32
+#define Cursor CARD32
+
+#define X_XTestGetVersion 0
+#define X_XTestCompareCursor 1
+#define X_XTestFakeInput 2
+#define X_XTestGrabControl 3
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestGetVersion */
+ CARD16 length B16;
+ CARD8 majorVersion;
+ CARD8 pad;
+ CARD16 minorVersion B16;
+} xXTestGetVersionReq;
+#define sz_xXTestGetVersionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 majorVersion;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 minorVersion B16;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXTestGetVersionReply;
+#define sz_xXTestGetVersionReply 32
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestCompareCursor */
+ CARD16 length B16;
+ Window window B32;
+ Cursor cursor B32;
+} xXTestCompareCursorReq;
+#define sz_xXTestCompareCursorReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL same;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad0 B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXTestCompareCursorReply;
+#define sz_xXTestCompareCursorReply 32
+
+/* used only on the client side */
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestFakeInput */
+ CARD16 length B16;
+ BYTE type;
+ BYTE detail;
+ CARD16 pad0 B16;
+ Time time B32;
+ Window root B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ INT16 rootX B16, rootY B16;
+ CARD32 pad3 B32;
+ CARD16 pad4 B16;
+ CARD8 pad5;
+ CARD8 deviceid;
+} xXTestFakeInputReq;
+#define sz_xXTestFakeInputReq 36
+
+typedef struct {
+ CARD8 reqType; /* always XTestReqCode */
+ CARD8 xtReqType; /* always X_XTestGrabControl */
+ CARD16 length B16;
+ BOOL impervious;
+ CARD8 pad0;
+ CARD8 pad1;
+ CARD8 pad2;
+} xXTestGrabControlReq;
+#define sz_xXTestGrabControlReq 8
+
+#undef Window
+#undef Time
+#undef Cursor
+
+#endif /* _XTESTPROTO_H_ */
diff --git a/xf86bigfontproto/.gitignore b/xf86bigfontproto/.gitignore
new file mode 100644
index 0000000..6318297
--- /dev/null
+++ b/xf86bigfontproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xf86bigfontproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xf86bigfontproto/COPYING b/xf86bigfontproto/COPYING
new file mode 100644
index 0000000..9f1e999
--- /dev/null
+++ b/xf86bigfontproto/COPYING
@@ -0,0 +1,20 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/xf86bigfontproto/Makefile.am b/xf86bigfontproto/Makefile.am
new file mode 100644
index 0000000..194214d
--- /dev/null
+++ b/xf86bigfontproto/Makefile.am
@@ -0,0 +1,21 @@
+xf86bigfontdir = $(includedir)/X11/extensions
+xf86bigfont_HEADERS = \
+ xf86bigfont.h \
+ xf86bigfproto.h \
+ xf86bigfstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xf86bigfontproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xf86bigfontproto/README b/xf86bigfontproto/README
new file mode 100644
index 0000000..734fa73
--- /dev/null
+++ b/xf86bigfontproto/README
@@ -0,0 +1,27 @@
+ XFree86 Bigfont Extension
+
+Extension name: XFree86-Bigfont
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xf86bigfontproto
+
+ http://cgit.freedesktop.org/xorg/proto/xf86bigfontproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xf86bigfontproto/autogen.sh b/xf86bigfontproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xf86bigfontproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xf86bigfontproto/configure.ac b/xf86bigfontproto/configure.ac
new file mode 100644
index 0000000..2f31d52
--- /dev/null
+++ b/xf86bigfontproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XF86BigFontProto], [1.2.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xf86bigfontproto.pc])
diff --git a/xf86bigfontproto/xf86bigfont.h b/xf86bigfontproto/xf86bigfont.h
new file mode 100644
index 0000000..1bf47e9
--- /dev/null
+++ b/xf86bigfontproto/xf86bigfont.h
@@ -0,0 +1,20 @@
+/*
+ * Declarations for the BIGFONT extension.
+ *
+ * Copyright (c) 1999-2000 Bruno Haible
+ * Copyright (c) 1999-2000 The XFree86 Project, Inc.
+ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _XF86BIGFONT_H_
+#define _XF86BIGFONT_H_
+
+#define X_XF86BigfontQueryVersion 0
+#define X_XF86BigfontQueryFont 1
+
+#define XF86BigfontNumberEvents 0
+
+#define XF86BigfontNumberErrors 0
+
+#endif /* _XF86BIGFONT_H_ */
diff --git a/xf86bigfontproto/xf86bigfontproto.pc.in b/xf86bigfontproto/xf86bigfontproto.pc.in
new file mode 100644
index 0000000..0db8c18
--- /dev/null
+++ b/xf86bigfontproto/xf86bigfontproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XF86BigFontProto
+Description: XF86BigFont extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xf86bigfontproto/xf86bigfproto.h b/xf86bigfontproto/xf86bigfproto.h
new file mode 100644
index 0000000..c041c9a
--- /dev/null
+++ b/xf86bigfontproto/xf86bigfproto.h
@@ -0,0 +1,92 @@
+/*
+ * Declarations of request structures for the BIGFONT extension.
+ *
+ * Copyright (c) 1999-2000 Bruno Haible
+ * Copyright (c) 1999-2000 The XFree86 Project, Inc.
+ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _XF86BIGFPROTO_H_
+#define _XF86BIGFPROTO_H_
+
+#include <X11/extensions/xf86bigfont.h>
+
+#define XF86BIGFONTNAME "XFree86-Bigfont"
+
+#define XF86BIGFONT_MAJOR_VERSION 1 /* current version numbers */
+#define XF86BIGFONT_MINOR_VERSION 1
+
+typedef struct _XF86BigfontQueryVersion {
+ CARD8 reqType; /* always XF86BigfontReqCode */
+ CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryVersion */
+ CARD16 length B16;
+} xXF86BigfontQueryVersionReq;
+#define sz_xXF86BigfontQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 capabilities;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of XFree86-Bigfont */
+ CARD16 minorVersion B16; /* minor version of XFree86-Bigfont */
+ CARD32 uid B32;
+ CARD32 gid B32;
+ CARD32 signature B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+} xXF86BigfontQueryVersionReply;
+#define sz_xXF86BigfontQueryVersionReply 32
+
+/* Bit masks that can be set in the capabilities */
+#define XF86Bigfont_CAP_LocalShm 1
+
+typedef struct _XF86BigfontQueryFont {
+ CARD8 reqType; /* always XF86BigfontReqCode */
+ CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryFont */
+ CARD16 length B16;
+ CARD32 id B32;
+ CARD32 flags B32;
+} xXF86BigfontQueryFontReq;
+#define sz_xXF86BigfontQueryFontReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ CARD8 pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ xCharInfo minBounds;
+#ifndef WORD64
+ CARD32 walign1 B32;
+#endif
+ xCharInfo maxBounds;
+#ifndef WORD64
+ CARD32 walign2 B32;
+#endif
+ CARD16 minCharOrByte2 B16;
+ CARD16 maxCharOrByte2 B16;
+ CARD16 defaultChar B16;
+ CARD16 nFontProps B16;
+ CARD8 drawDirection;
+ CARD8 minByte1;
+ CARD8 maxByte1;
+ BOOL allCharsExist;
+ INT16 fontAscent B16;
+ INT16 fontDescent B16;
+ CARD32 nCharInfos B32;
+ CARD32 nUniqCharInfos B32;
+ CARD32 shmid B32;
+ CARD32 shmsegoffset B32;
+ /* followed by nFontProps xFontProp structures */
+ /* and if nCharInfos > 0 && shmid == -1,
+ followed by nUniqCharInfos xCharInfo structures
+ and then by nCharInfos CARD16 indices (each >= 0, < nUniqCharInfos)
+ and then, if nCharInfos is odd, one more CARD16 for padding. */
+} xXF86BigfontQueryFontReply;
+#define sz_xXF86BigfontQueryFontReply 72
+
+/* Bit masks that can be set in the flags */
+#define XF86Bigfont_FLAGS_Shm 1
+
+#endif /* _XF86BIGFPROTO_H_ */
diff --git a/xf86bigfontproto/xf86bigfstr.h b/xf86bigfontproto/xf86bigfstr.h
new file mode 100644
index 0000000..cf6735d
--- /dev/null
+++ b/xf86bigfontproto/xf86bigfstr.h
@@ -0,0 +1,3 @@
+#warning "xf86bigfstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xf86bigfproto.h> for the protocol defines."
+#include <X11/extensions/xf86bigfproto.h>
diff --git a/xf86dgaproto/.gitignore b/xf86dgaproto/.gitignore
new file mode 100644
index 0000000..9d2fb50
--- /dev/null
+++ b/xf86dgaproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xf86dgaproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xf86dgaproto/COPYING b/xf86dgaproto/COPYING
new file mode 100644
index 0000000..9f1e999
--- /dev/null
+++ b/xf86dgaproto/COPYING
@@ -0,0 +1,20 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/xf86dgaproto/Makefile.am b/xf86dgaproto/Makefile.am
new file mode 100644
index 0000000..f110254
--- /dev/null
+++ b/xf86dgaproto/Makefile.am
@@ -0,0 +1,25 @@
+xf86dgadir = $(includedir)/X11/extensions
+xf86dga_HEADERS = \
+ xf86dga.h \
+ xf86dga1const.h \
+ xf86dga1str.h \
+ xf86dga1proto.h \
+ xf86dgaconst.h \
+ xf86dgaproto.h \
+ xf86dgastr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xf86dgaproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xf86dgaproto/README b/xf86dgaproto/README
new file mode 100644
index 0000000..81a8718
--- /dev/null
+++ b/xf86dgaproto/README
@@ -0,0 +1,29 @@
+ XFree86 Direct Graphic Access Extension
+
+This extension defines a protocol for direct linear framebuffer access.
+
+Extension name: XFree86-DGA
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xf86dgaproto
+
+ http://cgit.freedesktop.org/xorg/proto/xf86dgaproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xf86dgaproto/autogen.sh b/xf86dgaproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xf86dgaproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xf86dgaproto/configure.ac b/xf86dgaproto/configure.ac
new file mode 100644
index 0000000..9ff845f
--- /dev/null
+++ b/xf86dgaproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XF86DGAProto], [2.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xf86dgaproto.pc])
diff --git a/xf86dgaproto/xf86dga.h b/xf86dgaproto/xf86dga.h
new file mode 100644
index 0000000..7b5d635
--- /dev/null
+++ b/xf86dgaproto/xf86dga.h
@@ -0,0 +1,13 @@
+#ifdef _XF86DGA_SERVER_
+
+#warning "xf86dga.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xf86dgaconst.h> instead."
+#include <X11/extensions/xf86dgaconst.h>
+
+#else
+
+#warning "xf86dga.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/Xxf86dga.h> instead."
+#include <X11/extensions/Xxf86dga.h>
+
+#endif
diff --git a/xf86dgaproto/xf86dga1const.h b/xf86dgaproto/xf86dga1const.h
new file mode 100644
index 0000000..eca06f6
--- /dev/null
+++ b/xf86dgaproto/xf86dga1const.h
@@ -0,0 +1,36 @@
+/*
+
+Copyright (c) 1995 Jon Tombs
+Copyright (c) 1995 XFree86 Inc
+
+*/
+
+/************************************************************************
+
+ THIS IS THE OLD DGA API AND IS OBSOLETE. PLEASE DO NOT USE IT ANYMORE
+
+************************************************************************/
+
+#ifndef _XF86DGA1CONST_H_
+#define _XF86DGA1CONST_H_
+
+#define X_XF86DGAQueryVersion 0
+#define X_XF86DGAGetVideoLL 1
+#define X_XF86DGADirectVideo 2
+#define X_XF86DGAGetViewPortSize 3
+#define X_XF86DGASetViewPort 4
+#define X_XF86DGAGetVidPage 5
+#define X_XF86DGASetVidPage 6
+#define X_XF86DGAInstallColormap 7
+#define X_XF86DGAQueryDirectVideo 8
+#define X_XF86DGAViewPortChanged 9
+
+#define XF86DGADirectPresent 0x0001
+#define XF86DGADirectGraphics 0x0002
+#define XF86DGADirectMouse 0x0004
+#define XF86DGADirectKeyb 0x0008
+#define XF86DGAHasColormap 0x0100
+#define XF86DGADirectColormap 0x0200
+
+
+#endif /* _XF86DGA1CONST_H_ */
diff --git a/xf86dgaproto/xf86dga1proto.h b/xf86dgaproto/xf86dga1proto.h
new file mode 100644
index 0000000..5c53cb2
--- /dev/null
+++ b/xf86dgaproto/xf86dga1proto.h
@@ -0,0 +1,195 @@
+/*
+
+Copyright (c) 1995 Jon Tombs
+Copyright (c) 1995 XFree86 Inc.
+
+*/
+
+#ifndef _XF86DGAPROTO1_H_
+#define _XF86DGAPROTO1_H_
+
+#include <X11/extensions/xf86dga1const.h>
+
+typedef struct _XF86DGAQueryVersion {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_DGAQueryVersion */
+ CARD16 length B16;
+} xXF86DGAQueryVersionReq;
+#define sz_xXF86DGAQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of DGA protocol */
+ CARD16 minorVersion B16; /* minor version of DGA protocol */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DGAQueryVersionReply;
+#define sz_xXF86DGAQueryVersionReply 32
+
+typedef struct _XF86DGAGetVideoLL {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGAGetVideoLL */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86DGAGetVideoLLReq;
+#define sz_xXF86DGAGetVideoLLReq 8
+
+typedef struct _XF86DGAInstallColormap{
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad2;
+ CARD32 id B32; /* colormap. */
+} xXF86DGAInstallColormapReq;
+#define sz_xXF86DGAInstallColormapReq 12
+
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 offset B32;
+ CARD32 width B32;
+ CARD32 bank_size B32;
+ CARD32 ram_size B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86DGAGetVideoLLReply;
+#define sz_xXF86DGAGetVideoLLReply 32
+
+typedef struct _XF86DGADirectVideo {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGADirectVideo */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 enable B16;
+} xXF86DGADirectVideoReq;
+#define sz_xXF86DGADirectVideoReq 8
+
+
+typedef struct _XF86DGAGetViewPortSize {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGAGetViewPort */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86DGAGetViewPortSizeReq;
+#define sz_xXF86DGAGetViewPortSizeReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 width B32;
+ CARD32 height B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86DGAGetViewPortSizeReply;
+#define sz_xXF86DGAGetViewPortSizeReply 32
+
+typedef struct _XF86DGASetViewPort {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGASetViewPort */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+ CARD32 x B32;
+ CARD32 y B32;
+} xXF86DGASetViewPortReq;
+#define sz_xXF86DGASetViewPortReq 16
+
+typedef struct _XF86DGAGetVidPage {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGAGetVidPage */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86DGAGetVidPageReq;
+#define sz_xXF86DGAGetVidPageReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 vpage B32;
+ CARD32 pad B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86DGAGetVidPageReply;
+#define sz_xXF86DGAGetVidPageReply 32
+
+
+typedef struct _XF86DGASetVidPage {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_XF86DGASetVidPage */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 vpage B16;
+} xXF86DGASetVidPageReq;
+#define sz_xXF86DGASetVidPageReq 8
+
+
+typedef struct _XF86DGAQueryDirectVideo {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_DGAQueryVersion */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86DGAQueryDirectVideoReq;
+#define sz_xXF86DGAQueryDirectVideoReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 flags B32;
+ CARD32 pad B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86DGAQueryDirectVideoReply;
+#define sz_xXF86DGAQueryDirectVideoReply 32
+
+
+typedef struct _XF86DGAViewPortChanged {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_DGAQueryVersion */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 n B16;
+} xXF86DGAViewPortChangedReq;
+#define sz_xXF86DGAViewPortChangedReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 result B32;
+ CARD32 pad B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86DGAViewPortChangedReply;
+#define sz_xXF86DGAViewPortChangedReply 32
+
+#endif /* _XF86DGAPROTO1_H_ */
+
diff --git a/xf86dgaproto/xf86dga1str.h b/xf86dgaproto/xf86dga1str.h
new file mode 100644
index 0000000..d8e73e8
--- /dev/null
+++ b/xf86dgaproto/xf86dga1str.h
@@ -0,0 +1,3 @@
+#warning "xf86dga1str.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xf86dga1proto.h> for the protocol defines."
+#include <X11/extensions/xf86dga1proto.h>
diff --git a/xf86dgaproto/xf86dgaconst.h b/xf86dgaproto/xf86dgaconst.h
new file mode 100644
index 0000000..63829bc
--- /dev/null
+++ b/xf86dgaproto/xf86dgaconst.h
@@ -0,0 +1,96 @@
+/*
+ Copyright (c) 1999 XFree86 Inc
+*/
+
+#ifndef _XF86DGACONST_H_
+#define _XF86DGACONST_H_
+
+#include <X11/extensions/xf86dga1const.h>
+
+#define X_XDGAQueryVersion 0
+
+/* 1 through 9 are in xf86dga1.h */
+
+/* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */
+
+#define X_XDGAQueryModes 12
+#define X_XDGASetMode 13
+#define X_XDGASetViewport 14
+#define X_XDGAInstallColormap 15
+#define X_XDGASelectInput 16
+#define X_XDGAFillRectangle 17
+#define X_XDGACopyArea 18
+#define X_XDGACopyTransparentArea 19
+#define X_XDGAGetViewportStatus 20
+#define X_XDGASync 21
+#define X_XDGAOpenFramebuffer 22
+#define X_XDGACloseFramebuffer 23
+#define X_XDGASetClientVersion 24
+#define X_XDGAChangePixmapMode 25
+#define X_XDGACreateColormap 26
+
+
+#define XDGAConcurrentAccess 0x00000001
+#define XDGASolidFillRect 0x00000002
+#define XDGABlitRect 0x00000004
+#define XDGABlitTransRect 0x00000008
+#define XDGAPixmap 0x00000010
+
+#define XDGAInterlaced 0x00010000
+#define XDGADoublescan 0x00020000
+
+#define XDGAFlipImmediate 0x00000001
+#define XDGAFlipRetrace 0x00000002
+
+#define XDGANeedRoot 0x00000001
+
+#define XF86DGANumberEvents 7
+
+#define XDGAPixmapModeLarge 0
+#define XDGAPixmapModeSmall 1
+
+#define XF86DGAClientNotLocal 0
+#define XF86DGANoDirectVideoMode 1
+#define XF86DGAScreenNotActive 2
+#define XF86DGADirectNotActivated 3
+#define XF86DGAOperationNotSupported 4
+#define XF86DGANumberErrors (XF86DGAOperationNotSupported + 1)
+
+
+typedef struct {
+ int num; /* A unique identifier for the mode (num > 0) */
+ char *name; /* name of mode given in the XF86Config */
+ float verticalRefresh;
+ int flags; /* DGA_CONCURRENT_ACCESS, etc... */
+ int imageWidth; /* linear accessible portion (pixels) */
+ int imageHeight;
+ int pixmapWidth; /* Xlib accessible portion (pixels) */
+ int pixmapHeight; /* both fields ignored if no concurrent access */
+ int bytesPerScanline;
+ int byteOrder; /* MSBFirst, LSBFirst */
+ int depth;
+ int bitsPerPixel;
+ unsigned long redMask;
+ unsigned long greenMask;
+ unsigned long blueMask;
+ short visualClass;
+ int viewportWidth;
+ int viewportHeight;
+ int xViewportStep; /* viewport position granularity */
+ int yViewportStep;
+ int maxViewportX; /* max viewport origin */
+ int maxViewportY;
+ int viewportFlags; /* types of page flipping possible */
+ int reserved1;
+ int reserved2;
+} XDGAMode;
+
+
+typedef struct {
+ XDGAMode mode;
+ unsigned char *data;
+ Pixmap pixmap;
+} XDGADevice;
+
+
+#endif /* _XF86DGACONST_H_ */
diff --git a/xf86dgaproto/xf86dgaproto.h b/xf86dgaproto/xf86dgaproto.h
new file mode 100644
index 0000000..8b7f13d
--- /dev/null
+++ b/xf86dgaproto/xf86dgaproto.h
@@ -0,0 +1,344 @@
+/*
+
+Copyright (c) 1995 Jon Tombs
+Copyright (c) 1995 XFree86 Inc.
+
+*/
+
+#ifndef _XF86DGAPROTO_H_
+#define _XF86DGAPROTO_H_
+
+#include <X11/extensions/xf86dga1proto.h>
+#include <X11/extensions/xf86dgaconst.h>
+
+#define XF86DGANAME "XFree86-DGA"
+
+#define XDGA_MAJOR_VERSION 2 /* current version numbers */
+#define XDGA_MINOR_VERSION 0
+
+
+typedef struct _XDGAQueryVersion {
+ CARD8 reqType; /* always DGAReqCode */
+ CARD8 dgaReqType; /* always X_DGAQueryVersion */
+ CARD16 length B16;
+} xXDGAQueryVersionReq;
+#define sz_xXDGAQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of DGA protocol */
+ CARD16 minorVersion B16; /* minor version of DGA protocol */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXDGAQueryVersionReply;
+#define sz_xXDGAQueryVersionReply 32
+
+typedef struct _XDGAQueryModes {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXDGAQueryModesReq;
+#define sz_xXDGAQueryModesReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 number B32; /* number of modes available */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXDGAQueryModesReply;
+#define sz_xXDGAQueryModesReply 32
+
+
+typedef struct _XDGASetMode {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 mode B32; /* mode number to init */
+ CARD32 pid B32; /* Pixmap descriptor */
+} xXDGASetModeReq;
+#define sz_xXDGASetModeReq 16
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 offset B32; /* offset into framebuffer map */
+ CARD32 flags B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXDGASetModeReply;
+#define sz_xXDGASetModeReply 32
+
+typedef struct {
+ CARD8 byte_order;
+ CARD8 depth;
+ CARD16 num B16;
+ CARD16 bpp B16;
+ CARD16 name_size B16;
+ CARD32 vsync_num B32;
+ CARD32 vsync_den B32;
+ CARD32 flags B32;
+ CARD16 image_width B16;
+ CARD16 image_height B16;
+ CARD16 pixmap_width B16;
+ CARD16 pixmap_height B16;
+ CARD32 bytes_per_scanline B32;
+ CARD32 red_mask B32;
+ CARD32 green_mask B32;
+ CARD32 blue_mask B32;
+ CARD16 visual_class B16;
+ CARD16 pad1 B16;
+ CARD16 viewport_width B16;
+ CARD16 viewport_height B16;
+ CARD16 viewport_xstep B16;
+ CARD16 viewport_ystep B16;
+ CARD16 viewport_xmax B16;
+ CARD16 viewport_ymax B16;
+ CARD32 viewport_flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+} xXDGAModeInfo;
+#define sz_xXDGAModeInfo 72
+
+typedef struct _XDGAOpenFramebuffer {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXDGAOpenFramebufferReq;
+#define sz_xXDGAOpenFramebufferReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32; /* device name size if there is one */
+ CARD32 mem1 B32; /* physical memory */
+ CARD32 mem2 B32; /* spillover for _alpha_ */
+ CARD32 size B32; /* size of map in bytes */
+ CARD32 offset B32; /* optional offset into device */
+ CARD32 extra B32; /* extra info associated with the map */
+ CARD32 pad2 B32;
+} xXDGAOpenFramebufferReply;
+#define sz_xXDGAOpenFramebufferReply 32
+
+
+typedef struct _XDGACloseFramebuffer {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXDGACloseFramebufferReq;
+#define sz_xXDGACloseFramebufferReq 8
+
+
+typedef struct _XDGASetViewport {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD32 flags B32;
+} xXDGASetViewportReq;
+#define sz_xXDGASetViewportReq 16
+
+
+typedef struct _XDGAInstallColormap {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 cmap B32;
+} xXDGAInstallColormapReq;
+#define sz_xXDGAInstallColormapReq 12
+
+typedef struct _XDGASelectInput {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 mask B32;
+} xXDGASelectInputReq;
+#define sz_xXDGASelectInputReq 12
+
+typedef struct _XDGAFillRectangle {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD32 color B32;
+} xXDGAFillRectangleReq;
+#define sz_xXDGAFillRectangleReq 20
+
+
+typedef struct _XDGACopyArea {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD16 srcx B16;
+ CARD16 srcy B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 dstx B16;
+ CARD16 dsty B16;
+} xXDGACopyAreaReq;
+#define sz_xXDGACopyAreaReq 20
+
+typedef struct _XDGACopyTransparentArea {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD16 srcx B16;
+ CARD16 srcy B16;
+ CARD16 width B16;
+ CARD16 height B16;
+ CARD16 dstx B16;
+ CARD16 dsty B16;
+ CARD32 key B32;
+} xXDGACopyTransparentAreaReq;
+#define sz_xXDGACopyTransparentAreaReq 24
+
+
+typedef struct _XDGAGetViewportStatus {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXDGAGetViewportStatusReq;
+#define sz_xXDGAGetViewportStatusReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXDGAGetViewportStatusReply;
+#define sz_xXDGAGetViewportStatusReply 32
+
+typedef struct _XDGASync {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXDGASyncReq;
+#define sz_xXDGASyncReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXDGASyncReply;
+#define sz_xXDGASyncReply 32
+
+typedef struct _XDGASetClientVersion {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD16 major B16;
+ CARD16 minor B16;
+} xXDGASetClientVersionReq;
+#define sz_xXDGASetClientVersionReq 8
+
+
+typedef struct {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD32 flags B32;
+} xXDGAChangePixmapModeReq;
+#define sz_xXDGAChangePixmapModeReq 16
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 x B16;
+ CARD16 y B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXDGAChangePixmapModeReply;
+#define sz_xXDGAChangePixmapModeReply 32
+
+typedef struct _XDGACreateColormap {
+ CARD8 reqType;
+ CARD8 dgaReqType;
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 id B32;
+ CARD32 mode B32;
+ CARD8 alloc;
+ CARD8 pad1;
+ CARD16 pad2;
+} xXDGACreateColormapReq;
+#define sz_xXDGACreateColormapReq 20
+
+
+typedef struct {
+ union {
+ struct {
+ BYTE type;
+ BYTE detail;
+ CARD16 sequenceNumber B16;
+ } u;
+ struct {
+ CARD32 pad0 B32;
+ CARD32 time B32;
+ INT16 dx B16;
+ INT16 dy B16;
+ INT16 screen B16;
+ CARD16 state B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ } event;
+ } u;
+} dgaEvent;
+
+
+#endif /* _XF86DGAPROTO_H_ */
+
diff --git a/xf86dgaproto/xf86dgaproto.pc.in b/xf86dgaproto/xf86dgaproto.pc.in
new file mode 100644
index 0000000..fd1fc6e
--- /dev/null
+++ b/xf86dgaproto/xf86dgaproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XF86DGAProto
+Description: XF86DGA extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xf86dgaproto/xf86dgastr.h b/xf86dgaproto/xf86dgastr.h
new file mode 100644
index 0000000..f4809d1
--- /dev/null
+++ b/xf86dgaproto/xf86dgastr.h
@@ -0,0 +1,3 @@
+#warning "xf86dgastr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xf86dgaproto.h> for the protocol defines."
+#include <X11/extensions/xf86dgaproto.h>
diff --git a/xf86driproto/.gitignore b/xf86driproto/.gitignore
new file mode 100644
index 0000000..d20f2c0
--- /dev/null
+++ b/xf86driproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xf86driproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xf86driproto/COPYING b/xf86driproto/COPYING
new file mode 100644
index 0000000..26b6878
--- /dev/null
+++ b/xf86driproto/COPYING
@@ -0,0 +1,24 @@
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/xf86driproto/Makefile.am b/xf86driproto/Makefile.am
new file mode 100644
index 0000000..43c85af
--- /dev/null
+++ b/xf86driproto/Makefile.am
@@ -0,0 +1,18 @@
+xf86dridir = $(includedir)/X11/dri
+xf86dri_HEADERS = xf86dri.h xf86dristr.h xf86driproto.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xf86driproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xf86driproto/README b/xf86driproto/README
new file mode 100644
index 0000000..fc7a2d7
--- /dev/null
+++ b/xf86driproto/README
@@ -0,0 +1,30 @@
+ XFree86 Direct Rendering Infrastructure Extension
+
+This extension defines a protocol to allow user applications to access
+the video hardware without requiring data to be passed through the X server.
+
+Extension name: XFree86-DRI
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xf86driproto
+
+ http://cgit.freedesktop.org/xorg/proto/xf86driproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xf86driproto/autogen.sh b/xf86driproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xf86driproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xf86driproto/configure.ac b/xf86driproto/configure.ac
new file mode 100644
index 0000000..c7980cc
--- /dev/null
+++ b/xf86driproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XF86DRIProto], [2.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xf86driproto.pc])
diff --git a/xf86driproto/xf86dri.h b/xf86driproto/xf86dri.h
new file mode 100644
index 0000000..00fb8ba
--- /dev/null
+++ b/xf86driproto/xf86dri.h
@@ -0,0 +1,65 @@
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/**
+ * \file xf86dri.h
+ * Protocol numbers and function prototypes for DRI X protocol.
+ *
+ * \author Kevin E. Martin <martin@valinux.com>
+ * \author Jens Owen <jens@tungstengraphics.com>
+ * \author Rickard E. (Rik) Faith <faith@valinux.com>
+ */
+
+#ifndef _XF86DRI_H_
+#define _XF86DRI_H_
+
+#include <xf86drm.h>
+
+#define X_XF86DRIQueryVersion 0
+#define X_XF86DRIQueryDirectRenderingCapable 1
+#define X_XF86DRIOpenConnection 2
+#define X_XF86DRICloseConnection 3
+#define X_XF86DRIGetClientDriverName 4
+#define X_XF86DRICreateContext 5
+#define X_XF86DRIDestroyContext 6
+#define X_XF86DRICreateDrawable 7
+#define X_XF86DRIDestroyDrawable 8
+#define X_XF86DRIGetDrawableInfo 9
+#define X_XF86DRIGetDeviceInfo 10
+#define X_XF86DRIAuthConnection 11
+#define X_XF86DRIOpenFullScreen 12 /* Deprecated */
+#define X_XF86DRICloseFullScreen 13 /* Deprecated */
+
+#define XF86DRINumberEvents 0
+
+#define XF86DRIClientNotLocal 0
+#define XF86DRIOperationNotSupported 1
+#define XF86DRINumberErrors (XF86DRIOperationNotSupported + 1)
+
+#endif /* _XF86DRI_H_ */
+
diff --git a/xf86driproto/xf86driproto.h b/xf86driproto/xf86driproto.h
new file mode 100644
index 0000000..b834bd1
--- /dev/null
+++ b/xf86driproto/xf86driproto.h
@@ -0,0 +1,342 @@
+/**************************************************************************
+
+Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
+Copyright 2000 VA Linux Systems, Inc.
+All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sub license, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice (including the
+next paragraph) shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+**************************************************************************/
+
+/*
+ * Authors:
+ * Kevin E. Martin <martin@valinux.com>
+ * Jens Owen <jens@tungstengraphics.com>
+ * Rickard E. (Rik) Fiath <faith@valinux.com>
+ *
+ */
+
+#ifndef _XF86DRISTR_H_
+#define _XF86DRISTR_H_
+
+#include "xf86dri.h"
+
+#define XF86DRINAME "XFree86-DRI"
+
+/* The DRI version number. This was originally set to be the same of the
+ * XFree86 version number. However, this version is really indepedent of
+ * the XFree86 version.
+ *
+ * Version History:
+ * 4.0.0: Original
+ * 4.0.1: Patch to bump clipstamp when windows are destroyed, 28 May 02
+ * 4.1.0: Add transition from single to multi in DRMInfo rec, 24 Jun 02
+ */
+#define XF86DRI_MAJOR_VERSION 4
+#define XF86DRI_MINOR_VERSION 1
+#define XF86DRI_PATCH_VERSION 0
+
+typedef struct _XF86DRIQueryVersion {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIQueryVersion */
+ CARD16 length B16;
+} xXF86DRIQueryVersionReq;
+#define sz_xXF86DRIQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of DRI protocol */
+ CARD16 minorVersion B16; /* minor version of DRI protocol */
+ CARD32 patchVersion B32; /* patch version of DRI protocol */
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRIQueryVersionReply;
+#define sz_xXF86DRIQueryVersionReply 32
+
+typedef struct _XF86DRIQueryDirectRenderingCapable {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXF86DRIQueryDirectRenderingCapableReq;
+#define sz_xXF86DRIQueryDirectRenderingCapableReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ BOOL isCapable;
+ BOOL pad2;
+ BOOL pad3;
+ BOOL pad4;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ CARD32 pad8 B32;
+ CARD32 pad9 B32;
+} xXF86DRIQueryDirectRenderingCapableReply;
+#define sz_xXF86DRIQueryDirectRenderingCapableReply 32
+
+typedef struct _XF86DRIOpenConnection {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIOpenConnection */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXF86DRIOpenConnectionReq;
+#define sz_xXF86DRIOpenConnectionReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 hSAREALow B32;
+ CARD32 hSAREAHigh B32;
+ CARD32 busIdStringLength B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+ CARD32 pad8 B32;
+} xXF86DRIOpenConnectionReply;
+#define sz_xXF86DRIOpenConnectionReply 32
+
+typedef struct _XF86DRIAuthConnection {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICloseConnection */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 magic B32;
+} xXF86DRIAuthConnectionReq;
+#define sz_xXF86DRIAuthConnectionReq 12
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 authenticated B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRIAuthConnectionReply;
+#define zx_xXF86DRIAuthConnectionReply 32
+
+typedef struct _XF86DRICloseConnection {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICloseConnection */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXF86DRICloseConnectionReq;
+#define sz_xXF86DRICloseConnectionReq 8
+
+typedef struct _XF86DRIGetClientDriverName {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIGetClientDriverName */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXF86DRIGetClientDriverNameReq;
+#define sz_xXF86DRIGetClientDriverNameReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 ddxDriverMajorVersion B32;
+ CARD32 ddxDriverMinorVersion B32;
+ CARD32 ddxDriverPatchVersion B32;
+ CARD32 clientDriverNameLength B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRIGetClientDriverNameReply;
+#define sz_xXF86DRIGetClientDriverNameReply 32
+
+typedef struct _XF86DRICreateContext {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICreateContext */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 visual B32;
+ CARD32 context B32;
+} xXF86DRICreateContextReq;
+#define sz_xXF86DRICreateContextReq 16
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 hHWContext B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRICreateContextReply;
+#define sz_xXF86DRICreateContextReply 32
+
+typedef struct _XF86DRIDestroyContext {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIDestroyContext */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 context B32;
+} xXF86DRIDestroyContextReq;
+#define sz_xXF86DRIDestroyContextReq 12
+
+typedef struct _XF86DRICreateDrawable {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICreateDrawable */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xXF86DRICreateDrawableReq;
+#define sz_xXF86DRICreateDrawableReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 hHWDrawable B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRICreateDrawableReply;
+#define sz_xXF86DRICreateDrawableReply 32
+
+typedef struct _XF86DRIDestroyDrawable {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIDestroyDrawable */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xXF86DRIDestroyDrawableReq;
+#define sz_xXF86DRIDestroyDrawableReq 12
+
+typedef struct _XF86DRIGetDrawableInfo {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIGetDrawableInfo */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xXF86DRIGetDrawableInfoReq;
+#define sz_xXF86DRIGetDrawableInfoReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 drawableTableIndex B32;
+ CARD32 drawableTableStamp B32;
+ INT16 drawableX B16;
+ INT16 drawableY B16;
+ INT16 drawableWidth B16;
+ INT16 drawableHeight B16;
+ CARD32 numClipRects B32;
+ INT16 backX B16;
+ INT16 backY B16;
+ CARD32 numBackClipRects B32;
+} xXF86DRIGetDrawableInfoReply;
+
+#define sz_xXF86DRIGetDrawableInfoReply 36
+
+
+typedef struct _XF86DRIGetDeviceInfo {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIGetDeviceInfo */
+ CARD16 length B16;
+ CARD32 screen B32;
+} xXF86DRIGetDeviceInfoReq;
+#define sz_xXF86DRIGetDeviceInfoReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 hFrameBufferLow B32;
+ CARD32 hFrameBufferHigh B32;
+ CARD32 framebufferOrigin B32;
+ CARD32 framebufferSize B32;
+ CARD32 framebufferStride B32;
+ CARD32 devPrivateSize B32;
+} xXF86DRIGetDeviceInfoReply;
+#define sz_xXF86DRIGetDeviceInfoReply 32
+
+typedef struct _XF86DRIOpenFullScreen {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRIOpenFullScreen */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xXF86DRIOpenFullScreenReq;
+#define sz_xXF86DRIOpenFullScreenReq 12
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 isFullScreen B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86DRIOpenFullScreenReply;
+#define sz_xXF86DRIOpenFullScreenReply 32
+
+typedef struct _XF86DRICloseFullScreen {
+ CARD8 reqType; /* always DRIReqCode */
+ CARD8 driReqType; /* always X_DRICloseFullScreen */
+ CARD16 length B16;
+ CARD32 screen B32;
+ CARD32 drawable B32;
+} xXF86DRICloseFullScreenReq;
+#define sz_xXF86DRICloseFullScreenReq 12
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+ CARD32 pad7 B32;
+} xXF86DRICloseFullScreenReply;
+#define sz_xXF86DRICloseFullScreenReply 32
+
+
+#endif /* _XF86DRISTR_H_ */
diff --git a/xf86driproto/xf86driproto.pc.in b/xf86driproto/xf86driproto.pc.in
new file mode 100644
index 0000000..b52f9e3
--- /dev/null
+++ b/xf86driproto/xf86driproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XF86DRIProto
+Description: XF86DRI extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}/X11/dri
diff --git a/xf86driproto/xf86dristr.h b/xf86driproto/xf86dristr.h
new file mode 100644
index 0000000..048491e
--- /dev/null
+++ b/xf86driproto/xf86dristr.h
@@ -0,0 +1,3 @@
+#warning "xf86dristr.h is obsolete and may be removed in the future."
+#warning "include <X11/dri/xf86driproto.h> for the protocol defines."
+#include <X11/dri/xf86driproto.h>
diff --git a/xf86miscproto/.gitignore b/xf86miscproto/.gitignore
new file mode 100644
index 0000000..c9bacc5
--- /dev/null
+++ b/xf86miscproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xf86miscproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xf86miscproto/COPYING b/xf86miscproto/COPYING
new file mode 100644
index 0000000..9f1e999
--- /dev/null
+++ b/xf86miscproto/COPYING
@@ -0,0 +1,20 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
diff --git a/xf86miscproto/Makefile.am b/xf86miscproto/Makefile.am
new file mode 100644
index 0000000..5a11549
--- /dev/null
+++ b/xf86miscproto/Makefile.am
@@ -0,0 +1,21 @@
+xf86miscdir = $(includedir)/X11/extensions
+xf86misc_HEADERS = \
+ xf86misc.h \
+ xf86mscstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xf86miscproto.pc
+
+EXTRA_DIST = xf86miscproto.pc.in
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xf86miscproto/README b/xf86miscproto/README
new file mode 100644
index 0000000..20a12ef
--- /dev/null
+++ b/xf86miscproto/README
@@ -0,0 +1,28 @@
+This package includes the protocol definitions of the "XFree86-Misc"
+extension to the X11 protocol. The "XFree86-Misc" extension is
+supported by the XFree86 X server and versions of the Xorg X server
+prior to Xorg 1.6.
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xf86miscproto
+
+ http://cgit.freedesktop.org/xorg/proto/xf86miscproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xf86miscproto/autogen.sh b/xf86miscproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xf86miscproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xf86miscproto/configure.ac b/xf86miscproto/configure.ac
new file mode 100644
index 0000000..6f5dd54
--- /dev/null
+++ b/xf86miscproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.57])
+AC_INIT([XF86MiscProto], [0.9.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xf86miscproto.pc])
diff --git a/xf86miscproto/xf86misc.h b/xf86miscproto/xf86misc.h
new file mode 100644
index 0000000..f5d7a56
--- /dev/null
+++ b/xf86miscproto/xf86misc.h
@@ -0,0 +1,172 @@
+/* $XFree86: xc/include/extensions/xf86misc.h,v 3.16 2002/11/20 04:04:56 dawes Exp $ */
+
+/*
+ * Copyright (c) 1995, 1996 The XFree86 Project, Inc
+ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _XF86MISC_H_
+#define _XF86MISC_H_
+
+#include <X11/Xfuncproto.h>
+
+#define X_XF86MiscQueryVersion 0
+#ifdef _XF86MISC_SAVER_COMPAT_
+#define X_XF86MiscGetSaver 1
+#define X_XF86MiscSetSaver 2
+#endif
+#define X_XF86MiscGetMouseSettings 3
+#define X_XF86MiscGetKbdSettings 4
+#define X_XF86MiscSetMouseSettings 5
+#define X_XF86MiscSetKbdSettings 6
+#define X_XF86MiscSetGrabKeysState 7
+#define X_XF86MiscSetClientVersion 8
+#define X_XF86MiscGetFilePaths 9
+#define X_XF86MiscPassMessage 10
+
+#define XF86MiscNumberEvents 0
+
+#define XF86MiscBadMouseProtocol 0
+#define XF86MiscBadMouseBaudRate 1
+#define XF86MiscBadMouseFlags 2
+#define XF86MiscBadMouseCombo 3
+#define XF86MiscBadKbdType 4
+#define XF86MiscModInDevDisabled 5
+#define XF86MiscModInDevClientNotLocal 6
+#define XF86MiscNoModule 7
+#define XF86MiscNumberErrors (XF86MiscNoModule + 1)
+
+/* Never renumber these */
+#define MTYPE_MICROSOFT 0
+#define MTYPE_MOUSESYS 1
+#define MTYPE_MMSERIES 2
+#define MTYPE_LOGITECH 3
+#define MTYPE_BUSMOUSE 4
+#define MTYPE_LOGIMAN 5
+#define MTYPE_PS_2 6
+#define MTYPE_MMHIT 7
+#define MTYPE_GLIDEPOINT 8
+#define MTYPE_IMSERIAL 9
+#define MTYPE_THINKING 10
+#define MTYPE_IMPS2 11
+#define MTYPE_THINKINGPS2 12
+#define MTYPE_MMANPLUSPS2 13
+#define MTYPE_GLIDEPOINTPS2 14
+#define MTYPE_NETPS2 15
+#define MTYPE_NETSCROLLPS2 16
+#define MTYPE_SYSMOUSE 17
+#define MTYPE_AUTOMOUSE 18
+#define MTYPE_ACECAD 19
+#define MTYPE_EXPPS2 20
+
+#define MTYPE_XQUEUE 127
+#define MTYPE_OSMOUSE 126
+#define MTYPE_UNKNOWN 125
+
+#define KTYPE_UNKNOWN 0
+#define KTYPE_84KEY 1
+#define KTYPE_101KEY 2
+#define KTYPE_OTHER 3
+#define KTYPE_XQUEUE 4
+
+#define MF_CLEAR_DTR 1
+#define MF_CLEAR_RTS 2
+#define MF_REOPEN 128
+
+#ifndef _XF86MISC_SERVER_
+
+/* return values for XF86MiscSetGrabKeysState */
+#define MiscExtGrabStateSuccess 0 /* No errors */
+#define MiscExtGrabStateLocked 1 /* A client already requested that
+ * grabs cannot be removed/killed */
+#define MiscExtGrabStateAlready 2 /* Request for enabling/disabling
+ * grab removeal/kill already done */
+
+_XFUNCPROTOBEGIN
+
+typedef struct {
+ char* device;
+ int type;
+ int baudrate;
+ int samplerate;
+ int resolution;
+ int buttons;
+ Bool emulate3buttons;
+ int emulate3timeout;
+ Bool chordmiddle;
+ int flags;
+} XF86MiscMouseSettings;
+
+typedef struct {
+ int type;
+ int rate;
+ int delay;
+ Bool servnumlock;
+} XF86MiscKbdSettings;
+
+typedef struct {
+ char* configfile;
+ char* modulepath;
+ char* logfile;
+} XF86MiscFilePaths;
+
+Bool XF86MiscQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */
+);
+
+Bool XF86MiscQueryExtension(
+ Display* /* dpy */,
+ int* /* event_base */,
+ int* /* error_base */
+);
+
+Bool XF86MiscSetClientVersion(
+ Display *dpy /* dpy */
+);
+
+Status XF86MiscGetMouseSettings(
+ Display* /* dpy */,
+ XF86MiscMouseSettings* /* mouse info */
+);
+
+Status XF86MiscGetKbdSettings(
+ Display* /* dpy */,
+ XF86MiscKbdSettings* /* keyboard info */
+);
+
+Status XF86MiscSetMouseSettings(
+ Display* /* dpy */,
+ XF86MiscMouseSettings* /* mouse info */
+);
+
+Status XF86MiscSetKbdSettings(
+ Display* /* dpy */,
+ XF86MiscKbdSettings* /* keyboard info */
+);
+
+int XF86MiscSetGrabKeysState(
+ Display* /* dpy */,
+ Bool /* enabled */
+);
+
+Status XF86MiscGetFilePaths(
+ Display* /* dpy */,
+ XF86MiscFilePaths* /* file paths/locations */
+);
+
+Status XF86MiscPassMessage(
+ Display* /* dpy */,
+ int /* screen */,
+ const char* /* message name/type */,
+ const char* /* message contents/value */,
+ char ** /* returned message */
+);
+
+_XFUNCPROTOEND
+
+#endif
+
+#endif
diff --git a/xf86miscproto/xf86miscproto.pc.in b/xf86miscproto/xf86miscproto.pc.in
new file mode 100644
index 0000000..eb72923
--- /dev/null
+++ b/xf86miscproto/xf86miscproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XF86MiscProto
+Description: XF86Misc extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xf86miscproto/xf86mscstr.h b/xf86miscproto/xf86mscstr.h
new file mode 100644
index 0000000..637d3a5
--- /dev/null
+++ b/xf86miscproto/xf86mscstr.h
@@ -0,0 +1,238 @@
+/* $XFree86: xc/include/extensions/xf86mscstr.h,v 3.12 2002/11/20 04:04:56 dawes Exp $ */
+
+/*
+ * Copyright (c) 1995, 1996 The XFree86 Project, Inc
+ */
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD */
+
+#ifndef _XF86MISCSTR_H_
+#define _XF86MISCSTR_H_
+
+#include <X11/extensions/xf86misc.h>
+
+#define XF86MISCNAME "XFree86-Misc"
+
+#define XF86MISC_MAJOR_VERSION 0 /* current version numbers */
+#define XF86MISC_MINOR_VERSION 9
+
+typedef struct _XF86MiscQueryVersion {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscQueryVersion */
+ CARD16 length B16;
+} xXF86MiscQueryVersionReq;
+#define sz_xXF86MiscQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of XFree86-Misc */
+ CARD16 minorVersion B16; /* minor version of XFree86-Misc */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86MiscQueryVersionReply;
+#define sz_xXF86MiscQueryVersionReply 32
+
+#ifdef _XF86MISC_SAVER_COMPAT_
+typedef struct _XF86MiscGetSaver {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscGetSaver */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86MiscGetSaverReq;
+#define sz_xXF86MiscGetSaverReq 8
+
+typedef struct _XF86MiscSetSaver {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscSetSaver */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+ CARD32 suspendTime B32;
+ CARD32 offTime B32;
+} xXF86MiscSetSaverReq;
+#define sz_xXF86MiscSetSaverReq 16
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 suspendTime B32;
+ CARD32 offTime B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86MiscGetSaverReply;
+#define sz_xXF86MiscGetSaverReply 32
+#endif
+
+typedef struct _XF86MiscGetMouseSettings {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscGetMouseSettings */
+ CARD16 length B16;
+} xXF86MiscGetMouseSettingsReq;
+#define sz_xXF86MiscGetMouseSettingsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 mousetype B32;
+ CARD32 baudrate B32;
+ CARD32 samplerate B32;
+ CARD32 resolution B32;
+ CARD32 buttons B32;
+ BOOL emulate3buttons;
+ BOOL chordmiddle;
+ CARD16 pad2 B16;
+ CARD32 emulate3timeout B32;
+ CARD32 flags B32;
+ CARD32 devnamelen B32; /* strlen(device)+1 */
+} xXF86MiscGetMouseSettingsReply;
+#define sz_xXF86MiscGetMouseSettingsReply 44
+
+typedef struct _XF86MiscGetKbdSettings {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscGetKbdSettings */
+ CARD16 length B16;
+} xXF86MiscGetKbdSettingsReq;
+#define sz_xXF86MiscGetKbdSettingsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 kbdtype B32;
+ CARD32 rate B32;
+ CARD32 delay B32;
+ BOOL servnumlock;
+ BOOL pad2;
+ CARD16 pad3 B16;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86MiscGetKbdSettingsReply;
+#define sz_xXF86MiscGetKbdSettingsReply 32
+
+typedef struct _XF86MiscSetMouseSettings {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscSetMouseSettings */
+ CARD16 length B16;
+ CARD32 mousetype B32;
+ CARD32 baudrate B32;
+ CARD32 samplerate B32;
+ CARD32 resolution B32;
+ CARD32 buttons B32;
+ BOOL emulate3buttons;
+ BOOL chordmiddle;
+ CARD16 devnamelen B16;
+ CARD32 emulate3timeout B32;
+ CARD32 flags B32;
+} xXF86MiscSetMouseSettingsReq;
+#define sz_xXF86MiscSetMouseSettingsReq 36
+
+typedef struct _XF86MiscSetKbdSettings {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscSetKbdSettings */
+ CARD16 length B16;
+ CARD32 kbdtype B32;
+ CARD32 rate B32;
+ CARD32 delay B32;
+ BOOL servnumlock;
+ BOOL pad1;
+ CARD16 pad2 B16;
+} xXF86MiscSetKbdSettingsReq;
+#define sz_xXF86MiscSetKbdSettingsReq 20
+
+typedef struct _XF86MiscSetGrabKeysState {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscSetKbdSettings */
+ CARD16 length B16;
+ BOOL enable;
+ BOOL pad1;
+ CARD16 pad2 B16;
+} xXF86MiscSetGrabKeysStateReq;
+#define sz_xXF86MiscSetGrabKeysStateReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86MiscSetGrabKeysStateReply;
+#define sz_xXF86MiscSetGrabKeysStateReply 32
+
+typedef struct _XF86MiscSetClientVersion {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType;
+ CARD16 length B16;
+ CARD16 major B16;
+ CARD16 minor B16;
+} xXF86MiscSetClientVersionReq;
+#define sz_xXF86MiscSetClientVersionReq 8
+
+typedef struct _XF86MiscGetFilePaths {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscGetFilePaths */
+ CARD16 length B16;
+} xXF86MiscGetFilePathsReq;
+#define sz_xXF86MiscGetFilePathsReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 configlen B16;
+ CARD16 modulelen B16;
+ CARD16 loglen B16;
+ CARD16 pad2 B16;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86MiscGetFilePathsReply;
+#define sz_xXF86MiscGetFilePathsReply 32
+
+typedef struct _XF86MiscPassMessage {
+ CARD8 reqType; /* always XF86MiscReqCode */
+ CARD8 xf86miscReqType; /* always X_XF86MiscPassMessage */
+ CARD16 length B16;
+ CARD16 typelen B16;
+ CARD16 vallen B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86MiscPassMessageReq;
+#define sz_xXF86MiscPassMessageReq 12
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BYTE pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 mesglen B16;
+ CARD16 pad2 B16;
+ CARD32 status B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86MiscPassMessageReply;
+#define sz_xXF86MiscPassMessageReply 32
+
+#endif /* _XF86MISCSTR_H_ */