]> Zhao Yanbai Git Server - minix.git/commitdiff
New 'benchmarks' dir in test/, with first benchmark - unixbench-5.1.2, ported
authorBen Gras <ben@minix3.org>
Thu, 21 Jan 2010 16:53:42 +0000 (16:53 +0000)
committerBen Gras <ben@minix3.org>
Thu, 21 Jan 2010 16:53:42 +0000 (16:53 +0000)
by Karol Sobczak.

35 files changed:
test/Makefile
test/benchmarks/unixbench-5.1.2/Makefile [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/README [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/Run [new file with mode: 0755]
test/benchmarks/unixbench-5.1.2/USAGE [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/WRITING_TESTS [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/pgms/gfx-x11 [new file with mode: 0755]
test/benchmarks/unixbench-5.1.2/pgms/index.base [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/pgms/multi.sh [new file with mode: 0755]
test/benchmarks/unixbench-5.1.2/pgms/tst.sh [new file with mode: 0755]
test/benchmarks/unixbench-5.1.2/pgms/unixbench.logo [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/run.sh [new file with mode: 0755]
test/benchmarks/unixbench-5.1.2/src/arith.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/big.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/context1.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/dhry.h [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/dhry_1.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/dhry_2.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/dummy.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/execl.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/fstime.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/hanoi.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/looper.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/pipe.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/spawn.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/syscall.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/time-polling.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/timeit.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/ubgears.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/src/whets.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/testdir/cctest.c [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/testdir/dc.dat [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/testdir/large.txt [new file with mode: 0644]
test/benchmarks/unixbench-5.1.2/testdir/sort.src [new file with mode: 0644]
test/run-bench [new file with mode: 0644]

index 80280aa5854b295db48636414dedef771562546b..5b0bf2f7b84bd3bc8d2c97fcf42f52e2b269db32 100644 (file)
@@ -16,9 +16,12 @@ BIGOBJ=  test20 test24
 ROOTOBJ= test11 test33 test43 test46
 GCCOBJ=  test45-gcc
 
-all:   $(OBJ) $(BIGOBJ) $(GCCOBJ) $(ROOTOBJ)
+all:   $(OBJ) $(BIGOBJ) $(GCCOBJ) $(ROOTOBJ) Benchmarks
        chmod 755 *.sh run
 
+Benchmarks:
+       cd benchmarks && for d in *bench*; do cd $$d && $(MAKE) || exit 1; done
+
 $(OBJ):
        $(CC) $(CFLAGS) -o $@ $@.c
 
@@ -35,6 +38,7 @@ $(ROOTOBJ):
 
 clean: 
        cd select && make clean
+       cd benchmarks && for d in *bench*; do cd $$d && $(MAKE) clean || exit 1; done
        -rm -rf *.o *.s *.bak test? test?? test??-gcc t10a t11a t11b \
                t40a t40b t40c t40d t40e t40f t43 DIR*
 
diff --git a/test/benchmarks/unixbench-5.1.2/Makefile b/test/benchmarks/unixbench-5.1.2/Makefile
new file mode 100644 (file)
index 0000000..5c09de9
--- /dev/null
@@ -0,0 +1,246 @@
+##############################################################################
+#      UnixBench v5.1.1
+#  Based on The BYTE UNIX Benchmarks - Release 3
+#          Module: Makefile   SID: 3.9 5/15/91 19:30:15
+#
+##############################################################################
+# Bug reports, patches, comments, suggestions should be sent to:
+#      David C Niemi <niemi@tux.org>
+#
+# Original Contacts at Byte Magazine:
+#      Ben Smith or Tom Yager at BYTE Magazine
+#      bensmith@bytepb.byte.com    tyager@bytepb.byte.com
+#
+##############################################################################
+#  Modification Log: 7/28/89 cleaned out workload files
+#                    4/17/90 added routines for installing from shar mess
+#                    7/23/90 added compile for dhrystone version 2.1
+#                          (this is not part of Run file. still use old)
+#                          removed HZ from everything but dhry.
+#                          HZ is read from the environment, if not
+#                          there, you must define it in this file
+#                    10/30/90 moved new dhrystone into standard set
+#                          new pgms (dhry included) run for a specified
+#                          time rather than specified number of loops
+#                    4/5/91 cleaned out files not needed for
+#                          release 3 -- added release 3 files -ben
+#                    10/22/97 added compiler options for strict ANSI C
+#                          checking for gcc and DEC's cc on
+#                          Digital Unix 4.x (kahn@zk3.dec.com)
+#                    09/26/07 changes for UnixBench 5.0
+#                    09/30/07 adding ubgears, GRAPHIC_TESTS switch
+#                    10/14/07 adding large.txt
+##############################################################################
+
+##############################################################################
+# CONFIGURATION
+##############################################################################
+
+SHELL = /bin/sh
+
+# GRAPHICS TESTS: Uncomment the definition of "GRAPHIC_TESTS" to enable
+# the building of the graphics benchmarks.  This will require the
+# X11 libraries on your system.
+#
+# Comment the line out to disable these tests.
+# GRAPHIC_TESTS = defined
+
+# Set "GL_LIBS" to the libraries needed to link a GL program.
+GL_LIBS = -lGL -lXext -lX11
+
+# OPTIMISATION SETTINGS:
+
+## Very generic
+OPTON = -O
+
+## For Linux 486/Pentium, GCC 2.7.x and 2.8.x
+#OPTON = -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math \
+#      -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2
+
+## For Linux, GCC previous to 2.7.0
+#OPTON = -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math -m486
+
+#OPTON = -O2 -fomit-frame-pointer -fforce-addr -fforce-mem -ffast-math \
+#      -m386 -malign-loops=1 -malign-jumps=1 -malign-functions=1
+
+## For Solaris 2, or general-purpose GCC 2.7.x
+#OPTON = -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall
+
+## For Digital Unix v4.x, with DEC cc v5.x
+#OPTON = -O4
+#CFLAGS = -DTIME -std1 -verbose -w0
+
+## generic gcc CFLAGS.  -DTIME must be included.
+CFLAGS += $(CPPFLAGS) -DTIME -DMINIX=1 -D_MINIX=1 -D_POSIX_SOURCE=1
+
+
+##############################################################################
+# END CONFIGURATION
+##############################################################################
+
+
+# local directories
+PROGDIR = ./pgms
+SRCDIR = ./src
+TESTDIR = ./testdir
+RESULTDIR = ./results
+TMPDIR = ./tmp
+# other directories
+INCLDIR = /usr/include
+LIBDIR = /lib
+SCRIPTS = unixbench.logo multi.sh tst.sh index.base
+SOURCES = arith.c big.c context1.c \
+       dummy.c execl.c \
+       fstime.c hanoi.c \
+       pipe.c spawn.c \
+       syscall.c looper.c timeit.c time-polling.c \
+       dhry_1.c dhry_2.c dhry.h whets.c ubgears.c
+TESTS = sort.src cctest.c dc.dat large.txt
+
+# ifdef GRAPHIC_TESTS
+# GRAPHIC_BINS = $(PROGDIR)/ubgears
+# else
+GRAPHIC_BINS =
+# endif
+
+# Program binaries.
+BINS = $(PROGDIR)/arithoh $(PROGDIR)/register $(PROGDIR)/short \
+       $(PROGDIR)/int $(PROGDIR)/long $(PROGDIR)/float $(PROGDIR)/double \
+       $(PROGDIR)/hanoi $(PROGDIR)/syscall $(PROGDIR)/context1 \
+       $(PROGDIR)/pipe $(PROGDIR)/spawn $(PROGDIR)/execl \
+       $(PROGDIR)/dhry2 $(PROGDIR)/dhry2reg  $(PROGDIR)/looper \
+       $(PROGDIR)/fstime $(PROGDIR)/whetstone-double $(GRAPHIC_BINS)
+## These compile only on some platforms...
+# $(PROGDIR)/poll $(PROGDIR)/poll2 $(PROGDIR)/select
+
+# Required non-binary files.
+REQD = $(BINS) $(PROGDIR)/unixbench.logo \
+       $(PROGDIR)/multi.sh $(PROGDIR)/tst.sh $(PROGDIR)/index.base \
+       $(PROGDIR)/gfx-x11 \
+       $(TESTDIR)/sort.src $(TESTDIR)/cctest.c $(TESTDIR)/dc.dat \
+       $(TESTDIR)/large.txt
+
+# ######################### the big ALL ############################
+all: distr programs
+## Ick!!!  What is this about???  How about let's not chmod everything bogusly.
+#      @chmod 744 * $(SRCDIR)/* $(PROGDIR)/* $(TESTDIR)/* $(DOCDIR)/*
+
+# ####################### a check for Run ######################
+check: $(REQD)
+       make all
+# ##############################################################
+# distribute the files out to subdirectories if they are in this one
+distr:
+       @echo "Checking distribution of files"
+# scripts
+       @if  test ! -d  $(PROGDIR) \
+        ; then  \
+           mkdir $(PROGDIR) \
+           ; mv $(SCRIPTS) $(PROGDIR) \
+        ; else \
+           echo "$(PROGDIR)  exists" \
+        ; fi
+# C sources
+       @if  test ! -d  $(SRCDIR) \
+        ; then  \
+           mkdir $(SRCDIR) \
+           ; mv $(SOURCES) $(SRCDIR) \
+        ; else \
+           echo "$(SRCDIR)  exists" \
+        ; fi
+# test data
+       @if  test ! -d  $(TESTDIR) \
+        ; then  \
+           mkdir $(TESTDIR) \
+           ; mv $(TESTS) $(TESTDIR) \
+        ; else \
+           echo "$(TESTDIR)  exists" \
+        ; fi
+# temporary work directory
+       @if  test ! -d  $(TMPDIR) \
+        ; then  \
+           mkdir $(TMPDIR) \
+        ; else \
+           echo "$(TMPDIR)  exists" \
+        ; fi
+# directory for results
+       @if  test ! -d  $(RESULTDIR) \
+        ; then  \
+           mkdir $(RESULTDIR) \
+        ; else \
+           echo "$(RESULTDIR)  exists" \
+        ; fi
+
+programs: $(BINS)
+
+# Individual programs
+$(PROGDIR)/arithoh:    $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/arithoh ${CFLAGS} ${OPTON} -Darithoh $(SRCDIR)/arith.c
+$(PROGDIR)/register: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/register ${CFLAGS} ${OPTON} -Ddatum='register int' $(SRCDIR)/arith.c
+$(PROGDIR)/short: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/short ${CFLAGS} ${OPTON} -Ddatum=short $(SRCDIR)/arith.c
+$(PROGDIR)/int: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/int ${CFLAGS} ${OPTON} -Ddatum=int $(SRCDIR)/arith.c
+$(PROGDIR)/long: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/long ${CFLAGS} ${OPTON} -Ddatum=long $(SRCDIR)/arith.c
+$(PROGDIR)/float: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/float ${CFLAGS} ${OPTON} -Ddatum=float $(SRCDIR)/arith.c
+$(PROGDIR)/double: $(SRCDIR)/arith.c
+       $(CC) -o $(PROGDIR)/double ${CFLAGS} ${OPTON} -Ddatum=double $(SRCDIR)/arith.c
+$(PROGDIR)/whetstone-double: $(SRCDIR)/whets.c
+       $(CC) -o $(PROGDIR)/whetstone-double ${CFLAGS} ${OPTON} -DDP -DUNIX -DUNIXBENCH $(SRCDIR)/whets.c -lm
+$(PROGDIR)/hanoi: $(SRCDIR)/hanoi.c
+       $(CC) -o $(PROGDIR)/hanoi ${CFLAGS} ${OPTON} $(SRCDIR)/hanoi.c
+
+$(PROGDIR)/poll: $(SRCDIR)/time-polling.c
+       $(CC) -DHAS_POLL -DUNIXBENCH -o $(PROGDIR)/poll ${CFLAGS} ${OPTON} $(SRCDIR)/time-polling.c
+
+$(PROGDIR)/poll2: $(SRCDIR)/time-polling.c
+       $(CC) -DHAS_POLL2 -DUNIXBENCH -o $(PROGDIR)/poll2 ${CFLAGS} ${OPTON} $(SRCDIR)/time-polling.c
+
+$(PROGDIR)/select: $(SRCDIR)/time-polling.c
+       $(CC) -DHAS_SELECT -DUNIXBENCH -o $(PROGDIR)/select ${CFLAGS} ${OPTON} $(SRCDIR)/time-polling.c
+
+$(PROGDIR)/fstime: $(SRCDIR)/fstime.c
+       $(CC) -o $(PROGDIR)/fstime ${CFLAGS} ${OPTON} $(SRCDIR)/fstime.c
+
+$(PROGDIR)/syscall: $(SRCDIR)/syscall.c
+       $(CC) -o $(PROGDIR)/syscall ${CFLAGS} ${OPTON} $(SRCDIR)/syscall.c
+$(PROGDIR)/context1: $(SRCDIR)/context1.c
+       $(CC) -o $(PROGDIR)/context1 ${CFLAGS} ${OPTON} $(SRCDIR)/context1.c
+$(PROGDIR)/pipe: $(SRCDIR)/pipe.c
+       $(CC) -o $(PROGDIR)/pipe ${CFLAGS} ${OPTON} $(SRCDIR)/pipe.c
+$(PROGDIR)/spawn: $(SRCDIR)/spawn.c
+       $(CC) -o $(PROGDIR)/spawn ${CFLAGS} ${OPTON} $(SRCDIR)/spawn.c
+$(PROGDIR)/execl: $(SRCDIR)/execl.c $(SRCDIR)/big.c
+       $(CC) -o $(PROGDIR)/execl ${CFLAGS} ${OPTON} $(SRCDIR)/execl.c
+
+$(PROGDIR)/dhry2: $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c $(SRCDIR)/dhry.h
+       cd $(SRCDIR); $(CC) -c ${CFLAGS} -DHZ=${HZ} ${OPTON} dhry_1.c
+       cd $(SRCDIR); $(CC) -c ${CFLAGS} -DHZ=${HZ} ${OPTON} dhry_2.c
+       $(CC) -o $(PROGDIR)/dhry2 ${CFLAGS} ${OPTON} $(SRCDIR)/dhry_1.o $(SRCDIR)/dhry_2.o
+       cd $(SRCDIR); rm -f dhry_1.o dhry_2.o
+$(PROGDIR)/dhry2reg: $(SRCDIR)/dhry_1.c $(SRCDIR)/dhry_2.c $(SRCDIR)/dhry.h
+       cd $(SRCDIR); $(CC) -c ${CFLAGS} -DREG=register -DHZ=${HZ} ${OPTON} dhry_1.c
+       cd $(SRCDIR); $(CC) -c ${CFLAGS} -DREG=register -DHZ=${HZ} ${OPTON} dhry_2.c
+       $(CC) -o $(PROGDIR)/dhry2reg ${CFLAGS} ${OPTON} $(SRCDIR)/dhry_1.o $(SRCDIR)/dhry_2.o
+       cd $(SRCDIR); rm -f dhry_1.o dhry_2.o
+
+$(PROGDIR)/looper: $(SRCDIR)/looper.c
+       $(CC) -o $(PROGDIR)/looper ${CFLAGS} ${OPTON} $(SRCDIR)/looper.c
+
+$(PROGDIR)/ubgears: $(SRCDIR)/ubgears.c
+       $(CC) -o $(PROGDIR)/ubgears ${CFLAGS} ${OPTON} $(SRCDIR)/ubgears.c $(GL_LIBS)
+
+# Run the benchmarks and create the reports
+run:
+       sh ./Run
+
+clean:
+       rm -f $(BINS) core *~ */*~
+
+spotless:      clean
+       rm -f $(RESULTDIR)/* $(TMPDIR)/*
+
+## END ##
diff --git a/test/benchmarks/unixbench-5.1.2/README b/test/benchmarks/unixbench-5.1.2/README
new file mode 100644 (file)
index 0000000..9a4f0c8
--- /dev/null
@@ -0,0 +1,406 @@
+Version 5.1.2 -- 2007-12-26
+
+================================================================
+To use Unixbench:
+
+1. UnixBench from version 5.1 on has both system and graphics tests.
+   If you want to use the graphic tests, edit the Makefile and make sure
+   that the line "GRAPHIC_TESTS = defined" is not commented out; then check
+   that the "GL_LIBS" definition is OK for your system.  Also make sure
+   that the "x11perf" command is on your search path.
+
+   If you don't want the graphics tests, then comment out the
+   "GRAPHIC_TESTS = defined" line.  Note: comment it out, don't
+   set it to anything.
+
+2. Do "make".
+
+3. Do "Run" to run the system test; "Run graphics" to run the graphics
+   tests; "Run gindex" to run both.
+
+You will need perl, as Run is written in perl.
+
+For more information on using the tests, read "USAGE".
+
+For information on adding tests into the benchmark, see "WRITING_TESTS".
+
+
+===================== RELEASE NOTES =====================================
+
+========================  Dec 07 ==========================
+
+v5.1.2
+
+One big fix: if unixbench is installed in a directory whose pathname contains
+a space, it should now run (previously it failed).
+
+To avoid possible clashes, the environment variables unixbench uses are now
+prefixed with "UB_".  These are all optional, and for most people will be
+completely unnecessary, but if you want you can set these:
+
+    UB_BINDIR      Directory where the test programs live.
+    UB_TMPDIR      Temp directory, for temp files.
+    UB_RESULTDIR   Directory to put results in.
+    UB_TESTDIR     Directory where the tests are executed.
+
+And a couple of tiny fixes:
+* In pgms/tst.sh, changed "sort -n +1" to "sort -n -k 1"
+* In Makefile, made it clearer that GRAPHIC_TESTS should be commented
+  out (not set to 0) to disable graphics
+Thanks to nordi for pointing these out.
+
+
+Ian Smith, December 26, 2007
+johantheghost at yahoo period com
+
+
+========================  Oct 07 ==========================
+
+v5.1.1
+
+It turns out that the setting of LANG is crucial to the results.  This
+explains why people in different regions were seeing odd results, and also
+why runlevel 1 produced odd results -- runlevel 1 doesn't set LANG, and
+hence reverts to ASCII, whereas most people use a UTF-8 encoding, which is
+much slower in some tests (eg. shell tests).
+
+So now we manually set LANG to "en_US.utf8", which is configured with the
+variable "$language".  Don't change this if you want to share your results.
+We also report the language settings in use.
+
+See "The Language Setting" in USAGE for more info.  Thanks to nordi for
+pointing out the LANG issue.
+
+I also added the "grep" and "sysexec" tests.  These are non-index tests,
+and "grep" uses the system's grep, so it's not much use for comparing
+different systems.  But some folks on the OpenSuSE list have been finding
+these useful.  They aren't in any of the main test groups; do "Run grep
+sysexec" to run them.
+
+Index Changes
+-------------
+
+The setting of LANG will affect consistency with systems where this is
+not the default value.  However, it should produce more consistent results
+in future.
+
+
+Ian Smith, October 15, 2007
+johantheghost at yahoo period com
+
+
+========================  Oct 07 ==========================
+
+v5.1
+
+The major new feature in this version is the addition of graphical
+benchmarks.  Since these may not compile on all systems, you can enable/
+disable them with the GRAPHIC_TESTS variable in the Makefile.
+
+As before, each test is run for 3 or 10 iterations.  However, we now discard
+the worst 1/3 of the scores before averaging the remainder.  The logic is
+that a glitch in the system (background process waking up, for example) may
+make one or two runs go slow, so let's discard those.  Hopefully this will
+produce more consistent and repeatable results.  Check the log file
+for a test run to see the discarded scores.
+
+Made the tests compile and run on x86-64/Linux (fixed an execl bug passing
+int instead of pointer).
+
+Also fixed some general bugs.
+
+Thanks to Stefan Esser for help and testing / bug reporting.
+
+Index Changes
+-------------
+
+The tests are now divided into categories, and each category generates
+its own index.  This keeps the graphics test results separate from
+the system tests.
+
+The "graphics" test and corresponding index are new.
+
+The "discard the worst scores" strategy should produce slightly higher
+test scores, but at least they should (hopefully!) be more consistent.
+The scores should not be higher than the best scores you would have got
+with 5.0, so this should not be a huge consistency issue.
+
+Ian Smith, October 11, 2007
+johantheghost at yahoo period com
+
+
+========================  Sep 07 ==========================
+
+v5.0
+
+All the work I've done on this release is Linux-based, because that's
+the only Unix I have access to.  I've tried to make it more OS-agnostic
+if anything; for example, it no longer has to figure out the format reported
+by /usr/bin/time.  However, it's possible that portability has been damaged.
+If anyone wants to fix this, please feel free to mail me patches.
+
+In particular, the analysis of the system's CPUs is done via /proc/cpuinfo.
+For systems which don't have this, please make appropriate changes in
+getCpuInfo() and getSystemInfo().
+
+The big change has been to make the tests multi-CPU aware.  See the
+"Multiple CPUs" section in "USAGE" for details.  Other changes:
+
+* Completely rewrote Run in Perl; drastically simplified the way data is
+  processed.  The confusing system of interlocking shell and awk scripts is
+  now just one script.  Various intermediate files used to store and process
+  results are now replaced by Perl data structures internal to the script.
+
+* Removed from the index runs file system read and write tests which were
+  ignored for the index and wasted about 10 minutes per run (see fstime.c).
+  The read and write tests can now be selected individually.  Made fstime.c
+  take parameters, so we no longer need to build 3 versions of it.
+
+* Made the output file names unique; they are built from
+  hostname-date-sequence.
+
+* Worked on result reporting, error handling, and logging.  See TESTS.
+  We now generate both text and HTML reports.
+
+* Removed some obsolete files.
+
+Index Changes
+-------------
+
+The index is still based on David Niemi's SPARCstation 20-61 (rated at 10.0),
+and the intention in the changes I've made has been to keep the tests
+unchanged, in order to maintain consistency with old result sets.
+
+However, the following changes have been made to the index:
+
+* The Pipe-based Context Switching test (context1) was being dropped
+  from the index report in v4.1.0 due to a bug; I've put it back in.
+
+* I've added shell1 to the index, to get a measure of how the shell tests
+  scale with multiple CPUs (shell8 already exercises all the CPUs, even
+  in single-copy mode).  I made up the baseline score for this by
+  extrapolation.
+
+Both of these test can be dropped, if you wish, by editing the "TEST
+SPECIFICATIONS" section of Run.
+
+Ian Smith, September 20, 2007
+johantheghost at yahoo period com
+
+========================  Aug 97 ==========================
+
+v4.1.0
+
+Double precision Whetstone put in place instead of the old "double" benchmark.
+
+Removal of some obsolete files.
+
+"system" suite adds shell8.
+
+perlbench and poll added as "exhibition" (non-index) benchmarks.
+
+Incorporates several suggestions by Andre Derrick Balsa <andrewbalsa@usa.net>
+
+Code cleanups to reduce compiler warnings by David C Niemi <niemi@tux.org>
+and Andy Kahn <kahn@zk3.dec.com>; Digital Unix options by Andy Kahn.
+
+========================  Jun 97 ==========================
+
+v4.0.1
+
+Minor change to fstime.c to fix overflow problems on fast machines.  Counting
+is now done in units of 256 (smallest BUFSIZE) and unsigned longs are used,
+giving another 23 dB or so of headroom ;^)  Results should be virtually
+identical aside from very small rounding errors.
+
+========================  Dec 95 ==========================
+
+v4.0
+
+Byte no longer seems to have anything to do with this benchmark, and I was
+unable to reach any of the original authors; so I have taken it upon myself
+to clean it up.
+
+This is version 4.  Major assumptions made in these benchmarks have changed
+since they were written, but they are nonetheless popular (particularly for
+measuring hardware for Linux).  Some changes made:
+
+-      The biggest change is to put a lot more operating system-oriented
+       tests into the index.  I experimented for a while with a decibel-like
+       logarithmic scale, but finally settled on using a geometric mean for
+       the final index (the individual scores are a normalized, and their
+       logs are averaged; the resulting value is exponentiated).
+
+       "George", certain SPARCstation 20-61 with 128 MB RAM, a SPARC Storage
+       Array, and Solaris 2.3 is my new baseline; it is rated at 10.0 in each
+       of the index scores for a final score of 10.0.
+
+       Overall I find the geometric averaging is a big improvement for
+       avoiding the skew that was once possible (e.g. a Pentium-75 which got
+       40 on the buggy version of fstime, such that fstime accounted for over
+       half of its total score and hence wildly skewed its average).
+
+       I also expect that the new numbers look different enough from the old
+       ones that no one is too likely to casually mistake them for each other.
+
+       I am finding new SPARCs running Solaris 2.4 getting about 15-20, and
+       my 486 DX2-66 Compaq running Linux 1.3.45 got a 9.1.  It got
+       understandably poor scores on CPU and FPU benchmarks (a horrible
+       1.8 on "double" and 1.3 on "fsdisk"); but made up for it by averaging
+       over 20 on the OS-oriented benchmarks.  The Pentium-75 running
+       Linux gets about 20 (and it *still* runs Windows 3.1 slowly.  Oh well).
+
+-      It is difficult to get a modern compiler to even consider making
+       dhry2 without registers, short of turning off *all* optimizations.
+       This is also not a terribly meaningful test, even if it were possible,
+       as noone compiles without registers nowadays.  Replaced this benchmark
+       with dhry2reg in the index, and dropped it out of usage in general as
+       it is so hard to make a legitimate one.
+
+-      fstime: this had some bugs when compiled on modern systems which return
+       the number of bytes read/written for read(2)/write(2) calls.  The code
+       assumed that a negative return code was given for EOF, but most modern
+       systems return 0 (certainly on SunOS 4, Solaris2, and Linux, which is
+       what counts for me).  The old code yielded wildly inflated read scores,
+       would eat up tens of MB of disk space on fast systems, and yielded
+       roughly 50% lower than normal copy scores than it should have.
+
+       Also, it counted partial blocks *fully*; made it count the proportional
+       part of the block which was actually finished.
+
+       Made bigger and smaller variants of fstime which are designed to beat
+       up the disk I/O and the buffer cache, respectively.  Adjusted the
+       sleeps so that they are short for short benchmarks.
+
+-      Instead of 1,2,4, and 8-shell benchmarks, went to 1, 8, and 16 to
+       give a broader range of information (and to run 1 fewer test).
+       The only real problem with this is that not many iterations get
+       done with 16 at a time on slow systems, so there are some significant
+       rounding errors; 8 therefore still used for the benchmark.  There is
+       also the problem that the last (uncompleted) loop is counted as a full
+       loop, so it is impossible to score below 1.0 lpm (which gave my laptop
+       a break).  Probably redesigning Shell to do each loop a bit more
+       quickly (but with less intensity) would be a good idea.
+
+       This benchmark appears to be very heavily influenced by the speed
+       of the loader, by which shell is being used as /bin/sh, and by how
+       well-compiled some of the common shell utilities like grep, sed, and
+       sort are.  With a consistent tool set it is also a good indicator of
+       the bandwidth between main memory and the CPU (e.g. Pentia score about
+       twice as high as 486es due to their 64-bit bus).  Small, sometimes
+       broken shells like "ash-linux" do particularly well here, while big,
+       robust shells like bash do not.
+
+-      "dc" is a somewhat iffy benchmark, because there are two versions of
+       it floating around, one being small, very fast, and buggy, and one
+       being more correct but slow.  It was never in the index anyway.
+
+-      Execl is a somewhat troubling benchmark in that it yields much higher
+       scores if compiled statically.  I frown on this practice because it
+       distorts the scores away from reflecting how programs are really used
+       (i.e. dynamically linked).
+
+-      Arithoh is really more an indicator of the compiler quality than of
+       the computer itself.  For example, GCC 2.7.x with -O2 and a few extra
+       options optimizes much of it away, resulting in about a 1200% boost
+       to the score.  Clearly not a good one for the index.
+
+I am still a bit unhappy with the variance in some of the benchmarks, most
+notably the fstime suite; and with how long it takes to run.  But I think
+it gets significantly more reliable results than the older version in less
+time.
+
+If anyone has ideas on how to make these benchmarks faster, lower-variance,
+or more meaningful; or has nice, new, portable benchmarks to add, don't
+hesitate to e-mail me.
+
+David C Niemi <niemi@tux.org>          7 Dec 1995
+
+========================  May 91 ==========================
+This is version 3. This set of programs should be able to determine if
+your system is BSD or SysV. (It uses the output format of time (1)
+to see. If you have any problems, contact me (by email,
+preferably): ben@bytepb.byte.com
+
+---
+
+The document doc/bench.doc describes the basic flow of the
+benchmark system. The document doc/bench3.doc describes the major
+changes in design of this version. As a user of the benchmarks,
+you should understand some of the methods that have been
+implemented to generate loop counts:
+
+Tests that are compiled C code:
+  The function wake_me(second, func) is included (from the file
+timeit.c). This function uses signal and alarm to set a countdown
+for the time request by the benchmark administration script
+(Run). As soon as the clock is started, the test is run with a
+counter keeping track of the number of loops that the test makes.
+When alarm sends its signal, the loop counter value is sent to stderr
+and the program terminates. Since the time resolution, signal
+trapping and other factors don't insure that the test is for the
+precise time that was requested, the test program is also run
+from the time (1) command. The real time value returned from time
+(1) is what is used in calculating the number of loops per second
+(or minute, depending on the test).  As is obvious, there is some
+overhead time that is not taken into account, therefore the
+number of loops per second is not absolute. The overhead of the
+test starting and stopping and the signal and alarm calls is
+common to the overhead of real applications. If a program loads
+quickly, the number of loops per second increases; a phenomenon
+that favors systems that can load programs quickly. (Setting the
+sticky bit of the test programs is not considered fair play.)
+
+Test that use existing UNIX programs or shell scripts:
+  The concept is the same as that of compiled tests, except the
+alarm and signal are contained in separate compiled program,
+looper (source is looper.c). Looper uses an execvp to invoke the
+test with its arguments. Here, the overhead includes the
+invocation and execution of looper.
+
+--
+
+The index numbers are generated from a baseline file that is in
+pgms/index.base. You can put tests that you wish in this file.
+All you need to do is take the results/log file from your
+baseline machine, edit out the comment and blank lines, and sort
+the result (vi/ex command: 1,$!sort). The sort in necessary
+because the process of generating the index report uses join (1).
+You can regenerate the reports by running "make report."
+
+--
+
+========================= Jan 90 =============================
+Tom Yager has joined the effort here at BYTE; he is responsible
+for many refinements in the UNIX benchmarks.
+
+The memory access tests have been deleted from the benchmarks.
+The file access tests have been reversed so that the test is run
+for a fixed time. The amount of data transfered (written, read,
+and copied) is the variable. !WARNING! This test can eat up a
+large hunk of disk space.
+
+The initial line of all shell scripts has been changed from the
+SCO and XENIX form (:) to the more standard form "#! /bin/sh".
+But different systems handle shell switching differently. Check
+the documentation on your system and find out how you are
+supposed to do it. Or, simpler yet, just run the benchmarks from
+the Bourne shell. (You may need to set SHELL=/bin/sh as well.)
+
+The options to Run have not been checked in a while. They may no
+longer function. Next time, I'll get back on them. There needs to
+be another option added (next time) that halts testing between
+each test. !WARNING! Some systems have caches that are not getting flushed
+before the next test or iteration is run. This can cause
+erroneous values.
+
+========================= Sept 89 =============================
+The database (db) programs now have a tuneable message queue space.
+queue space. The default set in the Run script is 1024 bytes.
+Other major changes are in the format of the times. We now show
+Arithmetic and Geometric mean and standard deviation for User
+Time, System Time, and Real Time. Generally, in reporting, we
+plan on using the Real Time values with the benchs run with one
+active user (the bench user). Comments and arguments are requested.
+
+contact: BIX bensmith or rick_g
diff --git a/test/benchmarks/unixbench-5.1.2/Run b/test/benchmarks/unixbench-5.1.2/Run
new file mode 100755 (executable)
index 0000000..f1db8f4
--- /dev/null
@@ -0,0 +1,1868 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use POSIX qw(strftime);
+use Time::HiRes;
+use IO::Handle;
+
+
+############################################################################
+#  UnixBench - Release 5.1.1, based on:
+#  The BYTE UNIX Benchmarks - Release 3
+#          Module: Run   SID: 3.11 5/15/91 19:30:14
+# Original Byte benchmarks written by:
+#       Ben Smith,              Tom Yager at BYTE Magazine
+#       ben@bytepb.byte.com     tyager@bytepb.byte.com
+# BIX:  bensmith                tyager
+#
+#######################################################################
+# General Purpose Benchmark
+# based on the work by Ken McDonell, Computer Science, Monash University
+#
+#  You will need ...
+#       perl Time::HiRes IO::Handlecat cc chmod comm cp date dc df echo
+#       kill ls make mkdir rm sed test time touch tty umask who
+###############################################################################
+#  Modification Log:
+# $Header: run,v 5.2 88/01/12 06:23:43 kenj Exp $
+#     Ken McDonell, Computer Science, Monash University
+#     August 1, 1983
+# 3/89 - Ben Smith - BYTE: globalized many variables, modernized syntax
+# 5/89 - commented and modernized. Removed workload items till they
+#        have been modernized. Added database server test.
+# 11/14/89 - Made modifications to reflect new version of fstime
+#        and elimination of mem tests.
+# 10/22/90 - Many tests have been flipped so that they run for
+#        a specified length of time and loops are counted.
+# 4/3/91 - Cleaned up and debugged several test parameters - Ben
+# 4/9/91 - Added structure for creating index and determing flavor of UNIX
+# 4/26/91 - Made changes and corrections suggested by Tin Le of Sony
+# 5/15/91 - Removed db from distribution
+# 4/4/92    Jon Tombs <jon@robots.ox.ac.uk> fixed for GNU time to look like
+#               BSD (don't know the format of sysV!)
+# 12/95   - Massive changes for portability, speed, and more meaningful index
+#               DCN     David C Niemi <niemi@tux.org>
+# 1997.06.20    DCN     Fixed overflow condition in fstime.c on fast machines
+# 1997.08.24    DCN     Modified "system", replaced double with
+#                       whetstone-double in "index"
+# 1997.09.10    DCN     Added perlbench as an Exhibition benchmark
+# 1997.09.23    DCN     Added rgooch's select as an Exhibition benchmark
+# 1999.07.28    DCN     "select" not compiled or run by default, because it
+#                       does not compile on many platforms.  PerlBench also
+#                       not run by default.
+# 2007.09.26    IS      Huge rewrite -- see release notes in README.
+# 2007.10.12    IS      Added graphics tests, categories feature.
+# 2007.10.14    IS      Set and report LANG.  Added "grep" and "sysexec".
+# 2007.12.22    IS      Tiny fixes; see README.
+
+
+############################################################################
+# CONFIGURATION
+############################################################################
+
+# Version number of the script.
+my $version = "5.1.2";
+
+# The setting of LANG makes a huge difference to some of the scores,
+# particularly depending on whether UTF-8 is used.  So we always set
+# it to the same value, which is configured here.
+#
+# If you want your results to be meaningful when compared to other peoples'
+# results, you should not change this.  Change it if you want to measure the
+# effect of different languages.
+my $language = "en_US.utf8";
+
+# The number of iterations per test.
+my $longIterCount = 10;
+my $shortIterCount = 3;
+
+# C compiler to use in compilation tests.
+my $cCompiler = $ENV{CC};
+
+# Establish full paths to directories.  These need to be full pathnames
+# (or do they, any more?).  They can be set in env.
+# variables whose names are the first parameter to getDir() below.
+my $BASEDIR = `pwd`;
+chomp($BASEDIR);
+
+# Directory where the test programs live.
+my $BINDIR = getDir('UB_BINDIR', $BASEDIR . "/pgms");
+
+# Temp directory, for temp files.
+my $TMPDIR = getDir('UB_TMPDIR', $BASEDIR . "/tmp");
+
+# Directory to put results in.
+my $RESULTDIR = getDir('UB_RESULTDIR', $BASEDIR . "/results");
+
+# Directory where the tests are executed.
+my $TESTDIR = getDir('UB_TESTDIR', $BASEDIR . "/testdir");
+
+
+############################################################################
+# TEST SPECIFICATIONS
+############################################################################
+
+# Configure the categories to which tests can belong.
+my $testCats = {
+    'system'    => { 'name' => "System Benchmarks", 'maxCopies' => 16 },
+    '2d'        => { 'name' => "2D Graphics Benchmarks", 'maxCopies' => 1 },
+    '3d'        => { 'name' => "3D Graphics Benchmarks", 'maxCopies' => 1 },
+    'misc'      => { 'name' => "Non-Index Benchmarks", 'maxCopies' => 16 },
+};
+
+
+my $arithmetic = [
+    "arithoh", "short", "int", "long", "float", "double", "whetstone-double"
+];
+
+my $fs = [
+    "fstime-w", "fstime-r", "fstime",
+    "fsbuffer-w", "fsbuffer-r", "fsbuffer",
+    "fsdisk-w", "fsdisk-r", "fsdisk"
+];
+
+my $oldsystem = [
+    "execl", "fstime", "fsbuffer", "fsdisk", "pipe", "context1", "spawn",
+    "syscall"
+];
+
+my $system = [
+    @$oldsystem, "shell1", "shell8" # , "shell16"
+];
+
+my $index = [
+   "dhry2reg", "whetstone-double", @$oldsystem, "shell1", "shell8"
+];
+
+my $graphics = [
+    "2d-rects", "2d-ellipse", "2d-aashapes", "2d-text", "2d-blit",
+    "2d-window", "ubgears"
+];
+
+
+# List of all supported test names.
+my $testList = {
+    # Individual tests.
+    "dhry2reg"      => undef,
+    "whetstone-double"   => undef,
+    "syscall"       => undef,
+    "pipe"          => undef,
+    "context1"      => undef,
+    "spawn"         => undef,
+    "execl"         => undef,
+    "fstime-w"      => undef,
+    "fstime-r"      => undef,
+    "fstime"        => undef,
+    "fsbuffer-w"    => undef,
+    "fsbuffer-r"    => undef,
+    "fsbuffer"      => undef,
+    "fsdisk-w"      => undef,
+    "fsdisk-r"      => undef,
+    "fsdisk"        => undef,
+    "shell1"        => undef,
+    "shell8"        => undef,
+    "shell16"       => undef,
+    "short"         => undef,
+    "int"           => undef,
+    "long"          => undef,
+    "float"         => undef,
+    "double"        => undef,
+    "arithoh"       => undef,
+    "C"             => undef,
+    "dc"            => undef,
+    "hanoi"         => undef,
+    "grep"          => undef,
+    "sysexec"       => undef,
+
+    "2d-rects"      => undef,
+    "2d-lines"      => undef,
+    "2d-circle"     => undef,
+    "2d-ellipse"    => undef,
+    "2d-shapes"     => undef,
+    "2d-aashapes"   => undef,
+    "2d-polys"      => undef,
+    "2d-text"       => undef,
+    "2d-blit"       => undef,
+    "2d-window"     => undef,
+
+    "ubgears"       => undef,
+
+    # Named combos and shorthands.
+    "arithmetic"    => $arithmetic,
+    "dhry"          => [ "dhry2reg" ],
+    "dhrystone"     => [ "dhry2reg" ],
+    "whets"         => [ "whetstone-double" ],
+    "whetstone"     => [ "whetstone-double" ],
+    "load"          => [ "shell" ],
+    "misc"          => [ "C", "dc", "hanoi" ],
+    "speed"         => [ @$arithmetic, @$system ],
+    "oldsystem"     => $oldsystem,
+    "system"        => $system,
+    "fs"            => $fs,
+    "shell"         => [ "shell1", "shell8" ],
+    "graphics"      => $graphics,
+
+    # The tests which constitute the official index.
+    "index"         => $index,
+
+    # The tests which constitute the official index plus the graphics
+    # index.
+    "gindex"         => [ @$index, @$graphics ],
+};
+
+
+# Default parameters for benchmarks.  Note that if "prog" is used,
+# it must contain just the program name, as it will be quoted (this
+# is necessary if BINDIR contains spaces).  Put any options in "options".
+my $baseParams = {
+    "prog" => undef,
+    "options" => "",
+    "repeat" => 'short',
+    "stdout" => 1,                  # Non-0 to keep stdout.
+    "stdin" => "",
+    "logmsg" => "",
+};
+
+
+# Individual parameters for all benchmarks.
+my $testParams = {
+
+    ##########################
+    ## System Benchmarks    ##
+    ##########################
+
+    "dhry2reg" => {
+        "logmsg" => "Dhrystone 2 using register variables",
+        "cat"    => 'system',
+        "options" => "10",
+        "repeat" => 'long',
+    },
+    "whetstone-double" => {
+        "logmsg" => "Double-Precision Whetstone",
+        "cat"    => 'system',
+        "repeat" => 'long',
+    },
+    "syscall" => {
+        "logmsg" => "System Call Overhead",
+        "cat"    => 'system',
+        "repeat" => 'long',
+        "options" => "10",
+    },
+    "context1" => {
+        "logmsg" => "Pipe-based Context Switching",
+        "cat"    => 'system',
+        "repeat" => 'long',
+        "options" => "10",
+    },
+    "pipe" => {
+        "logmsg" => "Pipe Throughput",
+        "cat"    => 'system',
+        "repeat" => 'long',
+        "options" => "10",
+    },
+    "spawn" => {
+        "logmsg" => "Process Creation",
+        "cat"    => 'system',
+        "options" => "30",
+    },
+    "execl" => {
+        "logmsg" => "Execl Throughput",
+        "cat"    => 'system',
+        "options" => "30",
+    },
+    "fstime-w" => {
+        "logmsg" => "File Write 1024 bufsize 2000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-w -t 30 -d \"${TMPDIR}\" -b 1024 -m 2000",
+    },
+    "fstime-r" => {
+        "logmsg" => "File Read 1024 bufsize 2000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-r -t 30 -d \"${TMPDIR}\" -b 1024 -m 2000",
+    },
+   "fstime" => {
+        "logmsg" => "File Copy 1024 bufsize 2000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-c -t 30 -d \"${TMPDIR}\" -b 1024 -m 2000",
+    },
+    "fsbuffer-w" => {
+        "logmsg" => "File Write 256 bufsize 500 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-w -t 30 -d \"${TMPDIR}\" -b 256 -m 500",
+    },
+    "fsbuffer-r" => {
+        "logmsg" => "File Read 256 bufsize 500 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-r -t 30 -d \"${TMPDIR}\" -b 256 -m 500",
+    },
+    "fsbuffer" => {
+        "logmsg" => "File Copy 256 bufsize 500 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-c -t 30 -d \"${TMPDIR}\" -b 256 -m 500",
+    },
+    "fsdisk-w" => {
+        "logmsg" => "File Write 4096 bufsize 8000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-w -t 30 -d \"${TMPDIR}\" -b 4096 -m 8000",
+    },
+    "fsdisk-r" => {
+        "logmsg" => "File Read 4096 bufsize 8000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-r -t 30 -d \"${TMPDIR}\" -b 4096 -m 8000",
+    },
+    "fsdisk" => {
+        "logmsg" => "File Copy 4096 bufsize 8000 maxblocks",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/fstime",
+        "options" => "-c -t 30 -d \"${TMPDIR}\" -b 4096 -m 8000",
+    },
+    "shell1" => {
+        "logmsg" => "Shell Scripts (1 concurrent)",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/looper",
+        "options" => "60 \"${BINDIR}/multi.sh\" 1",
+    },
+    "shell8" => {
+        "logmsg" => "Shell Scripts (8 concurrent)",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/looper",
+        "options" => "60 \"${BINDIR}/multi.sh\" 8",
+    },
+    "shell16" => {
+        "logmsg" => "Shell Scripts (16 concurrent)",
+        "cat"    => 'system',
+        "prog" => "${BINDIR}/looper",
+        "options" => "60 \"${BINDIR}/multi.sh\" 16",
+    },
+
+    ##########################
+    ## Graphics Benchmarks  ##
+    ##########################
+
+    "2d-rects" => {
+        "logmsg" => "2D graphics: rectangles",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "rects 3 2",
+    },
+
+    "2d-lines" => {
+        "logmsg" => "2D graphics: lines",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "lines 3 2",
+    },
+
+    "2d-circle" => {
+        "logmsg" => "2D graphics: circles",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "circle 3 2",
+    },
+
+    "2d-ellipse" => {
+        "logmsg" => "2D graphics: ellipses",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "ellipse 3 2",
+    },
+
+    "2d-shapes" => {
+        "logmsg" => "2D graphics: polygons",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "shapes 3 2",
+    },
+
+    "2d-aashapes" => {
+        "logmsg" => "2D graphics: aa polygons",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "aashapes 3 2",
+    },
+
+    "2d-polys" => {
+        "logmsg" => "2D graphics: complex polygons",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "polys 3 2",
+    },
+
+    "2d-text" => {
+        "logmsg" => "2D graphics: text",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "text 3 2",
+    },
+
+    "2d-blit" => {
+        "logmsg" => "2D graphics: images and blits",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "blit 3 2",
+    },
+
+    "2d-window" => {
+        "logmsg" => "2D graphics: windows",
+        "cat"    => '2d',
+        "prog" => "${BINDIR}/gfx-x11",
+        "options" => "window 3 2",
+    },
+
+    "ubgears" => {
+        "logmsg" => "3D graphics: gears",
+        "cat"    => '3d',
+        "options" => "-time 20 -v",
+    },
+
+
+    ##########################
+    ## Non-Index Benchmarks ##
+    ##########################
+
+    "C" => {
+        "logmsg" => "C Compiler Throughput ($cCompiler)",
+        "cat"    => 'misc',
+        "prog" => "${BINDIR}/looper",
+        "options" => "60 $cCompiler cctest.c",
+    },
+    "arithoh" => {
+        "logmsg" => "Arithoh",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "short" => {
+        "logmsg" => "Arithmetic Test (short)",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "int" => {
+        "logmsg" => "Arithmetic Test (int)",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "long" => {
+        "logmsg" => "Arithmetic Test (long)",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "float" => {
+        "logmsg" => "Arithmetic Test (float)",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "double" => {
+        "logmsg" => "Arithmetic Test (double)",
+        "cat"    => 'misc',
+        "options" => "10",
+    },
+    "dc" => {
+        "logmsg" => "Dc: sqrt(2) to 99 decimal places",
+        "cat"    => 'misc',
+        "prog" => "${BINDIR}/looper",
+        "options" => "30 dc",
+        "stdin" => "dc.dat",
+    },
+    "hanoi" => {
+        "logmsg" => "Recursion Test -- Tower of Hanoi",
+        "cat"    => 'misc',
+        "options" => "20",
+    },
+    "grep" => {
+        "logmsg" => "Grep a large file (system's grep)",
+        "cat"    => 'misc',
+        "prog" => "${BINDIR}/looper",
+        "options" => "30 grep -c gimp large.txt",
+    },
+    "sysexec" => {
+        "logmsg" => "Exec System Call Overhead",
+        "cat"    => 'misc',
+        "repeat" => 'long',
+        "prog" => "${BINDIR}/syscall",
+        "options" => "10 exec",
+    },
+};
+
+
+# CPU flags of interest.
+my $x86CpuFlags = {
+    'pae' => "Physical Address Ext",
+    'sep' => "SYSENTER/SYSEXIT",
+    'syscall' => "SYSCALL/SYSRET",
+    'mmx' => "MMX",
+    'mmxext' => "AMD MMX",
+    'cxmmx' => "Cyrix MMX",
+    'xmm' => "Streaming SIMD",
+    'xmm2' => "Streaming SIMD-2",
+    'xmm3' => "Streaming SIMD-3",
+    'ht' => "Hyper-Threading",
+    'ia64' => "IA-64 processor",
+    'lm' => "x86-64",
+    'vmx' => "Intel virtualization",
+    'svm' => "AMD virtualization",
+};
+
+
+############################################################################
+# UTILITIES
+############################################################################
+
+# Exec the given command, and catch its standard output.
+# We return an array containing the PID and the filehandle on the
+# process' standard output.  It's up to the caller to wait for the command
+# to terminate.
+sub command {
+    my ( $cmd ) = @_;
+
+    my $pid = open(my $childFd, "-|");
+    if (!defined($pid)) {
+        die("Run: fork() failed (undef)\n");
+    } elsif ($pid == 0) {
+        exec($cmd);
+        die("Run: exec() failed (returned)\n");
+    }
+
+    return ( $pid, $childFd );
+}
+
+
+# Get data from running a system command.  Used for things like getting
+# the host OS from `uname -o` etc.
+#
+# Ignores initial blank lines from the command and returns the first
+# non-blank line, with white space trimmed off.  Returns a blank string
+# if there is no output; undef if the command fails.
+sub getCmdOutput {
+    my ( $cmd ) = @_;
+
+    my ( $pid, $fd ) = command($cmd . " 2>/dev/null");
+    my $result = "";
+    while (<$fd>) {
+        chomp;
+        next if /^[ \t]*$/;
+
+        $result = $_;
+        $result =~ s/^[ \t]+//;
+        $result =~ s/[ \t]+$//;
+        last;
+    }
+
+    # Close the command and wait for it to die.
+    waitpid($pid, 0);
+    my $status = $?;
+
+    return $status == 0 ? $result : undef;
+}
+
+
+# Get a directory pathname from an environment variable, or the given
+# default.  Canonicalise and return the value.
+sub getDir {
+    my ( $var, $def ) = @_;
+
+    my $val = $ENV{$var} || $def;
+
+    # Canonicalise the value.
+    my $wd;
+    chomp($wd = `pwd`);
+    chdir($val);
+    chomp($val = `pwd`);
+    chdir($wd);
+    $ENV{$var} = $val;
+
+    $val;
+}
+
+
+# Get the name of the file we're going to log to.  The name uses the hostname
+# and date, plus a sequence number to make it unique.
+sub logFile {
+    my ( $sysInfo ) = @_;
+
+    my $count = 1;
+
+    # Use the date in the base file name.
+    my $ymd = strftime "%Y-%m-%d", localtime;
+
+    while (1) {
+        my $log = sprintf "%s/%s-%s-%02d",
+                        ${RESULTDIR}, $sysInfo->{'name'}, $ymd, $count;
+        return $log if (! -e $log);
+        ++$count;
+    }
+}
+
+
+# Print a message to the named log file.  We use this method rather than
+# keeping the FD open because we use shell redirection to send command
+# output to the same file.
+sub printLog {
+    my ( $logFile, @args ) = @_;
+
+    open(my $fd, ">>", $logFile) || abortRun("can't append to $logFile");
+    printf $fd @args;
+    close($fd);
+}
+
+
+# Display a number of something, auto-selecting the plural form
+# if appropriate.  We are given the number, the singular, and the
+# plural; if the plural is omitted, it defaults to singular + "s".
+sub number {
+    my ( $n, $what, $plural ) = @_;
+
+    $plural = $what . "s" if !defined($plural);
+
+    if (!defined($n)) {
+        return sprintf "unknown %s", $plural;
+    } else {
+        return sprintf "%d %s", $n, $n == 1 ? $what : $plural;
+    }
+}
+
+
+# Merge two sets of test parameters -- defaults and actual parameters.
+# Return the merged parameter hash.
+sub mergeParams {
+    my ( $def, $vals ) = @_;
+
+    my $params = { };
+    foreach my $k (keys(%$def)) {
+        $params->{$k} = $def->{$k};
+    }
+    foreach my $k (keys(%$vals)) {
+        $params->{$k} = $vals->{$k};
+    }
+
+    $params;
+}
+
+
+############################################################################
+# SYSTEM ANALYSIS
+############################################################################
+
+# Extract interesting flags from the given processor flags string and
+# convert them to descriptive names.
+sub processCpuFlags {
+    my ( $flagStr ) = @_;
+
+    my @names;
+    foreach my $f (sort split(/\s+/, $flagStr)) {
+        my $name = $x86CpuFlags->{$f};
+        push(@names, $name) if $name;
+    }
+
+    join(", ", @names);
+}
+
+
+# Get information on the CPUs in the system.  Returns a reference to an
+# array of N entries, one per CPU, where each entry is a hash containing
+# these fields:
+# describing the model etc.  Returns undef if the information can't be got.
+sub getCpuInfo {
+    open(my $fd, "<", "/proc/cpuinfo") || return undef;
+
+    my $cpus = [ ];
+    my $cpu = 0;
+    while (<$fd>) {
+        chomp;
+        my ( $field, $val ) = split(/[ \t]*:[ \t]*/);
+        next if (!$field || !$val);
+        if ($field eq "processor") {
+            $cpu = $val;
+        } elsif ($field eq "model name") {
+            my $model = $val;
+            $model =~ s/  +/ /g;
+            $cpus->[$cpu]{'model'} = $model;
+        } elsif ($field eq "bogomips") {
+            $cpus->[$cpu]{'bogo'} = $val;
+        } elsif ($field eq "flags") {
+            $cpus->[$cpu]{'flags'} = processCpuFlags($val);
+        }
+    }
+
+    close($fd);
+
+    $cpus;
+}
+
+
+# Get information on the host system.  Returns a reference to a hash
+# with the following fields:
+#    name           Host name
+#    os             Host OS name
+#    osRel          Host OS release
+#    osVer          Host OS version
+#    mach           Host machine name (eg. "SparcStation 20", but on
+#                   PC/Linux usually "i686" etc.)
+#    platform       Hardware platform; on Linux, the base CPU type?
+#    system         System name (eg. hostname and Linux distro, like
+#                   "hostname: openSUSE 10.2 (i586)").
+#    cpus           Value returned by getCpuInfo(), undef if not avail.
+#    numCpus        Number of CPUs if known, else undef.
+#    load           System load message as per "uptime".
+#    numUsers       Number of users and/or open shell sessions.
+sub getSystemInfo {
+    my $info = { };
+
+    # Get host system data.
+    if ($ENV{MINIX}) {
+        $info->{'name'} = getCmdOutput("uname -a");
+    } else {
+        $info->{'name'} = getCmdOutput("hostname");
+    }
+    $info->{'os'} = getCmdOutput("uname -o") || getCmdOutput("uname -s");
+    $info->{'osRel'} = getCmdOutput("uname -r");
+    $info->{'osVer'} = getCmdOutput("uname -v");
+    $info->{'mach'} = getCmdOutput("uname -m");
+    if (!$ENV{MINIX}) {
+        $info->{'platform'} = getCmdOutput("uname -i");
+    }
+
+    # Get the system name (SUSE, Red Hat, etc.) if possible.
+    $info->{'system'} = $info->{'os'};
+    if ( -r "/etc/SuSE-release" ) {
+        $info->{'system'} = getCmdOutput("cat /etc/SuSE-release");
+    } elsif ( -r "/etc/release" ) {
+        $info->{'system'} = getCmdOutput("cat /etc/release");
+    }
+
+    # Get the language info.
+    if (!$ENV{MINIX}) {
+        my $lang = getCmdOutput("printenv LANG");
+        my $map = getCmdOutput("locale -k LC_CTYPE | grep charmap");
+        $map =~ s/.*=//;
+        my $coll = getCmdOutput("locale -k LC_COLLATE | grep collate-codeset");
+        $coll =~ s/.*=//;
+        $info->{'language'} = sprintf "%s (charmap=%s, collate=%s)",
+                                      $lang, $map, $coll;
+    }
+
+    # Get details on the CPUs, if possible.
+    my $cpus = getCpuInfo();
+    if (defined($cpus)) {
+        $info->{'cpus'} = $cpus;
+        $info->{'numCpus'} = scalar(@$cpus);
+    }
+
+    # Get graphics hardware info.
+    # if (!$ENV{MINIX}) {
+    #     $info->{'graphics'} = getCmdOutput("3dinfo | cut -f1 -d\'(\'");
+    # }
+
+    # Get system run state, load and usage info.
+    if (!$ENV{MINIX}) {
+        $info->{'runlevel'} = getCmdOutput("runlevel | cut -f2 -d\" \"");
+    }
+    $info->{'load'} = getCmdOutput("uptime");
+    $info->{'numUsers'} = getCmdOutput("who | wc -l");
+
+    $info;
+}
+
+
+############################################################################
+# ERROR HANDLING
+############################################################################
+
+# Abort the benchmarking run with an error message.
+sub abortRun {
+    my ( $err ) = @_;
+
+    printf STDERR "\n**********************************************\n";
+    printf STDERR "Run: %s; aborting\n", $err;
+    exit(1);
+}
+
+
+############################################################################
+# TEST SETUP
+############################################################################
+
+# Do checks that everything's ready for testing.
+sub preChecks {
+    # Set the language.
+    $ENV{'LANG'} = $language;
+
+    # Check that the required files are in the proper places.
+    system("make check");
+    if ($? != 0) {
+        system("make all");
+        if ($? != 0) {
+            abortRun("\"make all\" failed");
+        }
+    }
+
+    # Create a script to kill this run.
+    system("echo \"kill -9 $$\" > \"${TMPDIR}/kill_run\"");
+    chmod(0755, $TMPDIR . "/kill_run");
+}
+
+
+# Parse the command arguments.
+sub parseArgs {
+    my @words = @_;
+
+    # The accumulator for the bench units to be run.
+    my $tests = [ ];
+    my $params = { 'tests' => $tests };
+
+    # Generate the requested list of bench programs.
+    my $opt;
+    my $word;
+    while ($word = shift(@words)) {
+        if ($word !~ m/^-/) {               # A test name.
+            if ($word eq "all") {
+                foreach my $t (keys(%$testList)) {
+                    push(@$tests, $t) if (!defined($testList->{$t}));
+                }
+            } elsif (exists($testList->{$word})) {
+                my $val = $testList->{$word} || [ $word ];
+                push(@$tests, @$val);
+            } else {
+                die("Run: unknown test \"$word\"\n");
+            }
+        } elsif ($word eq "-q") {
+            $params->{'verbose'} = 0;
+        } elsif ($word eq "-v") {
+            $params->{'verbose'} = 2;
+        } elsif ($word eq "-i") {
+            $params->{'iterations'} = shift(@words);
+        } elsif ($word eq "-c") {
+            if (!defined($params->{'copies'})) {
+                $params->{'copies'} = [ ];
+            }
+            push(@{$params->{'copies'}}, shift(@words));
+        } else {
+            die("Run: unknown option $word\n");
+        }
+    }
+
+    $params;
+}
+
+
+############################################################################
+# RESULTS INPUT / OUTPUT
+############################################################################
+
+# Read a set of benchmarking results from the given file.
+# Returns results in the form returned by runTests(), but without the
+# individual pass results.
+sub readResultsFromFile {
+    my ( $file ) = @_;
+
+    # Attempt to get the baseline data file; if we can't, just return undef.
+    open(my $fd, "<", $file) || return undef;
+
+    my $results = { };
+    while (<$fd>) {
+        chomp;
+
+        # Dump comments, ignore blank lines.
+        s/#.*//;
+        next if /^\s*$/;
+
+        my ( $name, $time, $slab, $sum, $score, $iters ) = split(/\|/);
+        my $bresult = { };
+        $bresult->{'score'} = $score;
+        $bresult->{'scorelabel'} = $slab;
+        $bresult->{'time'} = $time;
+        $bresult->{'iterations'} = $iters;
+
+        $results->{$name} = $bresult;
+    }
+
+    close($fd);
+
+    $results;
+}
+
+
+############################################################################
+# RESULTS PROCESSING
+############################################################################
+
+# Process a set of results from a single test by averaging the individal
+# pass results into a single final value.
+# First, though, dump the worst 1/3 of the scores.  The logic is that a
+# glitch in the system (background process waking up, for example) may
+# make one or two runs go slow, so let's discard those.
+#
+# $bresult is a hashed array representing the results of a single test;
+# $bresult->{'passes'} is an array of the output from the individual
+# passes.
+sub combinePassResults {
+    my ( $bench, $tdata, $bresult, $logFile ) = @_;
+
+    $bresult->{'cat'} = $tdata->{'cat'};
+
+    # Computed results.
+    my $iterations = 0;
+    my $totalTime = 0;
+    my $sum = 0;
+    my $product = 0;
+    my $label;
+
+    my $pres = $bresult->{'passes'};
+
+    # We're going to throw away the worst 1/3 of the pass results.
+    # Figure out how many to keep.
+    my $npasses = scalar(@$pres);
+    my $ndump = int($npasses / 3);
+
+    foreach my $presult (sort { $a->{'COUNT0'} <=> $b->{'COUNT0'} } @$pres) {
+        my $count = $presult->{'COUNT0'};
+        my $timebase = $presult->{'COUNT1'};
+        $label = $presult->{'COUNT2'};
+        my $time = $presult->{'TIME'} || $presult->{'elapsed'};
+
+        # Skip this result if it's one of the worst ones.
+        if ($ndump > 0) {
+            printLog($logFile, "*Dump score: %12.1f\n", $count);
+            --$ndump;
+            next;
+        }
+
+        # Count this result.
+        ++$iterations;
+        printLog($logFile, "Count score: %12.1f\n", $count);
+
+        # If $timebase is 0 the figure is a rate; else compute
+        # counts per $timebase.  $time is always seconds.
+        if ($timebase > 0) {
+            $sum += $count / ($time / $timebase);
+            $product += log($count) - log($time / $timebase);
+        } else {
+            $sum += $count;
+            $product += log($count);
+        }
+        $totalTime += $time;
+    }
+
+    # Save the results for the benchmark.
+    if ($iterations > 0) {
+        $bresult->{'score'} = exp($product / $iterations);
+        $bresult->{'scorelabel'} = $label;
+        $bresult->{'time'} = $totalTime / $iterations;
+        $bresult->{'iterations'} = $iterations;
+    } else {
+        $bresult->{'error'} = "No measured results";
+    }
+}
+
+
+# Index the given full benchmark results against the baseline results.
+# $results is a hashed array of test names to test results.
+#
+# Adds the following fields to each benchmark result:
+#    iscore         The baseline score for this test
+#    index          The index of this test against the baseline
+# Adds the following fields to $results:
+#    indexed        The number of tests for which index values were
+#                   generated
+#    fullindex      Non-0 if all the index tests were indexed
+#    index          The computed overall index for the run
+# Note that the index values are computed as
+#    result / baseline * 10
+# so an index of 523 indicates that a test ran 52.3 times faster than
+# the baseline.
+sub indexResults {
+    my ( $results ) = @_;
+
+    # Read in the baseline result data.  If we can't get it, just return
+    # without making indexed results.
+    my $index = readResultsFromFile($BINDIR . "/index.base");
+    if (!defined($index)) {
+        return;
+    }
+
+    # Count the number of results we have (indexed or not) in
+    # each category.
+    my $numCat = { };
+    foreach my $bench (@{$results->{'list'}}) {
+        my $bresult = $results->{$bench};
+        ++$numCat->{$bresult->{'cat'}};
+    }
+    $results->{'numCat'} = $numCat;
+
+    my $numIndex = { };
+    my $indexed = { };
+    my $sum = { };
+    foreach my $bench (sort(keys(%$index))) {
+        # Get the test data for this benchmark.
+        my $tdata = $testParams->{$bench};
+        if (!defined($tdata)) {
+            abortRun("unknown benchmark \"$bench\" in $BINDIR/index.base");
+        }
+
+        # Get the test category.  Count the total tests in this cat.
+        my $cat = $tdata->{'cat'};
+        ++$numIndex->{$cat};
+
+        # If we don't have a result for this test, skip.
+        next if (!defined($results->{$bench}));
+
+        # Get the index and actual results.  Calcluate the score.
+        my $iresult = $index->{$bench};
+        my $bresult = $results->{$bench};
+        my $ratio = $bresult->{'score'} / $iresult->{'score'};
+
+        # Save the indexed score.
+        $bresult->{'iscore'} = $iresult->{'score'};
+        $bresult->{'index'} = $ratio * 10;
+
+        # Sun the scores, and count this test for this category.
+        $sum->{$cat} += log($ratio);
+        ++$indexed->{$cat};
+    }
+
+    # Calculate the index scores per category.
+    $results->{'indexed'} = $indexed;
+    $results->{'numIndex'} = $numIndex;
+    foreach my $c (keys(%$indexed)) {
+        if ($indexed->{$c} > 0) {
+            $results->{'index'}{$c} = exp($sum->{$c} / $indexed->{$c}) * 10;
+        }
+    }
+}
+
+
+############################################################################
+# TEST EXECUTION
+############################################################################
+
+# Exec the given command in a sub-process.
+#
+# In the child process, we run the command and store its standard output.
+# We also time its execution, and catch its exit status.  We then write
+# the command's output, plus lines containing the execution time and status,
+# to a pipe.
+#
+# In the parent process, we immediately return an array containing the
+# child PID and the filehandle to the pipe.  This allows the caller to
+# kick off multiple commands in parallel, then gather their output.
+sub commandBuffered {
+    my ( $cmd ) = @_;
+
+    # Create a pipe for parent-child communication.
+    my $childReader;
+    my $parentWriter;
+    pipe($childReader, $parentWriter) || abortRun("pipe() failed");
+    $parentWriter->autoflush(1);
+
+    # Fork off the child process.
+    my $pid = fork();
+    if (!defined($pid)) {
+        abortRun("fork() failed (undef)");
+    } elsif ($pid == 0) {
+        # Close the other end of the pipe.
+        close $childReader;
+
+        # Start the clock and spawn the command.
+        my $benchStart = Time::HiRes::time();
+        my ( $cmdPid, $cmdFd ) = command($cmd);
+
+        # Read and buffer all the command's output.
+        my $output = [ ];
+        while (<$cmdFd>) {
+            push(@$output, $_);
+        }
+
+        # Stop the clock and save the time.
+        my $elTime = Time::HiRes::time() - $benchStart;
+        push(@$output, sprintf "elapsed|%f\n", $elTime);
+
+        # Wait for the child to die so we can get its status.
+        # close($cmdFd);  Doesn't work???
+        waitpid($cmdPid, 0);
+        my $status = $?;
+        push(@$output, sprintf "status|%d\n", $status);
+
+        # Now that we've got the time, play back all the output to the pipe.
+        # The parent can read this at its leisure.
+        foreach my $line (@$output) {
+            print $parentWriter $line;
+        }
+
+        # Terminate this child.
+        close $parentWriter;
+        exit(0);
+    }
+
+    # Close the other end of the pipe.
+    close $parentWriter;
+
+    return ( $pid, $childReader );
+}
+
+
+# Read the results of a benchmark execution from a child process, given
+# its process ID and its filehandle.  Create a results hash structure
+# containing the fields returned by the child, plus:
+#    pid            The child's process ID
+#    status         The child's exit status
+#    ERROR          Any stderr output from the child that isn't result data
+# Note that ay result fields with ultiple values are split; so eg.
+#    COUNT|x|y|x
+# becomes
+#    COUNT0 = x
+#    COUNT1 = y
+#    COUNT2 = z
+sub readResults {
+    my ( $pid, $fd ) = @_;
+
+    my $presult = { 'pid' => $pid };
+
+    # Read all the result lines from the child.
+    while (<$fd>) {
+        chomp;
+
+        my ( $field, @params ) = split(/\|/);
+        if (scalar(@params) == 0) {            # Error message.
+            $presult->{'ERROR'} .= "\n" if ($presult->{'ERROR'});
+            $presult->{'ERROR'} .= $field;
+        } elsif (scalar(@params) == 1) {       # Simple data.
+            $presult->{$field} = $params[0];
+        } else {                               # Compound data.
+            # Store the values in separate fields, named "FIELD$i".
+            for (my $x = 0; $x < scalar(@params); ++$x) {
+                $presult->{$field . $x} = $params[$x];
+            }
+        }
+    }
+
+    # If the command had an error, make an appropriate message if we
+    # don't have one.
+    if ($presult->{'status'} != 0 && !defined($presult->{'ERROR'})) {
+        $presult->{'ERROR'} = "command returned status " . $presult->{'status'};
+    }
+
+    # Wait for the child to die.
+    close($fd);
+    waitpid($pid, 0);
+
+    $presult;
+}
+
+
+# Execute a benchmark command.  We set off a given number of copies in
+# parallel to exercise multiple CPUs.
+#
+# We return an array of results hashes, one per copy; each one is as
+# returned by readResults().
+sub executeBenchmark {
+    my ( $command, $copies ) = @_;
+
+    # Array of contexts for all the copies we're running.
+    my $ctxt = [ ];
+
+    # Kick off all the commands at once.
+    for (my $i = 0; $i < $copies; ++$i) {
+        my ( $cmdPid, $cmdFd ) = commandBuffered($command);
+        $ctxt->[$i] = {
+            'pid'     => $cmdPid,
+            'fd'      => $cmdFd,
+        };
+    }
+
+    # Now, we can simply read back the command results in order.  Because
+    # the child processes read and buffer the results and time the commands,
+    # there's no need to use select() to read the results as they appear.
+    my $pres = [ ];
+    for (my $i = 0; $i < $copies; ++$i) {
+        my $presult = readResults($ctxt->[$i]{'pid'}, $ctxt->[$i]{'fd'});
+        push(@$pres, $presult);
+    }
+
+    $pres;
+}
+
+
+# Run one iteration of a benchmark, as specified by the given
+# benchmark parameters.  We run multiple parallel copies as
+# specified by $copies.
+sub runOnePass {
+    my ( $params, $verbose, $logFile, $copies ) = @_;
+
+    # Get the command to run.
+    my $command = $params->{'command'};
+    if ($verbose > 1) {
+        printf "\n";
+        printf "COMMAND: \"%s\"\n", $command;
+        printf "COPIES: \"%d\"\n", $copies;
+    }
+
+    # Remember where we are, and move to the test directory.
+    my $pwd = `pwd`;
+    chdir($TESTDIR);
+
+    # Execute N copies of the benchmark in parallel.
+    my $copyResults = executeBenchmark($command, $copies);
+    printLog($logFile, "\n");
+
+    # Move back home.
+    chdir($pwd);
+
+    # Sum up the scores of the copies.
+    my $count = 0;
+    my $time = 0;
+    my $elap = 0;
+    foreach my $res (@$copyResults) {
+        # Log the result data for each copy.
+        foreach my $k (sort(keys(%$res))) {
+            printLog($logFile, "# %s: %s\n", $k, $res->{$k});
+        }
+        printLog($logFile, "\n");
+
+        # If it failed, bomb out.
+        if (defined($res->{'ERROR'})) {
+            my $name = $params->{'logmsg'};
+            abortRun("\"$name\": " . $res->{'ERROR'});
+        }
+
+        # Count up the score.
+        $count += $res->{'COUNT0'};
+        $time += $res->{'TIME'} || $res->{'elapsed'};
+        $elap += $res->{'elapsed'};
+    }
+
+    # Make up a combined result.
+    my $passResult = $copyResults->[0];
+    $passResult->{'COUNT0'} = $count;
+    $passResult->{'TIME'} = $time / $copies;
+    $passResult->{'elapsed'} = $elap / $copies;
+
+    $passResult;
+}
+
+
+sub runBenchmark {
+    my ( $bench, $tparams, $verbose, $logFile, $copies ) = @_;
+
+    # Make up the actual benchmark parameters.
+    my $params = mergeParams($baseParams, $tparams);
+
+    # Make up the command string based on the parameters.
+    my $prog = $params->{'prog'} || $BINDIR . "/" . $bench;
+    my $command = sprintf "\"%s\" %s", $prog, $params->{'options'};
+    $command .= " < \"" . $params->{'stdin'} . "\"" if ($params->{'stdin'});
+    $command .= " 2>&1";
+    $command .= $params->{'stdout'} ? (" >> \"" . $logFile . "\"") : " > /dev/null";
+    $params->{'command'} = $command;
+
+    # Set up the benchmark results structure.
+    my $bresult = { 'name' => $bench, 'msg' => $params->{'logmsg'} };
+
+    if ($verbose > 0) {
+        printf "\n%d x %s ", $copies, $params->{'logmsg'};
+    }
+
+    printLog($logFile,
+             "\n########################################################\n");
+    printLog($logFile, "%s -- %s\n",
+             $params->{'logmsg'}, number($copies, "copy", "copies"));
+    printLog($logFile, "==> %s\n\n", $command);
+
+    # Run the test iterations, as given by the "repeat" parameter.
+    my $repeats = $shortIterCount;
+    $repeats = $longIterCount if $params->{'repeat'} eq 'long';
+    $repeats = 1 if $params->{'repeat'} eq 'single';
+    my $pres = [ ];
+    for (my $i = 1; $i <= $repeats; ++$i) {
+        printLog($logFile, "#### Pass %d\n\n", $i);
+
+        # make an attempt to flush buffers
+        system("sync; sleep 1; sync; sleep 2");
+        # display heartbeat
+        if ($verbose > 0) {
+            printf " %d", $i;
+        }
+
+        # Execute one pass of the benchmark.
+        my $presult = runOnePass($params, $verbose, $logFile, $copies);
+        push(@$pres, $presult);
+    }
+    $bresult->{'passes'} = $pres;
+
+    # Calculate the averaged results for this benchmark.
+    combinePassResults($bench, $tparams, $bresult, $logFile);
+
+    # Log the results.
+    if ($copies == 1) {
+        printLog($logFile, "\n>>>> Results of 1 copy\n");
+    } else {
+        printLog($logFile, "\n>>>> Sum of %d copies\n", $copies);
+    }
+    foreach my $k ( 'score', 'time', 'iterations' ) {
+        printLog($logFile, ">>>> %s: %s\n", $k, $bresult->{$k});
+    }
+    printLog($logFile, "\n");
+
+    # Some specific cleanup routines.
+    if ($bench eq "C") {
+        unlink(${TESTDIR} . "/cctest.o");
+        unlink(${TESTDIR} . "/a.out");
+    }
+
+    if ($verbose > 0) {
+        printf "\n";
+    }
+
+    $bresult;
+}
+
+
+# Run the named benchmarks.
+sub runTests {
+    my ( $tests, $verbose, $logFile, $copies ) = @_;
+
+    # Run all the requested tests and gather the results.
+    my $results = { 'start' => time(), 'copies' => $copies };
+    foreach my $bench (@$tests) {
+        # Get the parameters for this benchmark.
+        my $params = $testParams->{$bench};
+        if (!defined($params)) {
+            abortRun("unknown benchmark \"$bench\"");
+        }
+
+        # If the benchmark doesn't want to run with this many copies, skip it.
+        my $cat = $params->{'cat'};
+        my $maxCopies = $testCats->{$cat}{'maxCopies'};
+        next if ($copies > $maxCopies);
+
+        # Run the benchmark.
+        my $bresult = runBenchmark($bench, $params, $verbose, $logFile, $copies);
+        $results->{$bench} = $bresult;
+    }
+    $results->{'end'} = time();
+
+    # Generate a sorted list of benchmarks for which we have results.
+    my @benches = grep {
+        ref($results->{$_}) eq "HASH" && defined($results->{$_}{'msg'})
+    } keys(%$results);
+    @benches = sort {
+        $results->{$a}{'msg'} cmp $results->{$b}{'msg'}
+    } @benches;
+    $results->{'list'} = \@benches;
+
+    # Generate index scores for the results relative to the baseline data.
+    indexResults($results);
+
+    $results;
+}
+
+
+############################################################################
+# TEXT REPORTS
+############################################################################
+
+# Display a banner indicating the configuration of the system under test
+# to the given file desc.
+sub displaySystem {
+    my ( $info, $fd ) = @_;
+
+    # Display basic system info.
+    printf $fd "   System: %s: %s\n", $info->{'name'}, $info->{'system'};
+    printf $fd "   OS: %s -- %s -- %s\n",
+                        $info->{'os'}, $info->{'osRel'}, $info->{'osVer'};
+    if (!$ENV{MINIX}) {
+        printf $fd "   Machine: %s (%s)\n", $info->{'mach'}, $info->{'platform'};
+    }
+    printf $fd "   Machine: %s\n", $info->{'mach'};
+    if (!$ENV{MINIX}) {
+        printf $fd "   Language: %s\n", $info->{'language'};
+    }
+
+    # Get and display details on the CPUs, if possible.
+    my $cpus = $info->{'cpus'};
+    if (!defined($cpus)) {
+        printf $fd "   CPU: no details available\n";
+    } else {
+        for (my $i = 0; $i <= $#$cpus; ++$i) {
+            printf $fd "   CPU %d: %s (%.1f bogomips)\n",
+                       $i, $cpus->[$i]{'model'}, $cpus->[$i]{'bogo'};
+            printf $fd "          %s\n", $cpus->[$i]{'flags'};
+        }
+    }
+
+    # if (!$ENV{MINIX}) {    
+    #     if ($info->{'graphics'}) {
+    #         printf $fd "   Graphics: %s\n", $info->{'graphics'};
+    #     }
+    # }
+
+    # Display system load and usage info.
+    if (!$ENV{MINIX}) {
+        printf $fd "   %s; runlevel %s\n\n", $info->{'load'}, $info->{'runlevel'};
+    }
+}
+
+
+# Display the test scores from the given set of test results.
+sub logResults {
+    my ( $results, $outFd ) = @_;
+
+    # Display the individual test scores.
+    foreach my $bench (@{$results->{'list'}}) {
+        my $bresult = $results->{$bench};
+
+        printf $outFd "%-40s %12.1f %-5s (%.1f s, %d samples)\n",
+                      $bresult->{'msg'},
+                      $bresult->{'score'},
+                      $bresult->{'scorelabel'},
+                      $bresult->{'time'},
+                      $bresult->{'iterations'};
+    }
+
+    printf $outFd "\n";
+}
+
+
+# Display index scores, if any, for the given run results.
+sub logIndexCat {
+    my ( $results, $cat, $outFd ) = @_;
+
+    my $total = $results->{'numIndex'}{$cat};
+    my $indexed = $results->{'indexed'}{$cat};
+    my $iscore = $results->{'index'}{$cat};
+    my $full = $total == $indexed;
+
+    # If there are no indexed scores, just say so.
+    if (!defined($indexed) || $indexed == 0) {
+        printf $outFd "No index results available for %s\n\n",
+                      $testCats->{$cat}{'name'};
+        return;
+    }
+
+    # Display the header, depending on whether we have a full set of index
+    # scores, or a partial set.
+    my $head = $testCats->{$cat}{'name'} .
+                        ($full ? " Index Values" : " Partial Index");
+    printf $outFd "%-40s %12s %12s %8s\n",
+                  $head, "BASELINE", "RESULT", "INDEX";
+
+    # Display the individual test scores.
+    foreach my $bench (@{$results->{'list'}}) {
+        my $bresult = $results->{$bench};
+        next if $bresult->{'cat'} ne $cat;
+
+       if (defined($bresult->{'iscore'}) && defined($bresult->{'index'})) {
+            printf $outFd "%-40s %12.1f %12.1f %8.1f\n",
+                      $bresult->{'msg'}, $bresult->{'iscore'},
+                      $bresult->{'score'}, $bresult->{'index'};
+       } else {
+            printf $outFd "%-40s %12s %12.1f %8s\n",
+                      $bresult->{'msg'}, "---",
+                      $bresult->{'score'}, "---";
+       }
+    }
+
+    # Display the overall score.
+    my $title = $testCats->{$cat}{'name'} . " Index Score";
+    if (!$full) {
+        $title .= " (Partial Only)";
+    }
+    printf $outFd "%-40s %12s %12s %8s\n", "", "", "", "========";
+    printf $outFd "%-66s %8.1f\n", $title, $iscore;
+
+    printf $outFd "\n";
+}
+
+
+# Display index scores, if any, for the given run results.
+sub logIndex {
+    my ( $results, $outFd ) = @_;
+
+    my $count = $results->{'indexed'};
+    foreach my $cat (keys(%$count)) {
+        logIndexCat($results, $cat, $outFd);
+    }
+}
+
+
+# Dump the given run results into the given report file.
+sub summarizeRun {
+    my ( $systemInfo, $results, $verbose, $reportFd ) = @_;
+
+    # Display information about this test run.
+    printf $reportFd "------------------------------------------------------------------------\n";
+    printf $reportFd "Benchmark Run: %s %s - %s\n",
+           strftime("%a %b %d %Y", localtime($results->{'start'})),
+           strftime("%H:%M:%S", localtime($results->{'start'})),
+           strftime("%H:%M:%S", localtime($results->{'end'}));
+    printf $reportFd "%s in system; running %s of tests\n",
+           number($systemInfo->{'numCpus'}, "CPU"),
+           number($results->{'copies'}, "parallel copy", "parallel copies");
+    printf $reportFd "\n";
+
+    # Display the run scores.
+    logResults($results, $reportFd);
+
+    # Display the indexed scores, if any.
+    logIndex($results, $reportFd);
+}
+
+
+############################################################################
+# HTML REPORTS
+############################################################################
+
+# Dump the given run results into the given report file.
+sub runHeaderHtml {
+    my ( $systemInfo, $reportFd ) = @_;
+
+    # Display information about this test run.
+    my $title = sprintf "Benchmark of %s / %s on %s",
+                     $systemInfo->{'name'}, $systemInfo->{'system'},
+                     strftime("%a %b %d %Y", localtime());
+
+    print $reportFd <<EOF;
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+  <meta name="keywords" content="linux, benchmarks, benchmarking">
+  <title>$title</title>
+  <style type="text/css">
+    table {
+      margin: 1em 1em 1em 0;
+      background: #f9f9f9;
+      border: 1px #aaaaaa solid;
+      border-collapse: collapse;
+    }
+
+    table th, table td {
+      border: 1px #aaaaaa solid;
+      padding: 0.2em;
+    }
+
+    table th {
+      background: #f2f2f2;
+      text-align: center;
+    }
+  </style>
+</head>
+<body>
+EOF
+
+    # Display information about this test run.
+    printf $reportFd "<h2>%s</h2>\n", $title;
+    printf $reportFd "<p><b>BYTE UNIX Benchmarks (Version %s)</b></p>\n\n",
+                     $version;
+}
+
+
+# Display a banner indicating the configuration of the system under test
+# to the given file desc.
+sub displaySystemHtml {
+    my ( $info, $fd ) = @_;
+
+    printf $fd "<h3>Test System Information</h3>\n";
+    printf $fd "<p><table>\n";
+
+    # Display basic system info.
+    printf $fd "<tr>\n";
+    printf $fd "   <td><b>System:</b></td>\n";
+    printf $fd "   <td colspan=2>%s: %s</td>\n",
+               $info->{'name'}, $info->{'system'};
+    printf $fd "</tr><tr>\n";
+    printf $fd "   <td><b>OS:</b></td>\n";
+    printf $fd "   <td colspan=2>%s -- %s -- %s</td>\n",
+               $info->{'os'}, $info->{'osRel'}, $info->{'osVer'};
+    printf $fd "</tr><tr>\n";
+    printf $fd "   <td><b>Machine:</b></td>\n";
+    if (!$ENV{MINIX}) {
+        printf $fd "   <td colspan=2>%s: %s</td>\n",
+                   $info->{'mach'}, $info->{'platform'};
+    }
+    printf $fd "   <td colspan=2>%s</td>\n",
+                   $info->{'mach'};
+    if (!$ENV{MINIX}) {
+        printf $fd "</tr><tr>\n";
+        printf $fd "   <td><b>Language:</b></td>\n";
+        printf $fd "   <td colspan=2>%s</td>\n", $info->{'language'};
+    }
+    printf $fd "</tr>\n";
+
+    # Get and display details on the CPUs, if possible.
+    my $cpus = $info->{'cpus'};
+    if (!defined($cpus)) {
+        printf $fd "<tr>\n";
+        printf $fd "   <td><b>CPUs:</b></td>\n";
+        printf $fd "   <td colspan=2>no details available</td>\n";
+        printf $fd "</tr>\n";
+    } else {
+        for (my $i = 0; $i <= $#$cpus; ++$i) {
+            printf $fd "<tr>\n";
+            if ($i == 0) {
+                printf $fd "   <td rowspan=%d><b>CPUs:</b></td>\n", $#$cpus + 1;
+            }
+            printf $fd "   <td><b>%d:</b></td>\n", $i;
+            printf $fd "   <td>%s (%.1f bogomips)<br/>\n",
+                        $cpus->[$i]{'model'}, $cpus->[$i]{'bogo'};
+            printf $fd "       %s</td>\n", $cpus->[$i]{'flags'};
+            printf $fd "</tr>\n";
+        }
+    }
+
+    # Display graphics hardware info.
+    # if (!$ENV{MINIX}) {
+    #     if ($info->{'graphics'}) {
+    #         printf $fd "<tr>\n";
+    #         printf $fd "   <td><b>Graphics:</b></td>\n";
+    #         printf $fd "   <td colspan=2>%s</td>\n", $info->{'graphics'};
+    #         printf $fd "</tr>\n";
+    #     }
+    # }
+
+    # Display system runlevel, load and usage info.
+    printf $fd "<tr>\n";
+    printf $fd "   <td><b>Uptime:</b></td>\n";
+    if (!$ENV{MINIX}) {
+        printf $fd "   <td colspan=2>%s; runlevel %s</td>\n",
+                       $info->{'load'}, $info->{'runlevel'};
+    }
+    printf $fd "   <td colspan=2>%s\n",
+                   $info->{'load'};
+    printf $fd "</tr>\n";
+
+    printf $fd "</table></p>\n\n";
+}
+
+
+# Display the test scores from the given set of test results
+# for a given category of tests.
+sub logCatResultsHtml {
+    my ( $results, $cat, $fd ) = @_;
+
+    my $numIndex = $results->{'numIndex'}{$cat};
+    my $indexed = $results->{'indexed'}{$cat};
+    my $iscore = $results->{'index'}{$cat};
+    my $full = defined($indexed) && $indexed == $numIndex;
+
+    # If there are no results in this category, just ignore it.
+    if (!defined($results->{'numCat'}{$cat}) ||
+                            $results->{'numCat'}{$cat} == 0) {
+        return;
+    }
+
+    # Say the category.  If there are no indexed scores, just say so.
+    my $warn = "";
+    if (!defined($indexed) || $indexed == 0) {
+        $warn = " â€” no index results available";
+    } elsif (!$full) {
+        $warn = " â€” not all index tests were run;" .
+                " only a partial index score is available";
+    }
+    printf $fd "<h4>%s%s</h4>\n", $testCats->{$cat}{'name'}, $warn;
+
+    printf $fd "<p><table width=\"100%%\">\n";
+
+    printf $fd "<tr>\n";
+    printf $fd "   <th align=left>Test</th>\n";
+    printf $fd "   <th align=right>Score</th>\n";
+    printf $fd "   <th align=left>Unit</th>\n";
+    printf $fd "   <th align=right>Time</th>\n";
+    printf $fd "   <th align=right>Iters.</th>\n";
+    printf $fd "   <th align=right>Baseline</th>\n";
+    printf $fd "   <th align=right>Index</th>\n";
+    printf $fd "</tr>\n";
+
+    # Display the individual test scores.
+    foreach my $bench (@{$results->{'list'}}) {
+        my $bresult = $results->{$bench};
+        next if $bresult->{'cat'} ne $cat;
+
+        printf $fd "<tr>\n";
+        printf $fd "   <td><b>%s</b></td>\n", $bresult->{'msg'};
+        printf $fd "   <td align=right><tt>%.1f</tt></td>\n",
+                   $bresult->{'score'};
+        printf $fd "   <td align=left><tt>%s</tt></td>\n",
+                   $bresult->{'scorelabel'};
+        printf $fd "   <td align=right><tt>%.1f s</tt></td>\n",
+                   $bresult->{'time'};
+        printf $fd "   <td align=right><tt>%d</tt></td>\n",
+                   $bresult->{'iterations'};
+
+        if (defined($bresult->{'index'})) {
+            printf $fd "   <td align=right><tt>%.1f</tt></td>\n",
+                       $bresult->{'iscore'};
+            printf $fd "   <td align=right><tt>%.1f</tt></td>\n",
+                       $bresult->{'index'};
+        }
+        printf $fd "</tr>\n";
+    }
+
+    # Display the overall score.
+    if (defined($indexed) && $indexed > 0) {
+        my $title = $testCats->{$cat}{'name'} . " Index Score";
+        if (!$full) {
+            $title .= " (Partial Only)";
+        }
+        printf $fd "<tr>\n";
+        printf $fd "   <td colspan=6><b>%s:</b></td>\n", $title;
+        printf $fd "   <td align=right><b><tt>%.1f</tt></b></td>\n", $iscore;
+        printf $fd "</tr>\n";
+    }
+
+    printf $fd "</table></p>\n\n";
+}
+
+
+# Display index scores, if any, for the given run results.
+sub logResultsHtml {
+    my ( $results, $fd ) = @_;
+
+    foreach my $cat (keys(%$testCats)) {
+        logCatResultsHtml($results, $cat, $fd);
+    }
+}
+
+
+# Dump the given run results into the given report file.
+sub summarizeRunHtml {
+    my ( $systemInfo, $results, $verbose, $reportFd ) = @_;
+
+    # Display information about this test run.
+    my $time = $results->{'end'} - $results->{'start'};
+    printf $reportFd "<p><hr/></p>\n";
+    printf $reportFd "<h3>Benchmark Run: %s; %s</h3>\n",
+           number($systemInfo->{'numCpus'}, "CPU"),
+           number($results->{'copies'}, "parallel process", "parallel processes");
+    printf $reportFd "<p>Time: %s - %s; %dm %02ds</p>\n",
+                     strftime("%H:%M:%S", localtime($results->{'start'})),
+                     strftime("%H:%M:%S", localtime($results->{'end'})),
+                     int($time / 60), $time % 60;
+    printf $reportFd "\n";
+
+    # Display the run scores.
+    logResultsHtml($results, $reportFd);
+}
+
+
+sub runFooterHtml {
+    my ( $reportFd ) = @_;
+
+    print $reportFd <<EOF;
+<p><hr/></p>
+<div><b>No Warranties:</b> This information is provided free of charge and "as
+is" without any warranty, condition, or representation of any kind,
+either express or implied, including but not limited to, any warranty
+respecting non-infringement, and the implied warranties of conditions
+of merchantability and fitness for a particular purpose. All logos or
+trademarks on this site are the property of their respective owner. In
+no event shall the author be liable for any
+direct, indirect, special, incidental, consequential or other damages
+howsoever caused whether arising in contract, tort, or otherwise,
+arising out of or in connection with the use or performance of the
+information contained on this web site.</div>
+</body>
+</html>
+EOF
+}
+
+
+############################################################################
+# MAIN
+############################################################################
+
+sub main {
+    my @args = @_;
+
+    my $params = parseArgs(@args);
+    my $verbose = $params->{'verbose'} || 1;
+    if ($params->{'iterations'}) {
+        $longIterCount = $params->{'iterations'};
+        $shortIterCount = int(($params->{'iterations'} + 1) / 3);
+        $shortIterCount = 1 if ($shortIterCount < 1);
+    }
+
+    # If no benchmark units have be specified, do "index".
+    my $tests = $params->{'tests'};
+    if ($#$tests < 0) {
+        $tests = $index;
+    }
+
+    preChecks();
+    my $systemInfo = getSystemInfo();
+
+    # If the number of copies to run was not set, set it to 1
+    # and the number of CPUs in the system (if > 1).
+    my $copies = $params->{'copies'};
+    if (!$copies || scalar(@$copies) == 0) {
+        push(@$copies, 1);
+        if (defined($systemInfo->{'numCpus'}) && $systemInfo->{'numCpus'} > 1) {
+            push(@$copies, $systemInfo->{'numCpus'});
+        }
+    }
+
+    # Display the program banner.
+    system("cat \"${BINDIR}/unixbench.logo\"");
+
+    if ($verbose > 1) {
+        printf "\n", join(", ", @$tests);
+        printf "Tests to run: %s\n", join(", ", @$tests);
+    }
+
+    # Generate unique file names for the report and log file.
+    my $reportFile = logFile($systemInfo);
+    my $reportHtml = $reportFile . ".html";
+    my $logFile = $reportFile . ".log";
+
+    # Open the log file for writing.
+    open(my $reportFd, ">", $reportFile) ||
+                            die("Run: can't write to $reportFile\n");
+    open(my $reportFd2, ">", $reportHtml) ||
+                            die("Run: can't write to $reportHtml\n");
+    printf $reportFd "   BYTE UNIX Benchmarks (Version %s)\n\n", $version;
+    runHeaderHtml($systemInfo, $reportFd2);
+
+    # Dump information about the system under test.
+    displaySystem($systemInfo, $reportFd);
+    displaySystemHtml($systemInfo, $reportFd2);
+
+    # Run the tests!  Do a test run once for each desired number of copies;
+    # for example, on a 2-CPU system, we may do a single-processing run
+    # followed by a dual-processing run.
+    foreach my $c (@$copies) {
+        if ($verbose > 1) {
+            printf "Run with %s\n", number($c, "copy", "copies");
+        }
+        my $results = runTests($tests, $verbose, $logFile, $c);
+
+        summarizeRun($systemInfo, $results, $verbose, $reportFd);
+        summarizeRunHtml($systemInfo, $results, $verbose, $reportFd2);
+    }
+
+    runFooterHtml($reportFd2);
+
+    # Finish the report.
+    close($reportFd);
+    close($reportFd2);
+
+    # Display the report, if not in quiet mode.
+    if ($verbose > 0) {
+        printf "\n";
+        printf  "========================================================================\n";
+        system("cat \"$reportFile\"");
+    }
+
+    0;
+}
+
+
+exit(main(@ARGV));
+
diff --git a/test/benchmarks/unixbench-5.1.2/USAGE b/test/benchmarks/unixbench-5.1.2/USAGE
new file mode 100644 (file)
index 0000000..903a83f
--- /dev/null
@@ -0,0 +1,394 @@
+Running the Tests
+=================
+
+All the tests are executed using the "Run" script in the top-level directory.
+
+The simplest way to generate results is with the commmand:
+    ./Run
+
+This will run a standard "index" test (see "The BYTE Index" below), and
+save the report in the "results" directory, with a filename like
+    hostname-2007-09-23-01
+An HTML version is also saved.
+
+If you want to generate both the basic system index and the graphics index,
+then do:
+    ./Run gindex
+
+If your system has more than one CPU, the tests will be run twice -- once
+with a single copy of each test running at once, and once with N copies,
+where N is the number of CPUs.  Some categories of tests, however (currently
+the graphics tests) will only run with a single copy.
+
+Since the tests are based on constant time (variable work), a "system"
+run usually takes about 29 minutes; the "graphics" part about 18 minutes.
+A "gindex" run on a dual-core machine will do 2 "system" passes (single-
+and dual-processing) and one "graphics" run, for a total around one and
+a quarter hours.
+
+============================================================================
+
+Detailed Usage
+==============
+
+The Run script takes a number of options which you can use to customise a
+test, and you can specify the names of the tests to run.  The full usage
+is:
+
+    Run [ -q | -v ] [-i <n> ] [-c <n> [-c <n> ...]] [test ...]
+
+The option flags are:
+
+  -q            Run in quiet mode.
+  -v            Run in verbose mode.
+  -i <count>    Run <count> iterations for each test -- slower tests
+                use <count> / 3, but at least 1.  Defaults to 10 (3 for
+                slow tests).
+  -c <n>        Run <n> copies of each test in parallel.
+
+The -c option can be given multiple times; for example:
+
+    ./Run -c 1 -c 4
+
+will run a single-streamed pass, then a 4-streamed pass.  Note that some
+tests (currently the graphics tests) will only run in a single-streamed pass.
+
+The remaining non-flag arguments are taken to be the names of tests to run.
+The default is to run "index".  See "Tests" below.
+
+When running the tests, I do *not* recommend switching to single-user mode
+("init 1").  This seems to change the results in ways I don't understand,
+and it's not realistic (unless your system will actually be running in this
+mode, of course).  However, if using a windowing system, you may want to
+switch to a minimal window setup (for example, log in to a "twm" session),
+so that randomly-churning background processes don't randomise the results
+too much.  This is particularly true for the graphics tests.
+
+
+============================================================================
+
+Tests
+=====
+
+The available tests are organised into categories; when generating index
+scores (see "The BYTE Index" below) the results for each category are
+produced separately.  The categories are:
+
+   system          The original Unix system tests (not all are actually
+                   in the index)
+   2d              2D graphics tests (not all are actually in the index)
+   3d              3D graphics tests
+   misc            Various non-indexed tests
+
+The following individual tests are available:
+
+  system:
+    dhry2reg         Dhrystone 2 using register variables
+    whetstone-double Double-Precision Whetstone
+    syscall          System Call Overhead
+    pipe             Pipe Throughput
+    context1         Pipe-based Context Switching
+    spawn            Process Creation
+    execl            Execl Throughput
+    fstime-w         File Write 1024 bufsize 2000 maxblocks
+    fstime-r         File Read 1024 bufsize 2000 maxblocks
+    fstime           File Copy 1024 bufsize 2000 maxblocks
+    fsbuffer-w       File Write 256 bufsize 500 maxblocks
+    fsbuffer-r       File Read 256 bufsize 500 maxblocks
+    fsbuffer         File Copy 256 bufsize 500 maxblocks
+    fsdisk-w         File Write 4096 bufsize 8000 maxblocks
+    fsdisk-r         File Read 4096 bufsize 8000 maxblocks
+    fsdisk           File Copy 4096 bufsize 8000 maxblocks
+    shell1           Shell Scripts (1 concurrent) (runs "looper 60 multi.sh 1")
+    shell8           Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 8")
+    shell16          Shell Scripts (8 concurrent) (runs "looper 60 multi.sh 16")
+
+  2d:
+    2d-rects         2D graphics: rectangles
+    2d-lines         2D graphics: lines
+    2d-circle        2D graphics: circles
+    2d-ellipse       2D graphics: ellipses
+    2d-shapes        2D graphics: polygons
+    2d-aashapes      2D graphics: aa polygons
+    2d-polys         2D graphics: complex polygons
+    2d-text          2D graphics: text
+    2d-blit          2D graphics: images and blits
+    2d-window        2D graphics: windows
+
+  3d:
+    ubgears          3D graphics: gears
+
+  misc:
+    C                C Compiler Throughput ("looper 60 $cCompiler cctest.c")
+    arithoh          Arithoh (huh?)
+    short            Arithmetic Test (short) (this is arith.c configured for
+                     "short" variables; ditto for the ones below)
+    int              Arithmetic Test (int)
+    long             Arithmetic Test (long)
+    float            Arithmetic Test (float)
+    double           Arithmetic Test (double)
+    dc               Dc: sqrt(2) to 99 decimal places (runs
+                     "looper 30 dc < dc.dat", using your system's copy of "dc")
+    hanoi            Recursion Test -- Tower of Hanoi
+    grep             Grep for a string in a large file, using your system's
+                     copy of "grep"
+    sysexec          Exercise fork() and exec().
+
+The following pseudo-test names are aliases for combinations of other
+tests:
+
+    arithmetic       Runs arithoh, short, int, long, float, double,
+                     and whetstone-double
+    dhry             Alias for dhry2reg
+    dhrystone        Alias for dhry2reg
+    whets            Alias for whetstone-double
+    whetstone        Alias for whetstone-double
+    load             Runs shell1, shell8, and shell16
+    misc             Runs C, dc, and hanoi
+    speed            Runs the arithmetic and system groups
+    oldsystem        Runs execl, fstime, fsbuffer, fsdisk, pipe, context1,
+                     spawn, and syscall
+    system           Runs oldsystem plus shell1, shell8, and shell16
+    fs               Runs fstime-w, fstime-r, fstime, fsbuffer-w,
+                     fsbuffer-r, fsbuffer, fsdisk-w, fsdisk-r, and fsdisk
+    shell            Runs shell1, shell8, and shell16
+
+    index            Runs the tests which constitute the official index:
+                     the oldsystem group, plus dhry2reg, whetstone-double,
+                     shell1, and shell8
+                     See "The BYTE Index" below for more information.
+    graphics         Runs the tests which constitute the graphics index:
+                     2d-rects, 2d-ellipse, 2d-aashapes, 2d-text, 2d-blit,
+                     2d-window, and ubgears
+    gindex           Runs the index and graphics groups, to generate both
+                     sets of index results
+
+    all              Runs all tests
+
+
+============================================================================
+
+The BYTE Index
+==============
+
+The purpose of this test is to provide a basic indicator of the performance
+of a Unix-like system; hence, multiple tests are used to test various
+aspects of the system's performance.  These test results are then compared
+to the scores from a baseline system to produce an index value, which is
+generally easier to handle than the raw sores.  The entire set of index
+values is then combined to make an overall index for the system.
+
+Since 1995, the baseline system has been "George", a SPARCstation 20-61
+with 128 MB RAM, a SPARC Storage Array, and Solaris 2.3, whose ratings
+were set at 10.0.  (So a system which scores 520 is 52 times faster than
+this machine.)  Since the numbers are really only useful in a relative
+sense, there's no particular reason to update the base system, so for the
+sake of consistency it's probably best to leave it alone.  George's scores
+are in the file "pgms/index.base"; this file is used to calculate the
+index scores for any particular run.
+
+Over the years, various changes have been made to the set of tests in the
+index.  Although there is a desire for a consistent baseline, various tests
+have been determined to be misleading, and have been removed; and a few
+alternatives have been added.  These changes are detailed in the README,
+and should be born in mind when looking at old scores.
+
+A number of tests are included in the benchmark suite which are not part of
+the index, for various reasons; these tests can of course be run manually.
+See "Tests" above.
+
+
+============================================================================
+
+Graphics Tests
+==============
+
+As of version 5.1, UnixBench now contains some graphics benchmarks.  These
+are intended to give a rough idea of the general graphics performance of
+a system.
+
+The graphics tests are in categories "2d" and "3d", so the index scores
+for these tests are separate from the basic system index.  This seems
+like a sensible division, since the graphics performance of a system
+depends largely on the graphics adaptor.
+
+The tests currently consist of some 2D "x11perf" tests and "ubgears".
+
+* The 2D tests are a selection of the x11perf tests, using the host
+  system's x11perf command (which must be installed and in the search
+  path).  Only a few of the x11perf tests are used, in the interests
+  of completing a test run in a reasonable time; if you want to do
+  detailed diagnosis of an X server or graphics chip, then use x11perf
+  directly.
+
+* The 3D test is "ubgears", a modified version of the familiar "glxgears".
+  This version runs for 5 seconds to "warm up", then performs a timed
+  run and displays the average frames-per-second.
+
+On multi-CPU systems, the graphics tests will only run in single-processing
+mode.  This is because the meaning of running two copies of a test at once
+is dubious; and the test windows tend to overlay each other, meaning that
+the window behind isn't actually doing any work.
+
+
+============================================================================
+
+Multiple CPUs
+=============
+
+If your system has multiple CPUs, the default behaviour is to run the selected
+tests twice -- once with one copy of each test program running at a time,
+and once with N copies, where N is the number of CPUs.  (You can override
+this with the "-c" option; see "Detailed Usage" above.)  This is designed to
+allow you to assess:
+
+ - the performance of your system when running a single task
+ - the performance of your system when running multiple tasks
+ - the gain from your system's implementation of parallel processing
+
+The results, however, need to be handled with care.  Here are the results
+of two runs on a dual-processor system, one in single-processing mode, one
+dual-processing:
+
+  Test                    Single     Dual   Gain
+  --------------------    ------   ------   ----
+  Dhrystone 2              562.5   1110.3    97%
+  Double Whetstone         320.0    640.4   100%
+  Execl Throughput         450.4    880.3    95%
+  File Copy 1024           759.4    595.9   -22%
+  File Copy 256            535.8    438.8   -18%
+  File Copy 4096          1261.8   1043.4   -17%
+  Pipe Throughput          481.0    979.3   104%
+  Pipe-based Switching     326.8   1229.0   276%
+  Process Creation         917.2   1714.1    87%
+  Shell Scripts (1)       1064.9   1566.3    47%
+  Shell Scripts (8)       1567.7   1709.9     9%
+  System Call Overhead     944.2   1445.5    53%
+  --------------------    ------   ------   ----
+  Index Score:             678.2   1026.2    51%
+
+As expected, the heavily CPU-dependent tasks -- dhrystone, whetstone,
+execl, pipe throughput, process creation -- show close to 100% gain when
+running 2 copies in parallel.
+
+The Pipe-based Context Switching test measures context switching overhead
+by sending messages back and forth between 2 processes.  I don't know why
+it shows such a huge gain with 2 copies (ie. 4 processes total) running,
+but it seems to be consistent on my system.  I think this may be an issue
+with the SMP implementation.
+
+The System Call Overhead shows a lesser gain, presumably because it uses a
+lot of CPU time in single-threaded kernel code.  The shell scripts test with
+8 concurrent processes shows no gain -- because the test itself runs 8
+scripts in parallel, it's already using both CPUs, even when the benchmark
+is run in single-stream mode.  The same test with one process per copy
+shows a real gain.
+
+The filesystem throughput tests show a loss, instead of a gain, when
+multi-processing.  That there's no gain is to be expected, since the tests
+are presumably constrained by the throughput of the I/O subsystem and the
+disk drive itself; the drop in performance is presumably down to the
+increased contention for resources, and perhaps greater disk head movement.
+
+So what tests should you use, how many copies should you run, and how should
+you interpret the results?  Well, that's up to you, since it depends on
+what it is you're trying to measure.
+
+Implementation
+--------------
+
+The multi-processing mode is implemented at the level of test iterations.
+During each iteration of a test, N slave processes are started using fork().
+Each of these slaves executes the test program using fork() and exec(),
+reads and stores the entire output, times the run, and prints all the
+results to a pipe.  The Run script reads the pipes for each of the slaves
+in turn to get the results and times.  The scores are added, and the times
+averaged.
+
+The result is that each test program has N copies running at once.  They
+should all finish at around the same time, since they run for constant time.
+
+If a test program itself starts off K multiple processes (as with the shell8
+test), then the effect will be that there are N * K processes running at
+once.  This is probably not very useful for testing multi-CPU performance.
+
+
+============================================================================
+
+The Language Setting
+====================
+
+The $LANG environment variable determines how programs abnd library
+routines interpret text.  This can have a big impact on the test results.
+
+If $LANG is set to POSIX, or is left unset, text is treated as ASCII; if
+it is set to en_US.UTF-8, foir example, then text is treated as being
+encoded in UTF-8, which is more complex and therefore slower.  Setting
+it to other languages can have varying results.
+
+To ensure consistency between test runs, the Run script now (as of version
+5.1.1) sets $LANG to "en_US.utf8".
+
+This setting which is configured with the variable "$language".  You
+should not change this if you want to share your results to allow
+comparisons between systems; however, you may want to change it to see
+how different language settings affect performance.
+
+Each test report now includes the language settings in use.  The reported
+language is what is set in $LANG, and is not necessarily supported by the
+system; but we also report the character mapping and collation order which
+are actually in use (as reported by "locale").
+
+
+============================================================================
+
+Interpreting the Results
+========================
+
+Interpreting the results of these tests is tricky, and totally depends on
+what you're trying to measure.
+
+For example, are you trying to measure how fast your CPU is?  Or how good
+your compiler is?  Because these tests are all recompiled using your host
+system's compiler, the performance of the compiler will inevitably impact
+the performance of the tests.  Is this a problem?  If you're choosing a
+system, you probably care about its overall speed, which may well depend
+on how good its compiler is; so including that in the test results may be
+the right answer.  But you may want to ensure that the right compiler is
+used to build the tests.
+
+On the other hand, with the vast majority of Unix systems being x86 / PC
+compatibles, running Linux and the GNU C compiler, the results will tend
+to be more dependent on the hardware; but the versions of the compiler and
+OS can make a big difference.  (I measured a 50% gain between SUSE 10.1
+and OpenSUSE 10.2 on the same machine.)  So you may want to make sure that
+all your test systems are running the same version of the OS; or at least
+publish the OS and compuiler versions with your results.  Then again, it may
+be compiler performance that you're interested in.
+
+The C test is very dubious -- it tests the speed of compilation.  If you're
+running the exact same compiler on each system, OK; but otherwise, the
+results should probably be discarded.  A slower compilation doesn't say
+anything about the speed of your system, since the compiler may simply be
+spending more time to super-optimise the code, which would actually make it
+faster.
+
+This will be particularly true on architectures like IA-64 (Itanium etc.)
+where the compiler spends huge amounts of effort scheduling instructions
+to run in parallel, with a resultant significant gain in execution speed.
+
+Some tests are even more dubious in terms of host-dependency -- for example,
+the "dc" test uses the host's version of dc (a calculator program).  The
+version of this which is available can make a huge difference to the score,
+which is why it's not in the index group.  Read through the release notes
+for more on these kinds of issues.
+
+Another age-old issue is that of the benchmarks being too trivial to be
+meaningful.  With compilers getting ever smarter, and performing more
+wide-ranging flow path analyses, the danger of parts of the benchmarks
+simply being optimised out of existance is always present.
+
+All in all, the "index" and "gindex" tests (see above) are designed to
+give a reasonable measure of overall system performance; but the results
+of any test run should always be used with care.
+
diff --git a/test/benchmarks/unixbench-5.1.2/WRITING_TESTS b/test/benchmarks/unixbench-5.1.2/WRITING_TESTS
new file mode 100644 (file)
index 0000000..28cd968
--- /dev/null
@@ -0,0 +1,133 @@
+Writing a Test
+==============
+
+Writing a test program is pretty easy.  Basically, a test is configured via
+a monster array in the Run script, which specifics (among other things) the
+program to execute and the parameters to pass it.
+
+The test itself is simply a program which is given the optional parameters
+on the command line, and produces logging data on stdout and its results on
+stderr.
+
+
+============================================================================
+
+Test Configuration
+==================
+
+In Run, all tests are named in the "$testList" array.  This names the
+individual tests, and also sets up aliases for groups of tests, eg. "index".
+
+The test specifications are in the "$testParams" array.  This contains the
+details of each individual test as a hash.  The fields in the hash are:
+
+ * "logmsg": the full name to display for this test.
+ * "cat": the category this test belongs to; must be configured
+   in $testCats.
+ * "prog": the name of the program to execute; defaults to the name of
+   the benchmark.
+ * "repeat": number of passes to run; either 'short' (the default),
+   'long', or 'single'.   For 'short' and 'long', the actual numbers of
+   passes are given by $shortIterCount and $longIterCount, which are
+   configured at the top of the script or by the "-i" flag.  'single'
+   means just run one pass; this should be used for test which do their
+   own multi-pass handling internally.
+ * "stdout": non-0 to add the test's stdout to the log file; defaults to 1.
+   Set to 0 for tests that are too wordy.
+ * "stdin": name of a file to send to the program's stdin; default null.
+ * "options": options to be put on the program's command line; default null.
+
+
+============================================================================
+
+Output Format
+=============
+
+The results on stderr take the form of a line header and fields, separated
+by "|" characters.  A result line can be one of:
+
+    COUNT|score|timebase|label
+    TIME|seconds
+    ERROR|message
+
+Any other text on stderr is treated as if it were:
+
+    ERROR|text
+
+Any output to stdout is placed in a log file, and can be used for debugging.
+
+COUNT
+-----
+
+The COUNT line is the line used to report a test score.
+
+ * "score" is the result, typically the number of loops performed during
+   the run
+ * "timebase" is the time base used for the final report to the user.  A
+   value of 1 reports the score as is; a value of 60, for example, divides
+   the time taken by 60 to get loops per minute.  Atimebase of zero indicates
+   that the score is already a rate, ie. a count of things per second.
+ * "label" is the label to use for the score; like "lps" (loops per
+   second), etc.
+
+TIME
+----
+
+The TIME line is optionally used to report the time taken.  The Run script
+normally measures this, but if your test has signifant overhead outside the
+actual test loop, you should use TIME to report the time taken for the actual
+test.  The argument is the time in seconds in floating-point.
+
+ERROR
+-----
+
+The argument is an error message; this will abort the benchmarking run and
+display the message.
+
+Any output to stderr which is not a formatted line will be treated as an
+error message, so use of ERROR is optional.
+
+
+============================================================================
+
+Test Examples
+=============
+
+Iteration Count
+---------------
+
+The simplest thing is to count the number of loops executed in a given time;
+see eg. arith.c.  The utlilty functions in timeit.c can be used to implement
+the fixed time interval, which is generally passed in on the command line.
+
+The result is reported simply as the number of iterations completed:
+
+        fprintf(stderr,"COUNT|%lu|1|lps\n", iterations);
+
+The bnenchmark framework will measure the time taken itself.  If the test
+code has significant overhead (eg. a "pump-priming" pass), then you should
+explicitly report the time taken for the test by adding a line like this:
+
+        fprintf(stderr, "TIME|%.1f\n", seconds);
+
+If you want results reported as loops per minute, then set timebase to 60:
+
+        fprintf(stderr,"COUNT|%lu|60|lpm\n", iterations);
+
+Note that this only affects the final report; all times passed to or
+from the test are still in seconds.
+
+Rate
+----
+
+The other technique is to calculate the rate (things per second) in the test,
+and report that directly.  To do this, just set timebase to 0:
+
+        fprintf(stderr, "COUNT|%ld|0|KBps\n", kbytes_per_sec);
+
+Again, you can use TIME to explicitly report the time taken:
+
+        fprintf(stderr, "TIME|%.1f\n", end - start);
+
+but this isn't so important since you've already calculated the rate.
+
diff --git a/test/benchmarks/unixbench-5.1.2/pgms/gfx-x11 b/test/benchmarks/unixbench-5.1.2/pgms/gfx-x11
new file mode 100755 (executable)
index 0000000..ef8a691
--- /dev/null
@@ -0,0 +1,476 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+
+############################################################################
+#  gfx-x11: a front-end for x11perf.  Runs a selected x11perf test, and
+#  produces output in the format needed by UnixBench.
+############################################################################
+#  Modification Log:
+# 2007.09.26  Ian Smith     Created
+############################################################################
+
+# This program runs sets of x11perf tests, indexes the results against
+# a common base reference system (see $testData below), and reports the
+# final score.
+#
+# Usage:
+#    gfx-x11 <group> <reps> <time>
+# where:
+#    <group>   is one of the test groups defined in $testGroups below
+#    <reps>    is the number of repeats to do per test (the -repeat
+#              argument to x11perf)
+#    <time>    is the number of seconds to run each repeat for (the
+#              -time argument to x11perf)
+# Note that x11perf runs a calibration pass before the requested number
+# of test passes.  The score we compute for a test is the average of the
+# test passes, divided by the base value in $testData, times 1000.0.
+# The final score we report is the average of the test scores.
+
+
+############################################################################
+# TEST DATA
+############################################################################
+
+# This array lists all of the x11perf tests, together with their scores
+# on an HP Compaq nc8430, with an ATI Mobility Radeon X1600 (256MB)
+# graphics adapter.  There isn't anything special about this reference
+# system, but scaling all the scores back to a single reference system
+# allows us to average them in a roughly meaningful way, which in turn
+# allows us to produce sensible scores for the test groups defined below.
+#
+# The results we report are indexed to these values, at a base of 1000.0.
+my $testData = {
+    'dot' => [ 31700000.0, "Dot" ],
+    'rect1' => [ 18400000.0, "1x1 rectangle" ],
+    'rect10' => [ 7180000.0, "10x10 rectangle" ],
+    'rect100' => [ 110000.0, "100x100 rectangle" ],
+    'rect500' => [ 4110.0, "500x500 rectangle" ],
+    'srect1' => [ 15800000.0, "1x1 stippled rectangle (8x8 stipple)" ],
+    'srect10' => [ 7400000.0, "10x10 stippled rectangle (8x8 stipple)" ],
+    'srect100' => [ 110000.0, "100x100 stippled rectangle (8x8 stipple)" ],
+    'srect500' => [ 4110.0, "500x500 stippled rectangle (8x8 stipple)" ],
+    'osrect1' => [ 15900000.0, "1x1 opaque stippled rectangle (8x8 stipple)" ],
+    'osrect10' => [ 7170000.0, "10x10 opaque stippled rectangle (8x8 stipple)" ],
+    'osrect100' => [ 110000.0, "100x100 opaque stippled rectangle (8x8 stipple)" ],
+    'osrect500' => [ 4110.0, "500x500 opaque stippled rectangle (8x8 stipple)" ],
+    'tilerect1' => [ 15800000.0, "1x1 tiled rectangle (4x4 tile)" ],
+    'tilerect10' => [ 7170000.0, "10x10 tiled rectangle (4x4 tile)" ],
+    'tilerect100' => [ 110000.0, "100x100 tiled rectangle (4x4 tile)" ],
+    'tilerect500' => [ 4110.0, "500x500 tiled rectangle (4x4 tile)" ],
+    'oddsrect1' => [ 2990000.0, "1x1 stippled rectangle (17x15 stipple)" ],
+    'oddsrect10' => [ 1490000.0, "10x10 stippled rectangle (17x15 stipple)" ],
+    'oddsrect100' => [ 55600.0, "100x100 stippled rectangle (17x15 stipple)" ],
+    'oddsrect500' => [ 2360.0, "500x500 stippled rectangle (17x15 stipple)" ],
+    'oddosrect1' => [ 2990000.0, "1x1 opaque stippled rectangle (17x15 stipple)" ],
+    'oddosrect10' => [ 1430000.0, "10x10 opaque stippled rectangle (17x15 stipple)" ],
+    'oddosrect100' => [ 54500.0, "100x100 opaque stippled rectangle (17x15 stipple)" ],
+    'oddosrect500' => [ 2320.0, "500x500 opaque stippled rectangle (17x15 stipple)" ],
+    'oddtilerect1' => [ 2990000.0, "1x1 tiled rectangle (17x15 tile)" ],
+    'oddtilerect10' => [ 1430000.0, "10x10 tiled rectangle (17x15 tile)" ],
+    'oddtilerect100' => [ 54500.0, "100x100 tiled rectangle (17x15 tile)" ],
+    'oddtilerect500' => [ 2320.0, "500x500 tiled rectangle (17x15 tile)" ],
+    'bigsrect1' => [ 4300000.0, "1x1 stippled rectangle (161x145 stipple)" ],
+    'bigsrect10' => [ 705000.0, "10x10 stippled rectangle (161x145 stipple)" ],
+    'bigsrect100' => [ 12300.0, "100x100 stippled rectangle (161x145 stipple)" ],
+    'bigsrect500' => [ 524.0, "500x500 stippled rectangle (161x145 stipple)" ],
+    'bigosrect1' => [ 3980000.0, "1x1 opaque stippled rectangle (161x145 stipple)" ],
+    'bigosrect10' => [ 644000.0, "10x10 opaque stippled rectangle (161x145 stipple)" ],
+    'bigosrect100' => [ 12800.0, "100x100 opaque stippled rectangle (161x145 stipple)" ],
+    'bigosrect500' => [ 584.0, "500x500 opaque stippled rectangle (161x145 stipple)" ],
+    'bigtilerect1' => [ 5970000.0, "1x1 tiled rectangle (161x145 tile)" ],
+    'bigtilerect10' => [ 684000.0, "10x10 tiled rectangle (161x145 tile)" ],
+    'bigtilerect100' => [ 16200.0, "100x100 tiled rectangle (161x145 tile)" ],
+    'bigtilerect500' => [ 872.0, "500x500 tiled rectangle (161x145 tile)" ],
+    'eschertilerect1' => [ 5940000.0, "1x1 tiled rectangle (216x208 tile)" ],
+    'eschertilerect10' => [ 639000.0, "10x10 tiled rectangle (216x208 tile)" ],
+    'eschertilerect100' => [ 18000.0, "100x100 tiled rectangle (216x208 tile)" ],
+    'eschertilerect500' => [ 922.0, "500x500 tiled rectangle (216x208 tile)" ],
+    'seg1' => [ 28800000.0, "1-pixel line segment" ],
+    'seg10' => [ 4460000.0, "10-pixel line segment" ],
+    'seg100' => [ 470000.0, "100-pixel line segment" ],
+    'seg500' => [ 94600.0, "500-pixel line segment" ],
+    'seg100c1' => [ 449000.0, "100-pixel line segment (1 kid)" ],
+    'seg100c2' => [ 432000.0, "100-pixel line segment (2 kids)" ],
+    'seg100c3' => [ 421000.0, "100-pixel line segment (3 kids)" ],
+    'dseg10' => [ 3720000.0, "10-pixel dashed segment" ],
+    'dseg100' => [ 687000.0, "100-pixel dashed segment" ],
+    'ddseg100' => [ 454000.0, "100-pixel double-dashed segment" ],
+    'hseg10' => [ 7020000.0, "10-pixel horizontal line segment" ],
+    'hseg100' => [ 2170000.0, "100-pixel horizontal line segment" ],
+    'hseg500' => [ 456000.0, "500-pixel horizontal line segment" ],
+    'vseg10' => [ 3990000.0, "10-pixel vertical line segment" ],
+    'vseg100' => [ 411000.0, "100-pixel vertical line segment" ],
+    'vseg500' => [ 82400.0, "500-pixel vertical line segment" ],
+    'whseg10' => [ 2880000.0, "10x1 wide horizontal line segment" ],
+    'whseg100' => [ 616000.0, "100x10 wide horizontal line segment" ],
+    'whseg500' => [ 33300.0, "500x50 wide horizontal line segment" ],
+    'wvseg10' => [ 2890000.0, "10x1 wide vertical line segment" ],
+    'wvseg100' => [ 584000.0, "100x10 wide vertical line segment" ],
+    'wvseg500' => [ 31700.0, "500x50 wide vertical line segment" ],
+    'line1' => [ 28300000.0, "1-pixel line" ],
+    'line10' => [ 4470000.0, "10-pixel line" ],
+    'line100' => [ 472000.0, "100-pixel line" ],
+    'line500' => [ 94200.0, "500-pixel line" ],
+    'dline10' => [ 3640000.0, "10-pixel dashed line" ],
+    'dline100' => [ 673000.0, "100-pixel dashed line" ],
+    'ddline100' => [ 453000.0, "100-pixel double-dashed line" ],
+    'wline10' => [ 908000.0, "10x1 wide line" ],
+    'wline100' => [ 146000.0, "100x10 wide line" ],
+    'wline500' => [ 30600.0, "500x50 wide line" ],
+    'wdline100' => [ 69900.0, "100x10 wide dashed line" ],
+    'wddline100' => [ 60600.0, "100x10 wide double-dashed line" ],
+    'orect10' => [ 5100000.0, "10x10 rectangle outline" ],
+    'orect100' => [ 709000.0, "100x100 rectangle outline" ],
+    'orect500' => [ 146000.0, "500x500 rectangle outline" ],
+    'worect10' => [ 4530000.0, "10x10 wide rectangle outline" ],
+    'worect100' => [ 204000.0, "100x100 wide rectangle outline" ],
+    'worect500' => [ 9790.0, "500x500 wide rectangle outline" ],
+    'circle1' => [ 5160000.0, "1-pixel circle" ],
+    'circle10' => [ 1160000.0, "10-pixel circle" ],
+    'circle100' => [ 141000.0, "100-pixel circle" ],
+    'circle500' => [ 28900.0, "500-pixel circle" ],
+    'dcircle100' => [ 98400.0, "100-pixel dashed circle" ],
+    'ddcircle100' => [ 75000.0, "100-pixel double-dashed circle" ],
+    'wcircle10' => [ 780000.0, "10-pixel wide circle" ],
+    'wcircle100' => [ 90900.0, "100-pixel wide circle" ],
+    'wcircle500' => [ 11300.0, "500-pixel wide circle" ],
+    'wdcircle100' => [ 8100.0, "100-pixel wide dashed circle" ],
+    'wddcircle100' => [ 8300.0, "100-pixel wide double-dashed circle" ],
+    'pcircle10' => [ 1270000.0, "10-pixel partial circle" ],
+    'pcircle100' => [ 212000.0, "100-pixel partial circle" ],
+    'wpcircle10' => [ 104000.0, "10-pixel wide partial circle" ],
+    'wpcircle100' => [ 39000.0, "100-pixel wide partial circle" ],
+    'fcircle1' => [ 61300000.0, "1-pixel solid circle" ],
+    'fcircle10' => [ 1720000.0, "10-pixel solid circle" ],
+    'fcircle100' => [ 120000.0, "100-pixel solid circle" ],
+    'fcircle500' => [ 5170.0, "500-pixel solid circle" ],
+    'fcpcircle10' => [ 981000.0, "10-pixel fill chord partial circle" ],
+    'fcpcircle100' => [ 205000.0, "100-pixel fill chord partial circle" ],
+    'fspcircle10' => [ 876000.0, "10-pixel fill slice partial circle" ],
+    'fspcircle100' => [ 187000.0, "100-pixel fill slice partial circle" ],
+    'ellipse10' => [ 1410000.0, "10-pixel ellipse" ],
+    'ellipse100' => [ 172000.0, "100-pixel ellipse" ],
+    'ellipse500' => [ 35100.0, "500-pixel ellipse" ],
+    'dellipse100' => [ 114000.0, "100-pixel dashed ellipse" ],
+    'ddellipse100' => [ 88900.0, "100-pixel double-dashed ellipse" ],
+    'wellipse10' => [ 889000.0, "10-pixel wide ellipse" ],
+    'wellipse100' => [ 124000.0, "100-pixel wide ellipse" ],
+    'wellipse500' => [ 15600.0, "500-pixel wide ellipse" ],
+    'wdellipse100' => [ 7730.0, "100-pixel wide dashed ellipse" ],
+    'wddellipse100' => [ 6680.0, "100-pixel wide double-dashed ellipse" ],
+    'pellipse10' => [ 1350000.0, "10-pixel partial ellipse" ],
+    'pellipse100' => [ 260000.0, "100-pixel partial ellipse" ],
+    'wpellipse10' => [ 97900.0, "10-pixel wide partial ellipse" ],
+    'wpellipse100' => [ 16800.0, "100-pixel wide partial ellipse" ],
+    'fellipse10' => [ 2110000.0, "10-pixel filled ellipse" ],
+    'fellipse100' => [ 212000.0, "100-pixel filled ellipse" ],
+    'fellipse500' => [ 11000.0, "500-pixel filled ellipse" ],
+    'fcpellipse10' => [ 1060000.0, "10-pixel fill chord partial ellipse" ],
+    'fcpellipse100' => [ 296000.0, "100-pixel fill chord partial ellipse" ],
+    'fspellipse10' => [ 945000.0, "10-pixel fill slice partial ellipse" ],
+    'fspellipse100' => [ 269000.0, "100-pixel fill slice partial ellipse" ],
+    'triangle1' => [ 2460000.0, "Fill 1x1 equivalent triangle" ],
+    'triangle10' => [ 969000.0, "Fill 10x10 equivalent triangle" ],
+    'triangle100' => [ 97000.0, "Fill 100x100 equivalent triangle" ],
+    'trap1' => [ 2630000.0, "Fill 1x1 trapezoid" ],
+    'trap10' => [ 1260000.0, "Fill 10x10 trapezoid" ],
+    'trap100' => [ 106000.0, "Fill 100x100 trapezoid" ],
+    'trap300' => [ 11600.0, "Fill 300x300 trapezoid" ],
+    'strap1' => [ 2010000.0, "Fill 1x1 stippled trapezoid (8x8 stipple)" ],
+    'strap10' => [ 910000.0, "Fill 10x10 stippled trapezoid (8x8 stipple)" ],
+    'strap100' => [ 104000.0, "Fill 100x100 stippled trapezoid (8x8 stipple)" ],
+    'strap300' => [ 11700.0, "Fill 300x300 stippled trapezoid (8x8 stipple)" ],
+    'ostrap1' => [ 2000000.0, "Fill 1x1 opaque stippled trapezoid (8x8 stipple)" ],
+    'ostrap10' => [ 907000.0, "Fill 10x10 opaque stippled trapezoid (8x8 stipple)" ],
+    'ostrap100' => [ 104000.0, "Fill 100x100 opaque stippled trapezoid (8x8 stipple)" ],
+    'ostrap300' => [ 11600.0, "Fill 300x300 opaque stippled trapezoid (8x8 stipple)" ],
+    'tiletrap1' => [ 1430000.0, "Fill 1x1 tiled trapezoid (4x4 tile)" ],
+    'tiletrap10' => [ 778000.0, "Fill 10x10 tiled trapezoid (4x4 tile)" ],
+    'tiletrap100' => [ 104000.0, "Fill 100x100 tiled trapezoid (4x4 tile)" ],
+    'tiletrap300' => [ 11600.0, "Fill 300x300 tiled trapezoid (4x4 tile)" ],
+    'oddstrap1' => [ 1700000.0, "Fill 1x1 stippled trapezoid (17x15 stipple)" ],
+    'oddstrap10' => [ 296000.0, "Fill 10x10 stippled trapezoid (17x15 stipple)" ],
+    'oddstrap100' => [ 18600.0, "Fill 100x100 stippled trapezoid (17x15 stipple)" ],
+    'oddstrap300' => [ 2090.0, "Fill 300x300 stippled trapezoid (17x15 stipple)" ],
+    'oddostrap1' => [ 1830000.0, "Fill 1x1 opaque stippled trapezoid (17x15 stipple)" ],
+    'oddostrap10' => [ 296000.0, "Fill 10x10 opaque stippled trapezoid (17x15 stipple)" ],
+    'oddostrap100' => [ 18400.0, "Fill 100x100 opaque stippled trapezoid (17x15 stipple)" ],
+    'oddostrap300' => [ 2080.0, "Fill 300x300 opaque stippled trapezoid (17x15 stipple)" ],
+    'oddtiletrap1' => [ 1710000.0, "Fill 1x1 tiled trapezoid (17x15 tile)" ],
+    'oddtiletrap10' => [ 296000.0, "Fill 10x10 tiled trapezoid (17x15 tile)" ],
+    'oddtiletrap100' => [ 18400.0, "Fill 100x100 tiled trapezoid (17x15 tile)" ],
+    'oddtiletrap300' => [ 2080.0, "Fill 300x300 tiled trapezoid (17x15 tile)" ],
+    'bigstrap1' => [ 1510000.0, "Fill 1x1 stippled trapezoid (161x145 stipple)" ],
+    'bigstrap10' => [ 235000.0, "Fill 10x10 stippled trapezoid (161x145 stipple)" ],
+    'bigstrap100' => [ 9110.0, "Fill 100x100 stippled trapezoid (161x145 stipple)" ],
+    'bigstrap300' => [ 1260.0, "Fill 300x300 stippled trapezoid (161x145 stipple)" ],
+    'bigostrap1' => [ 1480000.0, "Fill 1x1 opaque stippled trapezoid (161x145 stipple)" ],
+    'bigostrap10' => [ 213000.0, "Fill 10x10 opaque stippled trapezoid (161x145 stipple)" ],
+    'bigostrap100' => [ 8830.0, "Fill 100x100 opaque stippled trapezoid (161x145 stipple)" ],
+    'bigostrap300' => [ 1420.0, "Fill 300x300 opaque stippled trapezoid (161x145 stipple)" ],
+    'bigtiletrap1' => [ 1630000.0, "Fill 1x1 tiled trapezoid (161x145 tile)" ],
+    'bigtiletrap10' => [ 272000.0, "Fill 10x10 tiled trapezoid (161x145 tile)" ],
+    'bigtiletrap100' => [ 12900.0, "Fill 100x100 tiled trapezoid (161x145 tile)" ],
+    'bigtiletrap300' => [ 2350.0, "Fill 300x300 tiled trapezoid (161x145 tile)" ],
+    'eschertiletrap1' => [ 1650000.0, "Fill 1x1 tiled trapezoid (216x208 tile)" ],
+    'eschertiletrap10' => [ 273000.0, "Fill 10x10 tiled trapezoid (216x208 tile)" ],
+    'eschertiletrap100' => [ 13400.0, "Fill 100x100 tiled trapezoid (216x208 tile)" ],
+    'eschertiletrap300' => [ 2450.0, "Fill 300x300 tiled trapezoid (216x208 tile)" ],
+    'aatrap1' => [ 260000.0, "Fill 1x1 aa trap" ],
+    'aatrap10' => [ 23500.0, "Fill 10x10 aa trap" ],
+    'aatrap100' => [ 13300.0, "Fill 100x100 aa trap" ],
+    'aatrap300' => [ 4450.0, "Fill 300x300 aa trap" ],
+    'aa4trap1' => [ 2150.0, "Fill 1x1 aa trap with 4 bit alpha" ],
+    'aa4trap10' => [ 2130.0, "Fill 10x10 aa trap with 4 bit alpha" ],
+    'aa4trap100' => [ 1890.0, "Fill 100x100 aa trap with 4 bit alpha" ],
+    'aa4trap300' => [ 1460.0, "Fill 300x300 aa trap with 4 bit alpha" ],
+    'aa1trap1' => [ 2200000.0, "Fill 1x1 aa trap with 1 bit alpha" ],
+    'aa1trap10' => [ 357000.0, "Fill 10x10 aa trap with 1 bit alpha" ],
+    'aa1trap100' => [ 167000.0, "Fill 100x100 aa trap with 1 bit alpha" ],
+    'aa1trap300' => [ 67000.0, "Fill 300x300 aa trap with 1 bit alpha" ],
+    'aatrap2x1' => [ 368000.0, "Fill 2x1 aa trap" ],
+    'aatrap2x10' => [ 25700.0, "Fill 2x10 aa trap" ],
+    'aatrap2x100' => [ 12400.0, "Fill 2x100 aa trap" ],
+    'aatrap2x300' => [ 5710.0, "Fill 2x300 aa trap" ],
+    'aatrapezoid1' => [ 372000.0, "Fill 1x1 aa trapezoid" ],
+    'aatrapezoid10' => [ 137000.0, "Fill 10x10 aa trapezoid" ],
+    'aatrapezoid100' => [ 9590.0, "Fill 100x100 aa trapezoid" ],
+    'aatrapezoid300' => [ 1420.0, "Fill 300x300 aa trapezoid" ],
+    'addaatrapezoid1' => [ 433000.0, "Fill 1x1 aa pre-added trapezoid" ],
+    'addaatrapezoid10' => [ 24100.0, "Fill 10x10 aa pre-added trapezoid" ],
+    'addaatrapezoid100' => [ 13300.0, "Fill 100x100 aa pre-added trapezoid" ],
+    'addaatrapezoid300' => [ 4460.0, "Fill 300x300 aa pre-added trapezoid" ],
+    'complex10' => [ 655000.0, "Fill 10x10 equivalent complex polygon" ],
+    'complex100' => [ 87000.0, "Fill 100x100 equivalent complex polygons" ],
+    '64poly10convex' => [ 481000.0, "Fill 10x10 64-gon (Convex)" ],
+    '64poly100convex' => [ 105000.0, "Fill 100x100 64-gon (Convex)" ],
+    '64poly10complex' => [ 353000.0, "Fill 10x10 64-gon (Complex)" ],
+    '64poly100complex' => [ 105000.0, "Fill 100x100 64-gon (Complex)" ],
+    'ftext' => [ 2200000.0, "Char in 80-char line (6x13)" ],
+    'f8text' => [ 1970000.0, "Char in 70-char line (8x13)" ],
+    'f9text' => [ 1690000.0, "Char in 60-char line (9x15)" ],
+    'f14text16' => [ 679000.0, "Char16 in 40-char line (k14)" ],
+    'f24text16' => [ 272000.0, "Char16 in 23-char line (k24)" ],
+    'tr10text' => [ 2520000.0, "Char in 80-char line (TR 10)" ],
+    'tr24text' => [ 940000.0, "Char in 30-char line (TR 24)" ],
+    'polytext' => [ 2230000.0, "Char in 20/40/20 line (6x13, TR 10)" ],
+    'polytext16' => [ 369000.0, "Char16 in 7/14/7 line (k14, k24)" ],
+    'fitext' => [ 1350000.0, "Char in 80-char image line (6x13)" ],
+    'f8itext' => [ 1130000.0, "Char in 70-char image line (8x13)" ],
+    'f9itext' => [ 902000.0, "Char in 60-char image line (9x15)" ],
+    'f14itext16' => [ 449000.0, "Char16 in 40-char image line (k14)" ],
+    'f24itext16' => [ 169000.0, "Char16 in 23-char image line (k24)" ],
+    'tr10itext' => [ 1590000.0, "Char in 80-char image line (TR 10)" ],
+    'tr24itext' => [ 435000.0, "Char in 30-char image line (TR 24)" ],
+    'aa10text' => [ 53200.0, "Char in 80-char aa line (Charter 10)" ],
+    'aa24text' => [ 13300.0, "Char in 30-char aa line (Charter 24)" ],
+    'aaftext' => [ 45200.0, "Char in 80-char aa line (Courier 12)" ],
+    'a10text' => [ 53100.0, "Char in 80-char a line (Charter 10)" ],
+    'a24text' => [ 13300.0, "Char in 30-char a line (Charter 24)" ],
+    'aftext' => [ 45200.0, "Char in 80-char a line (Courier 12)" ],
+    'rgb10text' => [ 49400.0, "Char in 80-char rgb line (Charter 10)" ],
+    'rgb24text' => [ 10200.0, "Char in 30-char rgb line (Charter 24)" ],
+    'rgbftext' => [ 42200.0, "Char in 80-char rgb line (Courier 12)" ],
+    'caa10text' => [ 15300.0, "Char in 80-char aa core line (Charter 10)" ],
+    'caa24text' => [ 2540.0, "Char in 30-char aa core line (Charter 24)" ],
+    'caaftext' => [ 10900.0, "Char in 80-char aa core line (Courier 12)" ],
+    'ca10text' => [ 15300.0, "Char in 80-char a core line (Charter 10)" ],
+    'ca24text' => [ 2540.0, "Char in 30-char a core line (Charter 24)" ],
+    'caftext' => [ 10900.0, "Char in 80-char a core line (Courier 12)" ],
+    'rgb10text' => [ 15000.0, "Char in 80-char rgb core line (Charter 10)" ],
+    'rgb24text' => [ 2510.0, "Char in 30-char rgb core line (Charter 24)" ],
+    'rgbftext' => [ 10700.0, "Char in 80-char rgb core line (Courier 12)" ],
+    'scroll10' => [ 1310000.0, "Scroll 10x10 pixels" ],
+    'scroll100' => [ 52000.0, "Scroll 100x100 pixels" ],
+    'scroll500' => [ 2190.0, "Scroll 500x500 pixels" ],
+    'copywinwin10' => [ 1030000.0, "Copy 10x10 from window to window" ],
+    'copywinwin100' => [ 52200.0, "Copy 100x100 from window to window" ],
+    'copywinwin500' => [ 2080.0, "Copy 500x500 from window to window" ],
+    'copypixwin10' => [ 502000.0, "Copy 10x10 from pixmap to window" ],
+    'copypixwin100' => [ 20300.0, "Copy 100x100 from pixmap to window" ],
+    'copypixwin500' => [ 1020.0, "Copy 500x500 from pixmap to window" ],
+    'copywinpix10' => [ 7730.0, "Copy 10x10 from window to pixmap" ],
+    'copywinpix100' => [ 127.0, "Copy 100x100 from window to pixmap" ],
+    'copywinpix500' => [ 5.0, "Copy 500x500 from window to pixmap" ],
+    'copypixpix10' => [ 1260000.0, "Copy 10x10 from pixmap to pixmap" ],
+    'copypixpix100' => [ 56300.0, "Copy 100x100 from pixmap to pixmap" ],
+    'copypixpix500' => [ 2470.0, "Copy 500x500 from pixmap to pixmap" ],
+    'copyplane10' => [ 466000.0, "Copy 10x10 1-bit deep plane" ],
+    'copyplane100' => [ 13700.0, "Copy 100x100 1-bit deep plane" ],
+    'copyplane500' => [ 671.0, "Copy 500x500 1-bit deep plane" ],
+    'deepcopyplane10' => [ 151000.0, "Copy 10x10 n-bit deep plane" ],
+    'deepcopyplane100' => [ 6090.0, "Copy 100x100 n-bit deep plane" ],
+    'deepcopyplane500' => [ 278.0, "Copy 500x500 n-bit deep plane" ],
+    'putimage10' => [ 434000.0, "PutImage 10x10 square" ],
+    'putimage100' => [ 13600.0, "PutImage 100x100 square" ],
+    'putimage500' => [ 713.0, "PutImage 500x500 square" ],
+    'putimagexy10' => [ 321.0, "PutImage XY 10x10 square" ],
+    'putimagexy100' => [ 3.2, "PutImage XY 100x100 square" ],
+    'putimagexy500' => [ 0.1, "PutImage XY 500x500 square" ],
+    'shmput10' => [ 465000.0, "ShmPutImage 10x10 square" ],
+    'shmput100' => [ 20200.0, "ShmPutImage 100x100 square" ],
+    'shmput500' => [ 1020.0, "ShmPutImage 500x500 square" ],
+    'shmputxy10' => [ 31400.0, "ShmPutImage XY 10x10 square" ],
+    'shmputxy100' => [ 458.0, "ShmPutImage XY 100x100 square" ],
+    'shmputxy500' => [ 19.0, "ShmPutImage XY 500x500 square" ],
+    'getimage10' => [ 6650.0, "GetImage 10x10 square" ],
+    'getimage100' => [ 77.0, "GetImage 100x100 square" ],
+    'getimage500' => [ 3.1, "GetImage 500x500 square" ],
+    'getimagexy10' => [ 320.0, "GetImage XY 10x10 square" ],
+    'getimagexy100' => [ 3.2, "GetImage XY 100x100 square" ],
+    'getimagexy500' => [ 0.1, "GetImage XY 500x500 square" ],
+    'noop' => [ 8760000.0, "X protocol NoOperation" ],
+    'pointer' => [ 54800.0, "QueryPointer" ],
+    'prop' => [ 50900.0, "GetProperty" ],
+    'gc' => [ 1190000.0, "Change graphics context" ],
+    'create' => [ 597000.0, "Create and map subwindows (25 kids)" ],
+    'ucreate' => [ 1100000.0, "Create unmapped window (25 kids)" ],
+    'map' => [ 1350000.0, "Map window via parent (25 kids)" ],
+    'unmap' => [ 3360000.0, "Unmap window via parent (25 kids)" ],
+    'destroy' => [ 1190000.0, "Destroy window via parent (25 kids)" ],
+    'popup' => [ 660000.0, "Hide/expose window via popup (25 kids)" ],
+    'move' => [ 120000.0, "Move window (25 kids)" ],
+    'umove' => [ 1990000.0, "Moved unmapped window (25 kids)" ],
+    'movetree' => [ 877000.0, "Move window via parent (25 kids)" ],
+    'resize' => [ 136000.0, "Resize window (25 kids)" ],
+    'uresize' => [ 1870000.0, "Resize unmapped window (25 kids)" ],
+    'circulate' => [ 56300.0, "Circulate window (25 kids)" ],
+    'ucirculate' => [ 3630000.0, "Circulate Unmapped window (25 kids)" ],
+};
+
+
+# This array defines named groups of tests.  This is designed to allow
+# for simpler runs of related tests.
+#
+# Note that this array does *not* include all the x11perf tests.  The idea
+# here is to run a representative sampling of the available tests, to get
+# a general idea of a system's performance, without taking forever to
+# do it.  If you want to do detailed analysis of an X server or graphics
+# chip, then use x11perf directly.
+my $testGroups = {
+    'rects' => [ "rect10", "rect100", "oddtilerect10", "eschertilerect100" ],
+    'lines' => [ "seg100c3", "wvseg100", "ddline100", "worect500" ],
+    'circle' => [ "circle500", "wddcircle100", "wpcircle100", "fspcircle100" ],
+    'ellipse' => [ "ddellipse100", "wddellipse100", "pellipse10", "fspellipse100" ],
+    'shapes' => [ "triangle10", "trap300", "oddostrap300", "eschertiletrap300" ],
+    'aashapes' => [ "aa4trap300", "aa1trap10", "aatrap2x300", "addaatrapezoid300" ],
+    'polys' => [ "complex10", "64poly100convex", "64poly10complex", "64poly100complex" ],
+    'text' => [ "polytext16", "rgb24text", "caa10text", "ca24text" ],
+    'blit' => [ "scroll100", "copypixwin10", "deepcopyplane10", "putimagexy500" ],
+    'window' => [ "popup", "move", "movetree", "resize" ],
+};
+
+
+############################################################################
+# CODE
+############################################################################
+
+# Exec the given command, and catch its standard output.
+# We return an array containing the PID and the filehandle on the
+# process' standard output.  It's up to the caller to wait for the command
+# to terminate.
+sub command {
+    my ( $cmd ) = @_;
+
+    my $pid = open(my $childFd, "-|");
+    if (!defined($pid)) {
+        die("Run: fork() failed (undef)\n");
+    } elsif ($pid == 0) {
+        exec($cmd);
+        die("Run: exec() failed (returned)\n");
+    }
+
+    return ( $pid, $childFd );
+}
+
+
+# Get data from running a system command.  Used for things like getting
+# the host OS from `uname -o` etc.
+#
+# Ignores initial blank lines from the command and returns the first
+# non-blank line, with white space trimmed off.
+sub runTest {
+    my ( $test, $reps, $time ) = @_;
+
+    my $tdata = $testData->{$test};
+    if (!defined($tdata)) {
+        printf STDERR "gfx-x11: No such test: %s\n", $test;
+        exit(9);
+    }
+
+    my $cmd = sprintf "x11perf -repeat %d -subs 25 -time %d -%s",
+                      $reps, $time, $test;
+    my ( $pid, $fd ) = command($cmd);
+    my $average = 0;
+    while (<$fd>) {
+        chomp;
+
+        # Display the output for logging.
+        printf "%s\n", $_;
+
+        # Save the score.
+        my ( $reps, $per, $rate ) =
+            ( m:([0-9]+)\s+trep\s+@\s+([0-9.]+)\s+msec\s+\(\s*([0-9.]+)/sec\): );
+        $average = $rate if (defined($rate));
+    }
+
+    # Close the command and wait for it to die.  Bomb out if it failed.
+    # close($fd);
+    my $p = waitpid($pid, 0);
+    my $status = $?;
+    exit($status) if ($status != 0);
+
+    # Calculate and return the weighted result.
+    my $score = $average / $tdata->[0] * 1000.0;
+    printf "Test %s: %d --> %.1f\n", $test, $average, $score;
+    return $score;
+}
+
+
+sub runGroup {
+    my ( $group, $reps, $time ) = @_;
+
+    my $gdata = $testGroups->{$group};
+    if (!defined($gdata)) {
+        printf STDERR "gfx-x11: No such test group: %s\n", $group;
+        exit(9);
+    }
+
+    my $count = 0;
+    my $total = 0;
+    foreach my $test (@$gdata) {
+        $total += runTest($test, $reps, $time);
+        ++$count;
+    }
+    $total /= $count;
+
+    $total;
+}
+
+
+############################################################################
+# MAIN
+############################################################################
+
+sub main {
+    my @args = @_;
+
+    if (scalar(@args) < 3) {
+        printf STDERR "Usage: gfx-x11 group reps time\n";
+        exit(9);
+    }
+
+    my $reps = $args[1];
+    my $time = $args[2];
+
+    my $score = runGroup($args[0], $reps, $time);
+    printf STDERR "COUNT|%.1f|0|score\n", $score;
+
+    return 0;
+}
+
+
+exit(main(@ARGV));
+
diff --git a/test/benchmarks/unixbench-5.1.2/pgms/index.base b/test/benchmarks/unixbench-5.1.2/pgms/index.base
new file mode 100644 (file)
index 0000000..1e8755e
--- /dev/null
@@ -0,0 +1,46 @@
+# Baseline benchmark scores, used for calculating index results.
+
+# Scores from "George", a SPARCstation 20-61.
+dhry2reg|10|lps|116700|116700|2
+whetstone-double|10|MWIPS|55.0|55.0|2
+execl|20|lps|43.0|43.0|1
+fstime|20|KBps|3960|3960|1
+fsbuffer|20|KBps|1655|1655|1
+fsdisk|20|KBps|5800|5800|1
+pipe|10|lps|12440|12440|2
+context1|10|lps|4000|4000|2
+spawn|20|lps|126|126|1
+shell8|60|lpm|6|6|1
+syscall|10|lps|15000|15000|2
+
+# The shell1 test was added to the index in 5.0, and this baseline score
+# was extrapolated to roughly match George's performance.
+shell1|60|lpm|42.4|42.4|1
+
+# The 2D baseline scores were derived from a test run on an HP Compaq nc8430
+# with an ATI Mobility Radeon X1600 Video (256MB) â€” this is a fairly
+# common modern adaptor with 3D.  The baseline scores here are then
+# 1/66.6 of the values from that run, to bring them roughly in line with
+# George.  (The HP has an index score of 666.6 single-process.)
+2d-rects|3|score|15|15|1
+#2d-lines|3|score|15|15|1
+#2d-circle|3|score|15|15|1
+2d-ellipse|3|score|15|15|1
+#2d-shapes|3|score|15|15|1
+2d-aashapes|3|score|15|15|1
+#2d-polys|3|score|15|15|1
+2d-text|3|score|15|15|1
+2d-blit|3|score|15|15|1
+2d-window|3|score|15|15|1
+
+# The gears test score is derived from a test run on an HP Compaq nc8430
+# with an ATI Mobility Radeon X1600 Video (256MB) â€” this is a fairly
+# common modern adaptor with 3D.  The baseline scores here are then
+# 1/66.6 of the values from that run, to bring them roughly in line with
+# George.
+ubgears|20|fps|33.4|33.4|3
+
+# The grep and sysexec tests were added in 5.1.1; they are not index tests,
+# but these baseline scores were added for convenience.
+grep|30|lpm|1|1|3
+sysexec|10|lps|25|25|10
diff --git a/test/benchmarks/unixbench-5.1.2/pgms/multi.sh b/test/benchmarks/unixbench-5.1.2/pgms/multi.sh
new file mode 100755 (executable)
index 0000000..c65ba22
--- /dev/null
@@ -0,0 +1,23 @@
+#! /bin/sh
+###############################################################################
+#  The BYTE UNIX Benchmarks - Release 3
+#          Module: multi.sh   SID: 3.4 5/15/91 19:30:24
+#          
+###############################################################################
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#      Ben Smith or Rick Grehan at BYTE Magazine
+#      ben@bytepb.UUCP    rick_g@bytepb.UUCP
+#
+###############################################################################
+#  Modification Log:
+#
+###############################################################################
+ID="@(#)multi.sh:3.4 -- 5/15/91 19:30:24";
+instance=1
+while [ $instance -le $1 ]; do
+       /bin/sh "$UB_BINDIR/tst.sh" &
+       instance=`expr $instance + 1`
+done
+wait
+
diff --git a/test/benchmarks/unixbench-5.1.2/pgms/tst.sh b/test/benchmarks/unixbench-5.1.2/pgms/tst.sh
new file mode 100755 (executable)
index 0000000..b8ad691
--- /dev/null
@@ -0,0 +1,19 @@
+#! /bin/sh
+###############################################################################
+#  The BYTE UNIX Benchmarks - Release 3
+#          Module: tst.sh   SID: 3.4 5/15/91 19:30:24
+#          
+###############################################################################
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#      Ben Smith or Rick Grehan at BYTE Magazine
+#      ben@bytepb.UUCP    rick_g@bytepb.UUCP
+#
+###############################################################################
+#  Modification Log:
+#
+###############################################################################
+ID="@(#)tst.sh:3.4 -- 5/15/91 19:30:24";
+sort >sort.$$ <sort.src
+grep the sort.$$ | tee grep.$$ | wc > wc.$$
+rm sort.$$ grep.$$ wc.$$
diff --git a/test/benchmarks/unixbench-5.1.2/pgms/unixbench.logo b/test/benchmarks/unixbench-5.1.2/pgms/unixbench.logo
new file mode 100644 (file)
index 0000000..248c3be
--- /dev/null
@@ -0,0 +1,14 @@
+
+   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
+   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
+   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
+   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
+   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
+    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #
+
+   Version 5.1.2                      Based on the Byte Magazine Unix Benchmark
+
+   Multi-CPU version                  Version 5 revisions by Ian Smith,
+                                      Sunnyvale, CA, USA
+   December 22, 2007                  johantheghost at yahoo period com
+
diff --git a/test/benchmarks/unixbench-5.1.2/run.sh b/test/benchmarks/unixbench-5.1.2/run.sh
new file mode 100755 (executable)
index 0000000..2259753
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+export CC=cc
+export MINIX=1
+./Run
diff --git a/test/benchmarks/unixbench-5.1.2/src/arith.c b/test/benchmarks/unixbench-5.1.2/src/arith.c
new file mode 100644 (file)
index 0000000..37d436e
--- /dev/null
@@ -0,0 +1,108 @@
+
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: arith.c   SID: 3.3 5/15/91 19:30:19
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  May 12, 1989 - modified empty loops to avoid nullifying by optimizing
+ *                 compilers
+ *  August 28, 1990 - changed timing relationship--now returns total number
+ *                       of iterations (ty)
+ *  November 9, 1990 - made changes suggested by Keith Cantrell
+ *                        (digi!kcantrel) to defeat optimization
+ *                        to non-existence
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+
+char SCCSid[] = "@(#) @(#)arith.c:3.3 -- 5/15/91 19:30:19";
+/*
+ *  arithmetic test
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "timeit.c"
+
+int dumb_stuff(int);
+
+unsigned long iter;
+
+/* this function is called when the alarm expires */
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%ld|1|lps\n", iter);
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+       int     duration;
+       int result = 0;
+
+       if (argc != 2) {
+               printf("Usage: %s duration\n", argv[0]);
+               exit(1);
+       }
+
+       duration = atoi(argv[1]);
+
+       /* set up alarm call */
+       iter = 0;       /* init iteration count */
+       wake_me(duration, report);
+
+       /* this loop will be interrupted by the alarm call */
+       while (1)
+       {
+        /* in switching to time-based (instead of iteration-based),
+           the following statement was added. It should not skew
+           the timings too much--there was an increment and test
+           in the "while" expression above. The only difference is
+           that now we're incrementing a long instead of an int.  (ty) */
+       ++iter;
+       /* the loop calls a function to insure that something is done
+          the results of the function are fed back in (just so they
+          they won't be thrown away. A loop with
+          unused assignments may get optimized out of existence */
+       result = dumb_stuff(result);
+       }
+}
+
+
+/************************** dumb_stuff *******************/
+int dumb_stuff(i)
+int i;
+{
+#ifndef arithoh
+       datum   x, y, z;
+               z = 0;
+#endif
+               /*
+                *     101
+                * sum       i*i/(i*i-1)
+                *     i=2
+                */
+               /* notice that the i value is always reset by the loop */
+               for (i=2; i<=101; i++)
+                       {
+#ifndef arithoh
+                       x = i;
+                       y = x*x;
+                       z += y/(y-1);
+                       }
+return(x+y+z);
+#else
+}
+return(0);
+#endif
+}
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/big.c b/test/benchmarks/unixbench-5.1.2/src/big.c
new file mode 100644 (file)
index 0000000..b343378
--- /dev/null
@@ -0,0 +1,595 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: big.c   SID: 3.3 5/15/91 19:30:18
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  10/22/97 - code cleanup to remove ANSI C compiler warnings
+ *             Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+/*
+ *  dummy code for execl test [ old version of makework.c ]
+ *
+ *  makework [ -r rate ] [ -c copyfile ] nusers
+ *
+ *  job streams are specified on standard input with lines of the form
+ *  full_path_name_for_command [ options ] [ <standard_input_file ]
+ *
+ *  "standard input" is send to all nuser instances of the commands in the
+ *  job streams at a rate not in excess of "rate" characters per second
+ *  per command
+ *
+ */
+/* this code is included in other files and therefore has no SCCSid */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <time.h>
+#include <string.h>
+#include <sys/wait.h>
+
+
+#define DEF_RATE       5.0
+#define GRANULE                5
+#define CHUNK          60
+#define MAXCHILD       12
+#define MAXWORK                10
+
+/* Can't seem to get this declared in the headers... */
+extern int kill(pid_t pid, int sig);
+
+void   wrapup(char *);
+void   onalarm(int);
+void   pipeerr(int sig);
+void   grunt(int sig);
+void getwork(void);
+#if debug
+void dumpwork(void);
+#endif
+void fatal(char *s);
+
+float  thres;
+float  est_rate = DEF_RATE;
+int    nusers;         /* number of concurrent users to be simulated by
+                        * this process */
+int    firstuser;      /* ordinal identification of first user for this
+                        * process */
+int    nwork = 0;      /* number of job streams */
+int    exit_status = 0;        /* returned to parent */
+int    sigpipe;        /* pipe write error flag */
+
+struct st_work {
+       char    *cmd;           /* name of command to run */
+       char    **av;           /* arguments to command */
+       char    *input;         /* standard input buffer */
+       int     inpsize;        /* size of standard input buffer */
+       char    *outf;          /* standard output (filename) */
+} work[MAXWORK];
+
+struct {
+       int     xmit;   /* # characters sent */
+       char    *bp;    /* std input buffer pointer */
+       int     blen;   /* std input buffer length */
+       int     fd;     /* stdin to command */
+       int     pid;    /* child PID */
+       char    *line;  /* start of input line */
+       int     firstjob;       /* inital piece of work */
+       int     thisjob;        /* current piece of work */
+} child[MAXCHILD], *cp;
+
+int main(int argc, char *argv[])
+{
+    int                i;
+    int                l;
+    int                fcopy = 0;      /* fd for copy output */
+    int                master = 1;     /* the REAL master, == 0 for clones */
+    int                nchild;         /* no. of children for a clone to run */
+    int                done;           /* count of children finished */
+    int                output;         /* aggregate output char count for all
+                                  children */
+    int                c;
+    int                thiswork = 0;   /* next job stream to allocate */
+    int                nch;            /* # characters to write */
+    int                written;        /* # characters actully written */
+    char       logname[15];    /* name of the log file(s) */
+    int                pvec[2];        /* for pipes */
+    char       *p;
+    char       *prog;          /* my name */
+
+#if ! debug
+    freopen("masterlog.00", "a", stderr);
+#endif
+    prog = argv[0];
+    while (argc > 1 && argv[1][0] == '-')  {
+       p = &argv[1][1];
+       argc--;
+       argv++;
+       while (*p) {
+           switch (*p) {
+           case 'r':
+                       est_rate = atoi(argv[1]);
+                       sscanf(argv[1], "%f", &est_rate);
+                       if (est_rate <= 0) {
+                           fprintf(stderr, "%s: bad rate, reset to %.2f chars/sec\n", prog, DEF_RATE);
+                           est_rate = DEF_RATE;
+                       }
+                       argc--;
+                       argv++;
+                       break;
+
+           case 'c':
+                       fcopy = open(argv[1], 1);
+                       if (fcopy < 0)
+                               fcopy = creat(argv[1], 0600);
+                       if (fcopy < 0) {
+                           fprintf(stderr, "%s: cannot open copy file '%s'\n",
+                               prog, argv[1]);
+                           exit(2);
+                       }
+                       lseek(fcopy, 0L, 2);    /* append at end of file */
+                       argc--;
+                       argv++;
+                       break;
+
+           default:
+               fprintf(stderr, "%s: bad flag '%c'\n", prog, *p);
+                       exit(4);
+           }
+           p++;
+       }
+    }
+
+    if (argc < 2) {
+       fprintf(stderr, "%s: missing nusers\n", prog);
+       exit(4);
+    }
+
+    nusers = atoi(argv[1]);
+    if (nusers < 1) {
+       fprintf(stderr, "%s: impossible nusers (%d<-%s)\n", prog, nusers, argv[1]);
+       exit(4);
+    }
+    fprintf(stderr, "%d Users\n", nusers);
+    argc--;
+    argv++;
+
+    /* build job streams */
+    getwork();
+#if debug
+    dumpwork();
+#endif
+
+    /* clone copies of myself to run up to MAXCHILD jobs each */
+    firstuser = MAXCHILD;
+    fprintf(stderr, "master pid %d\n", getpid());
+    fflush(stderr);
+    while (nusers > MAXCHILD) {
+       fflush(stderr);
+       if (nusers >= 2*MAXCHILD)
+           /* the next clone must run MAXCHILD jobs */
+           nchild = MAXCHILD;
+       else
+           /* the next clone must run the leftover jobs */
+           nchild = nusers - MAXCHILD;
+       if ((l = fork()) == -1) {
+           /* fork failed */
+           fatal("** clone fork failed **\n");
+           goto bepatient;
+       } else if (l > 0) {
+           fprintf(stderr, "master clone pid %d\n", l);
+           /* I am the master with nchild fewer jobs to run */
+           nusers -= nchild;
+           firstuser += MAXCHILD;
+           continue;
+       } else {
+           /* I am a clone, run MAXCHILD jobs */
+#if ! debug
+           sprintf(logname, "masterlog.%02d", firstuser/MAXCHILD);
+           freopen(logname, "w", stderr);
+#endif
+           master = 0;
+           nusers = nchild;
+           break;
+       }
+    }
+    if (master)
+       firstuser = 0;
+
+    close(0);
+    for (i = 0; i < nusers; i++ ) {
+       fprintf(stderr, "user %d job %d ", firstuser+i, thiswork);
+       if (pipe(pvec) == -1) {
+           /* this is fatal */
+           fatal("** pipe failed **\n");
+           goto bepatient;
+       }
+       fflush(stderr);
+       if ((child[i].pid = fork()) == 0) {
+           int fd;
+           /* the command */
+           if (pvec[0] != 0) {
+               close(0);
+               dup(pvec[0]);
+           }
+#if ! debug
+           sprintf(logname, "userlog.%02d", firstuser+i);
+           freopen(logname, "w", stderr);
+#endif
+           for (fd = 3; fd < 24; fd++)
+               close(fd);
+           if (work[thiswork].outf[0] != '\0') {
+               /* redirect std output */
+               char    *q;
+               for (q = work[thiswork].outf; *q != '\n'; q++) ;
+               *q = '\0';
+               if (freopen(work[thiswork].outf, "w", stdout) == NULL) {
+                   fprintf(stderr, "makework: cannot open %s for std output\n",
+                       work[thiswork].outf);
+                   fflush(stderr);
+               }
+               *q = '\n';
+           }
+           execv(work[thiswork].cmd, work[thiswork].av);
+           /* don't expect to get here! */
+           fatal("** exec failed **\n");
+           goto bepatient;
+       }
+       else if (child[i].pid == -1) {
+           fatal("** fork failed **\n");
+           goto bepatient;
+       }
+       else {
+           close(pvec[0]);
+           child[i].fd = pvec[1];
+           child[i].line = child[i].bp = work[thiswork].input;
+           child[i].blen = work[thiswork].inpsize;
+           child[i].thisjob = thiswork;
+           child[i].firstjob = thiswork;
+           fprintf(stderr, "pid %d pipe fd %d", child[i].pid, child[i].fd);
+           if (work[thiswork].outf[0] != '\0') {
+               char *q;
+               fprintf(stderr, " > ");
+               for (q=work[thiswork].outf; *q != '\n'; q++)
+                   fputc(*q, stderr);
+           }
+           fputc('\n', stderr);
+           thiswork++;
+           if (thiswork >= nwork)
+               thiswork = 0;
+       }
+    }
+    fflush(stderr);
+
+    srand(time(0));
+    thres = 0;
+    done = output = 0;
+    for (i = 0; i < nusers; i++) {
+       if (child[i].blen == 0)
+           done++;
+       else
+           thres += est_rate * GRANULE;
+    }
+    est_rate = thres;
+
+    signal(SIGALRM, onalarm);
+    signal(SIGPIPE, pipeerr);
+    alarm(GRANULE);
+    while (done < nusers) {
+       for (i = 0; i < nusers; i++) {
+           cp = &child[i];
+           if (cp->xmit >= cp->blen) continue;
+           l = rand() % CHUNK + 1;     /* 1-CHUNK chars */
+           if (l == 0) continue;
+           if (cp->xmit + l > cp->blen)
+               l = cp->blen - cp->xmit;
+           p = cp->bp;
+           cp->bp += l;
+           cp->xmit += l;
+#if debug
+           fprintf(stderr, "child %d, %d processed, %d to go\n", i, cp->xmit, cp->blen - cp->xmit);
+#endif
+           while (p < cp->bp) {
+               if (*p == '\n' || (p == &cp->bp[-1] && cp->xmit >= cp->blen)) {
+                   /* write it out */
+                   nch = p - cp->line + 1;
+                   if ((written = write(cp->fd, cp->line, nch)) != nch) {
+                       /* argh! */
+                       cp->line[nch] = '\0';
+                       fprintf(stderr, "user %d job %d cmd %s ",
+                               firstuser+i, cp->thisjob, cp->line);
+                       fprintf(stderr, "write(,,%d) returns %d\n", nch, written);
+                       if (sigpipe)
+                           fatal("** SIGPIPE error **\n");
+                       else
+                           fatal("** write error **\n");
+                       goto bepatient;
+
+                   }
+                   if (fcopy)
+                       write(fcopy, cp->line, p - cp->line + 1);
+#if debug
+                   fprintf(stderr, "child %d gets \"", i);
+                   {
+                       char *q = cp->line;
+                       while (q <= p) {
+                               if (*q >= ' ' && *q <= '~')
+                                       fputc(*q, stderr);
+                               else
+                                       fprintf(stderr, "\\%03o", *q);
+                               q++;
+                       }
+                   }
+                   fputc('"', stderr);
+#endif
+                   cp->line = &p[1];
+               }
+               p++;
+           }
+           if (cp->xmit >= cp->blen) {
+               done++;
+               close(cp->fd);
+#if debug
+       fprintf(stderr, "child %d, close std input\n", i);
+#endif
+           }
+           output += l;
+       }
+       while (output > thres) {
+           pause();
+#if debug
+           fprintf(stderr, "after pause: output, thres, done %d %.2f %d\n", output, thres, done);
+#endif
+       }
+    }
+
+bepatient:
+    alarm(0);
+/****
+ *  If everything is going OK, we should simply be able to keep
+ *  looping unitil 'wait' fails, however some descendent process may
+ *  be in a state from which it can never exit, and so a timeout
+ *  is used.
+ *  5 minutes should be ample, since the time to run all jobs is of
+ *  the order of 5-10 minutes, however some machines are painfully slow,
+ *  so the timeout has been set at 20 minutes (1200 seconds).
+ ****/
+    signal(SIGALRM, grunt);
+    alarm(1200);
+    while ((c = wait(&l)) != -1) {
+        for (i = 0; i < nusers; i++) {
+           if (c == child[i].pid) {
+               fprintf(stderr, "user %d job %d pid %d done", firstuser+i, child[i].thisjob, c);
+               if (l != 0) {
+                   if (l & 0x7f)
+                       fprintf(stderr, " status %d", l & 0x7f);
+                   if (l & 0xff00)
+                       fprintf(stderr, " exit code %d", (l>>8) & 0xff);
+                   exit_status = 4;
+               }
+               fputc('\n', stderr);
+               c = child[i].pid = -1;
+               break;
+           }
+       }
+       if (c != -1) {
+           fprintf(stderr, "master clone done, pid %d ", c);
+           if (l != 0) {
+               if (l & 0x7f)
+                   fprintf(stderr, " status %d", l & 0x7f);
+               if (l & 0xff00)
+                   fprintf(stderr, " exit code %d", (l>>8) & 0xff);
+               exit_status = 4;
+           }
+           fputc('\n', stderr);
+       }
+    }
+    alarm(0);
+    wrapup("Finished waiting ...");
+
+    exit(0);
+}
+
+void onalarm(int foo)
+{
+    thres += est_rate;
+    signal(SIGALRM, onalarm);
+    alarm(GRANULE);
+}
+
+void grunt(int sig)
+{
+    /* timeout after label "bepatient" in main */
+    exit_status = 4;
+    wrapup("Timed out waiting for jobs to finish ...");
+}
+
+void pipeerr(int sig)
+{
+       sigpipe++;
+}
+
+void wrapup(char *reason)
+{
+    int i;
+    int killed = 0;
+    fflush(stderr);
+    for (i = 0; i < nusers; i++) {
+       if (child[i].pid > 0 && kill(child[i].pid, SIGKILL) != -1) {
+           if (!killed) {
+               killed++;
+               fprintf(stderr, "%s\n", reason);
+               fflush(stderr);
+           }
+           fprintf(stderr, "user %d job %d pid %d killed off\n", firstuser+i, child[i].thisjob, child[i].pid);
+       fflush(stderr);
+       }
+    }
+    exit(exit_status);
+}
+
+#define MAXLINE 512
+void getwork(void)
+{
+    int                        i;
+    int                        f;
+    int                        ac=0;
+    char               *lp = (void *)0;
+    char               *q = (void *)0;
+    struct st_work     *w = (void *)0;
+    char               line[MAXLINE];
+    char               c;
+
+    while (fgets(line, MAXLINE, stdin) != NULL) {
+       if (nwork >= MAXWORK) {
+           fprintf(stderr, "Too many jobs specified, .. increase MAXWORK\n");
+           exit(4);
+       }
+       w = &work[nwork];
+       lp = line;
+       i = 1;
+       while (*lp && *lp != ' ') {
+           i++;
+           lp++;
+       }
+       w->cmd = (char *)malloc(i);
+       strncpy(w->cmd, line, i-1);
+       w->cmd[i-1] = '\0';
+       w->inpsize = 0;
+       w->input = "";
+       /* start to build arg list */
+       ac = 2;
+       w->av = (char **)malloc(2*sizeof(char *));
+       q = w->cmd;
+       while (*q) q++;
+       q--;
+       while (q >= w->cmd) {
+           if (*q == '/') {
+               q++;
+               break;
+           }
+           q--;
+       }
+       w->av[0] = q;
+       while (*lp) {
+           if (*lp == ' ') {
+               /* space */
+               lp++;
+               continue;
+           }
+           else if (*lp == '<') {
+               /* standard input for this job */
+               q = ++lp;
+               while (*lp && *lp != ' ') lp++;
+               c = *lp;
+               *lp = '\0';
+               if ((f = open(q, 0)) == -1) {
+                   fprintf(stderr, "cannot open input file (%s) for job %d\n",
+                               q, nwork);
+                   exit(4);
+               }
+               /* gobble input */
+               w->input = (char *)malloc(512);
+               while ((i = read(f, &w->input[w->inpsize], 512)) > 0) {
+                   w->inpsize += i;
+                   w->input = (char *)realloc(w->input, w->inpsize+512);
+               }
+               w->input = (char *)realloc(w->input, w->inpsize);
+               close(f);
+               /* extract stdout file name from line beginning "C=" */
+               w->outf = "";
+               for (q = w->input; q < &w->input[w->inpsize-10]; q++) {
+                   if (*q == '\n' && strncmp(&q[1], "C=", 2) == 0) {
+                       w->outf = &q[3];
+                       break;
+                   }
+               }
+#if debug
+               if (*w->outf) {
+                   fprintf(stderr, "stdout->");
+                   for (q=w->outf; *q != '\n'; q++)
+                       fputc(*q, stderr);
+                   fputc('\n', stderr);
+               }
+#endif
+           }
+           else {
+               /* a command option */
+               ac++;
+               w->av = (char **)realloc(w->av, ac*sizeof(char *));
+               q = lp;
+               i = 1;
+               while (*lp && *lp != ' ') {
+                   lp++;
+                   i++;
+               }
+               w->av[ac-2] = (char *)malloc(i);
+               strncpy(w->av[ac-2], q, i-1);
+               w->av[ac-2][i-1] = '\0';
+           }
+       }
+       w->av[ac-1] = (char *)0;
+       nwork++;
+    }
+}
+
+#if debug
+void dumpwork(void)
+{
+    int                i;
+    int                j;
+
+    for (i = 0; i < nwork; i++) {
+       fprintf(stderr, "job %d: cmd: %s\n", i, work[i].cmd);
+       j = 0;
+       while (work[i].av[j]) {
+               fprintf(stderr, "argv[%d]: %s\n", j, work[i].av[j]);
+               j++;
+       }
+       fprintf(stderr, "input: %d chars text: ", work[i].inpsize);
+       if (work[i].input == (char *)0)
+               fprintf(stderr, "<NULL>\n");
+       else {
+               register char   *pend;
+               char            *p;
+               char            c;
+               p = work[i].input;
+               while (*p) {
+                       pend = p;
+                       while (*pend && *pend != '\n')
+                               pend++;
+                       c = *pend;
+                       *pend = '\0';
+                       fprintf(stderr, "%s\n", p);
+                       *pend = c;
+                       p = &pend[1];
+               }
+       }
+    }
+}
+#endif
+
+void fatal(char *s)
+{
+    int        i;
+    fprintf(stderr, s);
+    fflush(stderr);
+    perror("Reason?");
+    fflush(stderr);
+    for (i = 0; i < nusers; i++) {
+       if (child[i].pid > 0 && kill(child[i].pid, SIGKILL) != -1) {
+           fprintf(stderr, "pid %d killed off\n", child[i].pid);
+           fflush(stderr);
+       }
+    }
+    exit_status = 4;
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/context1.c b/test/benchmarks/unixbench-5.1.2/src/context1.c
new file mode 100644 (file)
index 0000000..8238843
--- /dev/null
@@ -0,0 +1,125 @@
+
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: context1.c   SID: 3.3 5/15/91 19:30:18
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: context1.c,v 3.4 87/06/22 14:22:59 kjmcdonell Beta $
+ *  August 28, 1990 - changed timing routines--now returns total number of
+ *                    iterations in specified time period
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)context1.c:3.3 -- 5/15/91 19:30:18";
+/*
+ *  Context switching via synchronized unbuffered pipe i/o
+ *
+ */
+
+#ifdef MINIX
+#include <signal.h>
+#endif
+#ifdef LINUX
+#include <sys/types.h>
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "timeit.c"
+
+unsigned long iter;
+#ifdef MINIX
+pid_t child;
+#endif
+
+void report(int sig)
+{
+       fprintf(stderr, "COUNT|%lu|1|lps\n", iter);
+#ifdef MINIX
+       kill(child, SIGKILL);
+#endif
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+       int duration;
+       unsigned long   check;
+       int     p1[2], p2[2];
+
+       if (argc != 2) {
+               fprintf(stderr, "Usage: context duration\n");
+               exit(1);
+       }
+
+       duration = atoi(argv[1]);
+
+       /* set up alarm call */
+       iter = 0;
+       wake_me(duration, report);
+
+       if (pipe(p1) || pipe(p2)) {
+               perror("pipe create failed");
+               exit(1);
+       }
+
+#ifndef MINIX
+       if (fork()) {   /* parent process */
+#else
+       if ((child = fork())) {
+#endif
+               /* master, write p1 & read p2 */
+               close(p1[0]); close(p2[1]);
+               while (1) {
+                       if (write(p1[1], (char *)&iter, sizeof(iter)) != sizeof(iter)) {
+                               if ((errno != 0) && (errno != EINTR))
+                                       perror("master write failed");
+                               exit(1);
+                       }
+                       if (read(p2[0], (char *)&check, sizeof(check)) != sizeof(check)) {
+                               if ((errno != 0) && (errno != EINTR))
+                                       perror("master read failed");
+                               exit(1);
+                       }
+                       if (check != iter) {
+                               fprintf(stderr, "Master sync error: expect %lu, got %lu\n",
+                                       iter, check);
+                               exit(2);
+                       }
+                       iter++;
+               }
+       }
+       else { /* child process */
+               unsigned long iter1;
+
+               iter1 = 0;
+               /* slave, read p1 & write p2 */
+               close(p1[1]); close(p2[0]);
+               while (1) {
+                       if (read(p1[0], (char *)&check, sizeof(check)) != sizeof(check)) {
+                               if ((errno != 0) && (errno != EINTR))
+                                       perror("slave read failed");
+                               exit(1);
+                       }
+                       if (check != iter1) {
+                               fprintf(stderr, "Slave sync error: expect %lu, got %lu\n",
+                                       iter, check);
+                               exit(2);
+                       }
+                       if (write(p2[1], (char *)&iter1, sizeof(iter1)) != sizeof(check)) {
+                               if ((errno != 0) && (errno != EINTR))
+                                       perror("slave write failed");
+                               exit(1);
+                       }
+                       iter1++;
+               }
+       }
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/dhry.h b/test/benchmarks/unixbench-5.1.2/src/dhry.h
new file mode 100644 (file)
index 0000000..34a4ada
--- /dev/null
@@ -0,0 +1,435 @@
+/*****************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: dhry.h   SID: 3.4 5/15/91 19:30:21
+ *          
+ *****************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *****************************************************************************
+ *  Modification Log:
+ *  addapted from:
+ *
+ *
+ *                   "DHRYSTONE" Benchmark Program
+ *                   -----------------------------
+ *                                                                            
+ *  Version:    C, Version 2.1
+ *                                                                            
+ *  File:       dhry.h (part 1 of 3)
+ *
+ *  Date:       May 25, 1988
+ *
+ *  Author:     Reinhold P. Weicker
+ *                      Siemens AG, AUT E 51
+ *                      Postfach 3220
+ *                      8520 Erlangen
+ *                      Germany (West)
+ *                              Phone:  [+49]-9131-7-20330
+ *                                      (8-17 Central European Time)
+ *                              Usenet: ..!mcvax!unido!estevax!weicker
+ *
+ *              Original Version (in Ada) published in
+ *              "Communications of the ACM" vol. 27., no. 10 (Oct. 1984),
+ *              pp. 1013 - 1030, together with the statistics
+ *              on which the distribution of statements etc. is based.
+ *
+ *              In this C version, the following C library functions are used:
+ *              - strcpy, strcmp (inside the measurement loop)
+ *              - printf, scanf (outside the measurement loop)
+ *              In addition, Berkeley UNIX system calls "times ()" or "time ()"
+ *              are used for execution time measurement. For measurements
+ *              on other systems, these calls have to be changed.
+ *
+ *  Collection of Results:
+ *              Reinhold Weicker (address see above) and
+ *              
+ *              Rick Richardson
+ *              PC Research. Inc.
+ *              94 Apple Orchard Drive
+ *              Tinton Falls, NJ 07724
+ *                      Phone:  (201) 834-1378 (9-17 EST)               
+ *                      Usenet: ...!seismo!uunet!pcrat!rick
+ *
+ *      Please send results to Rick Richardson and/or Reinhold Weicker.
+ *      Complete information should be given on hardware and software used.
+ *      Hardware information includes: Machine type, CPU, type and size
+ *      of caches; for microprocessors: clock frequency, memory speed
+ *      (number of wait states).
+ *      Software information includes: Compiler (and runtime library)
+ *      manufacturer and version, compilation switches, OS version.
+ *      The Operating System version may give an indication about the
+ *      compiler; Dhrystone itself performs no OS calls in the measurement loop.
+ *
+ *      The complete output generated by the program should be mailed
+ *      such that at least some checks for correctness can be made.
+ *
+ ***************************************************************************
+ *
+ *  History:    This version C/2.1 has been made for two reasons:
+ *
+ *              1) There is an obvious need for a common C version of
+ *              Dhrystone, since C is at present the most popular system
+ *              programming language for the class of processors
+ *              (microcomputers, minicomputers) where Dhrystone is used most.
+ *              There should be, as far as possible, only one C version of
+ *              Dhrystone such that results can be compared without
+ *              restrictions. In the past, the C versions distributed
+ *              by Rick Richardson (Version 1.1) and by Reinhold Weicker
+ *              had small (though not significant) differences.
+ *
+ *              2) As far as it is possible without changes to the Dhrystone
+ *              statistics, optimizing compilers should be prevented from
+ *              removing significant statements.
+ *
+ *              This C version has been developed in cooperation with
+ *              Rick Richardson (Tinton Falls, NJ), it incorporates many
+ *              ideas from the "Version 1.1" distributed previously by
+ *              him over the UNIX network Usenet.
+ *              I also thank Chaim Benedelac (National Semiconductor),
+ *              David Ditzel (SUN), Earl Killian and John Mashey (MIPS),
+ *              Alan Smith and Rafael Saavedra-Barrera (UC at Berkeley)
+ *              for their help with comments on earlier versions of the
+ *              benchmark.
+ *
+ *  Changes:    In the initialization part, this version follows mostly
+ *              Rick Richardson's version distributed via Usenet, not the
+ *              version distributed earlier via floppy disk by Reinhold Weicker.
+ *              As a concession to older compilers, names have been made
+ *              unique within the first 8 characters.
+ *              Inside the measurement loop, this version follows the
+ *              version previously distributed by Reinhold Weicker.
+ *
+ *              At several places in the benchmark, code has been added,
+ *              but within the measurement loop only in branches that 
+ *              are not executed. The intention is that optimizing compilers
+ *              should be prevented from moving code out of the measurement
+ *              loop, or from removing code altogether. Since the statements
+ *              that are executed within the measurement loop have NOT been
+ *              changed, the numbers defining the "Dhrystone distribution"
+ *              (distribution of statements, operand types and locality)
+ *              still hold. Except for sophisticated optimizing compilers,
+ *              execution times for this version should be the same as
+ *              for previous versions.
+ *              
+ *              Since it has proven difficult to subtract the time for the
+ *              measurement loop overhead in a correct way, the loop check
+ *              has been made a part of the benchmark. This does have
+ *              an impact - though a very minor one - on the distribution
+ *              statistics which have been updated for this version.
+ *
+ *              All changes within the measurement loop are described
+ *              and discussed in the companion paper "Rationale for
+ *              Dhrystone version 2".
+ *
+ *              Because of the self-imposed limitation that the order and
+ *              distribution of the executed statements should not be
+ *              changed, there are still cases where optimizing compilers
+ *              may not generate code for some statements. To a certain
+ *              degree, this is unavoidable for small synthetic benchmarks.
+ *              Users of the benchmark are advised to check code listings
+ *              whether code is generated for all statements of Dhrystone.
+ *
+ *              Version 2.1 is identical to version 2.0 distributed via
+ *              the UNIX network Usenet in March 1988 except that it corrects
+ *              some minor deficiencies that were found by users of version 2.0.
+ *              The only change within the measurement loop is that a
+ *              non-executed "else" part was added to the "if" statement in
+ *              Func_3, and a non-executed "else" part removed from Proc_3.
+ *
+ ***************************************************************************
+ *
+ * Defines:     The following "Defines" are possible:
+ *              -DREG=register          (default: Not defined)
+ *                      As an approximation to what an average C programmer
+ *                      might do, the "register" storage class is applied
+ *                      (if enabled by -DREG=register)
+ *                      - for local variables, if they are used (dynamically)
+ *                        five or more times
+ *                      - for parameters if they are used (dynamically)
+ *                        six or more times
+ *                      Note that an optimal "register" strategy is
+ *                      compiler-dependent, and that "register" declarations
+ *                      do not necessarily lead to faster execution.
+ *              -DNOSTRUCTASSIGN        (default: Not defined)
+ *                      Define if the C compiler does not support
+ *                      assignment of structures.
+ *              -DNOENUMS               (default: Not defined)
+ *                      Define if the C compiler does not support
+ *                      enumeration types.
+ *              -DTIMES                 (default)
+ *              -DTIME
+ *                      The "times" function of UNIX (returning process times)
+ *                      or the "time" function (returning wallclock time)
+ *                      is used for measurement. 
+ *                      For single user machines, "time ()" is adequate. For
+ *                      multi-user machines where you cannot get single-user
+ *                      access, use the "times ()" function. If you have
+ *                      neither, use a stopwatch in the dead of night.
+ *                      "printf"s are provided marking the points "Start Timer"
+ *                      and "Stop Timer". DO NOT use the UNIX "time(1)"
+ *                      command, as this will measure the total time to
+ *                      run this program, which will (erroneously) include
+ *                      the time to allocate storage (malloc) and to perform
+ *                      the initialization.
+ *              -DHZ=nnn
+ *                      In Berkeley UNIX, the function "times" returns process
+ *                      time in 1/HZ seconds, with HZ = 60 for most systems.
+ *                      CHECK YOUR SYSTEM DESCRIPTION BEFORE YOU JUST APPLY
+ *                      A VALUE.
+ *
+ ***************************************************************************
+ *
+ *  Compilation model and measurement (IMPORTANT):
+ *
+ *  This C version of Dhrystone consists of three files:
+ *  - dhry.h (this file, containing global definitions and comments)
+ *  - dhry_1.c (containing the code corresponding to Ada package Pack_1)
+ *  - dhry_2.c (containing the code corresponding to Ada package Pack_2)
+ *
+ *  The following "ground rules" apply for measurements:
+ *  - Separate compilation
+ *  - No procedure merging
+ *  - Otherwise, compiler optimizations are allowed but should be indicated
+ *  - Default results are those without register declarations
+ *  See the companion paper "Rationale for Dhrystone Version 2" for a more
+ *  detailed discussion of these ground rules.
+ *
+ *  For 16-Bit processors (e.g. 80186, 80286), times for all compilation
+ *  models ("small", "medium", "large" etc.) should be given if possible,
+ *  together with a definition of these models for the compiler system used.
+ *
+ **************************************************************************
+ *
+ *  Dhrystone (C version) statistics:
+ *
+ *  [Comment from the first distribution, updated for version 2.
+ *   Note that because of language differences, the numbers are slightly
+ *   different from the Ada version.]
+ *
+ *  The following program contains statements of a high level programming
+ *  language (here: C) in a distribution considered representative:           
+ *
+ *    assignments                  52 (51.0 %)
+ *    control statements           33 (32.4 %)
+ *    procedure, function calls    17 (16.7 %)
+ *
+ *  103 statements are dynamically executed. The program is balanced with
+ *  respect to the three aspects:                                             
+ *
+ *    - statement type
+ *    - operand type
+ *    - operand locality
+ *         operand global, local, parameter, or constant.                     
+ *
+ *  The combination of these three aspects is balanced only approximately.    
+ *
+ *  1. Statement Type:                                                        
+ *  -----------------             number
+ *
+ *     V1 = V2                     9
+ *       (incl. V1 = F(..)
+ *     V = Constant               12
+ *     Assignment,                 7
+ *       with array element
+ *     Assignment,                 6
+ *       with record component
+ *                                --
+ *                                34       34
+ *
+ *     X = Y +|-|"&&"|"|" Z        5
+ *     X = Y +|-|"==" Constant     6
+ *     X = X +|- 1                 3
+ *     X = Y *|/ Z                 2
+ *     X = Expression,             1
+ *           two operators
+ *     X = Expression,             1
+ *           three operators
+ *                                --
+ *                                18       18
+ *
+ *     if ....                    14
+ *       with "else"      7
+ *       without "else"   7
+ *           executed        3
+ *           not executed    4
+ *     for ...                     7  |  counted every time
+ *     while ...                   4  |  the loop condition
+ *     do ... while                1  |  is evaluated
+ *     switch ...                  1
+ *     break                       1
+ *     declaration with            1
+ *       initialization
+ *                                --
+ *                                34       34
+ *
+ *     P (...)  procedure call    11
+ *       user procedure      10
+ *       library procedure    1
+ *     X = F (...)
+ *             function  call      6
+ *       user function        5                                         
+ *       library function     1                                               
+ *                                --                                          
+ *                                17       17
+ *                                        ---
+ *                                        103
+ *
+ *    The average number of parameters in procedure or function calls
+ *    is 1.82 (not counting the function values as implicit parameters).
+ *
+ *
+ *  2. Operators
+ *  ------------
+ *                          number    approximate
+ *                                    percentage
+ *
+ *    Arithmetic             32          50.8                                 
+ *
+ *       +                     21          33.3                              
+ *       -                      7          11.1                              
+ *       *                      3           4.8
+ *       / (int div)            1           1.6
+ *
+ *    Comparison             27           42.8
+ *
+ *       ==                     9           14.3
+ *       /=                     4            6.3
+ *       >                      1            1.6
+ *       <                      3            4.8
+ *       >=                     1            1.6
+ *       <=                     9           14.3
+ *
+ *    Logic                   4            6.3
+ *
+ *       && (AND-THEN)          1            1.6
+ *       |  (OR)                1            1.6
+ *       !  (NOT)               2            3.2
+ * 
+ *                           --          -----
+ *                           63          100.1
+ *
+ *
+ *  3. Operand Type (counted once per operand reference):
+ *  ---------------
+ *                          number    approximate
+ *                                    percentage
+ *
+ *     Integer               175        72.3 %
+ *     Character              45        18.6 %
+ *     Pointer                12         5.0 %
+ *     String30                6         2.5 %
+ *     Array                   2         0.8 %
+ *     Record                  2         0.8 %
+ *                           ---       -------
+ *                           242       100.0 %
+ *
+ *  When there is an access path leading to the final operand (e.g. a record
+ *  component), only the final data type on the access path is counted.       
+ *
+ *
+ *  4. Operand Locality:                                                      
+ *  -------------------
+ *                                number    approximate
+ *                                          percentage
+ *
+ *     local variable              114        47.1 %
+ *     global variable              22         9.1 %
+ *     parameter                    45        18.6 %
+ *        value                        23         9.5 %
+ *        reference                    22         9.1 %
+ *     function result               6         2.5 %
+ *     constant                     55        22.7 %
+ *                                 ---       -------
+ *                                 242       100.0 %
+ *
+ *
+ *  The program does not compute anything meaningful, but it is syntactically
+ *  and semantically correct. All variables have a value assigned to them
+ *  before they are used as a source operand.
+ *
+ *  There has been no explicit effort to account for the effects of a
+ *  cache, or to balance the use of long or short displacements for code or
+ *  data.
+ *
+ ***************************************************************************
+ */
+
+
+/* Compiler and system dependent definitions: */
+
+#ifndef TIME
+#define TIMES
+#endif
+                /* Use times(2) time function unless    */
+                /* explicitly defined otherwise         */
+
+#ifdef TIMES
+#include <sys/types.h>
+#include <sys/times.h>
+                /* for "times" */
+#endif
+
+#define Mic_secs_Per_Second     1000000.0
+                /* Berkeley UNIX C returns process times in seconds/HZ */
+
+#ifdef  NOSTRUCTASSIGN
+#define structassign(d, s)      memcpy(&(d), &(s), sizeof(d))
+#else
+#define structassign(d, s)      d = s
+#endif
+
+#ifdef  NOENUM
+#define Ident_1 0
+#define Ident_2 1
+#define Ident_3 2
+#define Ident_4 3
+#define Ident_5 4
+  typedef int   Enumeration;
+#else
+  typedef       enum    {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5}
+                Enumeration;
+#endif
+        /* for boolean and enumeration types in Ada, Pascal */
+
+/* General definitions: */
+
+#include <stdio.h>
+                /* for strcpy, strcmp */
+
+#define Null 0 
+                /* Value of a Null pointer */
+#define true  1
+#define false 0
+
+typedef int     One_Thirty;
+typedef int     One_Fifty;
+typedef char    Capital_Letter;
+typedef int     Boolean;
+typedef char    Str_30 [31];
+typedef int     Arr_1_Dim [50];
+typedef int     Arr_2_Dim [50] [50];
+
+typedef struct record 
+    {
+    struct record *Ptr_Comp;
+    Enumeration    Discr;
+    union {
+          struct {
+                  Enumeration Enum_Comp;
+                  int         Int_Comp;
+                  char        Str_Comp [31];
+                  } var_1;
+          struct {
+                  Enumeration E_Comp_2;
+                  char        Str_2_Comp [31];
+                  } var_2;
+          struct {
+                  char        Ch_1_Comp;
+                  char        Ch_2_Comp;
+                  } var_3;
+          } variant;
+      } Rec_Type, *Rec_Pointer;
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/dhry_1.c b/test/benchmarks/unixbench-5.1.2/src/dhry_1.c
new file mode 100644 (file)
index 0000000..14f9b8d
--- /dev/null
@@ -0,0 +1,427 @@
+/*****************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: dhry_1.c   SID: 3.4 5/15/91 19:30:21
+ *
+ *****************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *****************************************************************************
+ *
+ * *** WARNING ****  With BYTE's modifications applied, results obtained with
+ *     *******       this version of the Dhrystone program may not be applicable
+ *                   to other versions.
+ *
+ *  Modification Log:
+ *  10/22/97 - code cleanup to remove ANSI C compiler warnings
+ *             Andy Kahn <kahn@zk3.dec.com>
+ *
+ *  Adapted from:
+ *
+ *                   "DHRYSTONE" Benchmark Program
+ *                   -----------------------------
+ *
+ *  Version:    C, Version 2.1
+ *
+ *  File:       dhry_1.c (part 2 of 3)
+ *
+ *  Date:       May 25, 1988
+ *
+ *  Author:     Reinhold P. Weicker
+ *
+ ***************************************************************************/
+char SCCSid[] = "@(#) @(#)dhry_1.c:3.4 -- 5/15/91 19:30:21";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "dhry.h"
+#include "timeit.c"
+
+unsigned long Run_Index;
+
+Enumeration Func_1(Capital_Letter, Capital_Letter);
+
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%ld|1|lps\n", Run_Index);
+       exit(0);
+}
+
+/* Global Variables: */
+
+Rec_Pointer     Ptr_Glob,
+                Next_Ptr_Glob;
+int             Int_Glob;
+Boolean         Bool_Glob;
+char            Ch_1_Glob,
+                Ch_2_Glob;
+int             Arr_1_Glob [50];
+int             Arr_2_Glob [50] [50];
+
+
+#ifndef REG
+        Boolean Reg = false;
+#define REG
+        /* REG becomes defined as empty */
+        /* i.e. no register variables   */
+#else
+        Boolean Reg = true;
+#endif
+
+/* variables for time measurement: */
+
+#ifdef TIMES
+struct tms      time_info;
+extern  int     times ();
+                /* see library function "times" */
+#define Too_Small_Time 120
+                /* Measurements should last at least about 2 seconds */
+#endif
+#ifdef TIME
+#define Too_Small_Time 2
+                /* Measurements should last at least 2 seconds */
+#endif
+
+long            Begin_Time,
+                End_Time,
+                User_Time;
+float           Microseconds,
+                Dhrystones_Per_Second;
+
+/* end of variables for time measurement */
+
+void Proc_1 (REG Rec_Pointer Ptr_Val_Par);
+void Proc_2 (One_Fifty   *Int_Par_Ref);
+void Proc_3 (Rec_Pointer *Ptr_Ref_Par);
+void Proc_4 (void);
+void Proc_5 (void);
+
+
+extern Boolean Func_2(Str_30, Str_30);
+extern void Proc_6(Enumeration, Enumeration *);
+extern void Proc_7(One_Fifty, One_Fifty, One_Fifty *);
+extern void Proc_8(Arr_1_Dim, Arr_2_Dim, int, int);
+
+int main (int argc, char *argv[])
+  /* main program, corresponds to procedures        */
+  /* Main and Proc_0 in the Ada version             */
+{
+        int             duration;
+        One_Fifty       Int_1_Loc;
+  REG   One_Fifty       Int_2_Loc;
+        One_Fifty       Int_3_Loc;
+  REG   char            Ch_Index;
+        Enumeration     Enum_Loc;
+        Str_30          Str_1_Loc;
+        Str_30          Str_2_Loc;
+
+  /* Initializations */
+
+  Next_Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+  Ptr_Glob = (Rec_Pointer) malloc (sizeof (Rec_Type));
+
+  Ptr_Glob->Ptr_Comp                    = Next_Ptr_Glob;
+  Ptr_Glob->Discr                       = Ident_1;
+  Ptr_Glob->variant.var_1.Enum_Comp     = Ident_3;
+  Ptr_Glob->variant.var_1.Int_Comp      = 40;
+  strcpy (Ptr_Glob->variant.var_1.Str_Comp,
+          "DHRYSTONE PROGRAM, SOME STRING");
+  strcpy (Str_1_Loc, "DHRYSTONE PROGRAM, 1'ST STRING");
+
+  Arr_2_Glob [8][7] = 10;
+        /* Was missing in published program. Without this statement,    */
+        /* Arr_2_Glob [8][7] would have an undefined value.             */
+        /* Warning: With 16-Bit processors and Number_Of_Runs > 32000,  */
+        /* overflow may occur for this array element.                   */
+
+#ifdef PRATTLE
+  printf ("\n");
+  printf ("Dhrystone Benchmark, Version 2.1 (Language: C)\n");
+  printf ("\n");
+  if (Reg)
+  {
+    printf ("Program compiled with 'register' attribute\n");
+    printf ("\n");
+  }
+  else
+  {
+    printf ("Program compiled without 'register' attribute\n");
+    printf ("\n");
+  }
+  printf ("Please give the number of runs through the benchmark: ");
+  {
+    int n;
+    scanf ("%d", &n);
+    Number_Of_Runs = n;
+  }
+  printf ("\n");
+
+  printf ("Execution starts, %d runs through Dhrystone\n", Number_Of_Runs);
+#endif /* PRATTLE */
+
+  if (argc != 2) {
+    fprintf(stderr, "Usage: %s duration\n", argv[0]);
+    exit(1);
+    }
+
+  duration = atoi(argv[1]);
+  Run_Index = 0;
+  wake_me(duration, report);
+
+  /***************/
+  /* Start timer */
+  /***************/
+
+#ifdef SELF_TIMED
+#ifdef TIMES
+  times (&time_info);
+  Begin_Time = (long) time_info.tms_utime;
+#endif
+#ifdef TIME
+  Begin_Time = time ( (long *) 0);
+#endif
+#endif /* SELF_TIMED */
+
+  for (Run_Index = 1; ; ++Run_Index)
+  {
+
+    Proc_5();
+    Proc_4();
+      /* Ch_1_Glob == 'A', Ch_2_Glob == 'B', Bool_Glob == true */
+    Int_1_Loc = 2;
+    Int_2_Loc = 3;
+    strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 2'ND STRING");
+    Enum_Loc = Ident_2;
+    Bool_Glob = ! Func_2 (Str_1_Loc, Str_2_Loc);
+      /* Bool_Glob == 1 */
+    while (Int_1_Loc < Int_2_Loc)  /* loop body executed once */
+    {
+      Int_3_Loc = 5 * Int_1_Loc - Int_2_Loc;
+        /* Int_3_Loc == 7 */
+      Proc_7 (Int_1_Loc, Int_2_Loc, &Int_3_Loc);
+        /* Int_3_Loc == 7 */
+      Int_1_Loc += 1;
+    } /* while */
+      /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
+    Proc_8 (Arr_1_Glob, Arr_2_Glob, Int_1_Loc, Int_3_Loc);
+      /* Int_Glob == 5 */
+    Proc_1 (Ptr_Glob);
+    for (Ch_Index = 'A'; Ch_Index <= Ch_2_Glob; ++Ch_Index)
+                             /* loop body executed twice */
+    {
+      if (Enum_Loc == Func_1 (Ch_Index, 'C'))
+          /* then, not executed */
+        {
+        Proc_6 (Ident_1, &Enum_Loc);
+        strcpy (Str_2_Loc, "DHRYSTONE PROGRAM, 3'RD STRING");
+        Int_2_Loc = Run_Index;
+        Int_Glob = Run_Index;
+        }
+    }
+      /* Int_1_Loc == 3, Int_2_Loc == 3, Int_3_Loc == 7 */
+    Int_2_Loc = Int_2_Loc * Int_1_Loc;
+    Int_1_Loc = Int_2_Loc / Int_3_Loc;
+    Int_2_Loc = 7 * (Int_2_Loc - Int_3_Loc) - Int_1_Loc;
+      /* Int_1_Loc == 1, Int_2_Loc == 13, Int_3_Loc == 7 */
+    Proc_2 (&Int_1_Loc);
+      /* Int_1_Loc == 5 */
+
+  } /* loop "for Run_Index" */
+
+  /**************/
+  /* Stop timer */
+  /**************/
+#ifdef SELF_TIMED
+#ifdef TIMES
+  times (&time_info);
+  End_Time = (long) time_info.tms_utime;
+#endif
+#ifdef TIME
+  End_Time = time ( (long *) 0);
+#endif
+#endif /* SELF_TIMED */
+
+  /* BYTE version never executes this stuff */
+#ifdef SELF_TIMED
+  printf ("Execution ends\n");
+  printf ("\n");
+  printf ("Final values of the variables used in the benchmark:\n");
+  printf ("\n");
+  printf ("Int_Glob:            %d\n", Int_Glob);
+  printf ("        should be:   %d\n", 5);
+  printf ("Bool_Glob:           %d\n", Bool_Glob);
+  printf ("        should be:   %d\n", 1);
+  printf ("Ch_1_Glob:           %c\n", Ch_1_Glob);
+  printf ("        should be:   %c\n", 'A');
+  printf ("Ch_2_Glob:           %c\n", Ch_2_Glob);
+  printf ("        should be:   %c\n", 'B');
+  printf ("Arr_1_Glob[8]:       %d\n", Arr_1_Glob[8]);
+  printf ("        should be:   %d\n", 7);
+  printf ("Arr_2_Glob[8][7]:    %d\n", Arr_2_Glob[8][7]);
+  printf ("        should be:   Number_Of_Runs + 10\n");
+  printf ("Ptr_Glob->\n");
+  printf ("  Ptr_Comp:          %d\n", (int) Ptr_Glob->Ptr_Comp);
+  printf ("        should be:   (implementation-dependent)\n");
+  printf ("  Discr:             %d\n", Ptr_Glob->Discr);
+  printf ("        should be:   %d\n", 0);
+  printf ("  Enum_Comp:         %d\n", Ptr_Glob->variant.var_1.Enum_Comp);
+  printf ("        should be:   %d\n", 2);
+  printf ("  Int_Comp:          %d\n", Ptr_Glob->variant.var_1.Int_Comp);
+  printf ("        should be:   %d\n", 17);
+  printf ("  Str_Comp:          %s\n", Ptr_Glob->variant.var_1.Str_Comp);
+  printf ("        should be:   DHRYSTONE PROGRAM, SOME STRING\n");
+  printf ("Next_Ptr_Glob->\n");
+  printf ("  Ptr_Comp:          %d\n", (int) Next_Ptr_Glob->Ptr_Comp);
+  printf ("        should be:   (implementation-dependent), same as above\n");
+  printf ("  Discr:             %d\n", Next_Ptr_Glob->Discr);
+  printf ("        should be:   %d\n", 0);
+  printf ("  Enum_Comp:         %d\n", Next_Ptr_Glob->variant.var_1.Enum_Comp);
+  printf ("        should be:   %d\n", 1);
+  printf ("  Int_Comp:          %d\n", Next_Ptr_Glob->variant.var_1.Int_Comp);
+  printf ("        should be:   %d\n", 18);
+  printf ("  Str_Comp:          %s\n",
+                                Next_Ptr_Glob->variant.var_1.Str_Comp);
+  printf ("        should be:   DHRYSTONE PROGRAM, SOME STRING\n");
+  printf ("Int_1_Loc:           %d\n", Int_1_Loc);
+  printf ("        should be:   %d\n", 5);
+  printf ("Int_2_Loc:           %d\n", Int_2_Loc);
+  printf ("        should be:   %d\n", 13);
+  printf ("Int_3_Loc:           %d\n", Int_3_Loc);
+  printf ("        should be:   %d\n", 7);
+  printf ("Enum_Loc:            %d\n", Enum_Loc);
+  printf ("        should be:   %d\n", 1);
+  printf ("Str_1_Loc:           %s\n", Str_1_Loc);
+  printf ("        should be:   DHRYSTONE PROGRAM, 1'ST STRING\n");
+  printf ("Str_2_Loc:           %s\n", Str_2_Loc);
+  printf ("        should be:   DHRYSTONE PROGRAM, 2'ND STRING\n");
+  printf ("\n");
+
+  User_Time = End_Time - Begin_Time;
+
+  if (User_Time < Too_Small_Time)
+  {
+    printf ("Measured time too small to obtain meaningful results\n");
+    printf ("Please increase number of runs\n");
+    printf ("\n");
+  }
+  else
+  {
+#ifdef TIME
+    Microseconds = (float) User_Time * Mic_secs_Per_Second
+                        / (float) Number_Of_Runs;
+    Dhrystones_Per_Second = (float) Number_Of_Runs / (float) User_Time;
+#else
+    Microseconds = (float) User_Time * Mic_secs_Per_Second
+                        / ((float) HZ * ((float) Number_Of_Runs));
+    Dhrystones_Per_Second = ((float) HZ * (float) Number_Of_Runs)
+                        / (float) User_Time;
+#endif
+    printf ("Microseconds for one run through Dhrystone: ");
+    printf ("%6.1f \n", Microseconds);
+    printf ("Dhrystones per Second:                      ");
+    printf ("%6.1f \n", Dhrystones_Per_Second);
+    printf ("\n");
+  }
+#endif /* SELF_TIMED */
+}
+
+
+void Proc_1 (REG Rec_Pointer Ptr_Val_Par)
+    /* executed once */
+{
+  REG Rec_Pointer Next_Record = Ptr_Val_Par->Ptr_Comp;
+                                        /* == Ptr_Glob_Next */
+  /* Local variable, initialized with Ptr_Val_Par->Ptr_Comp,    */
+  /* corresponds to "rename" in Ada, "with" in Pascal           */
+
+  structassign (*Ptr_Val_Par->Ptr_Comp, *Ptr_Glob);
+  Ptr_Val_Par->variant.var_1.Int_Comp = 5;
+  Next_Record->variant.var_1.Int_Comp
+        = Ptr_Val_Par->variant.var_1.Int_Comp;
+  Next_Record->Ptr_Comp = Ptr_Val_Par->Ptr_Comp;
+  Proc_3 (&Next_Record->Ptr_Comp);
+    /* Ptr_Val_Par->Ptr_Comp->Ptr_Comp
+                        == Ptr_Glob->Ptr_Comp */
+  if (Next_Record->Discr == Ident_1)
+    /* then, executed */
+  {
+    Next_Record->variant.var_1.Int_Comp = 6;
+    Proc_6 (Ptr_Val_Par->variant.var_1.Enum_Comp,
+           &Next_Record->variant.var_1.Enum_Comp);
+    Next_Record->Ptr_Comp = Ptr_Glob->Ptr_Comp;
+    Proc_7 (Next_Record->variant.var_1.Int_Comp, 10,
+           &Next_Record->variant.var_1.Int_Comp);
+  }
+  else /* not executed */
+    structassign (*Ptr_Val_Par, *Ptr_Val_Par->Ptr_Comp);
+} /* Proc_1 */
+
+
+void Proc_2 (One_Fifty   *Int_Par_Ref)
+    /* executed once */
+    /* *Int_Par_Ref == 1, becomes 4 */
+{
+  One_Fifty  Int_Loc;
+  Enumeration   Enum_Loc;
+
+  Enum_Loc = 0;
+
+  Int_Loc = *Int_Par_Ref + 10;
+  do /* executed once */
+    if (Ch_1_Glob == 'A')
+      /* then, executed */
+    {
+      Int_Loc -= 1;
+      *Int_Par_Ref = Int_Loc - Int_Glob;
+      Enum_Loc = Ident_1;
+    } /* if */
+  while (Enum_Loc != Ident_1); /* true */
+} /* Proc_2 */
+
+
+void Proc_3 (Rec_Pointer *Ptr_Ref_Par)
+    /* executed once */
+    /* Ptr_Ref_Par becomes Ptr_Glob */
+{
+  if (Ptr_Glob != Null)
+    /* then, executed */
+    *Ptr_Ref_Par = Ptr_Glob->Ptr_Comp;
+  Proc_7 (10, Int_Glob, &Ptr_Glob->variant.var_1.Int_Comp);
+} /* Proc_3 */
+
+
+void Proc_4 (void) /* without parameters */
+    /* executed once */
+{
+  Boolean Bool_Loc;
+
+  Bool_Loc = Ch_1_Glob == 'A';
+  Bool_Glob = Bool_Loc | Bool_Glob;
+  Ch_2_Glob = 'B';
+} /* Proc_4 */
+
+void Proc_5 (void) /* without parameters */
+/*******/
+    /* executed once */
+{
+  Ch_1_Glob = 'A';
+  Bool_Glob = false;
+} /* Proc_5 */
+
+
+        /* Procedure for the assignment of structures,          */
+        /* if the C compiler doesn't support this feature       */
+#ifdef  NOSTRUCTASSIGN
+memcpy (d, s, l)
+register char   *d;
+register char   *s;
+register int    l;
+{
+        while (l--) *d++ = *s++;
+}
+#endif
+
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/dhry_2.c b/test/benchmarks/unixbench-5.1.2/src/dhry_2.c
new file mode 100644 (file)
index 0000000..140161f
--- /dev/null
@@ -0,0 +1,209 @@
+/*****************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: dhry_2.c   SID: 3.4 5/15/91 19:30:22
+ *          
+ *****************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *****************************************************************************
+ *  Modification Log:
+ *  10/22/97 - code cleanup to remove ANSI C compiler warnings
+ *             Andy Kahn <kahn@zk3.dec.com>
+ *
+ *  Adapted from:
+ *
+ *                   "DHRYSTONE" Benchmark Program
+ *                   -----------------------------
+ *
+ * **** WARNING **** See warning in n.dhry_1.c
+ *                                                                            
+ *  Version:    C, Version 2.1
+ *                                                                            
+ *  File:       dhry_2.c (part 3 of 3)
+ *
+ *  Date:       May 25, 1988
+ *
+ *  Author:     Reinhold P. Weicker
+ *
+ ****************************************************************************/
+/* SCCSid is defined in dhry_1.c */
+
+#include <string.h>
+#include "dhry.h"
+
+#ifndef REG
+#define REG
+        /* REG becomes defined as empty */
+        /* i.e. no register variables   */
+#endif
+
+extern  int     Int_Glob;
+extern  char    Ch_1_Glob;
+
+void Proc_6(Enumeration, Enumeration *);
+void Proc_7(One_Fifty, One_Fifty, One_Fifty *);
+void Proc_8(Arr_1_Dim, Arr_2_Dim, int, int);
+Enumeration Func_1(Capital_Letter, Capital_Letter);
+Boolean Func_2(Str_30, Str_30);
+Boolean Func_3(Enumeration);
+
+void Proc_6 (Enumeration Enum_Val_Par, Enumeration *Enum_Ref_Par)
+    /* executed once */
+    /* Enum_Val_Par == Ident_3, Enum_Ref_Par becomes Ident_2 */
+{
+  *Enum_Ref_Par = Enum_Val_Par;
+  if (! Func_3 (Enum_Val_Par))
+    /* then, not executed */
+    *Enum_Ref_Par = Ident_4;
+  switch (Enum_Val_Par)
+  {
+    case Ident_1: 
+      *Enum_Ref_Par = Ident_1;
+      break;
+    case Ident_2: 
+      if (Int_Glob > 100)
+        /* then */
+      *Enum_Ref_Par = Ident_1;
+      else *Enum_Ref_Par = Ident_4;
+      break;
+    case Ident_3: /* executed */
+      *Enum_Ref_Par = Ident_2;
+      break;
+    case Ident_4: break;
+    case Ident_5: 
+      *Enum_Ref_Par = Ident_3;
+      break;
+  } /* switch */
+} /* Proc_6 */
+
+void Proc_7 (Int_1_Par_Val, Int_2_Par_Val, Int_Par_Ref)
+One_Fifty       Int_1_Par_Val;
+One_Fifty       Int_2_Par_Val;
+One_Fifty      *Int_Par_Ref;
+/**********************************************/
+    /* executed three times                                      */ 
+    /* first call:      Int_1_Par_Val == 2, Int_2_Par_Val == 3,  */
+    /*                  Int_Par_Ref becomes 7                    */
+    /* second call:     Int_1_Par_Val == 10, Int_2_Par_Val == 5, */
+    /*                  Int_Par_Ref becomes 17                   */
+    /* third call:      Int_1_Par_Val == 6, Int_2_Par_Val == 10, */
+    /*                  Int_Par_Ref becomes 18                   */
+{
+  One_Fifty Int_Loc;
+
+  Int_Loc = Int_1_Par_Val + 2;
+  *Int_Par_Ref = Int_2_Par_Val + Int_Loc;
+} /* Proc_7 */
+
+
+void Proc_8 (Arr_1_Par_Ref, Arr_2_Par_Ref, Int_1_Par_Val, Int_2_Par_Val)
+/*********************************************************************/
+    /* executed once      */
+    /* Int_Par_Val_1 == 3 */
+    /* Int_Par_Val_2 == 7 */
+Arr_1_Dim       Arr_1_Par_Ref;
+Arr_2_Dim       Arr_2_Par_Ref;
+int             Int_1_Par_Val;
+int             Int_2_Par_Val;
+{
+  REG One_Fifty Int_Index;
+  REG One_Fifty Int_Loc;
+
+  Int_Loc = Int_1_Par_Val + 5;
+  Arr_1_Par_Ref [Int_Loc] = Int_2_Par_Val;
+  Arr_1_Par_Ref [Int_Loc+1] = Arr_1_Par_Ref [Int_Loc];
+  Arr_1_Par_Ref [Int_Loc+30] = Int_Loc;
+  for (Int_Index = Int_Loc; Int_Index <= Int_Loc+1; ++Int_Index)
+    Arr_2_Par_Ref [Int_Loc] [Int_Index] = Int_Loc;
+  Arr_2_Par_Ref [Int_Loc] [Int_Loc-1] += 1;
+  Arr_2_Par_Ref [Int_Loc+20] [Int_Loc] = Arr_1_Par_Ref [Int_Loc];
+  Int_Glob = 5;
+} /* Proc_8 */
+
+
+Enumeration Func_1 (Capital_Letter Ch_1_Par_Val, Capital_Letter Ch_2_Par_Val)
+/*************************************************/
+    /* executed three times                                         */
+    /* first call:      Ch_1_Par_Val == 'H', Ch_2_Par_Val == 'R'    */
+    /* second call:     Ch_1_Par_Val == 'A', Ch_2_Par_Val == 'C'    */
+    /* third call:      Ch_1_Par_Val == 'B', Ch_2_Par_Val == 'C'    */
+{
+  Capital_Letter        Ch_1_Loc;
+  Capital_Letter        Ch_2_Loc;
+
+  Ch_1_Loc = Ch_1_Par_Val;
+  Ch_2_Loc = Ch_1_Loc;
+  if (Ch_2_Loc != Ch_2_Par_Val)
+    /* then, executed */
+    return (Ident_1);
+  else  /* not executed */
+  {
+    Ch_1_Glob = Ch_1_Loc;
+    return (Ident_2);
+   }
+} /* Func_1 */
+
+
+
+Boolean Func_2 (Str_1_Par_Ref, Str_2_Par_Ref)
+/*************************************************/
+    /* executed once */
+    /* Str_1_Par_Ref == "DHRYSTONE PROGRAM, 1'ST STRING" */
+    /* Str_2_Par_Ref == "DHRYSTONE PROGRAM, 2'ND STRING" */
+
+Str_30  Str_1_Par_Ref;
+Str_30  Str_2_Par_Ref;
+{
+  REG One_Thirty        Int_Loc;
+      Capital_Letter    Ch_Loc;
+
+  Ch_Loc = 'A';
+  Int_Loc = 2;
+  while (Int_Loc <= 2) /* loop body executed once */
+    if (Func_1 (Str_1_Par_Ref[Int_Loc],
+                Str_2_Par_Ref[Int_Loc+1]) == Ident_1)
+      /* then, executed */
+    {
+      Ch_Loc = 'A';
+      Int_Loc += 1;
+    } /* if, while */
+  if (Ch_Loc >= 'W' && Ch_Loc < 'Z')
+    /* then, not executed */
+    Int_Loc = 7;
+  if (Ch_Loc == 'R')
+    /* then, not executed */
+    return (true);
+  else /* executed */
+  {
+    if (strcmp (Str_1_Par_Ref, Str_2_Par_Ref) > 0)
+      /* then, not executed */
+    {
+      Int_Loc += 7;
+      Int_Glob = Int_Loc;
+      return (true);
+    }
+    else /* executed */
+      return (false);
+  } /* if Ch_Loc */
+} /* Func_2 */
+
+
+Boolean Func_3 (Enum_Par_Val)
+/***************************/
+    /* executed once        */
+    /* Enum_Par_Val == Ident_3 */
+Enumeration Enum_Par_Val;
+{
+  Enumeration Enum_Loc;
+
+  Enum_Loc = Enum_Par_Val;
+  if (Enum_Loc == Ident_3)
+    /* then, executed */
+    return (true);
+  else /* not executed */
+    return (false);
+} /* Func_3 */
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/dummy.c b/test/benchmarks/unixbench-5.1.2/src/dummy.c
new file mode 100644 (file)
index 0000000..1fbc936
--- /dev/null
@@ -0,0 +1,319 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: dummy.c   SID: 3.3 5/15/91 19:30:19
+ *          
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  10/22/97 - code cleanup to remove ANSI C compiler warnings
+ *             Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+/*
+ *  Hacked up C program for use in the standard shell.? scripts of
+ *  the multiuser test.  This is based upon makework.c, and is typically
+ *  edited using edscript.2 before compilation.
+ *
+ * $Header: dummy.c,v 3.4 87/06/23 15:54:53 kjmcdonell Beta $
+ */
+char SCCSid[] = "@(#) @(#)dummy.c:3.3 -- 5/15/91 19:30:19";
+
+#include <stdio.h>
+#include <signal.h>
+
+#define DEF_RATE       5.0
+#define GRANULE                5
+#define CHUNK          60
+#define MAXCHILD       12
+#define MAXWORK                10
+
+float  thres;
+float  est_rate = DEF_RATE;
+int    nusers;         /* number of concurrent users to be simulated by
+                        * this process */
+int    firstuser;      /* ordinal identification of first user for this
+                        * process */
+int    nwork = 0;      /* number of job streams */
+int    exit_status = 0;        /* returned to parent */
+int    sigpipe;        /* pipe write error flag */
+
+struct st_work {
+       char    *cmd;           /* name of command to run */
+       char    **av;           /* arguments to command */
+       char    *input;         /* standard input buffer */
+       int     inpsize;        /* size of standard input buffer */
+} work[MAXWORK];
+
+struct {
+       int     xmit;   /* # characters sent */
+       char    *bp;    /* std input buffer pointer */
+       int     blen;   /* std input buffer length */
+       int     fd;     /* stdin to command */
+       int     pid;    /* child PID */
+       char    *line;  /* start of input line */ 
+       int     firstjob;       /* inital piece of work */
+       int     thisjob;        /* current piece of work */
+} child[MAXCHILD], *cp;
+
+main(argc, argv)
+int    argc;
+char   *argv[];
+{
+    int                i;
+    int                l;
+    int                fcopy = 0;      /* fd for copy output */
+    int                master = 1;     /* the REAL master, == 0 for clones */
+    int                nchild;         /* no. of children for a clone to run */
+    int                done;           /* count of children finished */
+    int                output;         /* aggregate output char count for all
+                                  children */
+    int                c;
+    int                thiswork = 0;   /* next job stream to allocate */
+    int                nch;            /* # characters to write */
+    int                written;        /* # characters actully written */
+    char       logname[15];    /* name of the log file(s) */
+    void               onalarm(void);
+    void               pipeerr(void);
+    void               wrapup(void);
+    void               grunt(void);
+    char       *malloc();
+    int                pvec[2];        /* for pipes */
+    char       *p;
+    char       *prog;          /* my name */
+
+#if ! debug
+    freopen("masterlog.00", "a", stderr);
+#endif
+    fprintf(stderr, "*** New Run ***  ");
+    prog = argv[0];
+    while (argc > 1 && argv[1][0] == '-')  {
+       p = &argv[1][1];
+       argc--;
+       argv++;
+       while (*p) {
+           switch (*p) {
+           case 'r':
+                       /* code DELETED here */
+                       argc--;
+                       argv++;
+                       break;
+
+           case 'c':
+                       /* code DELETED here */
+                       lseek(fcopy, 0L, 2);    /* append at end of file */
+                       break;
+
+           default:
+               fprintf(stderr, "%s: bad flag '%c'\n", prog, *p);
+                       exit(4);
+           }
+           p++;
+       }
+    }
+    
+    if (argc < 2) {
+       fprintf(stderr, "%s: missing nusers\n", prog);
+       exit(4);
+    }
+
+    nusers = atoi(argv[1]);
+    if (nusers < 1) {
+       fprintf(stderr, "%s: impossible nusers (%d<-%s)\n", prog, nusers, argv[1]);
+       exit(4);
+    }
+    fprintf(stderr, "%d Users\n", nusers);
+    argc--;
+    argv++;
+
+    /* build job streams */
+    getwork();
+#if debug
+    dumpwork();
+#endif
+
+    /* clone copies of myself to run up to MAXCHILD jobs each */
+    firstuser = MAXCHILD;
+    fprintf(stderr, "master pid %d\n", getpid());
+    fflush(stderr);
+    while (nusers > MAXCHILD) {
+       fflush(stderr);
+       if (nusers >= 2*MAXCHILD)
+           /* the next clone must run MAXCHILD jobs */
+           nchild = MAXCHILD;
+       else
+           /* the next clone must run the leftover jobs */
+           nchild = nusers - MAXCHILD;
+       if ((l = fork()) == -1) {
+           /* fork failed */
+           fatal("** clone fork failed **\n");
+           goto bepatient;
+       } else if (l > 0) {
+           fprintf(stderr, "master clone pid %d\n", l);
+           /* I am the master with nchild fewer jobs to run */
+           nusers -= nchild;
+           firstuser += MAXCHILD;
+           continue;
+       } else {
+           /* I am a clone, run MAXCHILD jobs */
+#if ! debug
+           sprintf(logname, "masterlog.%02d", firstuser/MAXCHILD);
+           freopen(logname, "w", stderr);
+#endif
+           master = 0;
+           nusers = nchild;
+           break;
+       }
+    }
+    if (master)
+       firstuser = 0;
+
+    close(0);
+
+    /* code DELETED here */
+
+    fflush(stderr);
+
+    srand(time(0));
+    thres = 0;
+    done = output = 0;
+    for (i = 0; i < nusers; i++) {
+       if (child[i].blen == 0)
+           done++;
+       else
+           thres += est_rate * GRANULE;
+    }
+    est_rate = thres;
+
+    signal(SIGALRM, onalarm);
+    signal(SIGPIPE, pipeerr);
+    alarm(GRANULE);
+    while (done < nusers) {
+       for (i = 0; i < nusers; i++) {
+           cp = &child[i];
+           if (cp->xmit >= cp->blen) continue;
+           l = rand() % CHUNK + 1;     /* 1-CHUNK chars */
+           if (l == 0) continue;
+           if (cp->xmit + l > cp->blen)
+               l = cp->blen - cp->xmit;
+           p = cp->bp;
+           cp->bp += l;
+           cp->xmit += l;
+#if debug
+           fprintf(stderr, "child %d, %d processed, %d to go\n", i, cp->xmit, cp->blen - cp->xmit);
+#endif
+           while (p < cp->bp) {
+               if (*p == '\n' || (p == &cp->bp[-1] && cp->xmit >= cp->blen)) {
+                   /* write it out */
+                   nch = p - cp->line + 1;
+                   if ((written = write(cp->fd, cp->line, nch)) != nch) {
+
+                       /* code DELETED here */
+
+                   }
+                   if (fcopy)
+                       write(fcopy, cp->line, p - cp->line + 1);
+#if debug
+                   fprintf(stderr, "child %d gets \"", i);
+                   {
+                       char *q = cp->line;
+                       while (q <= p) {
+                               if (*q >= ' ' && *q <= '~')
+                                       fputc(*q, stderr);
+                               else
+                                       fprintf(stderr, "\\%03o", *q);
+                               q++;
+                       }
+                   }
+                   fputc('"', stderr);
+#endif
+                   cp->line = &p[1];
+               }
+               p++;
+           }
+           if (cp->xmit >= cp->blen) {
+               done++;
+               close(cp->fd);
+#if debug
+       fprintf(stderr, "child %d, close std input\n", i);
+#endif
+           }
+           output += l;
+       }
+       while (output > thres) {
+           pause();
+#if debug
+           fprintf(stderr, "after pause: output, thres, done %d %.2f %d\n", output, thres, done);
+#endif
+       }
+    }
+
+bepatient:
+    alarm(0);
+/****
+ *  If everything is going OK, we should simply be able to keep
+ *  looping unitil 'wait' fails, however some descendent process may
+ *  be in a state from which it can never exit, and so a timeout
+ *  is used.
+ *  5 minutes should be ample, since the time to run all jobs is of
+ *  the order of 5-10 minutes, however some machines are painfully slow,
+ *  so the timeout has been set at 20 minutes (1200 seconds).
+ ****/
+
+    /* code DELETED here */
+
+}
+
+onalarm()
+{
+    thres += est_rate;
+    signal(SIGALRM, onalarm);
+    alarm(GRANULE);
+}
+
+grunt()
+{
+    /* timeout after label "bepatient" in main */
+    exit_status = 4;
+    wrapup();
+}
+
+pipeerr()
+{
+       sigpipe++;
+}
+
+wrapup()
+{
+    /* DUMMY, real code dropped */
+}
+
+getwork()
+{
+
+    /* DUMMY, real code dropped */
+    gets();
+    strncpy();
+    malloc(); realloc();
+    open(); close();
+}
+
+fatal(s)
+char *s;
+{
+    int        i;
+    fprintf(stderr, s);
+    fflush(stderr);
+    perror("Reason?");
+    for (i = 0; i < nusers; i++) {
+       if (child[i].pid > 0 && kill(child[i].pid, SIGKILL) != -1)
+           fprintf(stderr, "pid %d killed off\n", child[i].pid);
+    }
+    fflush(stderr);
+    exit_status = 4;
+    return;
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/execl.c b/test/benchmarks/unixbench-5.1.2/src/execl.c
new file mode 100644 (file)
index 0000000..25a7f10
--- /dev/null
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: execl.c   SID: 3.3 5/15/91 19:30:19
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: execl.c,v 3.5 87/06/22 15:37:08 kjmcdonell Beta $
+ *  August 28, 1990 - Modified timing routines
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+/*
+ *  Execing
+ *
+ */
+char SCCSid[] = "@(#) @(#)execl.c:3.3 -- 5/15/91 19:30:19";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+char   bss[8*1024];    /* something worthwhile */
+
+#define main dummy
+
+#include "big.c"        /* some real code */
+
+#undef main
+
+int main(int argc, char *argv[])       /* the real program */
+{
+       unsigned long iter = 0;
+       char *ptr;
+       char *fullpath;
+       int     duration;
+       char    count_str[12], start_str[24], path_str[256], *dur_str;
+       time_t  start_time, this_time;
+
+#ifdef DEBUG
+       int count;
+       for(count = 0; count < argc; ++ count)
+               printf("%s ",argv[count]);
+               printf("\n");
+#endif
+       if (argc < 2)
+               {
+               fprintf(stderr, "Usage: %s duration\n", argv[0]);
+               exit(1);
+               }
+
+
+       duration = atoi(argv[1]);
+       if (duration > 0)
+               /* the first invocation */
+               {
+               dur_str = argv[1];
+               if((ptr = getenv("UB_BINDIR")) != NULL)
+                       sprintf(path_str,"%s/execl",ptr);
+               fullpath=path_str;
+               time(&start_time);
+               }
+       else  /* one of those execl'd invocations */
+               {
+               /* real duration follow the phoney null duration */
+               duration = atoi(argv[2]);
+               dur_str = argv[2];
+               iter = (unsigned long)atoi(argv[3]); /* where are we now ? */
+               sscanf(argv[4], "%lu", (unsigned long *) &start_time);
+               fullpath = argv[0];
+               }
+
+       sprintf(count_str, "%lu", ++iter); /* increment the execl counter */
+       sprintf(start_str, "%lu", (unsigned long) start_time);
+       time(&this_time);
+       if (this_time - start_time >= duration) { /* time has run out */
+               fprintf(stderr, "COUNT|%lu|1|lps\n", iter);
+               exit(0);
+               }
+       execl(fullpath, fullpath, "0", dur_str, count_str, start_str, (void *) 0);
+       fprintf(stderr, "Exec failed at iteration %lu\n", iter);
+       perror("Reason");
+       exit(1);
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/fstime.c b/test/benchmarks/unixbench-5.1.2/src/fstime.c
new file mode 100644 (file)
index 0000000..1ed4077
--- /dev/null
@@ -0,0 +1,471 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *      Module: fstime.c   SID: 3.5 5/15/91 19:30:19
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *      Ben Smith, Rick Grehan or Tom Yager
+ *      ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ * $Header: fstime.c,v 3.4 87/06/22 14:23:05 kjmcdonell Beta $
+ * 10/19/89 - rewrote timing calcs and added clock check (Ben Smith)
+ * 10/26/90 - simplify timing, change defaults (Tom Yager)
+ * 11/16/90 - added better error handling and changed output format (Ben Smith)
+ * 11/17/90 - changed the whole thing around (Ben Smith)
+ * 2/22/91 - change a few style elements and improved error handling (Ben Smith)
+ * 4/17/91 - incorporated suggestions from Seckin Unlu (seckin@sumac.intel.com)
+ * 4/17/91 - limited size of file, will rewind when reaches end of file
+ * 7/95    - fixed mishandling of read() and write() return codes
+ *           Carl Emilio Prelz <fluido@telepac.pt>
+ * 12/95   - Massive changes.  Made sleep time proportional increase with run
+ *           time; added fsbuffer and fsdisk variants; added partial counting
+ *           of partial reads/writes (was *full* credit); added dual syncs.
+ *           David C Niemi <niemi@tux.org>
+ * 10/22/97 - code cleanup to remove ANSI C compiler warnings
+ *           Andy Kahn <kahn@zk3.dec.com>
+ *  9/24/07 - Separate out the read and write tests;
+ *           output the actual time used in the results.
+ *           Ian Smith <johantheghost at yahoo period com>
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)fstime.c:3.5 -- 5/15/91 19:30:19";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/time.h>
+
+#define SECONDS 10
+
+#define MAX_BUFSIZE 8192
+
+/* This must be set to the smallest BUFSIZE or 1024, whichever is smaller */
+#define COUNTSIZE 256
+#define HALFCOUNT (COUNTSIZE/2)         /* Half of COUNTSIZE */
+
+#define FNAME0  "dummy0"
+#define FNAME1  "dummy1"
+
+#ifndef MINIX
+extern void sync(void);
+#else
+extern int sync(void);
+#endif
+
+int w_test(int timeSecs);
+int r_test(int timeSecs);
+int c_test(int timeSecs);
+
+long read_score = 1, write_score = 1, copy_score = 1;
+
+/****************** GLOBALS ***************************/
+
+/* The buffer size for the tests. */
+int bufsize = 1024;
+
+/*
+ * The max number of 1024-byte blocks in the file.
+ * Don't limit it much, so that memory buffering
+ * can be overcome.
+ */
+int max_blocks = 2000;
+
+/* The max number of BUFSIZE blocks in the file. */
+int max_buffs = 2000;
+
+/* Countable units per 1024 bytes */
+int count_per_k;
+
+/* Countable units per bufsize */
+int count_per_buf;
+
+/* The actual buffer. */
+/* char *buf = 0; */
+/* Let's carry on using a static buffer for this, like older versions
+ * of the code did.  It turns out that if you use a malloc buffer,
+ * it goes 50% slower on reads, when using a 4k buffer -- at least on
+ * my OpenSUSE 10.2 system.
+ * What up wit dat?
+ */
+char buf[MAX_BUFSIZE];
+
+int                     f;
+int                     g;
+int                     i;
+void                    stop_count(int);
+void                    clean_up(int);
+int                     sigalarm = 0;
+
+/******************** MAIN ****************************/
+
+int main(int argc, char *argv[])
+{
+    /* The number of seconds to run for. */
+    int                     seconds = SECONDS;
+
+    /* The type of test to run. */
+    char test = 'c';
+
+    int status;
+    int i;
+
+    for (i = 1; i < argc; ++i) {
+        if (argv[i][0] == '-') {
+            switch (argv[i][1]) {
+                case 'c':
+                case 'r':
+                case 'w':
+                    test = argv[i][1];
+                    break;
+                case 'b':
+                    bufsize = atoi(argv[++i]);
+                    break;
+                case 'm':
+                    max_blocks = atoi(argv[++i]);
+                    break;
+                case 't':
+                    seconds = atoi(argv[++i]);
+                    break;
+                case 'd':
+                    if (chdir(argv[++i]) < 0) {
+                        perror("fstime: chdir");
+                        exit(1);
+                    }
+                    break;
+                default:
+                    fprintf(stderr, "Usage: fstime [-c|-r|-w] [-b <bufsize>] [-m <max_blocks>] [-t <seconds>]\n");
+                    exit(2);
+            }
+        } else {
+            fprintf(stderr, "Usage: fstime [-c|-r|-w] [-b <bufsize>] [-m <max_blocks>] [-t <seconds>]\n");
+            exit(2);
+        }
+    }
+
+    if (bufsize < COUNTSIZE || bufsize > MAX_BUFSIZE) {
+        fprintf(stderr, "fstime: buffer size must be in range %d-%d\n",
+                COUNTSIZE, 1024*1024);
+        exit(3);
+    }
+    if (max_blocks < 1 || max_blocks > 1024*1024) {
+        fprintf(stderr, "fstime: max blocks must be in range %d-%d\n",
+                1, 1024*1024);
+        exit(3);
+    }
+    if (seconds < 1 || seconds > 3600) {
+        fprintf(stderr, "fstime: time must be in range %d-%d seconds\n",
+                1, 3600);
+        exit(3);
+    }
+
+    max_buffs = max_blocks * 1024 / bufsize;
+    count_per_k = 1024 / COUNTSIZE;
+    count_per_buf = bufsize / COUNTSIZE;
+
+    /*
+    if ((buf = malloc(bufsize)) == 0) {
+        fprintf(stderr, "fstime: failed to malloc %d bytes\n", bufsize);
+        exit(4);
+    }
+    */
+
+    if((f = creat(FNAME0, 0600)) == -1) {
+            perror("fstime: creat");
+            exit(1);
+    }
+    close(f);
+
+    if((g = creat(FNAME1, 0600)) == -1) {
+            perror("fstime: creat");
+            exit(1);
+    }
+    close(g);
+
+    if( (f = open(FNAME0, 2)) == -1) {
+            perror("fstime: open");
+            exit(1);
+    }
+    if( ( g = open(FNAME1, 2)) == -1 ) {
+            perror("fstime: open");
+            exit(1);
+    }
+
+    /* fill buffer */
+    for (i=0; i < bufsize; ++i)
+            buf[i] = i & 0xff;
+
+    signal(SIGKILL,clean_up);
+
+    /*
+     * Run the selected test.
+     * When I got here, this program ran full 30-second tests for
+     * write, read, and copy, outputting the results for each.  BUT
+     * only the copy results are actually used in the benchmark index.
+     * With multiple iterations and three sets of FS tests, that amounted
+     * to about 10 minutes of wasted time per run.
+     *
+     * So, I've made the test selectable.  Except that the read and write
+     * passes are used to create the test file and calibrate the rates used
+     * to tweak the results of the copy test.  So, for copy tests, we do
+     * a few seconds of write and read to prime the pump.
+     *
+     * Note that this will also pull the file into the FS cache on any
+     * modern system prior to the copy test.  Whether this is good or
+     * bad is a matter of perspective, but it's how it was when I got
+     * here.
+     *
+     * Ian Smith <johantheghost at yahoo period com> 21 Sep 2007
+     */
+    switch (test) {
+    case 'w':
+        status = w_test(seconds);
+        break;
+    case 'r':
+        w_test(2);
+        status = r_test(seconds);
+        break;
+    case 'c':
+        w_test(2);
+        r_test(2);
+        status = c_test(seconds);
+        break;
+    default:
+        fprintf(stderr, "fstime: unknown test \'%c\'\n", test);
+        exit(6);
+    }
+    if (status) {
+        clean_up(0);
+        exit(1);
+    }
+
+    clean_up(0);
+    exit(0);
+}
+
+
+static double getFloatTime(void)
+{
+        struct timeval t;
+
+        gettimeofday(&t, 0);
+        return (double) t.tv_sec + (double) t.tv_usec / 1000000.0;
+}
+
+
+/*
+ * Run the write test for the time given in seconds.
+ */
+int w_test(int timeSecs)
+{
+        unsigned long counted = 0L;
+        unsigned long tmp;
+        long f_blocks;
+        double start, end;
+        extern int sigalarm;
+
+        /* Sync and let it settle */
+        sync();
+        sleep(2);
+        sync();
+        sleep(2);
+
+        /* Set an alarm. */
+        sigalarm = 0;
+        signal(SIGALRM, stop_count);
+        alarm(timeSecs);
+
+        start = getFloatTime();
+
+        while (!sigalarm) {
+                for(f_blocks=0; f_blocks < max_buffs; ++f_blocks) {
+                        if ((tmp=write(f, buf, bufsize)) != bufsize) {
+                                if (errno != EINTR) {
+                                        perror("fstime: write");
+                                        return(-1);
+                                }
+                                stop_count(0);
+                                counted += ((tmp+HALFCOUNT)/COUNTSIZE);
+                        } else
+                                counted += count_per_buf;
+                }
+                lseek(f, 0L, 0); /* rewind */
+        }
+
+        /* stop clock */
+        end = getFloatTime();
+        write_score = (long) ((double) counted / ((end - start) * count_per_k));
+        printf("Write done: %ld in %.4f, score %ld\n",
+                            counted, end - start, write_score);
+
+        /*
+         * Output the test results. Use the true time.
+         */
+        fprintf(stderr, "COUNT|%ld|0|KBps\n", write_score);
+        fprintf(stderr, "TIME|%.1f\n", end - start);
+
+        return(0);
+}
+
+/*
+ * Run the read test for the time given in seconds.
+ */
+int r_test(int timeSecs)
+{
+        unsigned long counted = 0L;
+        unsigned long tmp;
+        double start, end;
+        extern int sigalarm;
+        extern int errno;
+
+        /* Sync and let it settle */
+        sync();
+        sleep(2);
+        sync();
+        sleep(2);
+
+        /* rewind */
+        errno = 0;
+        lseek(f, 0L, 0);
+
+        /* Set an alarm. */
+        sigalarm = 0;
+        signal(SIGALRM, stop_count);
+        alarm(timeSecs);
+
+        start = getFloatTime();
+
+        while (!sigalarm) {
+                /* read while checking for an error */
+                if ((tmp=read(f, buf, bufsize)) != bufsize) {
+                        switch(errno) {
+                        case 0:
+                        case EINVAL:
+                                lseek(f, 0L, 0);  /* rewind at end of file */
+                                counted += (tmp+HALFCOUNT)/COUNTSIZE;
+                                continue;
+                        case EINTR:
+                                stop_count(0);
+                                counted += (tmp+HALFCOUNT)/COUNTSIZE;
+                                break;
+                        default:
+                                perror("fstime: read");
+                                return(-1);
+                                break;
+                        }
+                } else
+                        counted += count_per_buf;
+        }
+
+        /* stop clock */
+        end = getFloatTime();
+        read_score = (long) ((double) counted / ((end - start) * count_per_k));
+        printf("Read done: %ld in %.4f, score %ld\n",
+                            counted, end - start, read_score);
+
+        /*
+         * Output the test results. Use the true time.
+         */
+        fprintf(stderr, "COUNT|%ld|0|KBps\n", read_score);
+        fprintf(stderr, "TIME|%.1f\n", end - start);
+
+        return(0);
+}
+
+
+/*
+ * Run the copy test for the time given in seconds.
+ */
+int c_test(int timeSecs)
+{
+        unsigned long counted = 0L;
+        unsigned long tmp;
+        double start, end;
+        extern int sigalarm;
+
+        sync();
+        sleep(2);
+        sync();
+        sleep(1);
+
+        /* rewind */
+        errno = 0;
+        lseek(f, 0L, 0);
+
+        /* Set an alarm. */
+        sigalarm = 0;
+        signal(SIGALRM, stop_count);
+        alarm(timeSecs);
+
+        start = getFloatTime();
+
+        while (!sigalarm) {
+                if ((tmp=read(f, buf, bufsize)) != bufsize) {
+                        switch(errno) {
+                        case 0:
+                        case EINVAL:
+                                lseek(f, 0L, 0);  /* rewind at end of file */
+                                lseek(g, 0L, 0);  /* rewind the output too */
+                                continue;
+                        case EINTR:
+                                /* part credit for leftover bytes read */
+                                counted += ( (tmp * write_score) /
+                                        (read_score + write_score)
+                                        + HALFCOUNT) / COUNTSIZE;
+                                stop_count(0);
+                                break;
+                        default:
+                                perror("fstime: copy read");
+                                return(-1);
+                                break;
+                        }
+                } else  {
+                        if ((tmp=write(g, buf, bufsize)) != bufsize) {
+                                if (errno != EINTR) {
+                                        perror("fstime: copy write");
+                                        return(-1);
+                                }
+                                counted += (
+                                 /* Full credit for part of buffer written */
+                                        tmp +
+
+                                 /* Plus part credit having read full buffer */
+                                        ( ((bufsize - tmp) * write_score) /
+                                        (read_score + write_score) )
+                                        + HALFCOUNT) / COUNTSIZE;
+                                stop_count(0);
+                        } else
+                                counted += count_per_buf;
+                }
+        }
+
+        /* stop clock */
+        end = getFloatTime();
+        copy_score = (long) ((double) counted / ((end - start) * count_per_k));
+        printf("Copy done: %ld in %.4f, score %ld\n",
+                            counted, end - start, copy_score);
+
+        /*
+         * Output the test results. Use the true time.
+         */
+        fprintf(stderr, "COUNT|%ld|0|KBps\n", copy_score);
+        fprintf(stderr, "TIME|%.1f\n", end - start);
+
+        return(0);
+}
+
+void stop_count(int sig)
+{
+        extern int sigalarm;
+        sigalarm = 1;
+}
+
+void clean_up(int sig)
+{
+        unlink(FNAME0);
+        unlink(FNAME1);
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/hanoi.c b/test/benchmarks/unixbench-5.1.2/src/hanoi.c
new file mode 100644 (file)
index 0000000..ac5ab5b
--- /dev/null
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: hanoi.c   SID: 3.3 5/15/91 19:30:20
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: hanoi.c,v 3.5 87/08/06 08:11:14 kenj Exp $
+ *  August 28, 1990 - Modified timing routines (ty)
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)hanoi.c:3.3 -- 5/15/91 19:30:20";
+
+#define other(i,j) (6-(i+j))
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "timeit.c"
+
+void mov(int n, int f, int t);
+
+unsigned long iter = 0;
+int num[4];
+long cnt;
+
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%ld|1|lps\n", iter);
+       exit(0);
+}
+
+
+int main(int argc, char *argv[])
+{
+       int disk=10, /* default number of disks */
+         duration;
+
+       if (argc < 2) {
+               fprintf(stderr,"Usage: %s duration [disks]\n", argv[0]);
+               exit(1);
+               }
+       duration = atoi(argv[1]);
+       if(argc > 2) disk = atoi(argv[2]);
+       num[1] = disk;
+
+       wake_me(duration, report);
+
+       while(1) {
+               mov(disk,1,3);
+               iter++;
+               }
+
+       exit(0);
+}
+
+void mov(int n, int f, int t)
+{
+       int o;
+       if(n == 1) {
+               num[f]--;
+               num[t]++;
+               return;
+       }
+       o = other(f,t);
+       mov(n-1,f,o);
+       mov(1,f,t);
+       mov(n-1,o,t);
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/looper.c b/test/benchmarks/unixbench-5.1.2/src/looper.c
new file mode 100644 (file)
index 0000000..d2f7a50
--- /dev/null
@@ -0,0 +1,103 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 1
+ *          Module: looper.c   SID: 1.4 5/15/91 19:30:22
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith or Tom Yager at BYTE Magazine
+ *     ben@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *
+ *  February 25, 1991 -- created (Ben S.)
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)looper.c:1.4 -- 5/15/91 19:30:22";
+/*
+ *  Shell Process creation
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include "timeit.c"
+
+unsigned long iter;
+char *cmd_argv[28];
+int  cmd_argc;
+
+void report(int sig)
+{
+        fprintf(stderr,"COUNT|%lu|60|lpm\n", iter);
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+int    slave, count, duration;
+int    status;
+
+if (argc < 2)
+       {
+       fprintf(stderr,"Usage: %s duration command [args..]\n", argv[0]);
+       fprintf(stderr,"  duration in seconds\n");
+       exit(1);
+       }
+
+if((duration = atoi(argv[1])) < 1)
+       {
+       fprintf(stderr,"Usage: %s duration command [arg..]\n", argv[0]);
+       fprintf(stderr,"  duration in seconds\n");
+       exit(1);
+       }
+
+/* get command  */
+cmd_argc=argc-2;
+for( count=2;count < argc; ++count)
+       cmd_argv[count-2]=argv[count];
+#ifdef DEBUG
+printf("<<%s>>",cmd_argv[0]);
+for(count=1;count < cmd_argc; ++count)
+       printf(" <%s>", cmd_argv[count]);
+putchar('\n');
+exit(0);
+#endif
+
+iter = 0;
+wake_me(duration, report);
+
+while (1)
+       {
+       if ((slave = fork()) == 0)
+               { /* execute command */
+               execvp(cmd_argv[0],cmd_argv);
+               exit(99);
+               }
+       else if (slave < 0)
+               {
+               /* woops ... */
+               fprintf(stderr,"Fork failed at iteration %lu\n", iter);
+               perror("Reason");
+               exit(2);
+               }
+       else
+               /* master */
+               wait(&status);
+        if (status == 99 << 8)
+                {
+                fprintf(stderr, "Command \"%s\" didn't exec\n", cmd_argv[0]);
+                exit(2);
+                }
+       else if (status != 0)
+               {
+               fprintf(stderr,"Bad wait status: 0x%x\n", status);
+               exit(2);
+               }
+       iter++;
+       }
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/pipe.c b/test/benchmarks/unixbench-5.1.2/src/pipe.c
new file mode 100644 (file)
index 0000000..4374e28
--- /dev/null
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: pipe.c   SID: 3.3 5/15/91 19:30:20
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: pipe.c,v 3.5 87/06/22 14:32:36 kjmcdonell Beta $
+ *  August 29, 1990 - modified timing routines (ty)
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)pipe.c:3.3 -- 5/15/91 19:30:20";
+/*
+ *  pipe  -- test single process pipe throughput (no context switching)
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "timeit.c"
+
+unsigned long iter;
+
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%ld|1|lps\n", iter);
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+       char    buf[512];
+       int             pvec[2], duration;
+
+       if (argc != 2) {
+               fprintf(stderr,"Usage: %s duration\n", argv[0]);
+               exit(1);
+               }
+
+       duration = atoi(argv[1]);
+
+       pipe(pvec);
+
+       wake_me(duration, report);
+       iter = 0;
+
+       while (1) {
+               if (write(pvec[1], buf, sizeof(buf)) != sizeof(buf)) {
+                       if ((errno != EINTR) && (errno != 0))
+                               fprintf(stderr,"write failed, error %d\n", errno);
+                       }
+               if (read(pvec[0], buf, sizeof(buf)) != sizeof(buf)) {
+                       if ((errno != EINTR) && (errno != 0))
+                               fprintf(stderr,"read failed, error %d\n", errno);
+                       }
+               iter++;
+       }
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/spawn.c b/test/benchmarks/unixbench-5.1.2/src/spawn.c
new file mode 100644 (file)
index 0000000..34761a6
--- /dev/null
@@ -0,0 +1,78 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: spawn.c   SID: 3.3 5/15/91 19:30:20
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yagerat BYTE Magazine
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: spawn.c,v 3.4 87/06/22 14:32:48 kjmcdonell Beta $
+ *  August 29, 1990 - Modified timing routines (ty)
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)spawn.c:3.3 -- 5/15/91 19:30:20";
+/*
+ *  Process creation
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/wait.h>
+#include "timeit.c"
+
+unsigned long iter;
+
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%lu|1|lps\n", iter);
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+       int     slave, duration;
+       int     status;
+
+       if (argc != 2) {
+               fprintf(stderr,"Usage: %s duration \n", argv[0]);
+               exit(1);
+       }
+
+       duration = atoi(argv[1]);
+
+       iter = 0;
+       wake_me(duration, report);
+
+       while (1) {
+               if ((slave = fork()) == 0) {
+                       /* slave .. boring */
+#if debug
+                       printf("fork OK\n");
+#endif
+                       /* kill it right away */
+                       exit(0);
+               } else if (slave < 0) {
+                       /* woops ... */
+                       fprintf(stderr,"Fork failed at iteration %lu\n", iter);
+                       perror("Reason");
+                       exit(2);
+               } else
+                       /* master */
+                       wait(&status);
+               if (status != 0) {
+                       fprintf(stderr,"Bad wait status: 0x%x\n", status);
+                       exit(2);
+               }
+               iter++;
+#if debug
+               printf("Child %d done.\n", slave);
+#endif
+               }
+}
diff --git a/test/benchmarks/unixbench-5.1.2/src/syscall.c b/test/benchmarks/unixbench-5.1.2/src/syscall.c
new file mode 100644 (file)
index 0000000..d0238bd
--- /dev/null
@@ -0,0 +1,107 @@
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: syscall.c   SID: 3.3 5/15/91 19:30:21
+ *
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager at BYTE Magazine
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  $Header: syscall.c,v 3.4 87/06/22 14:32:54 kjmcdonell Beta $
+ *  August 29, 1990 - Modified timing routines
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+/*
+ *  syscall  -- sit in a loop calling the system
+ *
+ */
+char SCCSid[] = "@(#) @(#)syscall.c:3.3 -- 5/15/91 19:30:21";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include "timeit.c"
+
+unsigned long iter;
+
+void report(int sig)
+{
+       fprintf(stderr,"COUNT|%ld|1|lps\n", iter);
+       exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+        char   *test;
+       int     duration;
+
+       if (argc < 2) {
+               fprintf(stderr,"Usage: %s duration [ test ]\n", argv[0]);
+                fprintf(stderr,"test is one of:\n");
+                fprintf(stderr,"  \"mix\" (default), \"close\", \"getpid\", \"exec\"\n");
+               exit(1);
+       }
+        if (argc > 2)
+            test = argv[2];
+        else
+            test = "mix";
+
+       duration = atoi(argv[1]);
+
+       iter = 0;
+       wake_me(duration, report);
+
+        switch (test[0]) {
+        case 'm':
+          while (1) {
+               close(dup(0));
+               getpid();
+               getuid();
+               umask(022);
+               iter++;
+          }
+          /* NOTREACHED */
+        case 'c':
+           while (1) {
+                close(dup(0));
+                iter++;
+           }
+           /* NOTREACHED */
+        case 'g':
+           while (1) {
+                getpid();
+                iter++;
+           }
+           /* NOTREACHED */
+        case 'e':
+           while (1) {
+                pid_t pid = fork();
+                if (pid < 0) {
+                    fprintf(stderr,"%s: fork failed\n", argv[0]);
+                    exit(1);
+                } else if (pid == 0) {
+                    execl("/bin/true", (char *) 0);
+                    fprintf(stderr,"%s: exec /bin/true failed\n", argv[0]);
+                    exit(1);
+                } else {
+                    if (waitpid(pid, NULL, 0) < 0) {
+                        fprintf(stderr,"%s: waitpid failed\n", argv[0]);
+                        exit(1);
+                    }
+                }
+                iter++;
+           }
+           /* NOTREACHED */
+        }
+
+        exit(9);
+}
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/time-polling.c b/test/benchmarks/unixbench-5.1.2/src/time-polling.c
new file mode 100644 (file)
index 0000000..21fa8b2
--- /dev/null
@@ -0,0 +1,573 @@
+/*  Programme to test how long it takes to select(2), poll(2) and poll2(2) a
+    large number of file descriptors.
+
+    Copyright 1997     Richard Gooch  rgooch@atnf.csiro.au
+    Distributed under the GNU General Public License.
+
+    To compile this programme, use  gcc -O2 -o time-polling time-polling.c
+
+    Extra compile flags:
+
+    Add  -DHAS_SELECT  if your operating system has the select(2) system call
+    Add  -DHAS_POLL    if your operating system has the poll(2) system call
+    Add  -DHAS_POLL2   if your operating system has the poll2(2) system call
+
+    Usage:  time-polling [num_iter] [num_to_test] [num_active] [-v]
+
+    NOTE: on many systems the default limit on file descriptors is less than
+    1024. You should try to increase this limit to 1024 before doing the test.
+    Something like "limit descriptors 1024" or "limit openfiles 1024" should do
+    the trick. On some systems (like IRIX), doing the test on a smaller number
+    gives a *much* smaller time per descriptor, which shows that time taken
+    does not scale linearly with number of descriptors, which is non-optimal.
+    In the tests I've done, I try to use 1024 descriptors.
+    The benchmark results are available at:
+    http://www.atnf.csiro.au/~rgooch/benchmarks.html
+    If you want to contribute results, please email them to me. Please specify
+    if you want to be acknowledged.
+
+
+    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 of the License, 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+    Richard Gooch may be reached by email at  rgooch@atnf.csiro.au
+    The postal address is:
+      Richard Gooch, c/o ATNF, P. O. Box 76, Epping, N.S.W., 2121, Australia.
+
+*/
+
+#ifdef UNIXBENCH
+       #define OUT     stdout
+#else
+       #define OUT     stderr
+#endif
+#include <stdio.h>
+#include <string.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#ifdef HAS_POLL
+#  include <sys/poll.h>
+#endif
+#ifdef HAS_POLL2
+#  include <linux/poll2.h>
+#endif
+#include <unistd.h>
+#include <errno.h>
+#include <stdlib.h>
+
+#define TRUE 1
+#define FALSE 0
+#ifdef UNIXBENCH
+       #define MAX_ITERATIONS 1000
+#else
+       #define MAX_ITERATIONS 30
+#endif
+#define MAX_FDS 40960
+#define CONST const
+#define ERRSTRING strerror (errno)
+
+typedef int flag;
+
+    
+/*
+static inline int find_first_set_bit (CONST void *array, int size)
+*/
+static int find_first_set_bit (CONST void *array, int size)
+/*  [SUMMARY] Find the first bit set in a bitfield.
+    <array> A pointer to the bitfield. This must be aligned on a long boundary.
+    <size> The number of bits in the bitfield.
+    [RETURNS] The index of the first set bit. If no bits are set, <<size>> + 1
+    is returned.
+*/
+{
+    int index;
+    unsigned long word;
+    unsigned int ul_size = 8 * sizeof (unsigned long);
+    CONST unsigned long *ul_array = array;
+
+    /*  Find first word with any bit set  */
+    for (index = 0; (*ul_array == 0) && (index < size);
+        index += ul_size, ++ul_array);
+    /*  Find first bit set in word  */
+    for (word = *ul_array; !(word & 1) && (index < size);
+        ++index, word = word >> 1);
+    return (index);
+}   /*  End Function find_first_set_bit  */
+
+/*
+static inline int find_next_set_bit (CONST void *array, int size, int offset)
+*/
+static int find_next_set_bit (CONST void *array, int size, int offset)
+/*  [SUMMARY] Find the next bit set in a bitfield.
+    <array> A pointer to the bitfield. This must be aligned on a long boundary.
+    <size> The number of bits in the bitfield.
+    <offset> The offset of the current bit in the bitfield. The current bit is
+    ignored.
+    [RETURNS] The index of the next set bit. If no more bits are set,
+    <<size>> + 1 is returned.
+*/
+{
+    int index, tmp;
+    unsigned long word;
+    unsigned int ul_size = 8 * sizeof (unsigned long);
+    CONST unsigned long *ul_array = array;
+
+    if (++offset >= size) return (offset);
+    index = offset;
+    /*  Jump to the long word containing the next bit  */
+    tmp = offset / ul_size;
+    ul_array += tmp;
+    offset -= tmp * ul_size;
+    if ( (offset == 0) || (*ul_array == 0) )
+       return (find_first_set_bit (ul_array, size - index) + index);
+    /*  There is a bit set somewhere in this word  */
+    if ( ( (word = *ul_array) != 0 ) && ( (word = word >> offset) != 0 ) )
+    {
+       /*  There is a bit set somewhere in this word at or after the offset
+           position  */
+       for (; (word & 1) == 0; word = word >> 1, ++index);
+       return (index);
+    }
+    /*  Have to go to subsequent word(s)  */
+    index += ul_size - offset;
+    return (find_first_set_bit (++ul_array, size - index) + index);
+}   /*  End Function find_next_set_bit  */
+
+
+struct callback_struct
+{
+    void (*input_func) (void *info);
+    void (*output_func) (void *info);
+    void (*exception_func) (void *info);
+    void *info;
+};
+
+static int total_bits = 0;
+struct callback_struct callbacks[MAX_FDS];
+
+
+static void test_func (void *info)
+{
+    ++total_bits;
+}
+
+#ifdef HAS_SELECT
+static void time_select (fd_set *input_fds, fd_set *output_fds,
+                        fd_set *exception_fds, int max_fd, int num_iter,
+                        long *times)
+/*  [SUMMARY] Time how long it takes to select(2) file descriptors.
+    <input_fds> The input masks.
+    <output_fds> The output masks.
+    <exception_fds> The exception masks.
+    <max_fd> The highest file descriptor in the fd_sets.
+    <num_iter> The number of iterations.
+    <times> The time taken (in microseconds) for each iteration.
+    [RETURNS] Nothing.
+*/
+{
+    int fd, count, nready;
+    fd_set i_fds, o_fds, e_fds;
+    struct timeval time1, time2, tv;
+
+    /*  Warm the cache a bit  */
+    memcpy (&i_fds, input_fds, sizeof i_fds);
+    memcpy (&o_fds, output_fds, sizeof i_fds);
+    memcpy (&e_fds, exception_fds, sizeof i_fds);
+    tv.tv_sec = 0;
+    tv.tv_usec = 0;
+    select (max_fd + 1, &i_fds, &o_fds, &e_fds, &tv);
+    for (count = 0; count < num_iter; ++count)
+    {
+       total_bits = 0;
+       gettimeofday (&time1, NULL);
+       memcpy (&i_fds, input_fds, sizeof i_fds);
+       memcpy (&o_fds, output_fds, sizeof i_fds);
+       memcpy (&e_fds, exception_fds, sizeof i_fds);
+       tv.tv_sec = 0;
+       tv.tv_usec = 0;
+       nready = select (max_fd + 1, &i_fds, &o_fds, &e_fds, &tv);
+       if (nready == -1)
+       {
+           fprintf (stderr, "Error selecting\t%s\n", ERRSTRING);
+           exit (2);
+       }
+       if (nready < 1)
+       {
+           fprintf (stderr, "Error: nready: %d\n", nready);
+           exit (1);
+       }
+       /*  Scan the output  */
+       for (fd = find_first_set_bit (&e_fds, sizeof e_fds * 8); fd <= max_fd;
+            fd = find_next_set_bit (&e_fds, sizeof e_fds * 8, fd) )
+       {
+           (*callbacks[fd].exception_func) (callbacks[fd].info);
+       }
+       for (fd = find_first_set_bit (&i_fds, sizeof i_fds * 8); fd <= max_fd;
+            fd = find_next_set_bit (&i_fds, sizeof i_fds * 8, fd) )
+       {
+           (*callbacks[fd].input_func) (callbacks[fd].info);
+       }
+       for (fd = find_first_set_bit (&o_fds, sizeof o_fds * 8); fd <= max_fd;
+            fd = find_next_set_bit (&o_fds, sizeof o_fds * 8, fd) )
+       {
+           (*callbacks[fd].output_func) (callbacks[fd].info);
+       }
+       gettimeofday (&time2, NULL);
+       times[count] = (time2.tv_sec - time1.tv_sec) * 1000000;
+       times[count] += time2.tv_usec - time1.tv_usec;
+    }
+}   /*  End Function time_select  */
+#endif  /* HAS_SELECT */
+
+#ifdef HAS_POLL
+static void time_poll (struct pollfd *pollfd_array, int start_index,
+                      int num_to_test, int num_iter, long *times)
+/*  [SUMMARY] Time how long it takes to poll(2) file descriptors.
+    <pollfd_array> The array of pollfd structures.
+    <start_index> The start index in the array of pollfd structures.
+    <num_to_test> The number of file descriptors to test.
+    <num_iter> The number of iterations.
+    <times> The time taken (in microseconds) for each iteration.
+    [RETURNS] Nothing.
+*/
+{
+    short revents;
+    int fd, count, nready;
+    struct timeval time1, time2;
+    struct pollfd *pollfd_ptr, *stop_pollfd;
+
+    /*  Warm the cache a bit  */
+    poll (pollfd_array + start_index, num_to_test, 0);
+    for (count = 0; count < num_iter; ++count)
+    {
+       total_bits = 0;
+       gettimeofday (&time1, NULL);
+       nready = poll (pollfd_array + start_index, num_to_test, 0);
+       if (nready == -1)
+       {
+           fprintf (stderr, "Error polling\t%s\n", ERRSTRING);
+           exit (2);
+       }
+       if (nready < 1)
+       {
+           fprintf (stderr, "Error: nready: %d\n", nready);
+           exit (1);
+       }
+       stop_pollfd = pollfd_array + start_index + num_to_test;
+       for (pollfd_ptr = pollfd_array + start_index; TRUE; ++pollfd_ptr)
+       {
+           if (pollfd_ptr->revents == 0) continue;
+           /*  Have an active descriptor  */
+           revents = pollfd_ptr->revents;
+           fd = pollfd_ptr->fd;
+           if (revents & POLLPRI)
+               (*callbacks[fd].exception_func) (callbacks[fd].info);
+           if (revents & POLLIN)
+               (*callbacks[fd].input_func) (callbacks[fd].info);
+           if (revents & POLLOUT)
+               (*callbacks[fd].output_func) (callbacks[fd].info);
+           if (--nready == 0) break;
+       }
+       gettimeofday (&time2, NULL);
+       times[count] = (time2.tv_sec - time1.tv_sec) * 1000000;
+       times[count] += time2.tv_usec - time1.tv_usec;
+    }
+}   /*  End Function time_poll  */
+#endif  /* HAS_POLL */
+
+#ifdef HAS_POLL2
+static void time_poll2 (struct poll2ifd *poll2ifd_array, int start_index,
+                       int num_to_test, int num_iter, long *times)
+/*  [SUMMARY] Time how long it takes to poll2(2) file descriptors.
+    <poll2ifd_array> The array of poll2ifd structures.
+    <start_index> The start index in the array of pollfd structures.
+    <num_to_test> The number of file descriptors to test.
+    <num_iter> The number of iterations.
+    <times> The time taken (in microseconds) for each iteration.
+    [RETURNS] Nothing.
+*/
+{
+    short revents;
+    int fd, count, nready, i;
+    struct timeval time1, time2;
+    struct poll2ofd poll2ofd_array[MAX_FDS];
+
+    /*  Warm the cache a bit  */
+    poll2 (poll2ifd_array + start_index, poll2ofd_array, num_to_test, 0);
+    for (count = 0; count < num_iter; ++count)
+    {
+       total_bits = 0;
+       gettimeofday (&time1, NULL);
+       nready = poll2 (poll2ifd_array + start_index, poll2ofd_array,
+                       num_to_test, 0);
+       if (nready == -1)
+       {
+           times[count] = -1;
+           if (errno == ENOSYS) return;  /*  Must do this first  */
+           fprintf (stderr, "Error calling poll2(2)\t%s\n", ERRSTRING);
+           exit (2);
+       }
+       if (nready < 1)
+       {
+           fprintf (stderr, "Error: nready: %d\n", nready);
+           exit (1);
+       }
+       for (i = 0; i < nready; ++i)
+       {
+           revents = poll2ofd_array[i].revents;
+           fd = poll2ofd_array[i].fd;
+           if (revents & POLLPRI)
+               (*callbacks[fd].exception_func) (callbacks[fd].info);
+           if (revents & POLLIN)
+               (*callbacks[fd].input_func) (callbacks[fd].info);
+           if (revents & POLLOUT)
+               (*callbacks[fd].output_func) (callbacks[fd].info);
+       }
+       gettimeofday (&time2, NULL);
+       times[count] = (time2.tv_sec - time1.tv_sec) * 1000000;
+       times[count] += time2.tv_usec - time1.tv_usec;
+    }
+}   /*  End Function time_poll2  */
+#endif  /* HAS_POLL2 */
+
+
+int main (argc, argv)
+int    argc;
+char   *argv[];
+{
+    flag failed = FALSE;
+    flag verbose = FALSE;
+    int first_fd = -1;
+    int fd, max_fd, count, total_fds;
+    int num_to_test, num_active;
+#ifdef UNIXBENCH
+    int max_iter = 1000;
+#else
+    int max_iter = 10;
+#endif
+#ifdef HAS_SELECT
+    long select_total = 0;
+    fd_set input_fds, output_fds, exception_fds;
+    long select_times[MAX_ITERATIONS];
+#endif
+#ifdef HAS_POLL
+       int start_index;
+    long poll_total = 0;
+    struct pollfd pollfd_array[MAX_FDS];
+    long poll_times[MAX_ITERATIONS];
+#endif
+#ifdef HAS_POLL2
+    long poll2_total = 0;
+    struct poll2ifd poll2ifd_array[MAX_FDS];
+    struct poll2ofd poll2ofd_array[MAX_FDS];
+    long poll2_times[MAX_ITERATIONS];
+#endif
+#if 0
+    extern char *sys_errlist[];
+#endif
+
+#ifdef HAS_SELECT
+    FD_ZERO (&input_fds);
+    FD_ZERO (&output_fds);
+    FD_ZERO (&exception_fds);
+#endif
+#ifdef HAS_POLL
+    memset (pollfd_array, 0, sizeof pollfd_array);
+#endif
+    /*  Allocate file descriptors  */
+    total_fds = 0;
+    max_fd = 0;
+    while (!failed)
+    {
+       if ( ( fd = dup (1) ) == -1 )
+       {
+           if (errno != EMFILE)
+           {
+               fprintf (stderr, "Error dup()ing\t%s\n", ERRSTRING);
+               exit (1);
+           }
+           failed = TRUE;
+           continue;
+       }
+       if (fd >= MAX_FDS)
+       {
+           fprintf (stderr, "File descriptor: %d larger than max: %d\n",
+                    fd, MAX_FDS - 1);
+           exit (1);
+       }
+       callbacks[fd].input_func = test_func;
+       callbacks[fd].output_func = test_func;
+       callbacks[fd].exception_func = test_func;
+       callbacks[fd].info = NULL;
+       if (fd > max_fd) max_fd = fd;
+       if (first_fd < 0) first_fd = fd;
+#ifdef HAS_POLL
+       pollfd_array[fd].fd = fd;
+       pollfd_array[fd].events = 0;
+#endif
+#ifdef HAS_POLL2
+       poll2ifd_array[fd].fd = fd;
+       poll2ifd_array[fd].events = 0;
+#endif
+    }
+    total_fds = max_fd + 1;
+    /*  Process the command-line arguments  */
+    if (argc > 5)
+    {
+       fputs ("Usage:\ttime-polling [num_iter] [num_to_test] [num_active] [-v]\n",
+              stderr);
+       exit (1);
+    }
+    if (argc > 1) max_iter = atoi (argv[1]);
+    if (max_iter > MAX_ITERATIONS)
+    {
+       fprintf (stderr, "num_iter too large\n");
+       exit (1);
+    }
+    if (argc > 2) num_to_test = atoi (argv[2]);
+    else num_to_test = total_fds - first_fd;
+    if (argc > 3) num_active = atoi (argv[3]);
+    else num_active = 1;
+    if (argc > 4)
+    {
+       if (strcmp (argv[4], "-v") != 0)
+       {
+           fputs ("Usage:\ttime-polling [num_iter] [num_to_test] [num_active] [-v]\n",
+                  stderr);
+           exit (1);
+       }
+       verbose = TRUE;
+    }
+
+    /*  Sanity tests  */
+    if (num_to_test > total_fds - first_fd) num_to_test = total_fds - first_fd;
+    if (num_active > total_fds - first_fd) num_active = total_fds - first_fd;
+    /*  Set activity monitoring flags  */
+    for (fd = total_fds - num_to_test; fd < total_fds; ++fd)
+    {
+#ifdef HAS_SELECT
+       FD_SET (fd, &exception_fds);
+       FD_SET (fd, &input_fds);
+#endif
+#ifdef HAS_POLL
+       pollfd_array[fd].events = POLLPRI | POLLIN;
+#endif
+#ifdef HAS_POLL2
+       poll2ifd_array[fd].events = POLLPRI | POLLIN;
+#endif
+    }
+    for (fd = total_fds - num_active; fd < total_fds; ++fd)
+    {
+#ifdef HAS_SELECT
+       FD_SET (fd, &output_fds);
+#endif
+#ifdef HAS_POLL
+       pollfd_array[fd].events |= POLLOUT;
+#endif
+#ifdef HAS_POLL2
+       poll2ifd_array[fd].events |= POLLOUT;
+#endif
+    }
+    fprintf (OUT, "Num fds: %d, polling descriptors %d-%d\n",
+            total_fds, total_fds - num_to_test, max_fd);
+    /*  First do all the tests, then print the results  */
+#ifdef HAS_SELECT
+    time_select (&input_fds, &output_fds, &exception_fds, max_fd, max_iter,
+                select_times);
+#endif
+#ifdef HAS_POLL
+    start_index = total_fds - num_to_test;
+    time_poll (pollfd_array, start_index, num_to_test, max_iter, poll_times);
+#endif
+#ifdef HAS_POLL2
+    start_index = total_fds - num_to_test;
+    time_poll2 (poll2ifd_array, start_index, num_to_test, max_iter,
+               poll2_times);
+#endif
+    /*  Now print out all the times  */
+    fputs ("All times in microseconds\n", OUT);
+    fputs ("ITERATION\t", OUT);
+#ifdef HAS_SELECT
+    fprintf (OUT, "%-12s", "select(2)");
+#endif
+#ifdef HAS_POLL
+    fprintf (OUT, "%-12s", "poll(2)");
+#endif
+#ifdef HAS_POLL2
+    if (poll2_times[0] >= 0) fprintf (OUT, "%-12s", "poll2(2)");
+#endif
+    for (count = 0; count < max_iter; ++count)
+    {
+       if (verbose) fprintf (OUT, "\n%d\t\t", count);
+#ifdef HAS_SELECT
+       if (verbose) fprintf (OUT, "%-12ld", select_times[count]);
+       select_total += select_times[count];
+#endif
+#ifdef HAS_POLL
+       if (verbose) fprintf (OUT, "%-12ld", poll_times[count]);
+       poll_total += poll_times[count];
+#endif
+#ifdef HAS_POLL2
+       if ( verbose && (poll2_times[0] >= 0) )
+           fprintf (OUT, "%-12ld", poll2_times[count]);
+       poll2_total += poll2_times[count];
+#endif
+    }
+    fputs ("\n\naverage\t\t", OUT);
+#ifdef HAS_SELECT
+    fprintf (OUT, "%-12ld", select_total / max_iter);
+#endif
+#ifdef HAS_POLL
+    fprintf (OUT, "%-12ld", poll_total / max_iter);
+#endif
+#ifdef HAS_POLL2
+    if (poll2_times[0] >= 0)
+       fprintf (OUT, "%-12ld", poll2_total / max_iter);
+#endif
+    putc ('\n', OUT);
+    fputs ("Per fd\t\t", OUT);
+#ifdef HAS_SELECT
+    fprintf (OUT, "%-12.2f",
+            (float) select_total / (float) max_iter / (float) num_to_test);
+#ifdef UNIXBENCH
+       fprintf (stderr, "lps\t%.2f\t%.1f\n",
+               1000000 * (float) max_iter * (float) num_to_test
+                / (float) select_total, (float)select_total / 1000000);
+#endif
+#endif
+#ifdef HAS_POLL
+    fprintf (OUT, "%-12.2f",
+            (float) poll_total / (float) max_iter / (float) num_to_test);
+#ifdef UNIXBENCH
+       fprintf (stderr, "lps\t%.2f\t%.1f\n",
+               1000000 * (float) max_iter * (float) num_to_test
+                / (float) poll_total, (float)poll_total / 1000000);
+#endif
+#endif
+#ifdef HAS_POLL2
+    if (poll2_times[0] >= 0) {
+       fprintf (OUT, "%-12.2f",
+                (float) poll2_total / (float) max_iter / (float) num_to_test);
+#ifdef UNIXBENCH
+       fprintf (stderr, "lps\t%.2f\t%.1f\n",
+               1000000 * (float) max_iter * (float) num_to_test
+                / (float) poll2_total, (float)poll2_total / 1000000);
+#endif
+    }
+
+#endif
+    fputs ("<- the most important value\n", OUT);
+
+    exit(0);
+}   /*  End Function main  */
diff --git a/test/benchmarks/unixbench-5.1.2/src/timeit.c b/test/benchmarks/unixbench-5.1.2/src/timeit.c
new file mode 100644 (file)
index 0000000..0fb24df
--- /dev/null
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ *          
+ *  The BYTE UNIX Benchmarks - Release 3
+ *          Module: timeit.c   SID: 3.3 5/15/91 19:30:21
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith, Rick Grehan or Tom Yager
+ *     ben@bytepb.byte.com   rick_g@bytepb.byte.com   tyager@bytepb.byte.com
+ *
+ *******************************************************************************
+ *  Modification Log:
+ *  May 12, 1989 - modified empty loops to avoid nullifying by optimizing
+ *                 compilers
+ *  August 28, 1990 - changed timing relationship--now returns total number
+ *                       of iterations (ty)
+ *  October 22, 1997 - code cleanup to remove ANSI C compiler warnings
+ *                     Andy Kahn <kahn@zk3.dec.com>
+ *
+ ******************************************************************************/
+
+/* this module is #included in other modules--no separate SCCS ID */
+
+/*
+ *  Timing routine
+ *
+ */
+
+#include <signal.h>
+#include <unistd.h>
+
+void wake_me(int seconds, void (*func)(int))
+{
+       /* set up the signal handler */
+       signal(SIGALRM, func);
+       /* get the clock running */
+       alarm(seconds);
+}
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/ubgears.c b/test/benchmarks/unixbench-5.1.2/src/ubgears.c
new file mode 100644 (file)
index 0000000..417ebbd
--- /dev/null
@@ -0,0 +1,650 @@
+/*
+ * Copyright (C) 1999-2001  Brian Paul   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
+ * BRIAN PAUL 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.
+ */
+/* $XFree86: xc/programs/glxgears/glxgears.c,v 1.3tsi Exp $ */
+
+/*
+ * This is a port of the infamous "gears" demo to straight GLX (i.e. no GLUT)
+ * Port by Brian Paul  23 March 2001
+ *
+ * Exact timing added by Behdad Esfahbod to achieve a fixed speed regardless
+ * of frame rate.  November 2003
+ *
+ * Printer support added by Roland Mainz <roland.mainz@nrubsig.org>. April 2004
+ *
+ * This version modified by Ian Smith, 30 Sept 2007, to make ubgears.
+ * ubgears is cusoimised for use in the UnixBench benchmarking suite.
+ * Some redundant stuff is gone, and the -time option is added.
+ * Mainly it's forked so we don't use the host's version, which could change
+ * from platform to platform.
+ *
+ * Command line options:
+ *    -display         Set X11 display for output.
+ *    -info            Print additional GLX information.
+ *    -time <t>        Run for <t> seconds and produce a performance report.
+ *    -h               Print this help page.
+ *    -v               Verbose output.
+ *
+ */
+
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/keysym.h>
+#include <GL/gl.h>
+#include <GL/glx.h>
+#include <sys/time.h>
+#include <sched.h>
+#include <math.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+
+#ifndef M_PI
+#define M_PI 3.14159265
+#endif /* !M_PI */
+
+/* Turn a NULL pointer string into an empty string */
+#define NULLSTR(x) (((x)!=NULL)?(x):(""))
+#define Log(x) { if(verbose) printf x; }
+#define Msg(x) { printf x; }
+
+/* Globla vars */
+/* program name (from argv[0]) */
+static const char *ProgramName;
+
+/* verbose output what the program is doing */
+static Bool  verbose = False;
+
+/* time in microseconds to run for; -1 means forever. */
+static int   runTime = -1;
+
+/* Time at which start_time(void) was called. */
+static struct timeval clockStart;
+
+/* XXX this probably isn't very portable */
+
+/* return current time (in seconds) */
+static void
+start_time(void)
+{
+   (void) gettimeofday(&clockStart, 0);
+}
+
+/*
+ * return time (in microseconds) since start_time(void) was called.
+ *
+ * The older version of this function randomly returned negative results.
+ * This version won't, up to 2000 seconds and some.
+ */
+static long
+current_time(void)
+{
+   struct timeval tv;
+   long secs, micros;
+
+   (void) gettimeofday(&tv, 0);
+
+   secs = tv.tv_sec - clockStart.tv_sec;
+   micros = tv.tv_usec - clockStart.tv_usec;
+   if (micros < 0) {
+       --secs;
+       micros += 1000000;
+   }
+   return secs * 1000000 + micros;
+}
+
+static
+void usage(void)
+{
+   fprintf (stderr, "usage:  %s [options]\n", ProgramName);
+   fprintf (stderr, "-display\tSet X11 display for output.\n");
+   fprintf (stderr, "-info\t\tPrint additional GLX information.\n");
+   fprintf (stderr, "-time t\t\tRun for t seconds and report performance.\n");
+   fprintf (stderr, "-h\t\tPrint this help page.\n");
+   fprintf (stderr, "-v\t\tVerbose output.\n");
+   fprintf (stderr, "\n");
+   exit(EXIT_FAILURE);
+}
+
+
+static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
+static GLint gear1, gear2, gear3;
+static GLfloat angle = 0.0;
+static GLint speed = 60;
+static GLboolean printInfo = GL_FALSE;
+
+/*
+ *
+ *  Draw a gear wheel.  You'll probably want to call this function when
+ *  building a display list since we do a lot of trig here.
+ *
+ *  Input:  inner_radius - radius of hole at center
+ *          outer_radius - radius at center of teeth
+ *          width - width of gear
+ *          teeth - number of teeth
+ *          tooth_depth - depth of tooth
+ */
+static void
+gear(GLfloat inner_radius, GLfloat outer_radius, GLfloat width,
+     GLint teeth, GLfloat tooth_depth)
+{
+   GLint i;
+   GLfloat r0, r1, r2, maxr2, minr2;
+   GLfloat angle, da;
+   GLfloat u, v, len;
+
+   r0 = inner_radius;
+   r1 = outer_radius - tooth_depth / 2.0;
+   maxr2 = r2 = outer_radius + tooth_depth / 2.0;
+   minr2 = r2;
+
+   da = 2.0 * M_PI / teeth / 4.0;
+
+   glShadeModel(GL_FLAT);
+
+   glNormal3f(0.0, 0.0, 1.0);
+
+   /* draw front face */
+   glBegin(GL_QUAD_STRIP);
+   for (i = 0; i <= teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+      glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+      if (i < teeth) {
+         glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+         glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                    width * 0.5);
+      }
+   }
+   glEnd();
+
+   /* draw front sides of teeth */
+   glBegin(GL_QUADS);
+   for (i = 0; i < teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
+                 width * 0.5);
+      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                 width * 0.5);
+      r2 = minr2;
+   }
+   r2 = maxr2;
+   glEnd();
+
+   glNormal3f(0.0, 0.0, -1.0);
+
+   /* draw back face */
+   glBegin(GL_QUAD_STRIP);
+   for (i = 0; i <= teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+      glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+      if (i < teeth) {
+         glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                    -width * 0.5);
+         glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+      }
+   }
+   glEnd();
+
+   /* draw back sides of teeth */
+   glBegin(GL_QUADS);
+   da = 2.0 * M_PI / teeth / 4.0;
+   for (i = 0; i < teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+
+      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                 -width * 0.5);
+      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
+                 -width * 0.5);
+      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+      r2 = minr2;
+   }
+   r2 = maxr2;
+   glEnd();
+
+   /* draw outward faces of teeth */
+   glBegin(GL_QUAD_STRIP);
+   for (i = 0; i < teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+      glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+      u = r2 * cos(angle + da) - r1 * cos(angle);
+      v = r2 * sin(angle + da) - r1 * sin(angle);
+      len = sqrt(u * u + v * v);
+      u /= len;
+      v /= len;
+      glNormal3f(v, -u, 0.0);
+      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+      glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+      glNormal3f(cos(angle + 1.5 * da), sin(angle + 1.5 * da), 0.0);
+      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
+                 width * 0.5);
+      glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da),
+                 -width * 0.5);
+      u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
+      v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
+      glNormal3f(v, -u, 0.0);
+      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                 width * 0.5);
+      glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da),
+                 -width * 0.5);
+      glNormal3f(cos(angle + 3.5 * da), sin(angle + 3.5 * da), 0.0);
+      r2 = minr2;
+   }
+   r2 = maxr2;
+
+   glVertex3f(r1 * cos(0), r1 * sin(0), width * 0.5);
+   glVertex3f(r1 * cos(0), r1 * sin(0), -width * 0.5);
+
+   glEnd();
+
+   glShadeModel(GL_SMOOTH);
+
+   /* draw inside radius cylinder */
+   glBegin(GL_QUAD_STRIP);
+   for (i = 0; i <= teeth; i++) {
+      angle = i * 2.0 * M_PI / teeth;
+      glNormal3f(-cos(angle), -sin(angle), 0.0);
+      glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+      glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+   }
+   glEnd();
+}
+
+
+static void
+draw(void)
+{
+   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+   glPushMatrix();
+   glRotatef(view_rotx, 1.0, 0.0, 0.0);
+   glRotatef(view_roty, 0.0, 1.0, 0.0);
+   glRotatef(view_rotz, 0.0, 0.0, 1.0);
+
+   glPushMatrix();
+   glTranslatef(-3.0, -2.0, 0.0);
+   glRotatef(angle, 0.0, 0.0, 1.0);
+   glCallList(gear1);
+   glPopMatrix();
+
+   glPushMatrix();
+   glTranslatef(3.1, -2.0, 0.0);
+   glRotatef(-2.0 * angle - 9.0, 0.0, 0.0, 1.0);
+   glCallList(gear2);
+   glPopMatrix();
+
+   glPushMatrix();
+   glTranslatef(-3.1, 4.2, 0.0);
+   glRotatef(-2.0 * angle - 25.0, 0.0, 0.0, 1.0);
+   glCallList(gear3);
+   glPopMatrix();
+
+   glPopMatrix();
+}
+
+
+/* new window size or exposure */
+static void
+reshape(int width, int height)
+{
+   GLfloat h = (GLfloat) height / (GLfloat) width;
+
+   glViewport(0, 0, (GLint) width, (GLint) height);
+   glMatrixMode(GL_PROJECTION);
+   glLoadIdentity();
+   /* fit width and height */
+   if (h >= 1.0)
+     glFrustum(-1.0, 1.0, -h, h, 5.0, 60.0);
+   else
+     glFrustum(-1.0/h, 1.0/h, -1.0, 1.0, 5.0, 60.0);
+   glMatrixMode(GL_MODELVIEW);
+   glLoadIdentity();
+   glTranslatef(0.0, 0.0, -40.0);
+}
+
+
+static void
+init(void)
+{
+   static GLfloat pos[4] = { 5.0, 5.0, 10.0, 0.0 };
+   static GLfloat red[4] = { 0.8, 0.1, 0.0, 1.0 };
+   static GLfloat green[4] = { 0.0, 0.8, 0.2, 1.0 };
+   static GLfloat blue[4] = { 0.2, 0.2, 1.0, 1.0 };
+
+   glLightfv(GL_LIGHT0, GL_POSITION, pos);
+   glEnable(GL_CULL_FACE);
+   glEnable(GL_LIGHTING);
+   glEnable(GL_LIGHT0);
+   glEnable(GL_DEPTH_TEST);
+
+   /* make the gears */
+   gear1 = glGenLists(1);
+   glNewList(gear1, GL_COMPILE);
+   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, red);
+   gear(1.0, 4.0, 1.0, 20, 0.7);
+   glEndList();
+
+   gear2 = glGenLists(1);
+   glNewList(gear2, GL_COMPILE);
+   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, green);
+   gear(0.5, 2.0, 2.0, 10, 0.7);
+   glEndList();
+
+   gear3 = glGenLists(1);
+   glNewList(gear3, GL_COMPILE);
+   glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, blue);
+   gear(1.3, 2.0, 0.5, 10, 0.7);
+   glEndList();
+
+   glEnable(GL_NORMALIZE);
+}
+
+
+/*
+ * Create an RGB, double-buffered window.
+ * Return the window and context handles.
+ */
+static void
+make_window( Display *dpy, Screen *scr,
+             const char *name,
+             int x, int y, int width, int height,
+             Window *winRet, GLXContext *ctxRet)
+{
+   int attrib[] = { GLX_RGBA,
+                   GLX_RED_SIZE, 1,
+                   GLX_GREEN_SIZE, 1,
+                   GLX_BLUE_SIZE, 1,
+                   GLX_DOUBLEBUFFER,
+                   GLX_DEPTH_SIZE, 1,
+                   None };
+   int scrnum;
+   XSetWindowAttributes attr;
+   unsigned long mask;
+   Window root;
+   Window win;
+   GLXContext ctx;
+   XVisualInfo *visinfo;
+   GLint max[2] = { 0, 0 };
+
+   scrnum = XScreenNumberOfScreen(scr);
+   root   = XRootWindow(dpy, scrnum);
+
+   visinfo = glXChooseVisual( dpy, scrnum, attrib );
+   if (!visinfo) {
+      fprintf(stderr, "%s: Error: couldn't get an RGB, Double-buffered visual.\n", ProgramName);
+      exit(EXIT_FAILURE);
+   }
+
+   /* window attributes */
+   attr.background_pixel = 0;
+   attr.border_pixel = 0;
+   attr.colormap = XCreateColormap( dpy, root, visinfo->visual, AllocNone);
+   attr.event_mask = StructureNotifyMask | ExposureMask | KeyPressMask;
+   mask = CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
+
+   win = XCreateWindow( dpy, root, x, y, width, height,
+                       0, visinfo->depth, InputOutput,
+                       visinfo->visual, mask, &attr );
+
+   /* set hints and properties */
+   {
+      XSizeHints sizehints;
+      sizehints.x = x;
+      sizehints.y = y;
+      sizehints.width  = width;
+      sizehints.height = height;
+      sizehints.flags = USSize | USPosition;
+      XSetNormalHints(dpy, win, &sizehints);
+      XSetStandardProperties(dpy, win, name, name,
+                              None, (char **)NULL, 0, &sizehints);
+   }
+
+   ctx = glXCreateContext( dpy, visinfo, NULL, True );
+   if (!ctx) {
+      fprintf(stderr, "%s: Error: glXCreateContext failed.\n", ProgramName);
+      exit(EXIT_FAILURE);
+   }
+
+   XFree(visinfo);
+
+   XMapWindow(dpy, win);
+   glXMakeCurrent(dpy, win, ctx);
+
+   /* Check for maximum size supported by the GL rasterizer */
+   glGetIntegerv(GL_MAX_VIEWPORT_DIMS, max);
+   if (printInfo)
+      printf("GL_MAX_VIEWPORT_DIMS=%d/%d\n", (int)max[0], (int)max[1]);
+   if (width > max[0] || height > max[1]) {
+      fprintf(stderr, "%s: Error: Requested window size (%d/%d) larger than "
+              "maximum supported by GL engine (%d/%d).\n",
+              ProgramName, width, height, (int)max[0], (int)max[1]);
+      exit(EXIT_FAILURE);
+   }
+
+   *winRet = win;
+   *ctxRet = ctx;
+}
+
+static void
+event_loop(Display *dpy, Window win)
+{
+   while (1) {
+      /* Process interactive events */
+      while (XPending(dpy) > 0) {
+         XEvent event;
+         XNextEvent(dpy, &event);
+         switch (event.type) {
+         case Expose:
+            Log(("Event: Expose\n"));
+            /* we'll redraw below */
+            break;
+         case ConfigureNotify:
+            Log(("Event: ConfigureNotify\n"));
+            reshape(event.xconfigure.width, event.xconfigure.height);
+            break;
+         }
+      }
+
+      {
+         /* Time at which we started measuring. */
+         static long startTime = 0;
+
+         /* Time of the previous frame. */
+         static long lastFrame = 0;
+
+         /* Time of the previous FPS report. */
+         static long lastFps = 0;
+
+         /* Number of frames we've done. */
+         static int frames = 0;
+
+         /* Number of frames we've done in the measured run. */
+         static long runFrames = 0;
+
+         long t = current_time();
+         long useconds;
+
+         if (!lastFrame)
+            lastFrame = t;
+         if (!lastFps)
+            lastFps = t;
+
+         /* How many microseconds since the previous frame? */
+         useconds = t - lastFrame;
+         if (!useconds) /* assume 100FPS if we don't have timer */
+            useconds = 10000;
+
+         /* Calculate how far the gears need to move and redraw. */
+         angle = angle + ((double)speed * useconds) / 1000000.0;
+         if (angle > 360.0)
+            angle = angle - 360.0; /* don't lose precision! */
+         draw();
+         glXSwapBuffers(dpy, win);
+
+         /* Done this frame. */
+         lastFrame = t;
+         frames++;
+
+         /* Every 5 seconds, print the FPS. */
+         if (t - lastFps >= 5000000L) {
+            GLfloat seconds = (t - lastFps) / 1000000.0;
+            GLfloat fps = frames / seconds;
+
+            printf("%d frames in %3.1f seconds = %6.3f FPS\n", frames, seconds,
+                   fps);
+            lastFps = t;
+            frames = 0;
+
+            /*
+             * Set the start time now -- ie. after one report.  This
+             * gives us pump-priming time before we start for real.
+             */
+            if (runTime > 0 && startTime == 0) {
+                printf("Start timing!\n");
+                startTime = t;
+            }
+         }
+
+         if (startTime > 0)
+             ++runFrames;
+
+         /* If our run time is done, finish. */
+         if (runTime > 0 && startTime > 0 && t - startTime > runTime) {
+             double time = (double) (t - startTime) / 1000000.0;
+             fprintf(stderr, "COUNT|%ld|1|fps\n", runFrames);
+             fprintf(stderr, "TIME|%.1f\n", time);
+             exit(0);
+         }
+
+         /* Need to give cpu away in order to get precise timing next cycle,
+          * otherwise, gettimeofday would return almost the same value. */
+         sched_yield();
+      }
+   }
+}
+
+
+int
+main(int argc, char *argv[])
+{
+   Bool           use_threadsafe_api = False;
+   Display       *dpy;
+   Window         win;
+   Screen        *screen;
+   GLXContext     ctx;
+   char          *dpyName            = NULL;
+   int            i;
+   XRectangle     winrect;
+
+   ProgramName = argv[0];
+
+   for (i = 1; i < argc; i++) {
+      const char *arg = argv[i];
+      int         len = strlen(arg);
+
+      if (strcmp(argv[i], "-display") == 0) {
+         if (++i >= argc)
+            usage();
+         dpyName = argv[i];
+      }
+      else if (strcmp(argv[i], "-info") == 0) {
+         printInfo = GL_TRUE;
+      }
+      else if (strcmp(argv[i], "-time") == 0) {
+         if (++i >= argc)
+            usage();
+         runTime = atoi(argv[i]) * 1000000;
+      }
+      else if (!strncmp("-v", arg, len)) {
+         verbose   = True;
+         printInfo = GL_TRUE;
+      }
+      else if( !strncmp("-debug_use_threadsafe_api", arg, len) )
+      {
+         use_threadsafe_api = True;
+      }
+      else if (!strcmp(argv[i], "-h")) {
+         usage();
+      }
+      else
+      {
+        fprintf(stderr, "%s: Unsupported option '%s'.\n", ProgramName, argv[i]);
+        usage();
+      }
+   }
+
+   /* Init X threading API on demand (for debugging) */
+   if( use_threadsafe_api )
+   {
+      if( !XInitThreads() )
+      {
+         fprintf(stderr, "%s: XInitThreads() failure.\n", ProgramName);
+         exit(EXIT_FAILURE);
+      }
+   }
+
+   dpy = XOpenDisplay(dpyName);
+   if (!dpy) {
+      fprintf(stderr, "%s: Error: couldn't open display '%s'\n", ProgramName, dpyName);
+      return EXIT_FAILURE;
+   }
+
+   screen = XDefaultScreenOfDisplay(dpy);
+
+   winrect.x      = 0;
+   winrect.y      = 0;
+   winrect.width  = 300;
+   winrect.height = 300;
+
+   Log(("Window x=%d, y=%d, width=%d, height=%d\n",
+       (int)winrect.x, (int)winrect.y, (int)winrect.width, (int)winrect.height));
+
+   make_window(dpy, screen, "ubgears", winrect.x, winrect.y, winrect.width, winrect.height, &win, &ctx);
+   reshape(winrect.width, winrect.height);
+
+   if (printInfo) {
+      printf("GL_RENDERER   = %s\n", (char *) glGetString(GL_RENDERER));
+      printf("GL_VERSION    = %s\n", (char *) glGetString(GL_VERSION));
+      printf("GL_VENDOR     = %s\n", (char *) glGetString(GL_VENDOR));
+      printf("GL_EXTENSIONS = %s\n", (char *) glGetString(GL_EXTENSIONS));
+   }
+
+   init();
+
+   start_time();
+   event_loop(dpy, win);
+
+   glXDestroyContext(dpy, ctx);
+
+   XDestroyWindow(dpy, win);
+   XCloseDisplay(dpy);
+
+   return EXIT_SUCCESS;
+}
+
diff --git a/test/benchmarks/unixbench-5.1.2/src/whets.c b/test/benchmarks/unixbench-5.1.2/src/whets.c
new file mode 100644 (file)
index 0000000..cfeef82
--- /dev/null
@@ -0,0 +1,1313 @@
+/**********************************************************/
+/* Date: Mon, 10 Mar 1997 07:38:18 -0500                  */
+/* From: Roy Longbottom <Roy_Longbottom@compuserve.com>   */
+/* Subject: WHET02.txt                                    */
+/* To: "Alfred A. Aburto Jr." <aburto@cts.com>            */
+/**********************************************************/
+
+/*
+ *     C/C++ Whetstone Benchmark Single or Double Precision
+ *
+ *     Original concept        Brian Wichmann NPL      1960's
+ *     Original author         Harold Curnow  CCTA     1972
+ *     Self timing versions    Roy Longbottom CCTA     1978/87
+ *     Optimisation control    Bangor University       1987/90
+ *     C/C++ Version           Roy Longbottom          1996
+ *     Compatibility & timers  Al Aburto               1996
+ *
+ ************************************************************
+ *
+ *              Official version approved by:
+ *
+ *         Harold Curnow  100421.1615@compuserve.com
+ *
+ *      Happy 25th birthday Whetstone, 21 November 1997
+ *
+ ************************************************************
+ *
+ *     The program normally runs for about 100 seconds
+ *     (adjustable in main - variable duration). This time
+ *     is necessary because of poor PC clock resolution.
+ *     The original concept included such things as a given
+ *     number of subroutine calls and divides which may be
+ *     changed by optimisation. For comparison purposes the
+ *     compiler and level of optimisation should be identified.
+ *
+ ************************************************************
+ *
+ *     The original benchmark had a single variable I which
+ *     controlled the running time. Constants with values up
+ *     to 899 were multiplied by I to control the number
+ *     passes for each loop. It was found that large values
+ *     of I could overflow index registers so an extra outer
+ *     loop with a second variable J was added.
+ *
+ *     Self timing versions were produced during the early
+ *     days. The 1978 changes supplied timings of individual
+ *     loops and these were used later to produce MFLOPS and
+ *     MOPS ratings.
+ *
+ *     1987 changes converted the benchmark to Fortran 77
+ *     standards and removed redundant IF statements and
+ *     loops to leave the 8 active loops N1 to N8. Procedure
+ *     P3 was changed to use global variables to avoid over-
+ *     optimisation with the first two statements changed from
+ *     X1=X and Y1=Y to X=Y and Y=Z. A self time calibrating
+ *     version for PCs was also produced, the facility being
+ *     incorporated in this version.
+ *
+ *     This version has changes to avoid worse than expected
+ *     speed ratings, due to underflow, and facilities to show
+ *     that consistent numeric output is produced with varying
+ *     optimisation levels or versions in different languages.
+ *
+ *     Some of the procedures produce ever decreasing numbers.
+ *     To avoid problems, variables T and T1 have been changed
+ *     from 0.499975 and 0.50025 to 0.49999975 and 0.50000025.
+ *
+ *     Each section now has its own double loop. Inner loops
+ *     are run 100 times the loop constants. Calibration
+ *     determines the number of outer loop passes. The
+ *     numeric results produced in the main output are for
+ *     one pass on the outer loop. As underflow problems were
+ *     still likely on a processor 100 times faster than a 100
+ *     MHZ Pentium, three sections have T=1.0-T inserted in the
+ *     outer loop to avoid the problem. The two loops avoid
+ *     index register overflows.
+ *
+ *     The first section is run ten times longer than required
+ *     for accuracy in calculating MFLOPS. This time is divided
+ *     by ten for inclusion in the MWIPS calculations.
+ *
+ *     This version has facilities for typing in details of the
+ *     particular run. This information is appended to file
+ *     whets.res along with the results. The input section can
+ *     be avoided using a command line parameter N (for example
+ *     Whets.exe N).
+ *
+ *     Roy Longbottom  101323.2241@compuserve.com
+ *
+ ************************************************************
+ *
+ *     Whetstone benchmark results are available in whets.tbl
+ *     from ftp.nosc.mil/pub/aburto. The results include
+ *     further details of the benchmarks.
+ *
+ ************************************************************
+ *
+ *     Source code is available in C/C++, Fortran, Basic and
+ *     Visual Basic in the same format as this version. Pre-
+ *     compiled versions for PCs are also available via C++.
+ *     These comprise optimised and non-optimised versions
+ *     for DOS, Windows and NT.
+ *
+ *     This version compiles and runs correctly either as a
+ *     C or CPP program with a WATCOM and Borland compiler.
+ *
+ ************************************************************
+ *
+ * Example of initial calibration display (Pentium 100 MHz)
+ *
+ * Single Precision C/C++ Whetstone Benchmark
+ *
+ * Calibrate
+ *      0.17 Seconds          1   Passes (x 100)
+ *      0.77 Seconds          5   Passes (x 100)
+ *      3.70 Seconds         25   Passes (x 100)
+ *
+ * Use 676  passes (x 100)
+ *
+ * 676 passes are used for an approximate duration of 100
+ * seconds, providing an initial estimate of a speed rating
+ * of 67.6 MWIPS.
+ *
+ * This is followed by the table of results as below. Input
+ * statements are then supplied to type in the run details.
+ *
+ ************************************************************
+ *
+ * Examples of results from file whets.res
+ *
+ * Whetstone Single  Precision Benchmark in C/C++
+ *
+ * Month run         4/1996
+ * PC model          Escom
+ * CPU               Pentium
+ * Clock MHz         100
+ * Cache             256K
+ * H/W Options       Neptune chipset
+ * OS/DOS            Windows 95
+ * Compiler          Watcom C/C++ 10.5  Win386
+ * Options           No optimisation
+ * Run by            Roy Longbottom
+ * From              UK
+ * Mail              101323.2241@compuserve.com
+ *
+ * Loop content                 Result            MFLOPS     MOPS   Seconds
+ *
+ * N1 floating point    -1.12475025653839100      19.971              0.274
+ * N2 floating point    -1.12274754047393800      11.822              3.240
+ * N3 if then else       1.00000000000000000               11.659     2.530
+ * N4 fixed point       12.00000000000000000               13.962     6.430
+ * N5 sin,cos etc.       0.49904659390449520                2.097    11.310
+ * N6 floating point     0.99999988079071040       3.360             45.750
+ * N7 assignments        3.00000000000000000                2.415    21.810
+ * N8 exp,sqrt etc.      0.75110864639282230                1.206     8.790
+ *
+ * MWIPS                                          28.462            100.134
+ *
+ * Whetstone Single  Precision Benchmark in C/C++
+ *
+ * Compiler          Watcom C/C++ 10.5  Win386
+ * Options           -otexan -zp4 -om -fp5 -5r
+ *
+ * Loop content                 Result            MFLOPS     MOPS   Seconds
+ *
+ * N1 floating point    -1.12475025653839100      26.751              0.478
+ * N2 floating point    -1.12274754047393800      17.148              5.220
+ * N3 if then else       1.00000000000000000               19.922     3.460
+ * N4 fixed point       12.00000000000000000               15.978    13.130
+ * N5 sin,cos etc.       0.49904659390449520                2.663    20.810
+ * N6 floating point     0.99999988079071040      10.077             35.650
+ * N7 assignments        3.00000000000000000               22.877     5.380
+ * N8 exp,sqrt etc.      0.75110864639282230                1.513    16.370
+ *
+ * MWIPS                                          66.270            100.498
+ *
+ *
+ * Whetstone Double  Precision Benchmark in C/C++
+ *
+ * Compiler          Watcom C/C++ 10.5 Win32NT
+ * Options           -otexan -zp4 -om -fp5 -5r
+ *
+ * Loop content                 Result           MFLOPS      MOPS   Seconds
+ *
+ * N1 floating point    -1.12398255667391900     26.548               0.486
+ * N2 floating point    -1.12187079889284400     16.542               5.460
+ * N3 if then else       1.00000000000000000               19.647     3.540
+ * N4 fixed point       12.00000000000000000               15.680    13.500
+ * N5 sin,cos etc.       0.49902937281515140                3.019    18.520
+ * N6 floating point     0.99999987890802820      9.977              36.330
+ * N7 assignments        3.00000000000000000               22.620     5.490
+ * N8 exp,sqrt etc.      0.75100163018457870                1.493    16.740
+ *
+ * MWIPS                                         67.156             100.066
+ *
+ *  Note different numeric results to single precision. Slight variations
+ *  are normal with different compilers and sometimes optimisation levels.
+ *
+ *
+ *             Example Single Precision Optimised Results
+ *
+ *     MWIPS   MFLOPS  MFLOPS  MFLOPS  COS     EXP     FIXPT    IF    EQUAL
+ * PC            1       2       3     MOPS    MOPS    MOPS    MOPS    MOPS
+ *
+ * P3  5.68    0.928   0.884   0.673   0.461   0.275   2.36    2.16   0.638
+ * P4  16.4    5.09    4.03    2.66    0.526   0.342   6.36    6.00    5.28
+ * P5  66.3    26.8    17.1    10.1    2.66    1.51    16.0    19.9    22.9
+ * P6  161     50.3    45.2    31.5    4.46    2.77    102     20.6    119
+ *
+ *            Example Single Precision Non-optimised Results
+ *
+ * P3  3.07    0.860   0.815   0.328   0.355   0.160   1.70    1.32   0.264
+ * P4  10.0    4.68    3.51    1.27    0.482   0.298   5.73    5.20    1.18
+ * P5  28.5    20.0    11.8    3.36    2.10    1.21    14.0    11.7    2.42
+ * P6  81.7    47.5    37.8    10.9    3.91    2.43    51.2    42.8    7.85
+ *
+ *        Summary results as in whets.tbl at ftp.nosc.mil/pub/aburto
+ *
+ *           MFLOPS   = Geometric Mean of three MFLOPS loops
+ *           VAX MIPS = 5 * Geometric Mean of last three items above
+ *
+ *                                                                     VAX
+ * PC System  CPU/Options               Cache   MHz   MWIPS   MFLOPS  MIPS
+ *
+ * P3 Clone   AM80386DX with 387        128K    40    5.68    0.820   7.40
+ * P4 Escom   80486DX2 CIS chipset      128K    66    16.4    3.79    29.3
+ * P5 Escom   Pentium Neptune chipset   256K   100    66.3    16.7    96.9
+ * P6 Dell    PentiumPro 440FX PCIset   256K   200    161     41.5    315
+ *
+ * P3 Clone   AM80386DX with 387        128K    40    3.07    0.613   4.20
+ * P4 Escom   80486DX2 CIS chipset      128K    66    10.0    2.75    16.4
+ * P5 Escom   Pentium Neptune chipset   256K   100    28.5    9.26    36.6
+ * P6 Dell    PentiumPro 440FX PCIset   256K   200    81.7    26.9    129
+ *
+ **************************************************************************
+ *
+ *                       Running In     fprintf(stderr,"TIMEBASE|60\n");
+structions
+ *
+ *      1.  In order to compile successfully, include timer option as
+ *          indicated below.
+ *      2.  If pre-compiled codes are to be distributed, compile with the
+ *          -DPRECOMP option or uncomment #define PRECOMP at PRECOMPILE
+ *          below. Also insert compiler name and optimisation details
+ *          at #define precompiler and #define preoptions.
+ *      3.  Compile and run for single precision results. Include run
+ *          time parameter N to bipass typing in hardware details etc.
+ *      4.  Compile with -DDP option or uncomment #define DP at PRECISION
+ *          below and run for double precision results.
+ *      5.  Run with maximum and no optimisation (minimum debug)
+ *      6.  Notify Roy Longbottom of other necessary changes
+ *      7.  Send results file whets.res to Roy Longbottom - with one
+ *          sample of each run and system details fully completed
+ *
+ *      Roy Longbottom  101323.2241@compuserve.com    6 November 1996
+ *
+ **************************************************************************
+ */
+
+ #include <math.h>       /* for sin, exp etc.           */
+ #include <stdio.h>      /* standard I/O                */
+ #include <string.h>     /* for strcpy - 3 occurrences  */
+ #include <stdlib.h>     /* for exit   - 1 occurrence   */
+
+/***************************************************************/
+/* Timer options. You MUST uncomment one of the options below  */
+/* or compile, for example, with the '-DUNIX' option.          */
+/***************************************************************/
+/* #define Amiga       */
+/* #define UNIX        */
+/* #define UNIX_Old    */
+/* #define VMS         */
+/* #define BORLAND_C   */
+/* #define MSC         */
+/* #define MAC         */
+/* #define IPSC        */
+/* #define FORTRAN_SEC */
+/* #define GTODay      */
+/* #define CTimer      */
+/* #define UXPM        */
+/* #define MAC_TMgr    */
+/* #define PARIX       */
+/* #define POSIX       */
+/* #define WIN32       */
+/* #define POSIX1      */
+/***********************/
+
+/*PRECISION PRECISION PRECISION PRECISION PRECISION PRECISION PRECISION*/
+
+ /* #define DP */
+
+ #ifdef DP
+    #define SPDP double
+    #define Precision "Double"
+ #else
+    #define SPDP float
+    #define Precision "Single"
+ #endif
+
+
+/*PRECOMPILE  PRECOMPILE  PRECOMPILE  PRECOMPILE  PRECOMPILE  PRECOMPILE*/
+
+ /* #define PRECOMP */
+
+ #ifdef PRECOMP
+    #define precompiler "INSERT COMPILER NAME HERE"
+    #define preoptions  "INSERT OPTIMISATION OPTIONS HERE"
+ #endif
+
+
+ void whetstones(long xtra, long x100, int calibrate);
+ void pa(SPDP e[4], SPDP t, SPDP t2);
+ void po(SPDP e1[4], long j, long k, long l);
+ void p3(SPDP *x, SPDP *y, SPDP *z, SPDP t, SPDP t1, SPDP t2);
+ void pout(char title[22], float ops, int type, SPDP checknum,
+                 SPDP time, int calibrate, int section);
+
+
+ static SPDP loop_time[9];
+ static SPDP loop_mops[9];
+ static SPDP loop_mflops[9];
+ static SPDP TimeUsed;
+ static SPDP mwips;
+ static char headings[9][18];
+ static SPDP Check;
+ static SPDP results[9];
+
+SPDP dtime(void);
+
+int main(int argc, char *argv[])
+{
+    int count = 10, calibrate = 1;
+    long xtra = 1;
+    long x100 = 100;
+#ifdef UNIXBENCH
+    int duration = 10;
+#else
+    int section;
+    int duration = 100;
+    FILE *outfile;
+    int getinput = 1;
+    char compiler[80] = " ", options[256] = " ", general[10][80] = {" "};
+    char *endit = " ";
+
+    printf("##########################################\n");
+    printf("%s Precision C/C++ Whetstone Benchmark\n\n", Precision);
+#endif
+
+
+#ifndef UNIXBENCH
+    if (argc > 1)
+     {
+       switch (argv[1][0])
+       {
+            case 'N':
+            case 'n':
+              getinput = 0;
+              break;
+       }
+     }
+   if (! getinput)
+    {
+       printf ("No run time input data\n\n");
+    }
+
+    outfile = fopen("whets.res","a+");
+    if (outfile == NULL)
+      {
+       printf ("Cannot open results file \n\n");
+       printf("Press RETURN to exit\n");
+       gets(endit);
+       exit (0);
+      }
+#endif
+
+  printf("Calibrate\n");
+  do
+   {
+    TimeUsed=0;
+
+    whetstones(xtra,x100,calibrate);
+
+    printf("%11.2f Seconds %10.0f   Passes (x 100)\n", TimeUsed, (SPDP)(xtra));
+    calibrate++;
+    count--;
+
+#ifndef UNIXBENCH
+    if (TimeUsed > 2.0)
+#else
+    if (TimeUsed > 0.5)
+#endif
+      {
+       count = 0;
+      }
+       else
+      {
+       xtra = xtra * 5;
+      }
+   }
+
+   while (count > 0);
+
+   if (TimeUsed > 0) xtra = (long)((SPDP)(duration * xtra) / TimeUsed);
+   if (xtra < 1) xtra = 1;
+
+   calibrate = 0;
+
+   printf("\nUse %ld  passes (x 100)\n", xtra);
+
+   printf("\n          %s Precision C/C++ Whetstone Benchmark",Precision);
+
+   #ifdef PRECOMP
+      printf("\n          Compiler  %s", precompiler);
+      printf("\n          Options   %s\n", preoptions);
+   #else
+      printf("\n");
+   #endif
+
+   printf("\nLoop content                  Result              MFLOPS "
+                               "     MOPS   Seconds\n\n");
+
+   TimeUsed=0;
+   whetstones(xtra,x100,calibrate);
+
+   printf("\nMWIPS            ");
+   if (TimeUsed>0)
+     {
+      mwips=(float)(xtra) * (float)(x100) / (10 * TimeUsed);
+     }
+      else
+     {
+      mwips = 0;
+     }
+
+   printf("%39.3f%19.3f\n\n",mwips,TimeUsed);
+
+   if (Check == 0) printf("Wrong answer  ");
+
+
+
+ /************************************************************************/
+ /*             Type details of hardware, software etc.                  */
+ /************************************************************************/
+
+#ifndef UNIXBENCH
+ if (getinput)
+   {
+     printf ("Enter the following which will be added with results to file WHETS.RES\n");
+     printf ("When submitting a number of results you need only provide details once\n");
+     printf ("but a cross reference such as an abbreviated CPU type would be useful.\n");
+     printf ("You can kill (exit or close) the program now and no data will be added.\n\n");
+
+     printf ("Date:       ");
+     gets(general[0]);
+
+     printf ("Computer:   ");
+     gets(general[1]);
+
+     printf ("CPU chip:   ");
+     gets(general[2]);
+
+     printf ("Clock MHz:  ");
+     gets(general[3]);
+
+     printf ("Cache size: ");
+     gets(general[4]);
+
+     printf ("H/W options:");
+     gets(general[5]);
+
+     printf ("OS version: ");
+     gets(general[6]);
+
+     #ifdef PRECOMP
+       strcpy (compiler, precompiler);
+       strcpy (options, preoptions);
+     #else
+       printf ("Compiler:   ");
+       gets(compiler);
+
+       printf ("Options:    ");
+       gets(options);
+     #endif
+
+     printf ("Your name:  ");
+     gets(general[7]);
+
+     printf ("From:       ");
+     gets(general[8]);
+
+     printf ("Email:      ");
+     gets(general[9]);
+   }
+  else
+   {
+     #ifdef PRECOMP
+       strcpy (compiler, precompiler);
+       strcpy (options, preoptions);
+     #endif
+   }
+
+ /************************************************************************/
+ /*               Add results to output file whets.res                   */
+ /************************************************************************/
+ fprintf (outfile, "\n");
+ fprintf (outfile, "##############################################\n");
+ fprintf (outfile, "Whetstone %s  Precision Benchmark in C/C++\n\n",Precision);
+ fprintf (outfile, "Date         %s\n", general[0]);
+ fprintf (outfile, "Model        %s\n", general[1]);
+ fprintf (outfile, "CPU          %s\n", general[2]);
+ fprintf (outfile, "Clock MHz    %s\n", general[3]);
+ fprintf (outfile, "Cache        %s\n", general[4]);
+ fprintf (outfile, "H/W options  %s\n", general[5]);
+ fprintf (outfile, "OS           %s\n", general[6]);
+ fprintf (outfile, "Compiler     %s\n", compiler);
+ fprintf (outfile, "Options      %s\n", options);
+ fprintf (outfile, "Run by       %s\n", general[7]);
+ fprintf (outfile, "From         %s\n", general[8]);
+ fprintf (outfile, "Email        %s\n", general[9]);
+ fprintf (outfile, "\n");
+
+ fprintf (outfile,"Loop content                   Result"
+           "              MFLOPS      MOPS   Seconds\n\n");
+
+ for (section=1; section<9; section++)
+    {
+     fprintf (outfile, "%s  %24.17f   ", headings[section],
+                                             results[section]);
+     if (loop_mops[section] == 99999)
+       {
+       fprintf (outfile,"  %9.3f           %9.3f\n",
+                loop_mflops[section], loop_time[section]);
+       }
+       else
+       {
+       fprintf (outfile, "            %9.3f %9.3f\n",
+            loop_mops[section], loop_time[section], results[section]);
+       }
+    }
+
+ fprintf (outfile, "\nMWIPS             ");
+ fprintf (outfile, "%39.3f%20.3f\n\n",mwips,TimeUsed);
+ fprintf (outfile, "Results  to  load  to  spreadsheet             ");
+ fprintf (outfile, "     MWIPS   Mflops1   Mflops2   Mflops3   Cosmops"
+                     "   Expmops  Fixpmops    Ifmops    Eqmops\n");
+ fprintf (outfile, "Results  to  load  to  spreadsheet             ");
+
+ fprintf (outfile, " %9.3f %9.3f %9.3f", mwips, loop_mflops[1],
+                                                        loop_mflops[2]);
+ fprintf (outfile, " %9.3f %9.3f %9.3f", loop_mflops[6],
+                                            loop_mops[5], loop_mops[8]);
+ fprintf (outfile, " %9.3f %9.3f %9.3f\n\n", loop_mops[4],
+                                             loop_mops[3], loop_mops[7]);
+
+ fclose (outfile);
+
+ printf ("\n");
+ printf ("A new results file will have been created in the same directory as the\n");
+ printf (".EXE files if one did not already exist. If you made a mistake on input, \n");
+ printf ("you can use a text editor to correct it, delete the results or copy \n");
+ printf ("them to a different file name. If you intend to run multiple tests you\n");
+ printf ("you may wish to rename WHETS.RES with a more informative title.\n\n");
+ printf ("Please submit feedback and results files to aburto@nosc.mil or to\n");
+ printf ("Roy_Longbottom@compuserve.com\n\n");
+
+#else  /* Unixbench */
+       fprintf (stderr, "COUNT|%.3f|0|MWIPS\n", mwips);
+        fprintf (stderr, "TIME|%.3f\n", TimeUsed);
+       exit(0);
+#endif
+}
+
+    void whetstones(long xtra, long x100, int calibrate)
+      {
+
+       long n1,n2,n3,n4,n5,n6,n7,n8,i,ix,n1mult;
+       SPDP x,y,z;
+       long j,k,l;
+       SPDP e1[4],timea,timeb;
+
+       SPDP t =  0.49999975;
+       SPDP t0 = t;
+       SPDP t1 = 0.50000025;
+       SPDP t2 = 2.0;
+
+       Check=0.0;
+
+       n1 = 12*x100;
+       n2 = 14*x100;
+       n3 = 345*x100;
+       n4 = 210*x100;
+       n5 = 32*x100;
+       n6 = 899*x100;
+       n7 = 616*x100;
+       n8 = 93*x100;
+       n1mult = 10;
+
+       /* Section 1, Array elements */
+
+       e1[0] = 1.0;
+       e1[1] = -1.0;
+       e1[2] = -1.0;
+       e1[3] = -1.0;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n1*n1mult; i++)
+                 {
+                     e1[0] = (e1[0] + e1[1] + e1[2] - e1[3]) * t;
+                     e1[1] = (e1[0] + e1[1] - e1[2] + e1[3]) * t;
+                     e1[2] = (e1[0] - e1[1] + e1[2] + e1[3]) * t;
+                     e1[3] = (-e1[0] + e1[1] + e1[2] + e1[3]) * t;
+                 }
+               t = 1.0 - t;
+             }
+           t =  t0;
+        }
+       timeb = (dtime()-timea)/(SPDP)(n1mult);
+       pout("N1 floating point\0",(float)(n1*16)*(float)(xtra),
+                            1,e1[3],timeb,calibrate,1);
+
+       /* Section 2, Array as parameter */
+
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n2; i++)
+                 {
+                    pa(e1,t,t2);
+                 }
+               t = 1.0 - t;
+             }
+           t =  t0;
+        }
+       timeb = dtime()-timea;
+       pout("N2 floating point\0",(float)(n2*96)*(float)(xtra),
+                            1,e1[3],timeb,calibrate,2);
+
+       /* Section 3, Conditional jumps */
+       j = 1;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n3; i++)
+                 {
+                    if(j==1)       j = 2;
+                    else           j = 3;
+                    if(j>2)        j = 0;
+                    else           j = 1;
+                    if(j<1)        j = 1;
+                    else           j = 0;
+                 }
+             }
+        }
+       timeb = dtime()-timea;
+       pout("N3 if then else  \0",(float)(n3*3)*(float)(xtra),
+                       2,(SPDP)(j),timeb,calibrate,3);
+
+       /* Section 4, Integer arithmetic */
+       j = 1;
+       k = 2;
+       l = 3;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n4; i++)
+                 {
+                    j = j *(k-j)*(l-k);
+                    k = l * k - (l-j) * k;
+                    l = (l-k) * (k+j);
+                    e1[l-2] = j + k + l;
+                    e1[k-2] = j * k * l;
+                 }
+             }
+        }
+       timeb = dtime()-timea;
+       x = e1[0]+e1[1];
+       pout("N4 fixed point   \0",(float)(n4*15)*(float)(xtra),
+                                2,x,timeb,calibrate,4);
+
+       /* Section 5, Trig functions */
+       x = 0.5;
+       y = 0.5;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=1; i<n5; i++)
+                 {
+                    x = t*atan(t2*sin(x)*cos(x)/(cos(x+y)+cos(x-y)-1.0));
+                    y = t*atan(t2*sin(y)*cos(y)/(cos(x+y)+cos(x-y)-1.0));
+                 }
+               t = 1.0 - t;
+             }
+           t = t0;
+        }
+       timeb = dtime()-timea;
+       pout("N5 sin,cos etc.  \0",(float)(n5*26)*(float)(xtra),
+                                2,y,timeb,calibrate,5);
+
+       /* Section 6, Procedure calls */
+       x = 1.0;
+       y = 1.0;
+       z = 1.0;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n6; i++)
+                 {
+                    p3(&x,&y,&z,t,t1,t2);
+                 }
+             }
+        }
+       timeb = dtime()-timea;
+       pout("N6 floating point\0",(float)(n6*6)*(float)(xtra),
+                               1,z,timeb,calibrate,6);
+
+       /* Section 7, Array refrences */
+       j = 0;
+       k = 1;
+       l = 2;
+       e1[0] = 1.0;
+       e1[1] = 2.0;
+       e1[2] = 3.0;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0;i<n7;i++)
+                 {
+                    po(e1,j,k,l);
+                 }
+             }
+        }
+       timeb = dtime()-timea;
+       pout("N7 assignments   \0",(float)(n7*3)*(float)(xtra),
+                           2,e1[2],timeb,calibrate,7);
+
+       /* Section 8, Standard functions */
+       x = 0.75;
+       timea = dtime();
+        {
+           for (ix=0; ix<xtra; ix++)
+             {
+               for(i=0; i<n8; i++)
+                 {
+                    x = sqrt(exp(log(x)/t1));
+                 }
+             }
+        }
+       timeb = dtime()-timea;
+       pout("N8 exp,sqrt etc. \0",(float)(n8*4)*(float)(xtra),
+                               2,x,timeb,calibrate,8);
+
+       return;
+      }
+
+
+    void pa(SPDP e[4], SPDP t, SPDP t2)
+      {
+        long j;
+        for(j=0;j<6;j++)
+           {
+              e[0] = (e[0]+e[1]+e[2]-e[3])*t;
+              e[1] = (e[0]+e[1]-e[2]+e[3])*t;
+              e[2] = (e[0]-e[1]+e[2]+e[3])*t;
+              e[3] = (-e[0]+e[1]+e[2]+e[3])/t2;
+           }
+
+        return;
+      }
+
+    void po(SPDP e1[4], long j, long k, long l)
+      {
+        e1[j] = e1[k];
+        e1[k] = e1[l];
+        e1[l] = e1[j];
+        return;
+      }
+
+    void p3(SPDP *x, SPDP *y, SPDP *z, SPDP t, SPDP t1, SPDP t2)
+      {
+        *x = *y;
+        *y = *z;
+        *x = t * (*x + *y);
+        *y = t1 * (*x + *y);
+        *z = (*x + *y)/t2;
+        return;
+      }
+
+
+    void pout(char title[18], float ops, int type, SPDP checknum,
+             SPDP time, int calibrate, int section)
+      {
+       SPDP mops,mflops;
+
+       Check = Check + checknum;
+       loop_time[section] = time;
+       strcpy (headings[section],title);
+       TimeUsed =  TimeUsed + time;
+       if (calibrate == 1)
+
+         {
+             results[section] = checknum;
+         }
+       if (calibrate == 0)
+         {
+           printf("%s %24.17f    ",headings[section],results[section]);
+
+           if (type == 1)
+            {
+               if (time>0)
+                {
+                   mflops = ops/(1000000L*time);
+                }
+               else
+                {
+                  mflops = 0;
+                }
+               loop_mops[section] = 99999;
+               loop_mflops[section] = mflops;
+               printf(" %9.3f          %9.3f\n",
+                loop_mflops[section], loop_time[section]);
+            }
+           else
+            {
+               if (time>0)
+                {
+                  mops = ops/(1000000L*time);
+                }
+               else
+                {
+                  mops = 0;
+                }
+               loop_mops[section] = mops;
+               loop_mflops[section] = 0;
+               printf("           %9.3f%9.3f\n",
+                loop_mops[section], loop_time[section]);
+            }
+         }
+
+       return;
+      }
+
+
+/*****************************************************/
+/* Various timer routines.                           */
+/* Al Aburto, aburto@nosc.mil, 18 Feb 1997           */
+/*                                                   */
+/* t = dtime() outputs the current time in seconds.  */
+/* Use CAUTION as some of these routines will mess   */
+/* up when timing across the hour mark!!!            */
+/*                                                   */
+/* For timing I use the 'user' time whenever         */
+/* possible. Using 'user+sys' time is a separate     */
+/* issue.                                            */
+/*                                                   */
+/* Example Usage:                                    */
+/* [timer options added here]                        */
+/* main()                                            */
+/* {                                                 */
+/*  double starttime,benchtime,dtime();              */
+/*                                                   */
+/*  starttime = dtime();                             */
+/*  [routine to time]                                */
+/*  benchtime = dtime() - starttime;                 */
+/* }                                                 */
+/*                                                   */
+/* [timer code below added here]                     */
+/*****************************************************/
+
+/*********************************/
+/* Timer code.                   */
+/*********************************/
+/*******************/
+/*  Amiga dtime()  */
+/*******************/
+#ifdef Amiga
+#include <ctype.h>
+#define HZ 50
+
+SPDP dtime()
+{
+ SPDP q;
+
+ struct tt
+       {
+       long  days;
+       long  minutes;
+       long  ticks;
+       } tt;
+
+ DateStamp(&tt);
+
+ q = ((SPDP)(tt.ticks + (tt.minutes * 60L * 50L))) / (SPDP)HZ;
+
+ return q;
+}
+#endif
+
+/*****************************************************/
+/*  UNIX dtime(). This is the preferred UNIX timer.  */
+/*  Provided by: Markku Kolkka, mk59200@cc.tut.fi    */
+/*  HP-UX Addition by: Bo Thide', bt@irfu.se         */
+/*****************************************************/
+#ifdef UNIX
+#if !defined(MINIX) || defined(LINUX)
+#include <sys/time.h>
+#include <sys/resource.h>
+
+#ifdef hpux
+#include <sys/syscall.h>
+#define getrusage(a,b) syscall(SYS_getrusage,a,b)
+#endif
+
+struct rusage rusage;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ getrusage(RUSAGE_SELF,&rusage);
+
+ q = (SPDP)(rusage.ru_utime.tv_sec);
+ q = q + (SPDP)(rusage.ru_utime.tv_usec) * 1.0e-06;
+
+ return q;
+}
+#else
+#include <sys/types.h>
+#include <sys/times.h>
+#include <minix/sysinfo.h>
+#include <time.h>
+
+struct tms tms;
+
+SPDP dtime(void)
+{
+ SPDP q;
+ int secs, msecs;
+ u32_t system_hz;
+ times(&tms);
+ getsysinfo_up(PM_PROC_NR, SIU_SYSTEMHZ, sizeof(system_hz), &system_hz);
+ secs = tms.tms_utime / system_hz;
+ q = secs;
+ tms.tms_utime -= secs * system_hz;
+ msecs = tms.tms_utime * 100 / system_hz;
+ q += (float) msecs * 0.01;
+ return q;
+}
+#endif
+#endif
+
+/***************************************************/
+/*  UNIX_Old dtime(). This is the old UNIX timer.  */
+/*  Use only if absolutely necessary as HZ may be  */
+/*  ill defined on your system.                    */
+/***************************************************/
+#ifdef UNIX_Old
+#include <sys/types.h>
+#include <sys/times.h>
+#include <sys/param.h>
+
+#ifndef HZ
+#define HZ 60
+#endif
+
+struct tms tms;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ times(&tms);
+
+ q = (SPDP)(tms.tms_utime) / (SPDP)HZ;
+
+ return q;
+}
+#endif
+
+/*********************************************************/
+/*  VMS dtime() for VMS systems.                         */
+/*  Provided by: RAMO@uvphys.phys.UVic.CA                */
+/*  Some people have run into problems with this timer.  */
+/*********************************************************/
+#ifdef VMS
+#include time
+
+#ifndef HZ
+#define HZ 100
+#endif
+
+struct tbuffer_t
+       {
+       int proc_user_time;
+       int proc_system_time;
+       int child_user_time;
+       int child_system_time;
+       };
+struct tbuffer_t tms;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ times(&tms);
+
+ q = (SPDP)(tms.proc_user_time) / (SPDP)HZ;
+
+ return q;
+}
+#endif
+
+/******************************/
+/*  BORLAND C dtime() for DOS */
+/******************************/
+#ifdef BORLAND_C
+#include <ctype.h>
+#include <dos.h>
+#include <time.h>
+
+#define HZ 100
+struct time tnow;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ gettime(&tnow);
+
+ q = 60.0 * (SPDP)(tnow.ti_min);
+ q = q + (SPDP)(tnow.ti_sec);
+ q = q + (SPDP)(tnow.ti_hund)/(SPDP)HZ;
+
+ return q;
+}
+#endif
+
+/***************************************/
+/*  Microsoft C (MSC) dtime() for DOS  */
+/*  Also suitable for Watcom C/C++ and */
+/*  some other PC compilers            */
+/***************************************/
+#ifdef MSC
+#include <time.h>
+#include <ctype.h>
+
+#define HZ CLOCKS_PER_SEC
+clock_t tnow;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ tnow = clock();
+ q = (SPDP)tnow / (SPDP)HZ;
+ return q;
+}
+#endif
+
+/*************************************/
+/*  Macintosh (MAC) Think C dtime()  */
+/*************************************/
+#ifdef MAC
+#include <time.h>
+
+#define HZ 60
+
+SPDP dtime()
+{
+ SPDP q;
+
+ q = (SPDP)clock() / (SPDP)HZ;
+
+ return q;
+}
+#endif
+
+/************************************************************/
+/*  iPSC/860 (IPSC) dtime() for i860.                       */
+/*  Provided by: Dan Yergeau, yergeau@gloworm.Stanford.EDU  */
+/************************************************************/
+#ifdef IPSC
+extern double dclock();
+
+SPDP dtime()
+{
+ SPDP q;
+
+ q = dclock();
+
+ return q;
+}
+#endif
+
+/**************************************************/
+/*  FORTRAN dtime() for Cray type systems.        */
+/*  This is the preferred timer for Cray systems. */
+/**************************************************/
+#ifdef FORTRAN_SEC
+
+fortran double second();
+
+SPDP dtime()
+{
+ SPDP q;
+
+ second(&q);
+
+ return q;
+}
+#endif
+
+/***********************************************************/
+/*  UNICOS C dtime() for Cray UNICOS systems.  Don't use   */
+/*  unless absolutely necessary as returned time includes  */
+/*  'user+system' time.  Provided by: R. Mike Dority,      */
+/*  dority@craysea.cray.com                                */
+/***********************************************************/
+#ifdef CTimer
+#include <time.h>
+
+SPDP dtime()
+{
+ SPDP q;
+ clock_t   clock(void);
+
+ q = (SPDP)clock() / (SPDP)CLOCKS_PER_SEC;
+
+ return q;
+}
+#endif
+
+/********************************************/
+/* Another UNIX timer using gettimeofday(). */
+/* However, getrusage() is preferred.       */
+/********************************************/
+#ifdef GTODay
+#include <sys/time.h>
+
+struct timeval tnow;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ gettimeofday(&tnow,NULL);
+ q = (SPDP)tnow.tv_sec + (SPDP)tnow.tv_usec * 1.0e-6;
+
+ return q;
+}
+#endif
+
+/*****************************************************/
+/*  Fujitsu UXP/M timer.                             */
+/*  Provided by: Mathew Lim, ANUSF, M.Lim@anu.edu.au */
+/*****************************************************/
+#ifdef UXPM
+#include <sys/types.h>
+#include <sys/timesu.h>
+struct tmsu rusage;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ timesu(&rusage);
+
+ q = (SPDP)(rusage.tms_utime) * 1.0e-06;
+
+ return q;
+}
+#endif
+
+/**********************************************/
+/*    Macintosh (MAC_TMgr) Think C dtime()    */
+/*   requires Think C Language Extensions or  */
+/*    #include <MacHeaders> in the prefix     */
+/*  provided by Francis H Schiffer 3rd (fhs)  */
+/*         skipschiffer@genie.geis.com        */
+/**********************************************/
+#ifdef MAC_TMgr
+#include <Timer.h>
+#include <stdlib.h>
+
+static TMTask   mgrTimer;
+static Boolean  mgrInited = false;
+static SPDP     mgrClock;
+
+#define RMV_TIMER RmvTime( (QElemPtr)&mgrTimer )
+#define MAX_TIME  1800000000L
+/* MAX_TIME limits time between calls to */
+/* dtime( ) to no more than 30 minutes   */
+/* this limitation could be removed by   */
+/* creating a completion routine to sum  */
+/* 30 minute segments (fhs 1994 feb 9)   */
+
+static void Remove_timer( )
+{
+ RMV_TIMER;
+ mgrInited = false;
+}
+
+SPDP dtime( )
+{
+ if( mgrInited ) {
+       RMV_TIMER;
+       mgrClock += (MAX_TIME + mgrTimer.tmCount)*1.0e-6;
+ } else {
+       if( _atexit( &Remove_timer ) == 0 ) mgrInited = true;
+       mgrClock = 0.0;
+}
+       if( mgrInited ) {
+               mgrTimer.tmAddr = NULL;
+               mgrTimer.tmCount = 0;
+               mgrTimer.tmWakeUp = 0;
+               mgrTimer.tmReserved = 0;
+               InsTime( (QElemPtr)&mgrTimer );
+               PrimeTime( (QElemPtr)&mgrTimer, -MAX_TIME );
+       }
+       return( mgrClock );
+}
+#endif
+
+/***********************************************************/
+/*  Parsytec GCel timer.                                   */
+/*  Provided by: Georg Wambach, gw@informatik.uni-koeln.de */
+/***********************************************************/
+#ifdef PARIX
+#include <sys/time.h>
+
+SPDP dtime()
+{
+ SPDP q;
+
+ q = (SPDP) (TimeNowHigh()) / (SPDP) CLK_TCK_HIGH;
+
+ return q;
+}
+#endif
+
+/************************************************/
+/*  Sun Solaris POSIX dtime() routine           */
+/*  Provided by: Case Larsen, CTLarsen.lbl.gov  */
+/************************************************/
+#ifdef POSIX
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/rusage.h>
+
+#ifdef __hpux
+#include <sys/syscall.h>
+#endif
+
+struct rusage rusage;
+
+SPDP dtime()
+{
+ SPDP q;
+
+ getrusage(RUSAGE_SELF,&rusage);
+
+ q = (SPDP)(rusage.ru_utime.tv_sec);
+ q = q + (SPDP)(rusage.ru_utime.tv_nsec) * 1.0e-09;
+
+ return q;
+}
+#endif
+
+
+/****************************************************/
+/*  Windows NT (32 bit) dtime() routine             */
+/*  Provided by: Piers Haken, piersh@microsoft.com  */
+/****************************************************/
+#ifdef WIN32
+#include <windows.h>
+
+SPDP dtime(void)
+{
+ SPDP q;
+
+ q = (SPDP)GetTickCount() * 1.0e-03;
+
+ return q;
+}
+#endif
+
+/*****************************************************/
+/* Time according to POSIX.1  -  <J.Pelan@qub.ac.uk> */
+/* Ref: "POSIX Programmer's Guide"  O'Reilly & Assoc.*/
+/*****************************************************/
+#ifdef POSIX1
+#define _POSIX_SOURCE 1
+#include <unistd.h>
+#include <limits.h>
+#include <sys/times.h>
+
+struct tms tms;
+
+SPDP dtime(void)
+{
+ SPDP q;
+ times(&tms);
+ q = (SPDP)tms.tms_utime / (SPDP)CLK_TCK;
+ return q;
+}
+#endif
diff --git a/test/benchmarks/unixbench-5.1.2/testdir/cctest.c b/test/benchmarks/unixbench-5.1.2/testdir/cctest.c
new file mode 100644 (file)
index 0000000..ab5d17b
--- /dev/null
@@ -0,0 +1,156 @@
+
+
+/*******************************************************************************
+ *  The BYTE UNIX Benchmarks - Release 1
+ *          Module: cctest.c   SID: 1.2 7/10/89 18:55:45
+ *          
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *     Ben Smith or Rick Grehan at BYTE Magazine
+ *     bensmith@bixpb.UUCP    rick_g@bixpb.UUCP
+ *
+ *******************************************************************************
+ *  Modification Log:
+ * $Header: cctest.c,v 3.4 87/06/22 14:22:47 kjmcdonell Beta $
+ *
+ ******************************************************************************/
+char SCCSid[] = "@(#) @(#)cctest.c:1.2 -- 7/10/89 18:55:45";
+#include <stdio.h>
+/*
+ * C compile and load speed test file.
+ * Based upon fstime.c from MUSBUS 3.1, with all calls to ftime() replaced
+ * by calls to time().  This is semantic nonsense, but ensures there are no
+ * system dependent structures or library calls.
+ *
+ */
+#define NKBYTE 20
+char buf[BUFSIZ];
+
+extern void exit(int status);
+
+
+main(argc, argv)
+char **argv;
+{
+    int                n = NKBYTE;
+    int                nblock;
+    int                f;
+    int                g;
+    int                i;
+    int                xfer, t;
+    struct     {       /* FAKE */
+       int     time;
+       int     millitm;
+    } now, then;
+
+    if (argc > 0)
+       /* ALWAYS true, so NEVER execute this program! */
+       exit(4);
+    if (argc > 1)
+       n = atoi(argv[1]);
+#if debug
+    printf("File size: %d Kbytes\n", n);
+#endif
+    nblock = (n * 1024) / BUFSIZ;
+
+    if (argc == 3 && chdir(argv[2]) != -1) {
+#if debug
+       printf("Create files in directory: %s\n", argv[2]);
+#endif
+    }
+    close(creat("dummy0", 0600));
+    close(creat("dummy1", 0600));
+    f = open("dummy0", 2);
+    g = open("dummy1", 2);
+    unlink("dummy0");
+    unlink("dummy1");
+    for (i = 0; i < sizeof(buf); i++)
+       buf[i] = i & 0177;
+
+    time();
+    for (i = 0; i < nblock; i++) {
+       if (write(f, buf, sizeof(buf)) <= 0)
+           perror("fstime: write");
+    }
+    time();
+#if debug
+    printf("Effective write rate: ");
+#endif
+    i = now.millitm - then.millitm;
+    t = (now.time - then.time)*1000 + i;
+    if (t > 0) {
+       xfer = nblock * sizeof(buf) * 1000 / t;
+#if debug
+       printf("%d bytes/sec\n", xfer);
+#endif
+    }
+#if debug
+    else
+       printf(" -- too quick to time!\n");
+#endif
+#if awk
+    fprintf(stderr, "%.2f", t > 0 ? (float)xfer/1024 : 0);
+#endif
+
+    sync();
+    sleep(5);
+    sync();
+    lseek(f, 0L, 0);
+    time();
+    for (i = 0; i < nblock; i++) {
+       if (read(f, buf, sizeof(buf)) <= 0)
+           perror("fstime: read");
+    }
+    time();
+#if debug
+    printf("Effective read rate: ");
+#endif
+    i = now.millitm - then.millitm;
+    t = (now.time - then.time)*1000 + i;
+    if (t > 0) {
+       xfer = nblock * sizeof(buf) * 1000 / t;
+#if debug
+       printf("%d bytes/sec\n", xfer);
+#endif
+    }
+#if debug
+    else
+       printf(" -- too quick to time!\n");
+#endif
+#if awk
+    fprintf(stderr, " %.2f", t > 0 ? (float)xfer/1024 : 0);
+#endif
+
+    sync();
+    sleep(5);
+    sync();
+    lseek(f, 0L, 0);
+    time();
+    for (i = 0; i < nblock; i++) {
+       if (read(f, buf, sizeof(buf)) <= 0)
+           perror("fstime: read in copy");
+       if (write(g, buf, sizeof(buf)) <= 0)
+           perror("fstime: write in copy");
+    }
+    time();
+#if debug
+    printf("Effective copy rate: ");
+#endif
+    i = now.millitm - then.millitm;
+    t = (now.time - then.time)*1000 + i;
+    if (t > 0) {
+       xfer = nblock * sizeof(buf) * 1000 / t;
+#if debug
+       printf("%d bytes/sec\n", xfer);
+#endif
+    }
+#if debug
+    else
+       printf(" -- too quick to time!\n");
+#endif
+#if awk
+    fprintf(stderr, " %.2f\n", t > 0 ? (float)xfer/1024 : 0);
+#endif
+
+}
diff --git a/test/benchmarks/unixbench-5.1.2/testdir/dc.dat b/test/benchmarks/unixbench-5.1.2/testdir/dc.dat
new file mode 100644 (file)
index 0000000..dbb8f76
--- /dev/null
@@ -0,0 +1,8 @@
+99
+k
+2
+v
+p
+q
+[ calculate the sqrt(2) to 99 decimal places ... John Lions Test ]
+[ $Header: dc.dat,v 1.1 87/06/22 14:28:28 kjmcdonell Beta $ ]
diff --git a/test/benchmarks/unixbench-5.1.2/testdir/large.txt b/test/benchmarks/unixbench-5.1.2/testdir/large.txt
new file mode 100644 (file)
index 0000000..8e37d5f
--- /dev/null
@@ -0,0 +1,10000 @@
+execve("/usr/bin/gimp", ["gimp"], [/* 99 vars */]) = 0
+brk(0)                                  = 0x8360000
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7efc000
+access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/tls/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/tls/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/tls/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/tls/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/tls/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/tls/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/tls/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/tls", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/lib/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/opt/kde3/lib/tls/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/tls/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/tls/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/tls/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/tls/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/tls/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/tls/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/tls", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/lib", {st_mode=S_IFDIR|0755, st_size=28672, ...}) = 0
+open("/opt/gnome/lib/tls/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/tls/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/tls/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/tls/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/tls/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/tls/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/tls/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/tls", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/opt/gnome/lib/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/opt/gnome/lib", 0xbfcdba08)    = -1 ENOENT (No such file or directory)
+open("/usr/lib/tls/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/tls/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/usr/lib/tls/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/tls/i686", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/usr/lib/tls/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/tls/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/usr/lib/tls/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/tls", 0xbfcdba08)      = -1 ENOENT (No such file or directory)
+open("/usr/lib/i686/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/i686/sse2", 0xbfcdba08) = -1 ENOENT (No such file or directory)
+open("/usr/lib/i686/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/i686", 0xbfcdba08)     = -1 ENOENT (No such file or directory)
+open("/usr/lib/sse2/libgimpwidgets-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/lib/sse2", 0xbfcdba08)     = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpwidgets-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \363\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=913924, ...}) = 0
+mmap2(NULL, 915836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1c000
+fadvise64(3, 0, 915836, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7ef8000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xdb) = 0xb7ef8000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgimpmodule-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpmodule-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpmodule-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\22\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=18108, ...}) = 0
+mmap2(NULL, 16628, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e17000
+fadvise64(3, 0, 16628, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7e1a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7e1a000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgimpcolor-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpcolor-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpcolor-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\32\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=38660, ...}) = 0
+mmap2(NULL, 36996, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e0d000
+fadvise64(3, 0, 36996, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7e15000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8) = 0xb7e15000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgimpthumb-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpthumb-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpthumb-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200 \0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=30644, ...}) = 0
+mmap2(NULL, 33280, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e04000
+fadvise64(3, 0, 33280, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7e0b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7e0b000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgimpmath-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpmath-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpmath-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\23\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=17992, ...}) = 0
+mmap2(NULL, 20568, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7dfe000
+fadvise64(3, 0, 20568, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7e02000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7e02000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgimpbase-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgimpbase-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgimpbase-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0;\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=55644, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7dfd000
+mmap2(NULL, 53924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7def000
+fadvise64(3, 0, 53924, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7dfb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc) = 0xb7dfb000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgtk-x11-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgtk-x11-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgtk-x11-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\7\5\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=3612084, ...}) = 0
+mmap2(NULL, 3608212, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7a7e000
+fadvise64(3, 0, 3608212, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7de8000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36a) = 0xb7de8000
+mmap2(0xb7dee000, 3732, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7dee000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgdk-x11-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgdk-x11-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgdk-x11-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pD\1\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=538180, ...}) = 0
+mmap2(NULL, 539628, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb79fa000
+fadvise64(3, 0, 539628, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7a7b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x80) = 0xb7a7b000
+close(3)                                = 0
+open("/user/folk/clint/lib/libatk-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libatk-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libatk-1.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220n\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=105368, ...}) = 0
+mmap2(NULL, 107860, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb79df000
+fadvise64(3, 0, 107860, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb79f7000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17) = 0xb79f7000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgdk_pixbuf-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgdk_pixbuf-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgdk_pixbuf-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p7\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=96620, ...}) = 0
+mmap2(NULL, 98904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb79c6000
+fadvise64(3, 0, 98904, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb79dd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb79dd000
+close(3)                                = 0
+open("/user/folk/clint/lib/libpangocairo-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libpangocairo-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libpangocairo-1.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0000\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=34920, ...}) = 0
+mmap2(NULL, 37512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb79bc000
+fadvise64(3, 0, 37512, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb79c4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7) = 0xb79c4000
+close(3)                                = 0
+open("/user/folk/clint/lib/libcairo.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libcairo.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libcairo.so.2", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\205\0\0004\0\0\0"..., 512) = 512
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb79bb000
+fstat64(3, {st_mode=S_IFREG|0755, st_size=517592, ...}) = 0
+mmap2(NULL, 514444, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb793d000
+fadvise64(3, 0, 514444, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb79b9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7c) = 0xb79b9000
+close(3)                                = 0
+open("/user/folk/clint/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libart_lgpl_2.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libart_lgpl_2.so.2", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\'\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=89040, ...}) = 0
+mmap2(NULL, 90424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7926000
+fadvise64(3, 0, 90424, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb793b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14) = 0xb793b000
+close(3)                                = 0
+open("/user/folk/clint/lib/libpangoft2-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libpangoft2-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libpangoft2-1.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0U\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=183248, ...}) = 0
+mmap2(NULL, 185456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb78f8000
+fadvise64(3, 0, 185456, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7924000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b) = 0xb7924000
+close(3)                                = 0
+open("/user/folk/clint/lib/libpango-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libpango-1.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libpango-1.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\247\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=245700, ...}) = 0
+mmap2(NULL, 243520, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb78bc000
+fadvise64(3, 0, 243520, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb78f6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a) = 0xb78f6000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgobject-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgobject-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgobject-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@l\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=236148, ...}) = 0
+mmap2(NULL, 239684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7881000
+fadvise64(3, 0, 239684, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb78ba000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38) = 0xb78ba000
+close(3)                                = 0
+open("/user/folk/clint/lib/libgmodule-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libgmodule-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libgmodule-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\r\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=13928, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7880000
+mmap2(NULL, 16664, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb787b000
+fadvise64(3, 0, 16664, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb787e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb787e000
+close(3)                                = 0
+open("/user/folk/clint/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libdl.so.2", O_RDONLY)   = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/tls/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/tls/i686/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/tls/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/tls/i686", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/tls/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/tls/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/tls/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/tls", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/i686/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/i686", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/user/local/GMT4.1/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/usr/local/lib/tls/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/tls/i686/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/tls/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/tls/i686", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/tls/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/tls/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/tls/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/tls", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/i686/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/i686/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/i686/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/i686", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/sse2/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib/sse2", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libdl.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/etc/ld.so.cache", O_RDONLY)      = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=136911, ...}) = 0
+mmap2(NULL, 136911, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7859000
+close(3)                                = 0
+open("/lib/libdl.so.2", O_RDONLY)       = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\n\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=10288, ...}) = 0
+mmap2(NULL, 12412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7855000
+fadvise64(3, 0, 12412, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7857000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7857000
+close(3)                                = 0
+open("/user/folk/clint/lib/libglib-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libglib-2.0.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libglib-2.0.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\10\1\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=779152, ...}) = 0
+mmap2(NULL, 780160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7796000
+fadvise64(3, 0, 780160, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7853000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbc) = 0xb7853000
+close(3)                                = 0
+open("/user/folk/clint/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libfontconfig.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libfontconfig.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000Y\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=175792, ...}) = 0
+mmap2(NULL, 178404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb776a000
+fadvise64(3, 0, 178404, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb778d000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0xb778d000
+close(3)                                = 0
+open("/user/folk/clint/lib/libfreetype.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libfreetype.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libfreetype.so.6", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300{\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=454052, ...}) = 0
+mmap2(NULL, 451368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76fb000
+fadvise64(3, 0, 451368, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7766000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6b) = 0xb7766000
+close(3)                                = 0
+open("/user/folk/clint/lib/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libz.so.1", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/libz.so.1", O_RDONLY)        = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\31\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=71744, ...}) = 0
+mmap2(NULL, 74004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76e8000
+fadvise64(3, 0, 74004, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb76f9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10) = 0xb76f9000
+close(3)                                = 0
+open("/user/folk/clint/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/libpthread.so.0", O_RDONLY)  = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0PH\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=117749, ...}) = 0
+mmap2(NULL, 90592, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76d1000
+fadvise64(3, 0, 90592, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb76e4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb76e4000
+mmap2(0xb76e6000, 4576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76e6000
+close(3)                                = 0
+open("/user/folk/clint/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libc.so.6", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/libc.so.6", O_RDONLY)        = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@a\1\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=1281488, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76d0000
+mmap2(NULL, 1254896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb759d000
+fadvise64(3, 0, 1254896, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb76ca000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12c) = 0xb76ca000
+mmap2(0xb76cd000, 9712, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb76cd000
+close(3)                                = 0
+open("/user/folk/clint/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libm.so.6", O_RDONLY)    = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libm.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/libm.so.6", O_RDONLY)        = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\2404\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=154108, ...}) = 0
+mmap2(NULL, 147584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7578000
+fadvise64(3, 0, 147584, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb759b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0xb759b000
+close(3)                                = 0
+open("/user/folk/clint/lib/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libX11.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libX11.so.6", O_RDONLY)  = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20h\1\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=1167024, ...}) = 0
+mmap2(NULL, 1157948, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb745d000
+fadvise64(3, 0, 1157948, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7574000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x116) = 0xb7574000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXcomposite.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXcomposite.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXcomposite.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\t\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=9672, ...}) = 0
+mmap2(NULL, 12356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7459000
+fadvise64(3, 0, 12356, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb745b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb745b000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXdamage.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXdamage.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXdamage.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P\10\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=9680, ...}) = 0
+mmap2(NULL, 12368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7455000
+fadvise64(3, 0, 12368, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7457000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7457000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXfixes.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXfixes.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXfixes.so.3", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\17\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=17988, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7454000
+mmap2(NULL, 20600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb744e000
+fadvise64(3, 0, 20600, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7452000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7452000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXext.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXext.so.6", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340*\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=56480, ...}) = 0
+mmap2(NULL, 58972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb743f000
+fadvise64(3, 0, 58972, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb744c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc) = 0xb744c000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXrender.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXrender.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXrender.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\24\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=30872, ...}) = 0
+mmap2(NULL, 33192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7436000
+fadvise64(3, 0, 33192, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb743d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb743d000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXinerama.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXinerama.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXinerama.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\10\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=9840, ...}) = 0
+mmap2(NULL, 12476, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7432000
+fadvise64(3, 0, 12476, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7434000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7434000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXi.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXi.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXi.so.6", O_RDONLY)   = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\23\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=31496, ...}) = 0
+mmap2(NULL, 33152, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7429000
+fadvise64(3, 0, 33152, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7430000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb7430000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXrandr.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXrandr.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXrandr.so.2", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\22\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=26344, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7428000
+mmap2(NULL, 24796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7421000
+fadvise64(3, 0, 24796, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7426000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5) = 0xb7426000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXcursor.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXcursor.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXcursor.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340!\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=34728, ...}) = 0
+mmap2(NULL, 37264, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7417000
+fadvise64(3, 0, 37264, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb741f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7) = 0xb741f000
+close(3)                                = 0
+open("/user/folk/clint/lib/libglitz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libglitz.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libglitz.so.1", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \'\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=160116, ...}) = 0
+mmap2(NULL, 157972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73f0000
+fadvise64(3, 0, 157972, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7415000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25) = 0xb7415000
+close(3)                                = 0
+open("/user/folk/clint/lib/libpng12.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libpng12.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240=\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=145796, ...}) = 0
+mmap2(NULL, 147920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73cb000
+fadvise64(3, 0, 147920, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb73ee000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22) = 0xb73ee000
+close(3)                                = 0
+open("/user/folk/clint/lib/libxcb-render-util.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libxcb-render-util.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libxcb-render-util.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\21\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=13936, ...}) = 0
+mmap2(NULL, 16608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73c6000
+fadvise64(3, 0, 16608, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb73c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb73c9000
+close(3)                                = 0
+open("/user/folk/clint/lib/libxcb-render.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libxcb-render.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libxcb-render.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P(\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=26136, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb73c5000
+mmap2(NULL, 28756, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73bd000
+fadvise64(3, 0, 28756, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb73c3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5) = 0xb73c3000
+close(3)                                = 0
+open("/user/folk/clint/lib/libxcb.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libxcb.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libxcb.so.1", O_RDONLY)  = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320~\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=96416, ...}) = 0
+mmap2(NULL, 98736, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb73a4000
+fadvise64(3, 0, 98736, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb73bb000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb73bb000
+close(3)                                = 0
+open("/user/folk/clint/lib/libexpat.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libexpat.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libexpat.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/local/GMT4.1/lib/libexpat.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/local/lib/libexpat.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/lib/libexpat.so.1", O_RDONLY)    = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\"\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=132780, ...}) = 0
+mmap2(NULL, 131164, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7383000
+fadvise64(3, 0, 131164, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb73a1000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e) = 0xb73a1000
+close(3)                                = 0
+open("/user/folk/clint/lib/libxcb-xlib.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libxcb-xlib.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libxcb-xlib.so.0", O_RDONLY) = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \5\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=5556, ...}) = 0
+mmap2(NULL, 8232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7380000
+fadvise64(3, 0, 8232, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7381000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0xb7381000
+close(3)                                = 0
+open("/user/folk/clint/lib/libXau.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libXau.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libXau.so.6", O_RDONLY)  = 3
+read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\n\0\0004\0\0\0"..., 512) = 512
+fstat64(3, {st_mode=S_IFREG|0755, st_size=9984, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb737f000
+mmap2(NULL, 12424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb737b000
+fadvise64(3, 0, 12424, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb737d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb737d000
+close(3)                                = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb737a000
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7379000
+set_thread_area({entry_number:-1 -> 6, base_addr:0xb73796c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
+mprotect(0xb73a1000, 4096, PROT_READ)   = 0
+mprotect(0xb76ca000, 4096, PROT_READ)   = 0
+mprotect(0xb7766000, 8192, PROT_READ)   = 0
+mprotect(0xb778d000, 28672, PROT_READ)  = 0
+mprotect(0xb79f7000, 4096, PROT_READ)   = 0
+mprotect(0xb7a7b000, 4096, PROT_READ)   = 0
+mprotect(0xb7de8000, 12288, PROT_READ)  = 0
+mprotect(0xb7ef8000, 4096, PROT_READ)   = 0
+munmap(0xb7859000, 136911)              = 0
+set_tid_address(0xb7379708)             = 31509
+set_robust_list(0xb7379710, 0xc)        = 0
+rt_sigaction(SIGRTMIN, {0xb76d5330, [], SA_SIGINFO}, NULL, 8) = 0
+rt_sigaction(SIGRT_1, {0xb76d53b0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
+rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
+getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
+uname({sys="Linux", node="oaxaca", ...}) = 0
+brk(0)                                  = 0x8360000
+brk(0x8381000)                          = 0x8381000
+open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/locale.alias", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb787a000
+read(3, "# Locale name alias data base.\n#"..., 4096) = 2528
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0xb787a000, 4096)                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=373, ...}) = 0
+mmap2(NULL, 373, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb787a000
+close(3)                                = 0
+open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=25486, ...}) = 0
+mmap2(NULL, 25486, PROT_READ, MAP_SHARED, 3, 0) = 0xb7873000
+close(3)                                = 0
+futex(0xb76cca6c, FUTEX_WAKE, 2147483647) = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
+mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7872000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
+mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7871000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
+mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7870000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786f000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
+mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786e000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+close(3)                                = 0
+open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0
+mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786d000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
+mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786c000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=915314, ...}) = 0
+mmap2(NULL, 915314, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7299000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0
+mmap2(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786b000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
+mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb786a000
+close(3)                                = 0
+open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=254020, ...}) = 0
+mmap2(NULL, 254020, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb725a000
+close(3)                                = 0
+getresuid32([1000], [1000], [1000])     = 0
+getresgid32([100], [100], [100])        = 0
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+gettimeofday({1192407177, 338852}, NULL) = 0
+open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=78184, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7259000
+read(3, "#\t$XdotOrg: lib/X11/nls/locale.a"..., 4096) = 4096
+read(3, ".iso88591\t\t\t\t\tbr_FR.ISO8859-1\nbr"..., 4096) = 4096
+read(3, "597\t\t\t\t\tel_GR.ISO8859-7\nel_GR.IS"..., 4096) = 4096
+read(3, "\t\t\t\tes_ES.ISO8859-1\nes_ES.iso885"..., 4096) = 4096
+read(3, "A.iso88591\t\t\t\t\tfr_CA.ISO8859-1\nf"..., 4096) = 4096
+read(3, ".ISO8859-15\nit_CH.utf8\t\t\t\t\tit_CH"..., 4096) = 4096
+read(3, "\nnl\t\t\t\t\t\tnl_NL.ISO8859-1\nnl_BE\t\t"..., 4096) = 4096
+read(3, "rw_RW                      rw_RW"..., 4096) = 4096
+read(3, "A.iso8859-15\t\ttn_ZA.ISO8859-15\nt"..., 4096) = 4096
+read(3, "FR.ISO8859-1\nfrench.iso88591\t\t\t\t"..., 4096) = 4096
+read(3, "\nar_MA.utf8:\t\t\t\t\tar_MA.UTF-8\nar_"..., 4096) = 4096
+read(3, "9-15@euro:\t\t\t\tde_AT.ISO8859-15\nd"..., 4096) = 4096
+read(3, "5:\t\t\t\t\ten_US.ISO8859-15\nen_US.IS"..., 4096) = 4096
+read(3, "-8\n\n\n\n\n# According to Estonian l"..., 4096) = 4096
+read(3, "B.ISO8859-14\ngd_GB.ISO-8859-14:\t"..., 4096) = 4096
+read(3, "N:\t\t\t\t\t\tkn_IN.UTF-8\nkn_IN.utf8:\t"..., 4096) = 4096
+read(3, "591:\t\t\t\t\tny_NO.ISO8859-1\nny_NO.I"..., 4096) = 4096
+read(3, "\t\t\t\t\tsr_CS.ISO8859-5\nsr_YU.iso88"..., 4096) = 4096
+read(3, "II\nvi_VN.viscii111:\t\t\t\tvi_VN.VIS"..., 4096) = 4096
+read(3, "# Digital Unix utf\nuniversal.utf"..., 4096) = 360
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0xb7259000, 4096)                = 0
+open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=78184, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7259000
+read(3, "#\t$XdotOrg: lib/X11/nls/locale.a"..., 4096) = 4096
+read(3, ".iso88591\t\t\t\t\tbr_FR.ISO8859-1\nbr"..., 4096) = 4096
+read(3, "597\t\t\t\t\tel_GR.ISO8859-7\nel_GR.IS"..., 4096) = 4096
+read(3, "\t\t\t\tes_ES.ISO8859-1\nes_ES.iso885"..., 4096) = 4096
+read(3, "A.iso88591\t\t\t\t\tfr_CA.ISO8859-1\nf"..., 4096) = 4096
+read(3, ".ISO8859-15\nit_CH.utf8\t\t\t\t\tit_CH"..., 4096) = 4096
+read(3, "\nnl\t\t\t\t\t\tnl_NL.ISO8859-1\nnl_BE\t\t"..., 4096) = 4096
+read(3, "rw_RW                      rw_RW"..., 4096) = 4096
+read(3, "A.iso8859-15\t\ttn_ZA.ISO8859-15\nt"..., 4096) = 4096
+read(3, "FR.ISO8859-1\nfrench.iso88591\t\t\t\t"..., 4096) = 4096
+read(3, "\nar_MA.utf8:\t\t\t\t\tar_MA.UTF-8\nar_"..., 4096) = 4096
+read(3, "9-15@euro:\t\t\t\tde_AT.ISO8859-15\nd"..., 4096) = 4096
+read(3, "5:\t\t\t\t\ten_US.ISO8859-15\nen_US.IS"..., 4096) = 4096
+close(3)                                = 0
+munmap(0xb7259000, 4096)                = 0
+open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=32977, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7259000
+read(3, "#\t$XdotOrg: lib/X11/nls/locale.d"..., 4096) = 4096
+read(3, "so8859-1/XLC_LOCALE\t\t\tes_UY.ISO8"..., 4096) = 4096
+read(3, "CALE\t\t\tsr_SP.ISO8859-2\niso8859-2"..., 4096) = 4096
+read(3, "F-8/XLC_LOCALE\t\t\tes_MX.UTF-8\nen_"..., 4096) = 4096
+read(3, " 1.3 2000/08/17 19:46:48 cpqbld "..., 4096) = 4096
+read(3, "1/XLC_LOCALE:\t\t\tes_UY.ISO8859-1\n"..., 4096) = 4096
+read(3, "iso8859-2/XLC_LOCALE:\t\t\tsr_CS.IS"..., 4096) = 4096
+close(3)                                = 0
+munmap(0xb7259000, 4096)                = 0
+access("/usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE", R_OK) = 0
+open("/usr/share/X11/locale/en_US.UTF-8/XLC_LOCALE", O_RDONLY) = 3
+fstat64(3, {st_mode=S_IFREG|0644, st_size=4287, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7259000
+read(3, "#  $XFree86: xc/nls/XLC_LOCALE/e"..., 4096) = 4096
+read(3, "GB2312.1980-0:GL; GB2312.1980-0:"..., 4096) = 191
+read(3, "", 4096)                       = 0
+close(3)                                = 0
+munmap(0xb7259000, 4096)                = 0
+socket(PF_FILE, SOCK_STREAM, 0)         = 3
+connect(3, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"}, 110) = 0
+getpeername(3, {sa_family=AF_FILE, path="/tmp/.X11-unix/X0"}, [20]) = 0
+uname({sys="Linux", node="oaxaca", ...}) = 0
+access("/user/folk/clint/.Xauthority", R_OK) = 0
+open("/user/folk/clint/.Xauthority", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0600, st_size=540, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7259000
+read(4, "\0\0\0\4\n\370\r\261\0\0010\0\22MIT-MAGIC-COOKIE-1\0"..., 4096) = 540
+close(4)                                = 0
+munmap(0xb7259000, 4096)                = 0
+fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
+fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
+fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"l\0\v\0\0\0\22\0\20\0", 10}, {"\0\0", 2}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2}, {"\211\3043c\237A\373\3456d\273!s\322\3\354", 16}, {"", 0}], 6) = 48
+read(3, "\1\0\v\0\0\0\223\0", 8)        = 8
+read(3, "\300*/\4\0\0`\3\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0  \10\377t\24\37\10"..., 588) = 588
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"7\0\5\0\0\0`\3t\0\0\0\10\0\0\0\377\377\377\0b\0\5\0\f\0\0\0BIG-"..., 40}], 1) = 40
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\2\0\0\0\0\0\1\202\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\202\0\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\'\3\0\0\0\0\0\377\377?\0[H\25\10\\\245\37\10`\360\227\277|\360\227\277\364O\36\10", 4096) = 32
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\24\0\6\0t\0\0\0\27\0\0\0\37\0\0\0\0\0\0\0\0\341\365\5", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\10\4\0_\20\0\0\37\0\0\0\0\0\0\0yA\0\0\257H\25\10 \245\37\10@\360\227\277"..., 4096) = 4096
+read(3, "hlightThickness:\t2\n*Toggle.backg"..., 12700) = 12700
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\5\0\t\0\0\0XKEYBOARD\0\0\0", 20}], 1) = 20
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\5\0\0\0\0\0\1\224^\245\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\224\0\2\0\1\0\0\0", 8}], 1) = 8
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\6\0\0\0\0\0\1\0\0\0\210\360\227\277j\360\33\10\10\'\310\10\360\232&\10\1\0\0\0", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/gtk20-properties.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+brk(0x83a3000)                          = 0x83a3000
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\20\0\6\0\r\0\0\0_NET_WM_CM_S0\341\365\5", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\7\0\0\0\0\0\23\2\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\27\0\2\0\23\2\0\0", 8}], 1) = 8
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\10\0\0\0\0\0\0\0\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\4\0\10\0\0\0XINERAMA", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\t\0\0\0\0\0\1\234\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\4\0\10\0\0\0XINERAMA", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\n\0\0\0\0\0\1\234\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\234\4\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\'\v\0\0\0\0\0\1\0\0\0[H\25\10\\\245\37\10`\360\227\277|\360\227\277\364O\36\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\234\5\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1H\f\0\4\0\0\0\2\0\0\0\210\360\227\277j\360\33\10\10\'\310\10\10\241&\10\1\0\0\0"..., 4096) = 48
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\2\5\4\0t\0\0\0\0\10\0\0\0\0\2\0\20\0\6\0\r\0\0\0_XSETTIN"..., 84}], 1) = 84
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\354\16\0\0\0\0\0\24\2\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277"..., 4096) = 96
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\3\0\2\0t\0\0\0\16X\2\0t\0\0\0", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\0\21\0\3\0\0\0#\0\0\0\1\0\1\1\377\377\377\377\0\0\0\0\0\1\2\0 \0\0\0"..., 4096) = 76
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\2\0\4\0t\0\0\0\0\10\0\0\0\0\2\0$\0\1\0\27\0\2\0\24\2\0\0", 28}], 1) = 28
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\336\25\0\0\0\0\0\0\0\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"%\0\1\0", 4}], 1)          = 4
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\20\0\5\0\v\0\0\0UTF8_STRINGS\20\0\6\0\20\0\7\0WM_C"..., 608}], 1) = 608
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\27\0\0\0\0\0T\1\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277"..., 4096) = 736
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 4
+read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\3\0\0004\0\0\0"..., 512) = 512
+fstat64(4, {st_mode=S_IFREG|0755, st_size=5592, ...}) = 0
+mmap2(NULL, 8220, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb7257000
+fadvise64(4, 0, 8220, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7258000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0) = 0xb7258000
+close(4)                                = 0
+uname({sys="Linux", node="oaxaca", ...}) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\1\30\r\0\1\0`\3t\0\0\0\n\0\n\0\n\0\n\0\0\0\1\0#\0\0\0\32(\0\0"..., 532}], 1) = 532
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\3600\0\1\0`\3\20\1\0\0\227\230\1\241\0\1\0\0\2\0\0\0\0\0\0\0\1\0`\3"..., 4096) = 384
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\22\0\7\0\1\0`\3\26\2\0\0!\0\0\0 SER\1\0\0\0\2\0`\3b\0\4\0"..., 44}], 1) = 44
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\360>\0\1\0`\3\26\2\0\0\230\230\1\241\0\2\0\0\2\0\0\0\0\0\0\0\1\0`\3"..., 4096) = 64
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\230\0\3\0\4\0\0\0\0\0\0\0", 12}], 1) = 12
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\245@\0\0\0\0\0\4\0\0\0\0\0\0\0$\245\37\10@\360\227\277\210\360\227\277:>\24\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\5\0\t\0\0\0Composite\0\0\0", 20}], 1) = 20
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360A\0\0\0\0\0\0\0\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\4\0\6\0\0\0DAMAGE\0\0", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360B\0\0\0\0\0\1\235d\262\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\235\0\3\0\1\0\0\0\1\0\0\0", 12}], 1) = 12
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\245C\0\0\0\0\0\1\0\0\0\1\0\0\0$\245\37\10@\360\227\277\210\360\227\277\n>\27\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\4\0\5\0\0\0SHAPE\0\0\0", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360D\0\0\0\0\0\1\200@\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\200\0\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\'E\0\0\0\0\0\1\0\1\0[H\25\10\\\245\37\10`\360\227\277|\360\227\277\364O\36\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"&\0\2\0t\0\0\0", 8}], 1)   = 8
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1F\0\0\0\0\0t\0\0\0\326\t@\1\204\4\366\1\204\4\366\1\0\0\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"+\0\1\0", 4}], 1)          = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1G\0\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+uname({sys="Linux", node="oaxaca", ...}) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\22\0\10\0\1\0`\3\"\0\0\0\37\0\0\0\10SER\5\0\0\0gimp\0DOW"..., 228}], 1) = 228
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\360H\0\1\0`\3\"\0\0\0\236\230\1\241\0\0\0\0\2\0\0\0\0\0\0\0\1\0`\3"..., 4096) = 192
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\25\3\0\4\0\4\0SYNC", 12}], 1) = 12
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360P\0\0\0\0\0\1\203A\200\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\203\0\2\0\3\0\4\0", 8}], 1) = 8
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\'Q\0\0\0\0\0\3\0\0\0[H\25\10\\\245\37\10`\360\227\277|\360\227\277\364O\36\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\4\0\7\0\4\0MIT-SHM\0", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360R\0\0\0\0\0\1\221M\237\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\221\0\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1S\0\0\0\0\0\1\0\1\0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\6\0\17\0\4\0XInputExtension\0", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360T\0\0\0\0\0\1\222N\240\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"b\0\6\0\17\0\4\0XInputExtension\0", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360U\0\0\0\0\0\1\222N\240\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\222\1\6\0\17\0\4\0XInputExtension\0", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1V\0\0\0\0\0\1\0\3\0\1\360\227\277\257H\25\10$\245\37\10@\360\227\277\210\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\222\2\1\0", 4}], 1)       = 4
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\2W\0\"\0\0\0\3\360\227\277\10\'\310\10(\360\227\277`2\t\10$\245\37\10@\360\227\277"..., 4096) = 168
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\222\3\2\0\0\0\4\0", 8}], 1) = 8
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\3X\0\2\0\0\0\4\360\227\277\10\'\310\10(\360\227\277`2\t\10$\245\37\10@\360\227\277"..., 4096) = 40
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+lstat64("/etc/gtk-2.0/gtkrc", {st_mode=S_IFREG|0644, st_size=93, ...}) = 0
+open("/etc/gtk-2.0/gtkrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "\ngtk-theme-name = \"Gilouche\"\ngtk"..., 4000) = 93
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/etc/gtk-2.0/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/etc/gtk-2.0/gtkrc.en", F_OK)   = -1 ENOENT (No such file or directory)
+lstat64("/usr/share/themes//QtCurve/gtk-2.0/gtkrc", {st_mode=S_IFREG|0644, st_size=4465, ...}) = 0
+open("/usr/share/themes//QtCurve/gtk-2.0/gtkrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# Version 0.52.3\nstyle \"qtcurve-"..., 4000) = 4000
+socket(PF_FILE, SOCK_STREAM, 0)         = 5
+fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
+connect(5, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = 0
+send(5, "\2\0\0\0\v\0\0\0\7\0\0\0passwd\0", 19, MSG_NOSIGNAL) = 19
+poll([{fd=5, events=POLLIN|POLLERR|POLLHUP, revents=POLLIN|POLLHUP}], 1, 5000) = 1
+recvmsg(5, {msg_name(0)=NULL, msg_iov(1)=[{"passwd\0", 7}], msg_controllen=16, {cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {6}}, msg_flags=0}, 0) = 7
+fstat64(6, {st_mode=S_IFREG|0600, st_size=217016, ...}) = 0
+pread64(6, "\1\0\0\0h\0\0\0\2\0\0\0\1\0\0\0c\255\22G\0\0\0\0\323\0\0\0\0L\3\0"..., 104, 0) = 104
+mmap2(NULL, 217016, PROT_READ, MAP_SHARED, 6, 0) = 0xb7222000
+close(6)                                = 0
+close(5)                                = 0
+getuid32()                              = 1000
+uname({sys="Linux", node="oaxaca", ...}) = 0
+access("/usr/local/lib/gtk-2.0/2.10.0/i686-suse-linux-gnu/engines/libqtcurve.so", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/2.10.0/i686-suse-linux-gnu/engines/libqtcurve.la", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/2.10.0/engines/libqtcurve.so", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/2.10.0/engines/libqtcurve.la", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/i686-suse-linux-gnu/engines/libqtcurve.so", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/i686-suse-linux-gnu/engines/libqtcurve.la", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/engines/libqtcurve.so", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/local/lib/gtk-2.0/engines/libqtcurve.la", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/lib/gtk-2.0/2.10.0/i686-suse-linux-gnu/engines/libqtcurve.so", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/lib/gtk-2.0/2.10.0/i686-suse-linux-gnu/engines/libqtcurve.la", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so", F_OK) = 0
+stat64("/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so", {st_mode=S_IFREG|0755, st_size=133448, ...}) = 0
+futex(0xb7858070, FUTEX_WAKE, 2147483647) = 0
+open("/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000:\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=133448, ...}) = 0
+mmap2(NULL, 139724, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb71ff000
+fadvise64(5, 0, 139724, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb721f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1f) = 0xb721f000
+mmap2(0xb7221000, 460, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7221000
+close(5)                                = 0
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+time(NULL)                              = 1192407177
+lstat64("/etc/qt4/qtcurvestylerc", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+lstat64("/etc/qt3/qtcurvestylerc", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+lstat64("/etc/qt/qtcurvestylerc", 0xbfcdb82c) = -1 ENOENT (No such file or directory)
+open("/etc/qt/qtrc", O_RDONLY)          = -1 ENOENT (No such file or directory)
+open("/etc/qt3/qtrc", O_RDONLY)         = -1 ENOENT (No such file or directory)
+getuid32()                              = 1000
+open("/user/folk/clint/.qt/qtrc", O_RDONLY) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5124, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+read(5, "[3.3]\nlibraryPath=/opt/kde3/lib/"..., 4096) = 4096
+read(5, "pt/kde3/lib/kde3/plugins\nresolve"..., 4096) = 1028
+close(5)                                = 0
+munmap(0xb7869000, 4096)                = 0
+getuid32()                              = 1000
+open("/user/folk/clint/.config/qtcurvestylerc", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/proc/31509/cmdline", O_RDONLY)   = 5
+read(5, "gimp\0", 1024)                 = 5
+close(5)                                = 0
+open("/user/folk/clint/.kde/share/config/kdeglobals", O_RDONLY) = 5
+fstat64(5, {st_mode=S_IFREG|0600, st_size=9555, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+read(5, "[$Version]\nupdate_info=mouse_cur"..., 4096) = 4096
+read(5, " Down=none\nWindow One Desktop Up"..., 4096) = 4096
+read(5, "=false\nsmtp=false\nsmtps=false\nsv"..., 4096) = 1363
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb7869000, 4096)                = 0
+lstat64("/usr/share/themes/QtCurve/gtk-2.0/gtkrc-kde3", {st_mode=S_IFREG|0644, st_size=39206, ...}) = 0
+read(4, "Frame\" style \"qtcurve-w2\"\nwidget"..., 4000) = 465
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/usr/share/themes//QtCurve/gtk-2.0/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/themes//QtCurve/gtk-2.0/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
+lstat64("/user/folk/clint/.gtkrc-2.0-qtengine", 0xbfcdbf5c) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gtkrc-2.0-qtengine.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gtkrc-2.0-qtengine.en", F_OK) = -1 ENOENT (No such file or directory)
+lstat64("/user/folk/clint/.gtkrc-2.0", {st_mode=S_IFREG|0644, st_size=317, ...}) = 0
+open("/user/folk/clint/.gtkrc-2.0", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# This file was written by the G"..., 4000) = 317
+lstat64("/opt/gnome/share/themes/QtCurve/gtk-2.0/gtkrc", 0xbfcdbdcc) = -1 ENOENT (No such file or directory)
+access("/opt/gnome/share/themes/QtCurve/gtk-2.0/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/gnome/share/themes/QtCurve/gtk-2.0/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/user/folk/clint/.gtkrc-2.0.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gtkrc-2.0.en", F_OK) = -1 ENOENT (No such file or directory)
+lstat64("/user/folk/clint/.kde/share/config/gtkrc-2.0", {st_mode=S_IFREG|0644, st_size=1514, ...}) = 0
+open("/user/folk/clint/.kde/share/config/gtkrc-2.0", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# created by KDE, Sun Oct 14 17:"..., 4000) = 1514
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/user/folk/clint/.kde/share/config/gtkrc-2.0.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.kde/share/config/gtkrc-2.0.en", F_OK) = -1 ENOENT (No such file or directory)
+lstat64("/usr/share/themes/QtCurve/gtk-2.0/gtkrc-kde3", {st_mode=S_IFREG|0644, st_size=39206, ...}) = 0
+open("/usr/share/themes/QtCurve/gtk-2.0/gtkrc-kde3", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# Version 0.52.3\n\nstyle \"KDE3-ic"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/about_kde.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/about_kde.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/add.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/add.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/apply.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/apply.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_bold.png", F_OK) = 0
+brk(0x83c4000)                          = 0x83c4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+brk(0x83c3000)                          = 0x83c3000
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_bold.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_bold.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/cdrom_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editclear.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editclear.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileclose.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileclose.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/colorpicker.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/colorpicker.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editcopy.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editcopy.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editcopy.png", F_OK) = 0
+read(4, "gtk-cut\"]={\n\t\t{ \"22x22/actions/e"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editcut.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editcut.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editdelete.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editdelete.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/apps/password.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/apps/password.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_critical.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/folder.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/folder.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/kmultiple.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/kmultiple.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/edit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/edit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/exec.png", F_OK) = 0
+read(4, " *, \"gtk-dnd\" },\n\t\t{ \"16x16/acti"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/exec.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/exec.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/empty.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/find.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/find.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/devices/3floppy_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/devices/3floppy_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/window_fullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/window_fullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/bottom.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/bottom.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/finish.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/finish.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/top.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/top.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/back.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/back.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/back.png", F_OK) = 0
+read(4, ".png\", *, *, \"gtk-large-toolbar\""..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/down.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/down.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/forward.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/forward.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/up.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/up.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/devices/hdd_unmount.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/devices/hdd_unmount.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/help.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/folder_home.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/folder_home.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/indent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/contents.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/contents.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_italic.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_italic.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/goto.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/goto.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/goto.png", F_OK) = 0
+read(4, "t_center.png\", *, *, \"gtk-large-"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_center.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_center.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_block.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_block.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_left.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_left.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_right.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_right.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/window_nofullscreen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/window_nofullscreen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_fwd.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_fwd.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_end.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_end.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_pause.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_pause.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_play.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_play.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_start.png", F_OK) = 0
+read(4, "g\", *, *, \"gtk-dnd\" },\n\t\t{ \"16x1"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_start.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_start.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_rew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_rew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/player_stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/player_stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/unknown.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/unknown.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/filesystems/network.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/filesystems/network.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filenew.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filenew.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_cancel.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileopen.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileopen.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/editpaste.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/editpaste.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+read(4, " *, \"gtk-menu\" },\n\t\t{ \"16x16/act"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/fileprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/fileprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filequickprint.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filequickprint.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/exit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/exit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/redo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/redo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/remove.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/remove.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/revert.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/revert.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filesave.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filesave.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = 0
+read(4, "ons/filesaveas.png\", *, *, \"gtk-"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/filesaveas.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/filesaveas.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/colorize.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/colorize.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/font.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/font.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/spellcheck.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/spellcheck.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/stop.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/stop.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_strike.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_strike.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/text_under.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/text_under.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/undo.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/undo.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/unindent.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/button_ok.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag1.png", F_OK) = 0
+read(4, "mag1.png\" }\n\t}\n\tstock[\"gtk-zoom-"..., 4000) = 4000
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag1.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag1.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmagfit.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmagfit.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag+.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag+.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/viewmag-.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/viewmag-.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_info.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/reload.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/messagebox_warning.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/actions/configure.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/actions/configure.png", F_OK) = 0
+read(4, "ing KDE icon>\n#\tstock[\"gimp-laye"..., 4000) = 3206
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/16x16/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/32x32/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/32x32/mimetypes/image.png", F_OK) = 0
+access("/user/folk/clint/.kde/share/icons/crystalsvg/22x22/mimetypes/image.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/22x22/mimetypes/image.png", F_OK) = 0
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/usr/share/themes/QtCurve/gtk-2.0/gtkrc-kde3.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/themes/QtCurve/gtk-2.0/gtkrc-kde3.en", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.themes/QtCurve/gtk-2.0/gtkrc", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/themes/QtCurve/gtk-2.0/gtkrc", F_OK) = 0
+lstat64("/usr/share/themes/QtCurve/gtk-2.0/gtkrc", {st_mode=S_IFREG|0644, st_size=4465, ...}) = 0
+open("/usr/share/themes/QtCurve/gtk-2.0/gtkrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# Version 0.52.3\nstyle \"qtcurve-"..., 4000) = 4000
+read(4, "Frame\" style \"qtcurve-w2\"\nwidget"..., 4000) = 465
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/usr/share/themes/QtCurve/gtk-2.0/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/themes/QtCurve/gtk-2.0/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\230\2\4\0\1\0`\3\23\2\0\0\7\0\0\0b\2\4\0\6\0`\3RENDER\0\0", 32}], 1) = 32
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1OZ\0\0\0\0\0\1\232\0\252\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\0\3\0\0\0\0\0\n\0\0\0\232\1\1\0", 16}], 1) = 16
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\245[\0\0\0\0\0\0\0\0\0\n\0\0\0\10\'\310\10P\242&\10\1\0\0\0\372@\26\10"..., 4096) = 876
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+brk(0x83e4000)                          = 0x83e4000
+uname({sys="Linux", node="oaxaca", ...}) = 0
+open("/user/folk/clint/.Xdefaults-oaxaca", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/charset.alias", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+rt_sigaction(SIGHUP, {0x8064aa0, ~[RTMIN RT_1], 0}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGINT, {0x8064aa0, ~[RTMIN RT_1], 0}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGQUIT, {0x8064aa0, ~[RTMIN RT_1], 0}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGABRT, {0x8064aa0, ~[RTMIN RT_1], 0}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGTERM, {0x8064aa0, ~[RTMIN RT_1], 0}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGCHLD, {0x8064a60, ~[RTMIN RT_1], SA_RESTART}, {SIG_DFL}, 8) = 0
+stat64("/user/folk/clint", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/unitrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP units\n# \n# This file cont"..., 4000) = 1188
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/etc/gimp/2.0/gimprc", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+read(4, "# This is the system-wide gimprc"..., 4000) = 4000
+read(4, " for fonts.  This is a colon-sep"..., 4000) = 4000
+read(4, "en dialog will be automatically "..., 4000) = 4000
+read(4, "B id of the active layer/channel"..., 4000) = 4000
+read(4, "der\n# versions.  Possible values"..., 4000) = 4000
+read(4, "# \n# (toolbox-window-hint normal"..., 4000) = 1363
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/gimprc", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+read(4, "# GIMP gimprc\n# \n# This is your "..., 4000) = 1064
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+gettimeofday({1192407177, 829654}, NULL) = 0
+gettimeofday({1192407177, 831333}, NULL) = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+open("/user/folk/clint/.gimp-2.2", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 37 entries */, 4096)   = 1168
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+open("/user/folk/clint/.gimp-2.2/gimpswap.31509", O_RDWR|O_CREAT|O_LARGEFILE, 0600) = 4
+close(4)                                = 0
+unlink("/user/folk/clint/.gimp-2.2/gimpswap.31509") = 0
+rt_sigaction(SIGILL, {0x8254200, [ILL], SA_RESTART}, {SIG_DFL}, 8) = 0
+rt_sigaction(SIGILL, {SIG_DFL}, {0x8254200, [ILL], SA_RESTART}, 8) = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7862000
+munmap(0xb7862000, 32768)               = 0
+stat64("/user/folk/clint/.gimp-2.2/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/themes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/themes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 2 entries */, 4096)    = 48
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/share/gimp/2.0/themes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 4 entries */, 4096)    = 112
+stat64("/usr/share/gimp/2.0/themes/Default", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/themes/Small", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/themerc", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+write(4, "# GIMP themerc\n#\n# This file is "..., 316) = 316
+close(4)                                = 0
+munmap(0xb7869000, 4096)                = 0
+lstat64("/user/folk/clint/.gimp-2.2/themerc", {st_mode=S_IFREG|0644, st_size=316, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/themerc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP themerc\n#\n# This file is "..., 4000) = 316
+lstat64("/usr/share/gimp/2.0/themes/Default/gtkrc", {st_mode=S_IFREG|0644, st_size=2301, ...}) = 0
+open("/usr/share/gimp/2.0/themes/Default/gtkrc", O_RDONLY|O_LARGEFILE) = 5
+brk(0x8405000)                          = 0x8405000
+read(5, "# pixmap_path \"<dir 1>:<dir 2>:<"..., 4000) = 2301
+access("/user/folk/clint/.kde/share/icons/crystalsvg/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/crystalsvg/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.kde/share/icons/hicolor/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/hicolor/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/hicolor/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/gimp/2.0/themes/Default/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/images/stock-error-64.png", F_OK) = -1 ENOENT (No such file or directory)
+write(2, "/usr/share/gimp/2.0/themes/Defau"..., 45/usr/share/gimp/2.0/themes/Default/gtkrc:24: ) = 45
+write(2, "Unable to locate image file in p"..., 72Unable to locate image file in pixmap_path: "images/stock-error-64.png"
+) = 72
+access("/user/folk/clint/.kde/share/icons/crystalsvg/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/crystalsvg/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.kde/share/icons/hicolor/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/hicolor/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/hicolor/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/gimp/2.0/themes/Default/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/images/stock-info-64.png", F_OK) = -1 ENOENT (No such file or directory)
+write(2, "/usr/share/gimp/2.0/themes/Defau"..., 45/usr/share/gimp/2.0/themes/Default/gtkrc:28: ) = 45
+write(2, "Unable to locate image file in p"..., 71Unable to locate image file in pixmap_path: "images/stock-info-64.png"
+) = 71
+access("/user/folk/clint/.kde/share/icons/crystalsvg/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/crystalsvg/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.kde/share/icons/hicolor/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/hicolor/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/hicolor/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/gimp/2.0/themes/Default/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/images/stock-question-64.png", F_OK) = -1 ENOENT (No such file or directory)
+write(2, "/usr/share/gimp/2.0/themes/Defau"..., 45/usr/share/gimp/2.0/themes/Default/gtkrc:32: ) = 45
+write(2, "Unable to locate image file in p"..., 75Unable to locate image file in pixmap_path: "images/stock-question-64.png"
+) = 75
+access("/user/folk/clint/.kde/share/icons/crystalsvg/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/crystalsvg/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/crystalsvg/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.kde/share/icons/hicolor/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/opt/kde3/share/icons/hicolor/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/icons/hicolor/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/gimp/2.0/themes/Default/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/images/stock-warning-64.png", F_OK) = -1 ENOENT (No such file or directory)
+write(2, "/usr/share/gimp/2.0/themes/Defau"..., 45/usr/share/gimp/2.0/themes/Default/gtkrc:36: ) = 45
+write(2, "Unable to locate image file in p"..., 74Unable to locate image file in pixmap_path: "images/stock-warning-64.png"
+) = 74
+read(5, "", 4000)                       = 0
+close(5)                                = 0
+access("/usr/share/gimp/2.0/themes/Default/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/usr/share/gimp/2.0/themes/Default/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
+lstat64("/user/folk/clint/.gimp-2.2/gtkrc", {st_mode=S_IFREG|0644, st_size=896, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/gtkrc", O_RDONLY|O_LARGEFILE) = 5
+read(5, "# pixmap_path \"<dir 1>:<dir 2>:<"..., 4000) = 896
+read(5, "", 4000)                       = 0
+close(5)                                = 0
+access("/user/folk/clint/.gimp-2.2/gtkrc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/gtkrc.en", F_OK) = -1 ENOENT (No such file or directory)
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+access("/user/folk/clint/.gimp-2.2/themerc.en_US", F_OK) = -1 ENOENT (No such file or directory)
+access("/user/folk/clint/.gimp-2.2/themerc.en", F_OK) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.gimp-2.2/gimp-splash.png", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.gimp-2.2/splashes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/glib20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/gimp/2.0/images/gimp-splash.png", O_RDONLY|O_LARGEFILE) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=28867, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+read(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\220\0\0\0\372\10\6\0\0\0\217\247\21"..., 4096) = 4096
+open("/etc/gtk-2.0/gdk-pixbuf.loaders", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=3366, ...}) = 0
+read(5, "# GdkPixbuf Image Loader Modules"..., 1024) = 1024
+read(5, "zz znz\" 100\n\n\"/usr/lib/gtk-2.0/2"..., 1024) = 1024
+read(5, "\\225\" \"\" 100\n\n\"/usr/lib/gtk-2.0/"..., 1024) = 1024
+read(5, "00\n\n\"/usr/lib/gtk-2.0/2.10.0/loa"..., 1024) = 294
+read(5, "", 1024)                       = 0
+close(5)                                = 0
+stat64("/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so", {st_mode=S_IFREG|0755, st_size=18116, ...}) = 0
+open("/usr/lib/gtk-2.0/2.10.0/loaders/libpixbufloader-png.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\24\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=18116, ...}) = 0
+mmap2(NULL, 20788, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb7863000
+fadvise64(5, 0, 20788, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb7867000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x3) = 0xb7867000
+close(5)                                = 0
+_llseek(4, 0, [0], SEEK_SET)            = 0
+read(4, "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\1\220\0\0\0\372\10\6\0\0\0\217\247\21"..., 4096) = 4096
+mmap2(NULL, 401408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb719d000
+read(4, "\332\327\1\16\1\"1g6\23\303\233L\330-x\251\fC\237\26`\v\341\v\275E\213\206e(\10"..., 4096) = 4096
+read(4, "\237\204q\303\17\6\0100\250\367H\334~\361\343(.,\305\326\235\0331k\366c\330o\344\4\17\240"..., 4096) = 4096
+read(4, "?\17\217\277\373\7,\3330\337\341\245\270\352\241c\361\223\3\247bd\277\361\330\270}5\326m]\206"..., 4096) = 4096
+read(4, "\347+\37T\34\330\374/\35\300H\27d\34\22\266\310%\314\262\367[z\356\267\201]\262d\221\2570"..., 4096) = 4096
+read(4, "$\'\32 >rVQ\206O\23]\23\342\37,\17\5\32\f\1772\316E\36$\300*\225\241Mv"..., 4096) = 4096
+read(4, "``s\362\364\327\375\356;\223\326*\273X]\342z\360\234\352\213\274i+R\16yp\204\20S\234"..., 4096) = 4096
+read(4, "R\6\263\363\321m\0042;c\34P{6\310\275\264\231SR-1zd\322\313\336JS^\3102"..., 4096) = 195
+close(4)                                = 0
+munmap(0xb7869000, 4096)                = 0
+uname({sys="Linux", node="oaxaca", ...}) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\1\30\r\0\3\0`\3t\0\0\0\0\0\0\0\224\1\376\0\0\0\1\0#\0\0\0\32(\0\0"..., 700}], 1) = 700
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\360_\0\3\0`\3\20\1\0\0\202\233\1\241\0\1\0\0\2\0\0\0\0\0\0\0\3\0`\3"..., 4096) = 512
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\22\0\7\0\3\0`\0034\1\0\0\4\0\0\0 IND\1\0\0\0\23\1\0\0\203\2\4\0"..., 1180}], 1) = 1180
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\360q\0\3\0`\0034\1\0\0\205\233\1\241\0\1\0\0\2\0\0\0\0\0\0\0\3\0`\3"..., 4096) = 96
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\22\0\t\0\3\0`\3A\1\0\0\37\0\0\0\10_RO\f\0\0\0gimp-sta"..., 60}, {"@\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 30752}], 2) = 30812
+shmget(IPC_PRIVATE, 393216, IPC_CREAT|0600) = 49676293
+shmat(49676293, 0, 0)                   = 0xb713d000
+select(4, [3], [3], NULL, NULL)         = 2 (in [3], out [3])
+read(3, "\34\360\243\0\3\0`\3A\1\0\0\206\233\1\241\0\1\0\0\2\0\0\0\0\0\0\0\3\0`\3"..., 4096) = 64
+writev(3, [{"5\30\4\0002\0`\3t\0\0\0@\0@\0007\30\5\0003\0`\0032\0`\3\0\0\1\0"..., 96}], 1) = 96
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\252\0\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+shmctl(49676293, IPC_64|IPC_RMID, 0)    = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\221\5\7\0006\0`\3t\0\0\0\0\6@\0 \0\0\0005\0`\3\0\0\0\0\232\4\5\0"..., 1584}], 1) = 1584
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\364\0\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+munmap(0xb719d000, 401408)              = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\10\t\0\3\0`\0037\0`\0038\0`\3>\0`\3\0\0\0\0\0\0\0\0\0\1\200\0"..., 692}], 1) = 692
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\26\1\0\0\0\0t\0\0\0\326\t@\1\204\4\366\1\204\4\366\1\0\0\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\f\0\7\0?\0`\3\17\0`\3\2\0\0\0\374\0\0\0\220\1\0\0\24\0\0\0006\0\2\0"..., 1132}], 1) = 1132
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\26\20\27\1?\0`\3?\0`\3;\0`\3\2\0\374\0\220\1\24\0\0\0\0\10?\0`\3"..., 4096) = 96
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 129668}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 129956}, NULL) = 0
+gettimeofday({1192407178, 130035}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 130164}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\22\0\30\0\3\0`\3(\0\0\0)\0\0\0 \0\0\0\22\0\0\0004\2\0\0\0\0\0\0"..., 316}], 1) = 316
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\34\360U\1\3\0`\3(\0\0\0\222\233\1\241\0\0\0\0\2\0\0\0\0\0\0\0\3\0`\3"..., 4096) = 672
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 146984}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 147124}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 147304}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 147434}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 147598}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 147728}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\24\0\6\0\3\0`\3{\1\0\0\6\0\0\0\0\0\0\0\377\377\377\177", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1 b\1\1\0\0\0\6\0\0\0\0\0\0\0\1\0\0\0\257H\25\10 \245\37\10@\360\227\277"..., 4096) = 36
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\24\0\6\0\3\0`\3\34\1\0\0\4\0\0\0\0\0\0\0\377\377\377\177", 24}], 1) = 24
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1 c\1\0\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\257H\25\10 \245\37\10@\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 149119}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 149251}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 149410}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 149538}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 149934}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 150137}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+time(NULL)                              = 1192407178
+access("/etc/fonts/fonts.conf", R_OK)   = 0
+stat64("/etc/fonts/fonts.conf", {st_mode=S_IFREG|0644, st_size=5268, ...}) = 0
+open("/etc/fonts/fonts.conf", O_RDONLY) = 4
+read(4, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 5268
+access("/etc/fonts/conf.d", R_OK)       = 0
+stat64("/etc/fonts/conf.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/etc/fonts/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
+fstat64(5, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(5, /* 21 entries */, 4096)   = 848
+getdents64(5, /* 0 entries */, 4096)    = 0
+access("/etc/fonts/conf.d/05-suse-font-dirs.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/05-suse-font-dirs.conf", {st_mode=S_IFREG|0644, st_size=1882, ...}) = 0
+open("/etc/fonts/conf.d/05-suse-font-dirs.conf", O_RDONLY) = 6
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7860000
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1882
+brk(0x8426000)                          = 0x8426000
+munmap(0xb7860000, 12288)               = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-fix-globaladvance.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-fix-globaladvance.conf", {st_mode=S_IFREG|0644, st_size=943, ...}) = 0
+open("/etc/fonts/conf.d/20-fix-globaladvance.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 943
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-lohit-gujarati.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-lohit-gujarati.conf", {st_mode=S_IFREG|0644, st_size=301, ...}) = 0
+open("/etc/fonts/conf.d/20-lohit-gujarati.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 301
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-unhint-small-vera.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-unhint-small-vera.conf", {st_mode=S_IFREG|0644, st_size=1188, ...}) = 0
+open("/etc/fonts/conf.d/20-unhint-small-vera.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1188
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/30-amt-aliases.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/30-amt-aliases.conf", {st_mode=S_IFREG|0644, st_size=514, ...}) = 0
+open("/etc/fonts/conf.d/30-amt-aliases.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 514
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/30-urw-aliases.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/30-urw-aliases.conf", {st_mode=S_IFREG|0644, st_size=1484, ...}) = 0
+open("/etc/fonts/conf.d/30-urw-aliases.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1484
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/40-generic.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/40-generic.conf", {st_mode=S_IFREG|0644, st_size=1723, ...}) = 0
+open("/etc/fonts/conf.d/40-generic.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1723
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/49-sansserif.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/49-sansserif.conf", {st_mode=S_IFREG|0644, st_size=545, ...}) = 0
+open("/etc/fonts/conf.d/49-sansserif.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 545
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/50-suse-pre-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/50-suse-pre-user.conf", {st_mode=S_IFREG|0644, st_size=11474, ...}) = 0
+open("/etc/fonts/conf.d/50-suse-pre-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(6, "pt-fonts-other.rpm are so called"..., 8192) = 3282
+access("/etc/fonts/suse-hinting.conf", R_OK) = 0
+stat64("/etc/fonts/suse-hinting.conf", {st_mode=S_IFREG|0644, st_size=10484, ...}) = 0
+open("/etc/fonts/suse-hinting.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(7, "equire the byte code interpreter"..., 8192) = 2292
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+access("/etc/fonts/suse-bitmaps.conf", R_OK) = 0
+stat64("/etc/fonts/suse-bitmaps.conf", {st_mode=S_IFREG|0644, st_size=4437, ...}) = 0
+open("/etc/fonts/suse-bitmaps.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 4437
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/55-local.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/55-local.conf", {st_mode=S_IFREG|0644, st_size=271, ...}) = 0
+open("/etc/fonts/conf.d/55-local.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 271
+access("/etc/fonts/local.conf", R_OK)   = -1 ENOENT (No such file or directory)
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/56-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/56-user.conf", {st_mode=S_IFREG|0644, st_size=269, ...}) = 0
+open("/etc/fonts/conf.d/56-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 269
+access("/user/folk/clint/.fonts.conf", R_OK) = 0
+stat64("/user/folk/clint/.fonts.conf", {st_mode=S_IFREG|0644, st_size=358, ...}) = 0
+open("/user/folk/clint/.fonts.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 358
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/58-suse-post-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/58-suse-post-user.conf", {st_mode=S_IFREG|0644, st_size=5549, ...}) = 0
+open("/etc/fonts/conf.d/58-suse-post-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 5549
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/60-latin.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/60-latin.conf", {st_mode=S_IFREG|0644, st_size=1064, ...}) = 0
+open("/etc/fonts/conf.d/60-latin.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1064
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/65-fonts-persian.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/65-fonts-persian.conf", {st_mode=S_IFREG|0644, st_size=12559, ...}) = 0
+open("/etc/fonts/conf.d/65-fonts-persian.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(6, "ually do have -->\n\n\t<match targe"..., 8192) = 4367
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/65-nonlatin.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/65-nonlatin.conf", {st_mode=S_IFREG|0644, st_size=995, ...}) = 0
+open("/etc/fonts/conf.d/65-nonlatin.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 995
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/69-unifont.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/69-unifont.conf", {st_mode=S_IFREG|0644, st_size=454, ...}) = 0
+open("/etc/fonts/conf.d/69-unifont.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 454
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/80-delicious.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/80-delicious.conf", {st_mode=S_IFREG|0644, st_size=433, ...}) = 0
+open("/etc/fonts/conf.d/80-delicious.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 433
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/90-synthetic.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/90-synthetic.conf", {st_mode=S_IFREG|0644, st_size=2169, ...}) = 0
+open("/etc/fonts/conf.d/90-synthetic.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 2169
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+close(5)                                = 0
+read(4, "", 8192)                       = 0
+close(4)                                = 0
+stat64("/usr/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=408, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\230\1\0\0 \0\0\0008\0\0\0\v\0\0\0\210\1\0\0\0\0\0\0"..., 408) = 408
+close(4)                                = 0
+stat64("/usr/X11R6/lib/X11/fonts", 0xbfcdafec) = -1 ENOENT (No such file or directory)
+open("/usr/X11R6/lib/X11/fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/cf6c88e680607f2ab796171745f068a4-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=1488, ...}) = 0
+mmap2(NULL, 1488, PROT_READ, MAP_SHARED, 4, 0) = 0xb7862000
+close(4)                                = 0
+stat64("/usr/local/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=6912, ...}) = 0
+mmap2(NULL, 6912, PROT_READ, MAP_SHARED, 4, 0) = 0xb7860000
+close(4)                                = 0
+stat64("/user/folk/clint/.fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/bed23cbe8af61fbc8a11c799ae0fd6bb-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/bed23cbe8af61fbc8a11c799ae0fd6bb-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=120, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0x\0\0\0 \0\0\0008\0\0\0\1\0\0\0h\0\0\0\0\0\0\0"..., 120) = 120
+close(4)                                = 0
+stat64("/usr/share/fonts/uni", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d458be102e54cf534d1eef0dcbb02d07-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=7416, ...}) = 0
+mmap2(NULL, 7416, PROT_READ, MAP_SHARED, 4, 0) = 0xb785e000
+close(4)                                = 0
+stat64("/usr/share/fonts/misc", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
+open("/var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=141544, ...}) = 0
+mmap2(NULL, 141544, PROT_READ, MAP_SHARED, 4, 0) = 0xb71dc000
+close(4)                                = 0
+stat64("/usr/share/fonts/util", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/4b172ca7f111e3cffadc3636415fead9-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0H\0\0\0 \0\0\0008\0\0\0\0\0\0\0008\0\0\0\0\0\0\0"..., 72) = 72
+close(4)                                = 0
+stat64("/usr/share/fonts/75dpi", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
+open("/var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=284592, ...}) = 0
+mmap2(NULL, 284592, PROT_READ, MAP_SHARED, 4, 0) = 0xb70f7000
+close(4)                                = 0
+stat64("/usr/share/fonts/Type1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=18336, ...}) = 0
+mmap2(NULL, 18336, PROT_READ, MAP_SHARED, 4, 0) = 0xb70f2000
+close(4)                                = 0
+stat64("/usr/share/fonts/Speedo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/30786aca7a961ef9f9799e540455831d-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0H\0\0\0 \0\0\0008\0\0\0\0\0\0\0008\0\0\0\0\0\0\0"..., 72) = 72
+close(4)                                = 0
+stat64("/usr/share/fonts/truetype", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
+open("/var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=414456, ...}) = 0
+mmap2(NULL, 414456, PROT_READ, MAP_SHARED, 4, 0) = 0xb708c000
+close(4)                                = 0
+stat64("/usr/share/fonts/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/a1c95d6dfc9a7b34f44445cf81166004-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=128, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\200\0\0\0 \0\0\0@\0\0\0\1\0\0\0p\0\0\0\0\0\0\0"..., 128) = 128
+close(4)                                = 0
+stat64("/usr/share/fonts/encodings/large", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/5ca8086aeacc9c68e81a71e7ef846b3b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0X\0\0\0 \0\0\0H\0\0\0\0\0\0\0H\0\0\0\0\0\0\0"..., 88) = 88
+close(4)                                = 0
+stat64("/usr/share/fonts/100dpi", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
+open("/var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=285296, ...}) = 0
+mmap2(NULL, 285296, PROT_READ, MAP_SHARED, 4, 0) = 0xb7046000
+close(4)                                = 0
+stat64("/usr/share/fonts/cyrillic", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/2d31a572ce6667f6a0da9c8dc611898b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/opt/kde3/share/fonts/override", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/0c42b92420913fbcd7539015ba025a31-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/usr/lib/ooo-2.0/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/82263fb4001171a9d4b2e27da14be10b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=128, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\200\0\0\0 \0\0\0@\0\0\0\1\0\0\0p\0\0\0\0\0\0\0"..., 128) = 128
+close(4)                                = 0
+stat64("/usr/lib/ooo-2.0/share/fonts/truetype", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/b6bbb9f898b73777cfe763014a8c08d3-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=1624, ...}) = 0
+mmap2(NULL, 1624, PROT_READ, MAP_SHARED, 4, 0) = 0xb7045000
+close(4)                                = 0
+stat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0_update12/jre/lib/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/eb6f8dc1763df1b121d74d86b494ef9b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=8328, ...}) = 0
+mmap2(NULL, 8328, PROT_READ, MAP_SHARED, 4, 0) = 0xb7042000
+close(4)                                = 0
+stat64("/usr/lib/jvm/java-1.6.0.u1-sun-1.6.0.u1/jre/lib/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/6840f9a468626bb7623d2c01966fa10b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=8296, ...}) = 0
+mmap2(NULL, 8296, PROT_READ, MAP_SHARED, 4, 0) = 0xb703f000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/tt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/655075e81858438c7a286f1f308a4be3-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=79312, ...}) = 0
+mmap2(NULL, 79312, PROT_READ, MAP_SHARED, 4, 0) = 0xb702b000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/type1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/9ddec090344c07e0063dda776900d30b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/usr/local/share/fonts/mforum-ttf", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
+open("/var/cache/fontconfig/a745a7c4e1304d4550fad4c2bc4d4685-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=144448, ...}) = 0
+mmap2(NULL, 144448, PROT_READ, MAP_SHARED, 4, 0) = 0xb7007000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/sharefont", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/0bc96fd79f7cee651bb7536d4c3e48d8-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=15384, ...}) = 0
+mmap2(NULL, 15384, PROT_READ, MAP_SHARED, 4, 0) = 0xb7003000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/extras", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/6219ff827d1a9f5cc56c587eef446dcb-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=6664, ...}) = 0
+mmap2(NULL, 6664, PROT_READ, MAP_SHARED, 4, 0) = 0xb7001000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/freefont", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/5167e85d8105825c3a1816d7cdf39cb0-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=51560, ...}) = 0
+mmap2(NULL, 51560, PROT_READ, MAP_SHARED, 4, 0) = 0xb6ff4000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/hpotter", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d1d55e50f9570c0f1f164b29310ab2d1-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=2392, ...}) = 0
+mmap2(NULL, 2392, PROT_READ, MAP_SHARED, 4, 0) = 0xb6ff3000
+close(4)                                = 0
+stat64("/user/folk/clint/.kde/share/fonts", 0xbfcdafec) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.kde/share/fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
+stat64("/usr/share/fonts/URW", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/77e41c5059666d75f92e318d4be8c21e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=27256, ...}) = 0
+mmap2(NULL, 27256, PROT_READ, MAP_SHARED, 4, 0) = 0xb6fec000
+close(4)                                = 0
+stat64("/usr/local/share/fonts/mforum", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
+open("/var/cache/fontconfig/067e1f90709c51ee78aba0b412bf34a1-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=127208, ...}) = 0
+mmap2(NULL, 127208, PROT_READ, MAP_SHARED, 4, 0) = 0xb6fcc000
+close(4)                                = 0
+stat64("/user/folk/clint/.fonts/kde-override", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/cdd5b69895460a07a646a74afd640477-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/cdd5b69895460a07a646a74afd640477-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0X\0\0\0 \0\0\0H\0\0\0\0\0\0\0H\0\0\0\0\0\0\0"..., 88) = 88
+close(4)                                = 0
+mmap2(NULL, 290816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f85000
+open("/proc/meminfo", O_RDONLY)         = 4
+fstat64(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f84000
+read(4, "MemTotal:      1026312 kB\nMemFre"..., 1024) = 823
+close(4)                                = 0
+munmap(0xb6f84000, 4096)                = 0
+munmap(0xb6f85000, 290816)              = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fc7000
+open("/usr/share/fonts/truetype/arialbd.ttf", O_RDONLY) = 4
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+fstat64(4, {st_mode=S_IFREG|0644, st_size=286620, ...}) = 0
+mmap2(NULL, 286620, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb6f81000
+close(4)                                = 0
+brk(0x8447000)                          = 0x8447000
+open("/etc/pango/pangorc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.pangorc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+open("/etc/pango/pango.modules", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=3752, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f80000
+read(4, "# Pango Modules file\n# Automatic"..., 4096) = 3752
+read(4, "", 4096)                       = 0
+read(4, "", 4096)                       = 0
+close(4)                                = 0
+munmap(0xb6f80000, 4096)                = 0
+mmap2(NULL, 290816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f3a000
+munmap(0xb6f3a000, 290816)              = 0
+stat64("/usr/lib/pango/1.6.0/modules/pango-basic-fc.so", {st_mode=S_IFREG|0755, st_size=10064, ...}) = 0
+open("/usr/lib/pango/1.6.0/modules/pango-basic-fc.so", O_RDONLY) = 4
+read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\v\0\0004\0\0\0"..., 512) = 512
+fstat64(4, {st_mode=S_IFREG|0755, st_size=10064, ...}) = 0
+mmap2(NULL, 12696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) = 0xb6f7d000
+fadvise64(4, 0, 12696, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6f7f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x1) = 0xb6f7f000
+close(4)                                = 0
+mmap2(NULL, 290816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f36000
+brk(0x8468000)                          = 0x8468000
+brk(0x8467000)                          = 0x8467000
+brk(0x8463000)                          = 0x8463000
+munmap(0xb6f36000, 290816)              = 0
+open("/usr/share/fonts/truetype/arial.ttf", O_RDONLY) = 4
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+fstat64(4, {st_mode=S_IFREG|0644, st_size=275572, ...}) = 0
+mmap2(NULL, 275572, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb6f39000
+close(4)                                = 0
+mmap2(NULL, 290816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ef2000
+munmap(0xb6ef2000, 290816)              = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb785c000
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb785a000
+brk(0x8484000)                          = 0x8484000
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0D\0`\3;\0`\3\220\1\372\0\232\4\5\0E\0`\3D\0`\0038\0\0\0"..., 1200}], 1) = 1200
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 425532}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 425813}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 425949}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 426074}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 446833}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 447053}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0K\0`\3;\0`\3\204\0\n\0\232\4\5\0L\0`\3K\0`\0038\0\0\0"..., 1592}], 1) = 1592
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 449723}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 449853}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 450494}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 450702}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0Q\0`\3;\0`\3\n\1\344\0\232\4\5\0R\0`\3Q\0`\0038\0\0\0"..., 976}], 1) = 976
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 455361}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 455491}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 462745}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 463027}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 463611}, NULL) = 0
+gettimeofday({1192407178, 463710}, NULL) = 0
+gettimeofday({1192407178, 463797}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0T\0`\3?\0`\3\220\1\24\0\232\4\5\0U\0`\3T\0`\0038\0\0\0"..., 3844}], 1) = 3844
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 466294}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 466428}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 466826}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 467032}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 467462}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0X\0`\3?\0`\3\220\1\24\0\232\4\5\0Y\0`\3X\0`\0038\0\0\0"..., 3720}], 1) = 3720
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 469227}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 469358}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 469830}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 470038}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 470414}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\\\0`\3?\0`\3\220\1\24\0\232\4\5\0]\0`\3\\\0`\0038\0\0\0"..., 4092}], 1) = 4092
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 472389}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 472520}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 472817}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 473109}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 473484}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0`\0`\3?\0`\3\220\1\24\0\232\4\5\0a\0`\3`\0`\0038\0\0\0"..., 3816}], 1) = 3816
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 475181}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 475312}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 475820}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 476026}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 476402}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0d\0`\3?\0`\3\220\1\24\0\232\4\5\0e\0`\3d\0`\0038\0\0\0"..., 3964}], 1) = 3964
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 478336}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 478505}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 478940}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 479147}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 479525}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0h\0`\3?\0`\3\220\1\24\0\232\4\5\0i\0`\3h\0`\0038\0\0\0"..., 3944}], 1) = 3944
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 481348}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 481478}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 482121}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 482330}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 482707}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0l\0`\3?\0`\3\220\1\24\0\232\4\5\0m\0`\3l\0`\0038\0\0\0"..., 4036}, {"\232\24\33\0S\0`\3\1\0\0\0\\\0\0\0\5\0\n\0\377\377\7\0\7\0\0\0\334!\0$"..., 108}], 2) = 4144
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\24\25\0S\0`\3\1\0\0\0F\0\0\0\5\0\7\0\377\377\7\0\7\0\0\0\20\256\366\331"..., 328}], 1) = 328
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 485534}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 485664}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 486215}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 486423}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 486805}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0p\0`\3?\0`\3\220\1\24\0\232\4\5\0q\0`\3p\0`\0038\0\0\0"..., 4092}, {"\232\7\2\0s\0`\3", 8}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0r\0`\3", 8}], 1)    = 8
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 489183}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 489314}, NULL) = 0
+brk(0x84a5000)                          = 0x84a5000
+brk(0x84a4000)                          = 0x84a4000
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 490004}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 490212}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 490598}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0t\0`\3?\0`\3\220\1\24\0\232\4\5\0u\0`\3t\0`\0038\0\0\0"..., 4056}, {"\232\24\34\0S\0`\3\1\0\0\0P\0\0\0\t\0\7\0\377\377\7\0\v\0\0\0\377j\353\353"..., 112}], 2) = 4168
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\27\20\0\3\0`\3O\0`\3w\0`\0034\0\0\0S\0`\3\0\0\n\0\31j\353\353"..., 144}], 1) = 144
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 493085}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 493244}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 493608}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 493814}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 494189}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0x\0`\3?\0`\3\220\1\24\0\232\4\5\0y\0`\3x\0`\0038\0\0\0"..., 4096}, {"6\7\2\0z\0`\3", 8}], 2) = 4104
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 496125}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 496258}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 496669}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 496877}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 497333}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0|\0`\3?\0`\3\220\1\24\0\232\4\5\0}\0`\3|\0`\0038\0\0\0"..., 4052}, {"\232\24\33\0S\0`\3\1\0\0\0002\0\0\0\10\0\n\0\377\377\n\0\n\0\0\0\0\37\254\362"..., 108}], 2) = 4160
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\27\r\0\3\0`\3O\0`\3\177\0`\0034\0\0\0S\0`\3\1\0\n\0\17\37\254\362"..., 132}], 1) = 132
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 499666}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 499796}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 500135}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 500342}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 500715}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\200\0`\3?\0`\3\220\1\24\0\232\4\5\0\201\0`\3\200\0`\0038\0\0\0"..., 4052}, {"\232\27\16\0\3\0`\3O\0`\3\203\0`\0034\0\0\0S\0`\3\377\377\n\0\23\23\277\354"..., 56}], 2) = 4108
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{";\3\5\0003\0`\3\0\0\0\0\222\0\347\0k\0\r\0>\3\7\0\202\0`\3;\0`\3"..., 80}], 1) = 80
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 503042}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 503172}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 503455}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 503660}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 504032}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\204\0`\3?\0`\3\220\1\24\0\232\4\5\0\205\0`\3\204\0`\0038\0\0\0"..., 4084}, {"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\7\2\0\207\0`\0036\7\2\0\206\0`\3", 16}], 1) = 16
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 506091}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 506248}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 506527}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 506733}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 507112}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\210\0`\3?\0`\3\220\1\24\0\232\4\5\0\211\0`\3\210\0`\0038\0\0\0"..., 4072}, {">\3\7\0\212\0`\3;\0`\0033\0`\3\0\0\0\0\264\0\347\0(\0\n\0", 28}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0\213\0`\0036\7\2\0\212\0`\3", 32}], 1) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 509171}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 509301}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 509704}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 509911}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 510284}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\214\0`\3?\0`\3\220\1\24\0\232\4\5\0\215\0`\3\214\0`\0038\0\0\0"..., 4008}, {"\232\24\33\0S\0`\3\1\0\0\0*\0\0\0\10\0\n\0\377\377\n\0\n\0\0\0\0Q\372\377"..., 108}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\27\16\0\3\0`\3O\0`\3\217\0`\0034\0\0\0S\0`\3\377\377\n\0\21Q\372\377"..., 136}], 1) = 136
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 512600}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 512730}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 513027}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 513233}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 513605}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\220\0`\3?\0`\3\220\1\24\0\232\4\5\0\221\0`\3\220\0`\0038\0\0\0"..., 4084}, {"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\7\2\0\223\0`\0036\7\2\0\222\0`\3", 16}], 1) = 16
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 515648}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 515778}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 516111}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 516318}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 516690}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\224\0`\3?\0`\3\220\1\24\0\232\4\5\0\225\0`\3\224\0`\0038\0\0\0"..., 4072}, {"\232\27\f\0\3\0`\3O\0`\3\227\0`\0034\0\0\0S\0`\3\377\377\n\0\v\0`\3"..., 48}], 2) = 4120
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{";\3\5\0003\0`\3\0\0\0\0\250\0\347\0?\0\n\0>\3\7\0\226\0`\3;\0`\3"..., 80}], 1) = 80
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 518889}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 519019}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 519316}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 519523}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 519894}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\230\0`\3?\0`\3\220\1\24\0\232\4\5\0\231\0`\3\230\0`\0038\0\0\0"..., 4088}, {"\232\27\f\0\3\0`\3O\0`\3\233\0`\0034\0\0\0S\0`\3\4\0\n\0\t\0\2\0"..., 48}], 2) = 4136
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{";\3\5\0003\0`\3\0\0\0\0\250\0\347\0?\0\n\0>\3\7\0\232\0`\3;\0`\3"..., 80}], 1) = 80
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 522089}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 522219}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 522520}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 522726}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 523104}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\234\0`\3?\0`\3\220\1\24\0\232\4\5\0\235\0`\3\234\0`\0038\0\0\0"..., 4060}, {"\232\27\16\0\3\0`\3O\0`\3\237\0`\0034\0\0\0P\0`\3\363\377\364\377\23\0`\3"..., 56}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\6\5\0\237\0`\3\0\0\0\0\0\0\0\0d\0\r\0\232\27\r\0\3\0`\3O\0`\3"..., 152}], 1) = 152
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 525330}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 525459}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 534606}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 534841}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 535379}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\240\0`\3?\0`\3\220\1\24\0\232\4\5\0\241\0`\3\240\0`\0038\0\0\0"..., 4044}, {"\232\27\16\0\3\0`\3O\0`\3\243\0`\0034\0\0\0P\0`\3\363\377\364\377\23\0\2\0"..., 56}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\6\5\0\243\0`\3\0\0\0\0\0\0\0\0d\0\r\0\232\24\33\0S\0`\3\1\0\0\0"..., 260}], 1) = 260
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 539512}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 539643}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 539986}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 540193}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 540586}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\244\0`\3?\0`\3\220\1\24\0\232\4\5\0\245\0`\3\244\0`\0038\0\0\0"..., 4060}, {"\232\27\16\0\3\0`\3O\0`\3\247\0`\0034\0\0\0P\0`\3\357\377\364\377\23\0`\3"..., 56}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\6\5\0\247\0`\3\0\0\0\0\0\0\0\0\\\0\r\0\232\27\v\0\3\0`\3O\0`\3"..., 144}], 1) = 144
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 543960}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 544090}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 544550}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 544757}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 545159}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\250\0`\3?\0`\3\220\1\24\0\232\4\5\0\251\0`\3\250\0`\0038\0\0\0"..., 4084}, {"5\30\4\0\252\0`\3;\0`\3!\0\r\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\4\5\0\253\0`\3\252\0`\0038\0\0\0\0\0\0\0\232\6\5\0\253\0`\3\0\0\0\0"..., 460}], 1) = 460
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 547411}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 547542}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 548032}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 548242}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 548627}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\254\0`\3?\0`\3\220\1\24\0\232\4\5\0\255\0`\3\254\0`\0038\0\0\0"..., 4088}, {">\3\7\0\254\0`\3?\0`\0033\0`\3\0\0\0\0\0\0\0\0\220\1\24\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0\255\0`\0036\7\2\0\254\0`\3"..., 560}], 1) = 560
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 551257}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 551388}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 551694}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 551900}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 552274}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\260\0`\3?\0`\3\220\1\24\0\232\4\5\0\261\0`\3\260\0`\0038\0\0\0"..., 4088}, {">\3\7\0\260\0`\3?\0`\0033\0`\3\0\0\0\0\0\0\0\0\220\1\24\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0\261\0`\0036\7\2\0\260\0`\3"..., 392}], 1) = 392
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 555228}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 555359}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 555785}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 556156}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 556547}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\264\0`\3?\0`\3\220\1\24\0\232\4\5\0\265\0`\3\264\0`\0038\0\0\0"..., 4088}, {">\3\7\0\264\0`\3?\0`\0033\0`\3\0\0\0\0\0\0\0\0\220\1\24\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0\265\0`\0036\7\2\0\264\0`\3"..., 532}], 1) = 532
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 559088}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 559218}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 559527}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 559733}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 560107}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\270\0`\3?\0`\3\220\1\24\0\232\4\5\0\271\0`\3\270\0`\0038\0\0\0"..., 4088}, {"@\0\4\0B\0`\3C\0`\3\2\0\21\0", 16}], 2) = 4104
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{">\0\7\0B\0`\3\270\0`\3\7\0`\3\0\0\0\0\0\0\0\0\220\1\24\0;\3\5\0"..., 460}], 1) = 460
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 562349}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 562479}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 562816}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 563092}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 563417}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 563620}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 564027}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0B\0`\0035\30\4\0\274\0`\3?\0`\3\220\1\24\0F\30\5\0\274\0`\3"..., 4092}, {";\3\5\0C\0`\3\0\0\0\0\1\0\1\0&\1\22\0", 20}], 2) = 4112
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0C\0`\3\4\0\0\0`i\241\0@\0\4\0\274\0`\3C\0`\3\2\0\2\0"..., 612}], 1) = 612
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 566931}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 567062}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 567368}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 567574}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 567954}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\301\0`\3?\0`\3\220\1\24\0\232\4\5\0\302\0`\3\301\0`\0038\0\0\0"..., 4084}, {"8\0\4\0\'\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0(\0`\3\0\0\10\0\0\0\0\0008\0\4\0\23\0`\3\0\0\10\0\0\0\0\0"..., 560}], 1) = 560
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 569916}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 570044}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 570351}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 570554}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 570923}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\305\0`\3?\0`\3\220\1\24\0\232\4\5\0\306\0`\3\305\0`\0038\0\0\0"..., 4084}, {"8\0\4\0\'\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0(\0`\3\0\0\10\0\0\0\0\0008\0\4\0\23\0`\3\0\0\10\0\0\0\0\0"..., 588}], 1) = 588
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 572307}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 572435}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 572724}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 572929}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 574485}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\311\0`\3?\0`\3\220\1\24\0\232\4\5\0\312\0`\3\311\0`\0038\0\0\0"..., 4084}, {"8\0\4\0\'\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0(\0`\3\0\0\10\0\0\0\0\0008\0\4\0\23\0`\3\0\0\10\0\0\0\0\0"..., 212}], 1) = 212
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\0017\31\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\313\0`\3;\0`\3r\0\r\0\232\4\5\0\314\0`\3\313\0`\0038\0\0\0"..., 352}], 1) = 352
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 577549}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 577675}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 577968}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 578194}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 578562}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\315\0`\3?\0`\3\220\1\24\0\232\4\5\0\316\0`\3\315\0`\0038\0\0\0"..., 4084}, {"8\0\4\0#\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0$\0`\3\0\0\10\0\0\0\0\0008\0\4\0%\0`\3\0\0\10\0\0\0\0\0"..., 640}], 1) = 640
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 580810}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 580937}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 581267}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 581468}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 581835}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\321\0`\3?\0`\3\220\1\24\0\232\4\5\0\322\0`\3\321\0`\0038\0\0\0"..., 4084}, {"8\0\4\0#\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0$\0`\3\0\0\10\0\0\0\0\0008\0\4\0%\0`\3\0\0\10\0\0\0\0\0"..., 644}], 1) = 644
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 584092}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 584218}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 584497}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 584697}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 585079}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\325\0`\3?\0`\3\220\1\24\0\232\4\5\0\326\0`\3\325\0`\0038\0\0\0"..., 4084}, {"8\0\4\0#\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0$\0`\3\0\0\10\0\0\0\0\0008\0\4\0%\0`\3\0\0\10\0\0\0\0\0"..., 624}], 1) = 624
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 587342}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 587472}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 587826}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 588057}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 588431}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\331\0`\3?\0`\3\220\1\24\0\232\4\5\0\332\0`\3\331\0`\0038\0\0\0"..., 4084}, {"8\0\4\0!\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0\"\0`\3\0\0\10\0\0\0\0\0008\0\4\0#\0`\3\0\0\10\0\0\0\0\0"..., 704}], 1) = 704
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 590895}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 591026}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 591335}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 591542}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 591915}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\335\0`\3?\0`\3\220\1\24\0\232\4\5\0\336\0`\3\335\0`\0038\0\0\0"..., 4084}, {"@\0\4\0\274\0`\3\n\0`\3Q\1\21\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3\2\0\21\0008\0\4\0!\0`\3\0\0\10\0\0\0\0\0"..., 716}], 1) = 716
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 594268}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 594398}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 594703}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 594909}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 595279}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\341\0`\3?\0`\3\220\1\24\0\232\4\5\0\342\0`\3\341\0`\0038\0\0\0"..., 4084}, {"@\0\4\0\274\0`\3\n\0`\3Y\1\21\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3\2\0\21\0008\0\4\0!\0`\3\0\0\10\0\0\0\0\0"..., 688}], 1) = 688
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 596685}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 596814}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 606477}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 606702}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 607170}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\345\0`\3?\0`\3\220\1\24\0\232\4\5\0\346\0`\3\345\0`\0038\0\0\0"..., 4084}, {"@\0\4\0\274\0`\3\n\0`\3^\1\21\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3\2\0\21\0008\0\4\0!\0`\3\0\0\10\0\0\0\0\0"..., 816}], 1) = 816
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 609872}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 610003}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 610511}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 610719}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 611103}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\351\0`\3?\0`\3\220\1\24\0\232\4\5\0\352\0`\3\351\0`\0038\0\0\0"..., 4096}, {"@\0\4\0\274\0`\3\n\0`\3m\1\2\0", 16}], 2) = 4112
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3l\1\20\0B\0\5\0\274\0`\3C\0`\3l\1\21\0"..., 892}], 1) = 892
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 613833}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 613960}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 614271}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 614473}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 614843}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\355\0`\3?\0`\3\220\1\24\0\232\4\5\0\356\0`\3\355\0`\0038\0\0\0"..., 4096}, {"@\0\4\0\274\0`\3\n\0`\3r\1\2\0", 16}], 2) = 4112
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3q\1\20\0B\0\5\0\274\0`\3C\0`\3q\1\21\0"..., 760}], 1) = 760
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 617467}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 617594}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 617940}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 618169}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 618545}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\361\0`\3?\0`\3\220\1\24\0\232\4\5\0\362\0`\3\361\0`\0038\0\0\0"..., 4092}, {"@\0\4\0\274\0`\3&\0`\3\2\0\2\0", 16}], 2) = 4108
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3t\1\3\0008\0\4\0C\0`\3\4\0\0\0dm\217\0"..., 852}], 1) = 852
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 619983}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 620108}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 620378}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 620577}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 620937}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\365\0`\3?\0`\3\220\1\24\0\232\4\5\0\366\0`\3\365\0`\0038\0\0\0"..., 4092}, {"@\0\4\0\274\0`\3&\0`\3\2\0\2\0", 16}], 2) = 4108
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3z\1\3\0008\0\4\0C\0`\3\4\0\0\0dm\217\0"..., 804}], 1) = 804
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 622403}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 622530}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 622803}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 623002}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 623363}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\371\0`\3?\0`\3\220\1\24\0\232\4\5\0\372\0`\3\371\0`\0038\0\0\0"..., 4092}, {"@\0\4\0\274\0`\3&\0`\3\2\0\2\0", 16}], 2) = 4108
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0\274\0`\3&\0`\3\200\1\3\0008\0\4\0C\0`\3\4\0\0\0dm\217\0"..., 824}], 1) = 824
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 624774}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 624900}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 627972}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 628209}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\375\0`\3?\0`\3\220\1\24\0\232\4\5\0\376\0`\3\375\0`\0038\0\0\0"..., 2060}], 1) = 2060
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 630343}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 630474}, NULL) = 0
+stat64("/user/folk/clint/.gimp-2.2/environ", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/lib/gimp/2.0/environ", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/environ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 2 entries */, 4096)    = 48
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/lib/gimp/2.0/environ", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 4 entries */, 4096)    = 112
+stat64("/usr/lib/gimp/2.0/environ/default.env", {st_mode=S_IFREG|0644, st_size=65, ...}) = 0
+open("/usr/lib/gimp/2.0/environ/default.env", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=65, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+read(5, "# Example entry in files like th"..., 4096) = 65
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb7869000, 4096)                = 0
+stat64("/usr/lib/gimp/2.0/environ/pygimp.env", {st_mode=S_IFREG|0644, st_size=38, ...}) = 0
+open("/usr/lib/gimp/2.0/environ/pygimp.env", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=38, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7869000
+read(5, ": PYTHONPATH=/usr/lib/gimp/2.0/p"..., 4096) = 38
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb7869000, 4096)                = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d9000
+brk(0x84c5000)                          = 0x84c5000
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 728793}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 729096}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 729286}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 729483}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\274\0`\0035\30\4\0\1\1`\3?\0`\3\220\1\24\0F\30\5\0\1\1`\3"..., 1940}], 1) = 1940
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 731932}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 732059}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/parasiterc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP parasiterc\n# \n# This file"..., 4000) = 112
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 755751}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 755987}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 756514}, NULL) = 0
+gettimeofday({1192407178, 756598}, NULL) = 0
+gettimeofday({1192407178, 756668}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\6\1`\3?\0`\3\220\1\24\0\232\4\5\0\7\1`\3\6\1`\0038\0\0\0"..., 3804}], 1) = 3804
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407178, 758747}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407178, 758880}, NULL) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/brushes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 12 entries */, 4096)   = 504
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(41).vbr", {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(41).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (41)\n5"..., 4096) = 77
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(41).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(41).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(101).vbr", {st_mode=S_IFREG|0644, st_size=78, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(101).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=78, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (101)\n"..., 4096) = 78
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(101).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(101).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(61).vbr", {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(61).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (61)\n5"..., 4096) = 77
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(61).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(61).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-(39).vbr", {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-(39).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle (39)\n5.00000"..., 4096) = 71
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(39).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(39).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(121).vbr", {st_mode=S_IFREG|0644, st_size=78, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(121).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=78, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (121)\n"..., 4096) = 78
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(121).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(121).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25)-1.vbr", {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25)-1.vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (25)\n4"..., 4096) = 77
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25)-1.vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25)-1.vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(81).vbr", {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(81).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (81)\n6"..., 4096) = 77
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(81).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(81).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-(59).vbr", {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-(59).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle (59)\n5.00000"..., 4096) = 71
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(59).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(59).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25).vbr", {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle Fuzzy (31)\n5"..., 4096) = 77
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d0000
+munmap(0xb71d0000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-Fuzzy-(25).vbr", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/brushes/Circle-(02).vbr", {st_mode=S_IFREG|0644, st_size=70, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/brushes/Circle-(02).vbr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=70, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d8000
+read(5, "GIMP-VBR\n1.0\nCircle (02)\n5.00000"..., 4096) = 70
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d0000
+munmap(0xb71d0000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb71d8000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(02).vbr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/brushes/Circle-(02).vbr", W_OK) = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/share/gimp/2.0/brushes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 50 entries */, 4096)   = 1712
+stat64("/usr/share/gimp/2.0/brushes/10x10squareBlur.gbr", {st_mode=S_IFREG|0644, st_size=148, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/10x10squareBlur.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0000\0\0\0\2\0\0\0\n\0\0\0\n\0\0\0\1GIMP\0\0\0<", 28) = 28
+read(5, "square (10x10) blur\0", 20)    = 20
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\355\313\273\271\270\270\271\273\313\355\313qHAAAAHq\313\274G\20\10\10\10\10\20G\274\271A"..., 100) = 100
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/10x10square.gbr", {st_mode=S_IFREG|0644, st_size=143, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/10x10square.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0+\0\0\0\2\0\0\0\n\0\0\0\n\0\0\0\1GIMP\0\0\0(", 28) = 28
+read(5, "square (10x10)\0", 15)         = 15
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\377\377\377\377\377\377\377\377\377\377\377\0\0\0\0\0\0\0\0\377\377\0\0\0\0\0\0\0\0\377\377\0"..., 100) = 100
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/20x20squareBlur.gbr", {st_mode=S_IFREG|0644, st_size=448, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/20x20squareBlur.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0000\0\0\0\2\0\0\0\24\0\0\0\24\0\0\0\1GIMP\0\0\0002", 28) = 28
+read(5, "square (20x20) blur\0", 20)    = 20
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\242\224\202sjfeddddddefjs\202\224\242\223\204o^TPONNNNN"..., 400) = 400
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/11circle.gbr", {st_mode=S_IFREG|0644, st_size=161, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/11circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\v\0\0\0\v\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (11)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0+\234\345\377\345\234+\0\0\0W\377\377\377\377\377\377\377W\0+\377\377\377\377\377\377\377\377\377"..., 121) = 121
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/11fcircle.gbr", {st_mode=S_IFREG|0644, st_size=159, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/11fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\v\0\0\0\v\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (11)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\7\t\n\t\7\0\0\0\0\0\n\23\34 \34\23\n\0\0\0\n\31/EOE/\31\n"..., 121) = 121
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/13circle.gbr", {st_mode=S_IFREG|0644, st_size=209, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/13circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\r\0\0\0\r\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (13)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0J\254\351\377\351\254J\0\0\0\0\0\230\377\377\377\377\377\377\377\230\0\0\0\230\377\377\377\377"..., 169) = 169
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/13fcircle.gbr", {st_mode=S_IFREG|0644, st_size=207, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/13fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\r\0\0\0\r\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (13)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\7\t\t\t\7\0\0\0\0\0\0\6\v\21\27\31\27\21\v\6\0\0\0\6\r\31\'4"..., 169) = 169
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/15circle.gbr", {st_mode=S_IFREG|0644, st_size=265, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/15circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\17\0\0\0\17\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (15)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0a\267\354\377\354\267a\0\0\0\0\0\0000\311\377\377\377\377\377\377\377\3110\0\0\0000"..., 225) = 225
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/15fcircle.gbr", {st_mode=S_IFREG|0644, st_size=263, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/15fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\17\0\0\0\17\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (15)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\7\10\t\10\7\0\0\0\0\0\0\0\0\7\v\20\23\25\23\20\v\7\0\0\0\0\0"..., 225) = 225
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/17circle.gbr", {st_mode=S_IFREG|0644, st_size=329, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/17circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\21\0\0\0\21\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (17)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\16t\300\357\377\357\300t\16\0\0\0\0\0\0\0e\357\377\377\377\377\377\377\377\357e\0"..., 289) = 289
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/17fcircle.gbr", {st_mode=S_IFREG|0644, st_size=327, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/17fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\21\0\0\0\21\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (17)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\7\10\10\10\7\0\0\0\0\0\0\0\0\0\0\10\v\17\21\22\21\17\v\10\0\0"..., 289) = 289
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/19circle.gbr", {st_mode=S_IFREG|0644, st_size=401, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/19circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\23\0\0\0\23\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (19)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0&\202\307\360\377\360\307\202&\0\0\0\0\0\0\0\0\0\220\377\377\377\377\377\377\377\377"..., 361) = 361
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/19fcircle.gbr", {st_mode=S_IFREG|0644, st_size=399, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/19fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\23\0\0\0\23\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (19)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\6\7\10\10\10\7\6\0\0\0\0\0\0\0\0\0\0\6\10\v\16\17\20\17\16\v"..., 361) = 361
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/1circle.gbr", {st_mode=S_IFREG|0644, st_size=41, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/1circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\1\0\0\0\1\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Circle (01)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "l", 1)                         = 1
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/20x20square.gbr", {st_mode=S_IFREG|0644, st_size=443, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/20x20square.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0+\0\0\0\2\0\0\0\24\0\0\0\24\0\0\0\1GIMP\0\0\0002", 28) = 28
+read(5, "square (20x20)\0", 15)         = 15
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0"..., 400) = 400
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/3fcircle.gbr", {st_mode=S_IFREG|0644, st_size=47, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/3fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\3\0\0\0\3\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (03)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\20P\20P\377P\20P\20", 9)      = 9
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/3circle.gbr", {st_mode=S_IFREG|0644, st_size=49, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/3circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\3\0\0\0\3\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (03)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\225\377\225\377\377\377\225\377\225", 9) = 9
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/5fcircle.gbr", {st_mode=S_IFREG|0644, st_size=63, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/5fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\5\0\0\0\5\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (05)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\v\25\v\0\vH\206H\v\25\206\377\206\25\vH\206H\v\0\v\25\v\0", 25) = 25
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/5circle.gbr", {st_mode=S_IFREG|0644, st_size=65, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/5circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\5\0\0\0\5\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (05)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "+\302\377\302+\302\377\377\377\302\377\377\377\377\377\302\377\377\377\302+\302\377\302+", 25) = 25
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/5x5squareBlur.gbr", {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/5x5squareBlur.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0.\0\0\0\2\0\0\0\5\0\0\0\5\0\0\0\1GIMP\0\0\0\226", 28) = 28
+read(5, "square (5x5) blur\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\370\335\326\335\370\334P-P\334\325-\3-\325\334P-P\334\370\335\326\335\370", 25) = 25
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/5x5square.gbr", {st_mode=S_IFREG|0644, st_size=66, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/5x5square.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0)\0\0\0\2\0\0\0\5\0\0\0\5\0\0\0\1GIMP\0\0\0002", 28) = 28
+read(5, "square (5x5)\0", 13)           = 13
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\377\377\377\377\377\377\1\1\1\377\377\1\1\1\377\377\1\1\1\377\377\377\377\377\377", 25) = 25
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/7fcircle.gbr", {st_mode=S_IFREG|0644, st_size=87, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/7fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\7\0\0\0\7\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (07)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\v\16\v\0\0\0\0243F3\24\0\v3\205\270\2053\v\16F\270\377\270F\16\v3\205\270"..., 49) = 49
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/7circle.gbr", {st_mode=S_IFREG|0644, st_size=89, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/7circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\7\0\0\0\7\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (07)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0d\325\377\325d\0d\377\377\377\377\377d\325\377\377\377\377\377\325\377\377\377\377\377\377\377\325\377\377\377"..., 49) = 49
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/9fcircle.gbr", {st_mode=S_IFREG|0644, st_size=119, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/9fcircle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0\t\0\0\0\t\0\0\0\1Circle F", 28) = 28
+_llseek(5, -8, [20], SEEK_CUR)          = 0
+read(5, "Circle Fuzzy (09)\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\6\n\f\n\6\0\0\0\10\25$,$\25\10\0\6\0256`u`6\25\6\n$`\254\321"..., 81) = 81
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/9circle.gbr", {st_mode=S_IFREG|0644, st_size=121, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/9circle.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0\t\0\0\0\t\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Circle (09)\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\206\337\377\337\206\0\0\0\301\377\377\377\377\377\301\0\206\377\377\377\377\377\377\377\206\337\377\377\377\377"..., 81) = 81
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/SketchBrush-16.gih", {st_mode=S_IFREG|0644, st_size=1618, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/SketchBrush-16.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "P", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "S", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "\n", 1)                        = 1
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0,\0\0\0\2\0\0\0\20\0\0\0\20\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#5\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0U#\0\0\0\0\0\0\0\0"..., 256) = 256
+read(5, "\0\0\0,\0\0\0\2\0\0\0\20\0\0\0\20\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#4\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0*\f\0\0*\0\0\0\0\0\0\0"..., 256) = 256
+read(5, "\0\0\0,\0\0\0\2\0\0\0\20\0\0\0\20\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#3\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\31\0\0\0\0\0\0\0\0\0\0\0\0\0\0-\204\21a\0\0\0\0\0"..., 256) = 256
+read(5, "\0\0\0,\0\0\0\2\0\0\0\20\0\0\0\20\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#2\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256
+read(5, "\0\0\0*\0\0\0\2\0\0\0\20\0\0\0\20\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch\0", 14)          = 14
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0000\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/DStar11.gbr", {st_mode=S_IFREG|0644, st_size=168, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/DStar11.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\v\0\0\0\v\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Diagonal Star (11)\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0L\0\0\0\0\0\0\0L\0\0\0\201\0\0\0\0\0\201\0"..., 121) = 121
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/DStar17.gbr", {st_mode=S_IFREG|0644, st_size=336, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/DStar17.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\21\0\0\0\21\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Diagonal Star (17)\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\37\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 289) = 289
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/DStar25.gbr", {st_mode=S_IFREG|0644, st_size=672, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/DStar25.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\31\0\0\0\31\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Diagonal Star (25)\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\33\0\0\0\0\0"..., 625) = 625
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/SketchBrush-32.gih", {st_mode=S_IFREG|0644, st_size=5458, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/SketchBrush-32.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "P", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "S", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "\n", 1)                        = 1
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "3", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "3", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0*\0\0\0\2\0\0\0 \0\0\0 \0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch\0", 14)          = 14
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
+read(5, "\0\0\0,\0\0\0\2\0\0\0 \0\0\0 \0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#2\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
+read(5, "\0\0\0,\0\0\0\2\0\0\0 \0\0\0 \0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#3\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
+read(5, "\0\0\0,\0\0\0\2\0\0\0 \0\0\0 \0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#4\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
+read(5, "\0\0\0,\0\0\0\2\0\0\0 \0\0\0 \0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#5\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024) = 1024
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/SketchBrush-64.gih", {st_mode=S_IFREG|0644, st_size=20818, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/SketchBrush-64.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "P", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "S", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "\n", 1)                        = 1
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+munmap(0xb71d1000, 32768)               = 0
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, "4", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, "4", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0*\0\0\0\2\0\0\0@\0\0\0@\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch\0", 14)          = 14
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
+read(5, "\0\0\0,\0\0\0\2\0\0\0@\0\0\0@\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#2\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
+read(5, "\0\0\0,\0\0\0\2\0\0\0@\0\0\0@\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#3\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
+read(5, "\0\0\0,\0\0\0\2\0\0\0@\0\0\0@\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#4\0", 16)        = 16
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
+read(5, "\0\0\0,\0\0\0\2\0\0\0@\0\0\0@\0\0\0\1GIMP\0\0\0\24", 28) = 28
+read(5, "Pencil Sketch#5\0", 16)        = 16
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d7000
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 4096
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/callig1.gbr", {st_mode=S_IFREG|0644, st_size=147, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/callig1.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\n\0\0\0\n\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Calligraphic Brush\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\10F\212$\0\0\0\0\0\th\342\357X\0\0\0\0\3Z\361\377\353E\0\0"..., 100) = 100
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/callig2.gbr", {st_mode=S_IFREG|0644, st_size=447, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/callig2.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\24\0\0\0\24\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Calligraphic Brush\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10L\237G\0\0\0\0\0\0\0\0\0\0\0\0"..., 400) = 400
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/callig3.gbr", {st_mode=S_IFREG|0644, st_size=272, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/callig3.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\17\0\0\0\17\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Calligraphic Brush\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\6=\223M\0\0\0\0\0\0\0\0\0\0\1K\353\377\331\0\0"..., 225) = 225
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/callig4.gbr", {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/callig4.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\5\0\0\0\5\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Calligraphic Brush\0", 19)     = 19
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "\0\5*]\'\3C\322\364\2300\334\376\371v\221\377\376\265\25=\311\247$\0", 25) = 25
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/confetti.gbr", {st_mode=S_IFREG|0644, st_size=793, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/confetti.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0%\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0K", 28) = 28
+read(5, "Confetti\0", 9)                = 9
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "\0\0\0\7\31\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\26R"..., 756) = 756
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/confetti.gih", {st_mode=S_IFREG|0644, st_size=8076, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/confetti.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "C", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "f", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "\n", 1)                        = 1
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cf000
+munmap(0xb71cf000, 32768)               = 0
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, "7", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, "8", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0(\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#10\0", 12)            = 12
+brk(0x84e6000)                          = 0x84e6000
+read(5, "\0\0\0\7\31\23\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\26R"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#9\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#8\0", 11)             = 11
+read(5, "\0\0\0\2\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#7\0", 11)             = 11
+read(5, "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#6\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#5\0", 11)             = 11
+read(5, "\0\0\0\1\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#4\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#3\0", 11)             = 11
+read(5, "\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0\'\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti#2\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+read(5, "\0\0\0%\0\0\0\2\0\0\0\33\0\0\0\34\0\0\0\1GIMP\0\0\0\17", 28) = 28
+read(5, "Confetti\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 756) = 756
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/dunes.gbr", {st_mode=S_IFREG|0644, st_size=1100, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/dunes.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0,\0\0\0\2\0\0\0!\0\0\0 \0\0\0\1GIMP\0\0\0d", 28) = 28
+read(5, "Sand Dunes (AP)\0", 16)        = 16
+read(5, "\0\0\0\0\6\34#\34\26\r\7\3\1\1\0\0\0\6\17$32%\30\17\7\6\3\1\0\0\0"..., 1056) = 1056
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/feltpen.gih", {st_mode=S_IFREG|0644, st_size=118799, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/feltpen.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "F", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "P", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "1", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "3", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "3", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "3", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "u", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "y", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "5", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "2", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "x", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0.\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush\0", 18)      = 18
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#2\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#3\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#4\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#5\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#6\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#7\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#8\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0000\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#9\0", 20)    = 20
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#10\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#11\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#12\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#13\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#14\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#15\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#16\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#17\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#18\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#19\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#20\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#21\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#22\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#23\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#24\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#25\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#26\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#27\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#28\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#29\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#30\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#31\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#32\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#33\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#34\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#35\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#36\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#37\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#38\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#39\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#40\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#41\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#42\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#43\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#44\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#45\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#46\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#47\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#48\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#49\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#50\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#51\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#52\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#53\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#54\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#55\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#56\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#57\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#58\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#59\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#60\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#61\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#62\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#63\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#64\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#65\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#66\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#67\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#68\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#69\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#70\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#71\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#72\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#73\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#74\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#75\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#76\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#77\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#78\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#79\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#80\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#81\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#82\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#83\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#84\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#85\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#86\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#87\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#88\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#89\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#90\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#91\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#92\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#93\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#94\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#95\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#96\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#97\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#98\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0001\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#99\0", 21)   = 21
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#100\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#101\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#102\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#103\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#104\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#105\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#106\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#107\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#108\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#109\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#110\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#111\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#112\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#113\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#114\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#115\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#116\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#117\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#118\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#119\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#120\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#121\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#122\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#123\0", 22)  = 22
+brk(0x8507000)                          = 0x8507000
+brk(0x8506000)                          = 0x8506000
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#124\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+read(5, "\0\0\0002\0\0\0\2\0\0\0\36\0\0\0\36\0\0\0\1GIMP\0\0\0\7", 28) = 28
+read(5, "GIMP Pixmap Brush#125\0", 22)  = 22
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 900) = 900
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/galaxy.gbr", {st_mode=S_IFREG|0644, st_size=2637, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/galaxy.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0005\0\0\0001\0\0\0\1GIMP\0\0\0K", 28) = 28
+read(5, "Galaxy (AP)\0", 12)            = 12
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0\0\2\6\10\n\16\24\24\20\v"..., 2597) = 2597
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/galaxy_big.gbr", {st_mode=S_IFREG|0644, st_size=10040, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/galaxy_big.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\2\0\0\0d\0\0\0d\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "Galaxy, Big\0", 12)            = 12
+read(5, "\1\2\3\3\2\1\3\3\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\6\1\1\0\0"..., 10000) = 10000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/galaxy_small.gbr", {st_mode=S_IFREG|0644, st_size=749, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/galaxy_small.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\33\0\0\0\32\0\0\0\1GIMP\0\0\0K", 28) = 28
+read(5, "Galaxy, Small (AP)\0", 19)     = 19
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\1\2\1\2\2\2\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 702) = 702
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/hsparks.gih", {st_mode=S_IFREG|0644, st_size=127644, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/hsparks.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "S", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "9", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "9", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "9", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0#\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks\0", 7)                  = 7
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\372L\0<\367W\0F\373_\0P\371f\0Z\371n\0c\374x\0j\374\202\0q\372\222\0v"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#2\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#3\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#4\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#5\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#6\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#7\0", 9)                = 9
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0<\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#8\0", 9)                = 9
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d4000
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 6208) = 6208
+read(5, "\0\0\0%\0\0\0\2\0\0\0002\0\0\0<\0\0\0\4GIMP\0\0\0\17", 28) = 28
+read(5, "Sparks#9\0", 9)                = 9
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71d1000
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 3808) = 3808
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/pepper.gbr", {st_mode=S_IFREG|0644, st_size=11991, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/pepper.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0#\0\0\0\2\0\0\0001\0\0\0=\0\0\0\4GIMP\0\0\0d", 28) = 28
+read(5, "Pepper\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c9000
+munmap(0xb71c9000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71ce000
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "w\245N\377z\251S\377~\257[\377{\256Y\377}\262[\376|\263[\363\177\253_\320.2\35:"..., 3764) = 3764
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/pixel.gbr", {st_mode=S_IFREG|0644, st_size=48, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/pixel.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0/\0\0\0\2\0\0\0\1\0\0\0\1\0\0\0\1GIMP\0\0\0002", 28) = 28
+read(5, "pixel (1x1 square)\0", 19)     = 19
+brk(0x8527000)                          = 0x8527000
+read(5, "\377", 1)                      = 1
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/thegimp.gbr", {st_mode=S_IFREG|0644, st_size=2514, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/thegimp.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\'\0\0\0\2\0\0\0007\0\0\0-\0\0\0\1GIMP\0\0\0\n", 28) = 28
+read(5, "GIMP Brush\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2475) = 2475
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/vine.gih", {st_mode=S_IFREG|0644, st_size=116027, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/vine.gih", O_RDONLY|O_LARGEFILE) = 5
+read(5, "V", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "6", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "7", 1)                         = 1
+read(5, "7", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "g", 1)                         = 1
+read(5, "h", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "7", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "i", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "w", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "1", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "p", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "c", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "t", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "k", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "6", 1)                         = 1
+read(5, " ", 1)                         = 1
+read(5, "s", 1)                         = 1
+read(5, "e", 1)                         = 1
+read(5, "l", 1)                         = 1
+read(5, "0", 1)                         = 1
+read(5, ":", 1)                         = 1
+read(5, "r", 1)                         = 1
+read(5, "a", 1)                         = 1
+read(5, "n", 1)                         = 1
+read(5, "d", 1)                         = 1
+read(5, "o", 1)                         = 1
+read(5, "m", 1)                         = 1
+read(5, "\n", 1)                        = 1
+read(5, "\0\0\0\'\0\0\0\2\0\0\0M\0\0\0G\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush\0", 11)             = 11
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 5484) = 5484
+read(5, "\0\0\0)\0\0\0\2\0\0\0I\0\0\0?\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush#2\0", 13)           = 13
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2012) = 2012
+read(5, "\0\0\0)\0\0\0\2\0\0\0M\0\0\0?\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush#3\0", 13)           = 13
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\n\v\n\v\\mK\204"..., 8192) = 8192
+read(5, "\10\10\10\t\2\2\2\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 3020) = 3020
+read(5, "\0\0\0)\0\0\0\2\0\0\0M\0\0\0?\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush#4\0", 13)           = 13
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\1\1\1\n\v\n\v\\mK\204"..., 8192) = 8192
+read(5, "\10\10\10\t\2\2\2\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 3020) = 3020
+read(5, "\0\0\0)\0\0\0\2\0\0\0I\0\0\0=\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush#5\0", 13)           = 13
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1428) = 1428
+read(5, "\0\0\0)\0\0\0\2\0\0\0M\0\0\0=\0\0\0\4GIMP\0\0\0\36", 28) = 28
+read(5, "GIMP Brush#6\0", 13)           = 13
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 8192) = 8192
+read(5, "\204\263U\372V\201+\377R{)\377Mt\'\377D\\,\334Lr(\366<Z\37\3777S\34\377"..., 8192) = 8192
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2404) = 2404
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/brushes/xcf.gbr", {st_mode=S_IFREG|0644, st_size=4445, ...}) = 0
+open("/usr/share/gimp/2.0/brushes/xcf.gbr", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0-\0\0\0\2\0\0\0d\0\0\0,\0\0\0\1GIMP\0\0\0d", 28) = 28
+read(5, "Property of XCF!\0", 17)       = 17
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c6000
+munmap(0xb71c6000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4400) = 4400
+close(5)                                = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 26175}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 26344}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 26449}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 26568}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 26853}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\1\1`\0035\30\4\0\n\1`\3?\0`\3\220\1\24\0F\30\5\0\n\1`\3"..., 4020}], 1) = 4020
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 28197}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 28275}, NULL) = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c6000
+munmap(0xb71c6000, 32768)               = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c6000
+munmap(0xb71c6000, 32768)               = 0
+stat64("/user/folk/clint/.gimp-2.2/patterns", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2/patterns", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/patterns", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/patterns", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 4 entries */, 4096)    = 120
+stat64("/user/folk/clint/.gimp-2.2/patterns/HPSky7.pat", {st_mode=S_IFREG|0644, st_size=8655, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/patterns/HPSky7.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\37\0\0\0\1\0\0\0001\0\0\0,\0\0\0\4GPAT", 24) = 24
+read(5, "HP Sky\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c6000
+munmap(0xb71c6000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71cb000
+read(5, "\"3@\377\"4A\377!4B\377!3B\377!1A\377\"2A\377!2A\377 2C\377"..., 8624) = 8624
+close(5)                                = 0
+access("/user/folk/clint/.gimp-2.2/patterns/HPSky7.pat", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/patterns/HPSky7.pat", W_OK) = 0
+stat64("/user/folk/clint/.gimp-2.2/patterns/CaribWater.pat", {st_mode=S_IFREG|0644, st_size=786472, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/patterns/CaribWater.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\1\0\0\2\0\0\0\2\0\0\0\0\3GPAT", 24) = 24
+read(5, "Caribbean Water\0", 16)        = 16
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71c3000
+munmap(0xb71c3000, 32768)               = 0
+mmap2(NULL, 790528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e78000
+read(5, "M\300\243G\272\235=\262\2254\254\220A\274\237O\307\253O\307\253P\305\252S\310\255V\310\256T\306"..., 786432) = 786432
+close(5)                                = 0
+access("/user/folk/clint/.gimp-2.2/patterns/CaribWater.pat", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/patterns/CaribWater.pat", W_OK) = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/share/gimp/2.0/patterns", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 60 entries */, 4096)   = 1984
+stat64("/usr/share/gimp/2.0/patterns/Moonfoot.pat", {st_mode=S_IFREG|0644, st_size=14442, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/Moonfoot.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0*\0\0\0\1\0\0\0x\0\0\0x\0\0\0\1GPAT", 24) = 24
+read(5, "One Small Step...\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e70000
+munmap(0xb6e70000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e74000
+read(5, "df_W9\31\33\r\0233RnL7+(\37\f\7\5\4\20$\33J\\VVq_Yq"..., 14400) = 14400
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/3dgreen.pat", {st_mode=S_IFREG|0644, st_size=6108, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/3dgreen.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0-\0\0\0-\0\0\0\3GPAT", 24) = 24
+read(5, "3D Green\0", 9)                = 9
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e6c000
+munmap(0xb6e6c000, 32768)               = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e72000
+read(5, "\7cS\vWE\1>1-\207x\7WK\5^Q\tgW\5_P\1VH\7hY\27u"..., 6075) = 6075
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/Craters.pat", {st_mode=S_IFREG|0644, st_size=39707, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/Craters.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0s\0\0\0s\0\0\0\3GPAT", 24) = 24
+read(5, "Craters\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e6a000
+munmap(0xb6e6a000, 32768)               = 0
+mmap2(NULL, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e68000
+read(5, "rt\233z|\243\201\203\252|~\245lo\230\\_\210UX\201VY\202gl\226`e\217Za"..., 39675) = 39675
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/crinklepaper.pat", {st_mode=S_IFREG|0644, st_size=49191, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/crinklepaper.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\'\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\3GPAT", 24) = 24
+read(5, "Crinkled Paper\0", 15)         = 15
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e60000
+munmap(0xb6e60000, 32768)               = 0
+mmap2(NULL, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e5b000
+read(5, "\327\257\214\331\261\216\334\264\221\337\267\224\337\267\224\334\264\221\330\261\220\326\257\216\333\264\223\333\264\223\334\265"..., 49152) = 49152
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/Stripes1px.pat", {st_mode=S_IFREG|0644, st_size=9253, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/Stripes1px.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0%\0\0\0\1\0\0\0000\0\0\0000\0\0\0\4GPAT", 24) = 24
+read(5, "Stripes Fine\0", 13)           = 13
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e53000
+munmap(0xb6e53000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e58000
+read(5, "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"..., 9216) = 9216
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/Stripes2px.pat", {st_mode=S_IFREG|0644, st_size=9248, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/Stripes2px.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0000\0\0\0000\0\0\0\4GPAT", 24) = 24
+read(5, "Stripes\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e50000
+munmap(0xb6e50000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e55000
+read(5, "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377"..., 9216) = 9216
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/amethyst.pat", {st_mode=S_IFREG|0644, st_size=12321, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/amethyst.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Amethyst\0", 9)                = 9
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e4d000
+munmap(0xb6e4d000, 32768)               = 0
+brk(0x8548000)                          = 0x8548000
+brk(0x8547000)                          = 0x8547000
+read(5, "^FW^LZjSc\202s\204{o\200p_oeS_YCQW=NO6HO3"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/bark.pat", {st_mode=S_IFREG|0644, st_size=22174, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/bark.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0R\0\0\0Z\0\0\0\3GPAT", 24) = 24
+read(5, "Tree Bark\0", 10)              = 10
+read(5, "[H7wbO\204iT\236\200h\210fM\215iQ{XB\245\204q\240\204v\232\202vE1"..., 22140) = 22140
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/blue.pat", {st_mode=S_IFREG|0644, st_size=6108, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/blue.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0-\0\0\0-\0\0\0\3GPAT", 24) = 24
+read(5, "Big Blue\0", 9)                = 9
+read(5, "\0\0\177\0\0\177\0\0\177\0\0\177\0\0~\0\0~\0\0\177\0\0\200\0\0\201\0\0\177\0\0"..., 6075) = 6075
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/bluegrid.pat", {st_mode=S_IFREG|0644, st_size=1909, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/bluegrid.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0\31\0\0\0\31\0\0\0\3GPAT", 24) = 24
+read(5, "Blue Grid\0", 10)              = 10
+read(5, "v\200\273mw\262z\204\277\177\211\304nx\263r|\267\214\226\321\225\237\332\211\223\320[e\242~\207"..., 1875) = 1875
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/bluesquares.pat", {st_mode=S_IFREG|0644, st_size=48037, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/bluesquares.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0%\0\0\0\1\0\0\0\240\0\0\0d\0\0\0\3GPAT", 24) = 24
+read(5, "Blue Squares\0", 13)           = 13
+read(5, "\270\323\325\270\323\325\270\323\325\270\323\325\270\323\325\270\323\325\270\323\325\270\323\325\270\323\325\267\316\322Jt"..., 48000) = 48000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/blueweb.pat", {st_mode=S_IFREG|0644, st_size=12321, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/blueweb.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Blue Web\0", 9)                = 9
+read(5, "-@\345)=\345#m\345#e\345#G\345#Z\345\"a\345#x\345=#\345#k\345#K"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/brick.pat", {st_mode=S_IFREG|0644, st_size=27679, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/brick.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\37\0\0\0\1\0\0\0`\0\0\0`\0\0\0\3GPAT", 24) = 24
+read(5, "Bricks\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e4d000
+munmap(0xb6e4d000, 32768)               = 0
+mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e4e000
+read(5, "\216kd\216lh\201`\\\215kh\232ys\207fd\242\204}\222ss\204gi\223xw\201h"..., 27648) = 27648
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/burlap.pat", {st_mode=S_IFREG|0644, st_size=27679, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/burlap.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\37\0\0\0\1\0\0\0`\0\0\0`\0\0\0\3GPAT", 24) = 24
+read(5, "Burlap\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e46000
+munmap(0xb6e46000, 32768)               = 0
+mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e47000
+read(5, "*\f\2O.%S.%vPER\'\36<\24\10H#\23D%\23M2\37oZE<\'"..., 27648) = 27648
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/burlwood.pat", {st_mode=S_IFREG|0644, st_size=27681, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/burlwood.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0`\0\0\0`\0\0\0\3GPAT", 24) = 24
+read(5, "Burlwood\0", 9)                = 9
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e3f000
+munmap(0xb6e3f000, 32768)               = 0
+mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e40000
+read(5, "\274l3\254c$\264k+\264w4\264k+\254k,\264l=\274yE\244wK\264\206C\254\177"..., 27648) = 27648
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/choc_swirl.pat", {st_mode=S_IFREG|0644, st_size=7540, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/choc_swirl.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0(\0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Chocolate Swirl\0", 16)        = 16
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e38000
+munmap(0xb6e38000, 32768)               = 0
+read(5, "v5\20\201?\35|:\31u2\25w4\32|8!w3 b\37\rI\22\n7\3\0005\4"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/corkboard.pat", {st_mode=S_IFREG|0644, st_size=10097, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/corkboard.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0#\0\0\0\1\0\0\0N\0\0\0+\0\0\0\3GPAT", 24) = 24
+read(5, "Cork board\0", 11)             = 11
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e38000
+munmap(0xb6e38000, 32768)               = 0
+read(5, "\254\233\203\264\244\203\255\224{\254\233\203\254\233\203\245\223{\245\223{\244\223\203\255\234{\254\233\203\254\223"..., 10062) = 10062
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/cracked.pat", {st_mode=S_IFREG|0644, st_size=62238, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/cracked.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0\220\0\0\0\220\0\0\0\3GPAT", 24) = 24
+read(5, "Crack\0", 6)                   = 6
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e38000
+munmap(0xb6e38000, 32768)               = 0
+mmap2(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e30000
+read(5, "IEFQMNRNOJFGFBCNJKXTU]YZa]^_[\\[W"..., 62208) = 62208
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/electric.pat", {st_mode=S_IFREG|0644, st_size=9638, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/electric.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0P\0\0\0(\0\0\0\3GPAT", 24) = 24
+read(5, "Electric Blue\0", 14)          = 14
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e28000
+munmap(0xb6e28000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e2d000
+read(5, "\2\0\222\0\2\215\2\0\216\10\0\214\5\0\206\5%\257\6e\307\6a\312\t)\266\2\5\230\1\1"..., 9600) = 9600
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/fibers.pat", {st_mode=S_IFREG|0644, st_size=7531, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/fibers.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\37\0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Fibers\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e25000
+munmap(0xb6e25000, 32768)               = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e2b000
+read(5, "\353\371\364\336\347\354\265\270\305\325\323\335\332\334\346\322\331\336\350\364\366\343\361\363\327\343\357\340\352\362\313\320"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/granite1.pat", {st_mode=S_IFREG|0644, st_size=10035, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/granite1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0#\0\0\0\1\0\0\0d\0\0\0d\0\0\0\1GPAT", 24) = 24
+read(5, "Granite #1\0", 11)             = 11
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e23000
+munmap(0xb6e23000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e28000
+read(5, "+C<*#$)&10GQ8210\"\25\24\27\37A\223u9,5I)\30\23\33"..., 10000) = 10000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/ground1.pat", {st_mode=S_IFREG|0644, st_size=30034, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/ground1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0d\0\0\0d\0\0\0\3GPAT", 24) = 24
+read(5, "Dried mud\0", 10)              = 10
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e20000
+munmap(0xb6e20000, 32768)               = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e20000
+read(5, "xB\36\224`;\222^9R\"\0\216`<\373\321\253\353\303\237\343\275\230\335\271\225\312\246\202\307\240"..., 30000) = 30000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/ice.pat", {st_mode=S_IFREG|0644, st_size=43228, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/ice.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\34\0\0\0\1\0\0\0x\0\0\0x\0\0\0\3GPAT", 24) = 24
+read(5, "Ice\0", 4)                     = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e18000
+munmap(0xb6e18000, 32768)               = 0
+mmap2(NULL, 45056, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e15000
+read(5, "\343\345\371\331\334\357\327\332\354\330\333\356\327\332\355\330\333\356\325\330\352\330\333\356\325\330\353\321\323\346\332\335"..., 43200) = 43200
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/java.pat", {st_mode=S_IFREG|0644, st_size=12317, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/java.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\35\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Java\0", 5)                    = 5
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e0d000
+munmap(0xb6e0d000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e11000
+read(5, ")\23\0266 #;%(D.18\"%0\32\0359#&D.15\37\")\23\26?$"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/leather.pat", {st_mode=S_IFREG|0644, st_size=12320, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/leather.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Leather\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e09000
+munmap(0xb6e09000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e0d000
+read(5, ";\t\5F\v\5C\v\6N\16\10K\r\7d\24\t\207\37\20i\24\tC\v\6G\n\6K\f"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/leaves.pat", {st_mode=S_IFREG|0644, st_size=7537, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/leaves.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0%\0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Maple Leaves\0", 13)           = 13
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e05000
+munmap(0xb6e05000, 32768)               = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e0b000
+read(5, "-Y\0046c\0104a\0060\\\0065Z\0071\\\0060]\0047`\4@b\26\33,\10\31\'"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/leopard.pat", {st_mode=S_IFREG|0644, st_size=11936, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/leopard.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0@\0\0\0>\0\0\0\3GPAT", 24) = 24
+read(5, "Leopard\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e03000
+munmap(0xb6e03000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e08000
+read(5, "7*\37\244uR\313\221h\310\215b\303\216hx^K0\'\37\17\r\n\2\2\2\2\2\2\n\7"..., 11904) = 11904
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/lightning.pat", {st_mode=S_IFREG|0644, st_size=40723, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/lightning.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0\211\0\0\0c\0\0\0\3GPAT", 24) = 24
+read(5, "Lightning\0", 10)              = 10
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e00000
+munmap(0xb6e00000, 32768)               = 0
+brk(0x8568000)                          = 0x8568000
+brk(0x8567000)                          = 0x8567000
+read(5, "\376\310\354\374\310\356\313\235\302yPxC\"O>$S?)Z0 Q6%[-\37R9\'"..., 40689) = 40689
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/marble1.pat", {st_mode=S_IFREG|0644, st_size=16418, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/marble1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\1GPAT", 24) = 24
+read(5, "Marble #1\0", 10)              = 10
+read(5, "\355\367\360\360\362\347\357\353\347\355\364\354\346\375\364\357\360\354\362\351\360\342\344\334\352\347\354\364\366\367\365\357"..., 16384) = 16384
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/marble2.pat", {st_mode=S_IFREG|0644, st_size=16418, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/marble2.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\1GPAT", 24) = 24
+read(5, "Marble #2\0", 10)              = 10
+read(5, "\340\330\333\323\320\313\277\242\261\261\272\302\310\323\330\341\340\341\343\351\341\351\361\351\351\351\361\354\361\351\361\351"..., 16384) = 16384
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/marble3.pat", {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/marble3.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Marble #3\0", 10)              = 10
+read(5, "\304\302\300\316\315\306\311\310\304\312\307\303\323\314\306\336\332\322\347\351\341\335\336\325\321\324\316\311\322\323\323\326"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/nops.pat", {st_mode=S_IFREG|0644, st_size=49181, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/nops.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\35\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\3GPAT", 24) = 24
+read(5, "Nops\0", 5)                    = 5
+mmap2(NULL, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dfb000
+read(5, "\354\354\354\351\351\351\343\343\343\337\337\337\332\332\332\322\322\322\305\305\305\270\270\270\245\245\245\220\220\220~~"..., 49152) = 49152
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/paper.pat", {st_mode=S_IFREG|0644, st_size=10030, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/paper.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0d\0\0\0d\0\0\0\1GPAT", 24) = 24
+read(5, "Paper\0", 6)                   = 6
+read(5, "\240\233\261\234\244\253|\204\213\203\200\177uyh\240\243\206|{\213a\217{\272\223\212}\213\253\270\223"..., 10000) = 10000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/parque1.pat", {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/parque1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Parque #1\0", 10)              = 10
+read(5, "\310s1\263X,\302i+\272`;\273fE\310|9\257Z*\300c6\266W\33\217/\n\273d"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/parque2.pat", {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/parque2.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Parque #2\0", 10)              = 10
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6df3000
+munmap(0xb6df3000, 32768)               = 0
+read(5, "\254`\36\245R\30\256V\27\260X\30\2155\t\220?\r\224F\22\234L!\217?\24\224F\22\270l"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/parque3.pat", {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/parque3.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Parque #3\0", 10)              = 10
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6df3000
+munmap(0xb6df3000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6df7000
+read(5, "T%+o61\253gH\300vS\243TLi-7\235dC\330\224gv>:p?7\244P"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/pastel.pat", {st_mode=S_IFREG|0644, st_size=12325, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/pastel.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0%\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Pastel Stuff\0", 13)           = 13
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6def000
+munmap(0xb6def000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6df3000
+read(5, "4S\2372[\226N9\215G\32kW;yT:\210R8\236k2\224\1778\215m9\211\201@"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/pine.pat", {st_mode=S_IFREG|0644, st_size=10781, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/pine.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\35\0\0\0\1\0\0\0@\0\0\0008\0\0\0\3GPAT", 24) = 24
+read(5, "Pine\0", 5)                    = 5
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6deb000
+munmap(0xb6deb000, 32768)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6df0000
+read(5, "f3\0\314f3\377\256L\377\314f\377\3143\377\314f\377\314f\377\256L\377\300T\377\300T\377\231"..., 10752) = 10752
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/pink_marble.pat", {st_mode=S_IFREG|0644, st_size=49188, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/pink_marble.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0$\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\3GPAT", 24) = 24
+read(5, "Pink Marble\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6de8000
+munmap(0xb6de8000, 32768)               = 0
+mmap2(NULL, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6de3000
+read(5, "\344\312\304\354\316\304\354\316\304\364\326\314\354\322\304\364\332\314\354\322\304\364\322\304\364\322\304\354\316\274\354\312"..., 49152) = 49152
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/pool.pat", {st_mode=S_IFREG|0644, st_size=6111, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/pool.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0$\0\0\0\1\0\0\0-\0\0\0-\0\0\0\3GPAT", 24) = 24
+read(5, "Pool Bottom\0", 12)            = 12
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ddb000
+munmap(0xb6ddb000, 32768)               = 0
+read(5, "v\217\305k\204\272n\207\275o\210\276n\207\275k\204\272l\205\273v\217\305w\220\306p\212\275q\213"..., 6075) = 6075
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/qube1.pat", {st_mode=S_IFREG|0644, st_size=5331, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/qube1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0\37\0\0\0009\0\0\0\3GPAT", 24) = 24
+read(5, "Qbert\0", 6)                   = 6
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ddb000
+munmap(0xb6ddb000, 32768)               = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6de1000
+read(5, "-7[06Z00RF?`,\30=W=bP,XF Og?s@\33OO/"..., 5301) = 5301
+close(5)                                = 0
+brk(0x8588000)                          = 0x8588000
+stat64("/usr/share/gimp/2.0/patterns/rain.pat", {st_mode=S_IFREG|0644, st_size=35021, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/rain.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\35\0\0\0\1\0\0\0l\0\0\0l\0\0\0\3GPAT", 24) = 24
+read(5, "Rain\0", 5)                    = 5
+read(5, "\213\276\367\216\301\372\221\305\377\223\307\377\217\305\377\213\301\375\207\275\371\205\273\367\224\310\377\217\303\374\223\304"..., 34992) = 34992
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/recessed.pat", {st_mode=S_IFREG|0644, st_size=6433, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/recessed.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0P\0\0\0P\0\0\0\1GPAT", 24) = 24
+read(5, "recessed\0", 9)                = 9
+read(5, "w\201\203|`22a\207x~\204~\201vT3/K{\215~x\203j\202\205c8*It"..., 6400) = 6400
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/redcube.pat", {st_mode=S_IFREG|0644, st_size=12322, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/redcube.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Red Cubes\0", 10)              = 10
+read(5, "\0\4\2\16\0\5\1\1\4\1\2\3\0\7\0\5\4\0P\4\6{\27\26\212\20\17\242\25\31\260\22"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/rock.pat", {st_mode=S_IFREG|0644, st_size=30510, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/rock.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0\177\0\0\0P\0\0\0\3GPAT", 24) = 24
+read(5, "Rocks\0", 6)                   = 6
+read(5, "\234\225\202\231\222\177\252\243\221|uc\205\177osp_\204\201r`aQgg[VXKz}"..., 30480) = 30480
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/sky.pat", {st_mode=S_IFREG|0644, st_size=11002, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/sky.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\34\0\0\0\1\0\0\0;\0\0\0>\0\0\0\3GPAT", 24) = 24
+read(5, "Sky\0", 4)                     = 4
+read(5, "\275\306\367\265\306\367\265\306\367\265\275\357\265\306\357\245\275\357\255\275\367\255\275\357\234\265\357\245\275\357\255\275"..., 10974) = 10974
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/slate.pat", {st_mode=S_IFREG|0644, st_size=16414, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/slate.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\1GPAT", 24) = 24
+read(5, "Slate\0", 6)                   = 6
+read(5, "DDDfUDDDUUUfDUDUDDUUUUDUUDDDffUU"..., 16384) = 16384
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/sm_squares.pat", {st_mode=S_IFREG|0644, st_size=7538, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/sm_squares.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0&\0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Small Squares\0", 14)          = 14
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dd9000
+munmap(0xb6dd9000, 32768)               = 0
+read(5, "\372\301T\364\300Q\364\301R\373\301Y\370\264V\366\250S\354\234I\354\240L\350\231Q\326\205I\360\236"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/starfield.pat", {st_mode=S_IFREG|0644, st_size=49186, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/starfield.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\"\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\3GPAT", 24) = 24
+read(5, "Starfield\0", 10)              = 10
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dd9000
+munmap(0xb6dd9000, 32768)               = 0
+mmap2(NULL, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dd4000
+read(5, "\4\7\r\4\10\34\4\t1\5\n@\f\7<\v\7D\10\7N\6\7V\5\10Z\10\6o\t\5"..., 49152) = 49152
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/stone33.pat", {st_mode=S_IFREG|0644, st_size=73038, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/stone33.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0\234\0\0\0\234\0\0\0\3GPAT", 24) = 24
+read(5, "Stone\0", 6)                   = 6
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dcc000
+munmap(0xb6dcc000, 32768)               = 0
+mmap2(NULL, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dc2000
+read(5, "\204\211\237\230\235\263\232\237\265\221\226\254\226\234\262\231\237\265\214\224\251\200\210\235\203\216\244\220\233\261w\203"..., 73008) = 73008
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/terra.pat", {st_mode=S_IFREG|0644, st_size=12318, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/terra.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0@\0\0\0@\0\0\0\3GPAT", 24) = 24
+read(5, "Terra\0", 6)                   = 6
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dba000
+munmap(0xb6dba000, 32768)               = 0
+mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dbe000
+read(5, "\322q-\314o)\324w3\330y1\320s-\322o1\320q3\322{/\324u1\324s1\322w"..., 12288) = 12288
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/walnut.pat", {st_mode=S_IFREG|0644, st_size=49183, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/walnut.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\37\0\0\0\1\0\0\0\200\0\0\0\200\0\0\0\3GPAT", 24) = 24
+read(5, "Walnut\0", 7)                  = 7
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6db6000
+munmap(0xb6db6000, 32768)               = 0
+mmap2(NULL, 53248, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6db1000
+read(5, "\204B1\224J1\224R9{B){91Z!\30c1)k1\30k1!c1){9"..., 49152) = 49152
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/warning.pat", {st_mode=S_IFREG|0644, st_size=1233, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/warning.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0!\0\0\0\1\0\0\0\24\0\0\0\24\0\0\0\3GPAT", 24) = 24
+read(5, "Warning!\0", 9)                = 9
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6da9000
+munmap(0xb6da9000, 32768)               = 0
+read(5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\0\377\377"..., 1200) = 1200
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/wood1.pat", {st_mode=S_IFREG|0644, st_size=27690, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/wood1.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0*\0\0\0\1\0\0\0`\0\0\0`\0\0\0\3GPAT", 24) = 24
+read(5, "Wood of some sort\0", 18)      = 18
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6da9000
+munmap(0xb6da9000, 32768)               = 0
+mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6daa000
+read(5, "\264e\34\254`\24\254`\24\244Z\v\244U\f\244Z\v\254a\36\264l!\274m\"\264l!\264e"..., 27648) = 27648
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/wood2.pat", {st_mode=S_IFREG|0644, st_size=30030, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/wood2.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\36\0\0\0\1\0\0\0d\0\0\0d\0\0\0\3GPAT", 24) = 24
+read(5, "Pine?\0", 6)                   = 6
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6da2000
+munmap(0xb6da2000, 32768)               = 0
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6da2000
+read(5, "\377\272Y\377\303e\353\252A\377\262A\377\262A\377\262A\377\272Y\377\303e\353\252A\377\262A\377\262"..., 30000) = 30000
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/wood3.pat", {st_mode=S_IFREG|0644, st_size=7532, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/wood3.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Wood #1\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d9a000
+munmap(0xb6d9a000, 32768)               = 0
+read(5, "\262h,\276u4\266l-\263j-\256c*\264h+\270j,\266f,\255a*\256c*\241W"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/wood4.pat", {st_mode=S_IFREG|0644, st_size=7532, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/wood4.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0 \0\0\0\1\0\0\0002\0\0\0002\0\0\0\3GPAT", 24) = 24
+read(5, "Wood #2\0", 8)                 = 8
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d9a000
+munmap(0xb6d9a000, 32768)               = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6da0000
+read(5, "\201;\32w:\34t7\35m6\34c3\33i3\33j1\32f4\34e5\35_0\31b1"..., 7500) = 7500
+close(5)                                = 0
+stat64("/usr/share/gimp/2.0/patterns/wood5.pat", {st_mode=S_IFREG|0644, st_size=27677, ...}) = 0
+open("/usr/share/gimp/2.0/patterns/wood5.pat", O_RDONLY|O_LARGEFILE) = 5
+read(5, "\0\0\0\35\0\0\0\1\0\0\0`\0\0\0`\0\0\0\3GPAT", 24) = 24
+read(5, "Wood\0", 5)                    = 5
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+munmap(0xb6d98000, 32768)               = 0
+mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d99000
+read(5, "\254\226t\274\236|\274\246\204\274\236|\254\226t\254\222l\254\222t\254\226l\274\246\204\304\252\204\274\246"..., 27648) = 27648
+close(5)                                = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+brk(0x85a9000)                          = 0x85a9000
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 265559}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 265767}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 265999}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 266197}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 266632}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\n\1`\0035\30\4\0\17\1`\3?\0`\3\220\1\24\0F\30\5\0\17\1`\3"..., 4072}, {">\3\7\0\22\1`\3;\0`\0033\0`\3\0\0\0\0\260\0\347\0/\0\n\0", 28}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0\23\1`\0036\7\2\0\22\1`\3", 32}], 1) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 269108}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 269235}, NULL) = 0
+stat64("/user/folk/clint/.gimp-2.2/palettes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2/palettes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/palettes", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/palettes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 2 entries */, 4096)    = 48
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/share/gimp/2.0/palettes", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 41 entries */, 4096)   = 1376
+stat64("/usr/share/gimp/2.0/palettes/Coldfire.gpl", {st_mode=S_IFREG|0644, st_size=5404, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Coldfire.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5404, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Coldfire\n#\n  "..., 4096) = 4096
+read(5, "ntitled\n236 216   4\tUntitled\n240"..., 4096) = 1308
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Bears.gpl", {st_mode=S_IFREG|0644, st_size=5394, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Bears.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5394, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Bears\n#\n  8  "..., 4096) = 4096
+read(5, "d\n148  92  44\tUntitled\n188 184 1"..., 4096) = 1298
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Bgold.gpl", {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Bgold.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Bgold\n#\n236 2"..., 4096) = 4096
+read(5, "tled\n168 152 208\tUntitled\n168 15"..., 4096) = 1307
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Blues.gpl", {st_mode=S_IFREG|0644, st_size=5436, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Blues.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5436, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Blues\n#\n# For"..., 4096) = 4096
+read(5, "d\n  0   0 252\tUntitled\n  0   0 2"..., 4096) = 1340
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Borders.gpl", {st_mode=S_IFREG|0644, st_size=5405, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Borders.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5405, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Borders\n#\n204"..., 4096) = 4096
+read(5, "titled\n 80 100  88\tUntitled\n 88 "..., 4096) = 1309
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Caramel.gpl", {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Caramel.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Caramel\n#\n 48"..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "tled\n  0 112 104\tUntitled\n  0 10"..., 4096) = 1307
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Cascade.gpl", {st_mode=S_IFREG|0644, st_size=5405, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Cascade.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5405, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Cascade\n#\n108"..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+brk(0x85ca000)                          = 0x85ca000
+read(5, "titled\n 60 116 164\tUntitled\n 60 "..., 4096) = 1309
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Browns_And_Yellows.gpl", {st_mode=S_IFREG|0644, st_size=528, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Browns_And_Yellows.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=528, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Browns And Ye"..., 4096) = 528
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/China.gpl", {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/China.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: China\n#\n224  "..., 4096) = 4096
+read(5, "tled\n200 120 196\tUntitled\n160 13"..., 4096) = 1307
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Dark_pastels.gpl", {st_mode=S_IFREG|0644, st_size=5410, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Dark_pastels.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5410, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Dark pastels\n"..., 4096) = 4096
+read(5, "56\tUntitled\n 92  80  60\tUntitled"..., 4096) = 1314
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Cool_Colors.gpl", {st_mode=S_IFREG|0644, st_size=201, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Cool_Colors.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=201, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Cool Colors\n#"..., 4096) = 201
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Cranes.gpl", {st_mode=S_IFREG|0644, st_size=5393, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Cranes.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5393, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Cranes\n#\n  8 "..., 4096) = 4096
+read(5, "\n192  28  36\tUntitled\n 72  80  6"..., 4096) = 1297
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Firecode.gpl", {st_mode=S_IFREG|0644, st_size=5401, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Firecode.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5401, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Firecode\n#\n  "..., 4096) = 4096
+read(5, "tled\n252 252  28\tUntitled\n252 25"..., 4096) = 1305
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Default.gpl", {st_mode=S_IFREG|0644, st_size=498, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Default.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=498, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Default\n#\n255"..., 4096) = 498
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Ega.gpl", {st_mode=S_IFREG|0644, st_size=4972, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Ega.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=4972, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Ega\nColumns: "..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "52\tUntitled\n252 252   0\tUntitled"..., 4096) = 876
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/GrayViolet.gpl", {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/GrayViolet.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: GrayViolet\n#\n"..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+brk(0x85eb000)                          = 0x85eb000
+read(5, "Untitled\n140 116 140\tUntitled\n14"..., 4096) = 1290
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Gold.gpl", {st_mode=S_IFREG|0644, st_size=5390, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Gold.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5390, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Gold\n#\n252 25"..., 4096) = 4096
+read(5, "led\n 60   0   0\tUntitled\n 60   0"..., 4096) = 1294
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Named_Colors.gpl", {st_mode=S_IFREG|0644, st_size=16940, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Named_Colors.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=16940, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Named Colors\n"..., 4096) = 4096
+read(5, "9   0)\n255   0   0\tred (255   0 "..., 4096) = 4096
+read(5, "39)\n202 225 255\tlight steel blue"..., 4096) = 4096
+read(5, "na 1 (255 130  71)\n238 121  66\ts"..., 4096) = 4096
+read(5, "medium purple 1 (171 130 255)\n15"..., 4096) = 556
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Grayblue.gpl", {st_mode=S_IFREG|0644, st_size=5406, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Grayblue.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5406, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Grayblue\n#\n12"..., 4096) = 4096
+read(5, "ntitled\n 60  76 108\tUntitled\n 60"..., 4096) = 1310
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Grays.gpl", {st_mode=S_IFREG|0644, st_size=629, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Grays.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=629, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Grays\n  0   0"..., 4096) = 629
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Greens.gpl", {st_mode=S_IFREG|0644, st_size=5393, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Greens.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5393, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Greens\n#\n  0 "..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "  0 244   0\tUntitled\n  0 240   0"..., 4096) = 1297
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Hilite.gpl", {st_mode=S_IFREG|0644, st_size=5404, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Hilite.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5404, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Hilite\n#\n164 "..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+brk(0x860c000)                          = 0x860c000
+read(5, "itled\n232 248 188\tUntitled\n232 2"..., 4096) = 1308
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Khaki.gpl", {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Khaki.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Khaki\n#\n144 1"..., 4096) = 4096
+read(5, "tled\n136 140  76\tUntitled\n136 14"..., 4096) = 1307
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Lights.gpl", {st_mode=S_IFREG|0644, st_size=578, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Lights.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=578, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Lights\n#\n255 "..., 4096) = 578
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Muted.gpl", {st_mode=S_IFREG|0644, st_size=1750, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Muted.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1750, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Muted\n#\n139 1"..., 4096) = 1750
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Paintjet.gpl", {st_mode=S_IFREG|0644, st_size=488, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Paintjet.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=488, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Paintjet\n#\n# "..., 4096) = 488
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/News3.gpl", {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/News3.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5403, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: News3\n#\n236 2"..., 4096) = 4096
+read(5, "tled\n 56  20  64\tUntitled\n 56  2"..., 4096) = 1307
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Op2.gpl", {st_mode=S_IFREG|0644, st_size=5399, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Op2.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5399, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Op2\n#\n204 144"..., 4096) = 4096
+read(5, "ed\n216 188 208\tUntitled\n216 188 "..., 4096) = 1303
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Reds_And_Purples.gpl", {st_mode=S_IFREG|0644, st_size=694, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Reds_And_Purples.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=694, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Reds And Purp"..., 4096) = 694
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Pastels.gpl", {st_mode=S_IFREG|0644, st_size=407, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Pastels.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=407, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Pastels\n#\n226"..., 4096) = 407
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Plasma.gpl", {st_mode=S_IFREG|0644, st_size=5414, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Plasma.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5414, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Plasma\nColumn"..., 4096) = 4096
+read(5, "56 180\tUntitled\n 48  64 168\tUnti"..., 4096) = 1318
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Reds.gpl", {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Reds.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Reds\n#\n  0   "..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "Untitled\n248   0   0\tUntitled\n24"..., 4096) = 1290
+brk(0x862d000)                          = 0x862d000
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Topographic.gpl", {st_mode=S_IFREG|0644, st_size=5470, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Topographic.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5470, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Topographic\n#"..., 4096) = 4096
+read(5, " 224  92\tUntitled\n232 224  92\tUn"..., 4096) = 1374
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Royal.gpl", {st_mode=S_IFREG|0644, st_size=5396, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Royal.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5396, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Royal\n#\n  0  "..., 4096) = 4096
+read(5, "0 236   4\tUntitled\n240 232   4\tU"..., 4096) = 1300
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Visibone.gpl", {st_mode=S_IFREG|0644, st_size=12044, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Visibone.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=12044, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Visibone\nColu"..., 4096) = 4096
+read(5, "255 102 204\t#FF66CC - Light Pink"..., 4096) = 4096
+read(5, "ight Teal-Green\n 51 204 102\t#33C"..., 4096) = 3852
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Visibone_2.gpl", {st_mode=S_IFREG|0644, st_size=8928, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Visibone_2.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=8928, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Visibone 2\nCo"..., 4096) = 4096
+read(5, "C66\n  0 255   0\t(  0 255   0) #0"..., 4096) = 4096
+read(5, "(  0  51 204) #0033CC\n  0   0   "..., 4096) = 736
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Volcano.gpl", {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Volcano.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=5386, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Volcano\n#\n  0"..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "ed\n160 252   0\tUntitled\n164 252 "..., 4096) = 1290
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Warm_Colors.gpl", {st_mode=S_IFREG|0644, st_size=180, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Warm_Colors.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=180, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Warm Colors\n#"..., 4096) = 180
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/palettes/Web.gpl", {st_mode=S_IFREG|0644, st_size=4572, ...}) = 0
+open("/usr/share/gimp/2.0/palettes/Web.gpl", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=4572, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Palette\nName: Web\nColumns: "..., 4096) = 4096
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+brk(0x864e000)                          = 0x864e000
+read(5, " 204\tUntitled\n  0 153 153\tUntitl"..., 4096) = 476
+read(5, "", 4096)                       = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 367162}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 367443}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 367612}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 367814}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 368277}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\17\1`\0035\30\4\0\24\1`\3?\0`\3\220\1\24\0F\30\5\0\24\1`\3"..., 4072}, {"\232\27\17\0\3\1`\3O\0`\3\30\1`\0034\0\0\0P\0`\3\330\377\364\377\26\0`\3"..., 60}], 2) = 4132
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\6\5\0\30\1`\3\0\0\0\0\0\0\0\0006\0\n\0\232\27\f\0\3\1`\3O\0`\3"..., 148}], 1) = 148
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 371264}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 371395}, NULL) = 0
+stat64("/user/folk/clint/.gimp-2.2/gradients", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2/gradients", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/gradients", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/gradients", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 3 entries */, 4096)    = 88
+stat64("/user/folk/clint/.gimp-2.2/gradients/Mountains.ggr", {st_mode=S_IFREG|0644, st_size=650, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/gradients/Mountains.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=650, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Mountains\n6\n"..., 4096) = 650
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+access("/user/folk/clint/.gimp-2.2/gradients/Mountains.ggr", F_OK) = 0
+access("/user/folk/clint/.gimp-2.2/gradients/Mountains.ggr", W_OK) = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/share/gimp/2.0/gradients", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 80 entries */, 4096)   = 3224
+stat64("/usr/share/gimp/2.0/gradients/Brushed_Aluminium.ggr", {st_mode=S_IFREG|0644, st_size=2513, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Brushed_Aluminium.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=2513, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Brushed Alum"..., 4096) = 2513
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Abstract_1.ggr", {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Abstract_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Abstract 1\n6"..., 4096) = 651
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Abstract_2.ggr", {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Abstract_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Abstract 2\n6"..., 4096) = 651
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Abstract_3.ggr", {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Abstract_3.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=651, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Abstract 3\n6"..., 4096) = 651
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Aneurism.ggr", {st_mode=S_IFREG|0644, st_size=855, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Aneurism.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=855, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Aneurism\n8\n0"..., 4096) = 855
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Blinds.ggr", {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Blinds.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Blinds\n9\n0.0"..., 4096) = 956
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Blue_Green.ggr", {st_mode=S_IFREG|0644, st_size=239, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Blue_Green.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Blue Green\n2"..., 4096) = 239
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Browns.ggr", {st_mode=S_IFREG|0644, st_size=1163, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Browns.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1163, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Browns\n11\n0."..., 4096) = 1163
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Burning_Transparency.ggr", {st_mode=S_IFREG|0644, st_size=661, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Burning_Transparency.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=661, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Burning Tran"..., 4096) = 661
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Burning_Paper.ggr", {st_mode=S_IFREG|0644, st_size=654, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Burning_Paper.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=654, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Burning Pape"..., 4096) = 654
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/CD_Half.ggr", {st_mode=S_IFREG|0644, st_size=957, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/CD_Half.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=957, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: CD Half\n9\n0."..., 4096) = 957
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/CD.ggr", {st_mode=S_IFREG|0644, st_size=1880, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/CD.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1880, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: CD\n18\n0.0000"..., 4096) = 1880
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Glow_Angular_1.ggr", {st_mode=S_IFREG|0644, st_size=4782, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Glow_Angular_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=4782, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Glow A"..., 4096) = 4096
+read(5, " 1.000000 1.000000 0.110000 1.00"..., 4096) = 686
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Caribbean_Blues.ggr", {st_mode=S_IFREG|0644, st_size=347, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Caribbean_Blues.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=347, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Caribbean Bl"..., 4096) = 347
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Coffee.ggr", {st_mode=S_IFREG|0644, st_size=132, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Coffee.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=132, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Coffee\n1\n0.0"..., 4096) = 132
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Cold_Steel.ggr", {st_mode=S_IFREG|0644, st_size=239, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Cold_Steel.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=239, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Cold Steel\n2"..., 4096) = 239
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Cold_Steel_2.ggr", {st_mode=S_IFREG|0644, st_size=344, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Cold_Steel_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=344, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Cold Steel 2"..., 4096) = 344
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Crown_molding.ggr", {st_mode=S_IFREG|0644, st_size=654, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Crown_molding.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=654, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Crown moldin"..., 4096) = 654
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Dark_1.ggr", {st_mode=S_IFREG|0644, st_size=338, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Dark_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=338, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Dark 1\n3\n0.0"..., 4096) = 338
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Deep_Sea.ggr", {st_mode=S_IFREG|0644, st_size=237, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Deep_Sea.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=237, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Deep Sea\n2\n0"..., 4096) = 237
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Default.ggr", {st_mode=S_IFREG|0644, st_size=133, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Default.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=133, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Default\n1\n0."..., 4096) = 133
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Full_saturation_spectrum_CCW.ggr", {st_mode=S_IFREG|0644, st_size=154, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Full_saturation_spectrum_CCW.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=154, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Full saturat"..., 4096) = 154
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_1.ggr", {st_mode=S_IFREG|0644, st_size=454, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=454, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Glow R"..., 4096) = 454
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_2.ggr", {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Glow R"..., 4096) = 557
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_3.ggr", {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_3.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Glow R"..., 4096) = 557
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_4.ggr", {st_mode=S_IFREG|0644, st_size=351, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Glow_Radial_4.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=351, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Glow R"..., 4096) = 351
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Radial_101.ggr", {st_mode=S_IFREG|0644, st_size=760, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Radial_101.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=760, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Radial"..., 4096) = 760
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Radial_102.ggr", {st_mode=S_IFREG|0644, st_size=657, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Radial_102.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=657, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Radial"..., 4096) = 657
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Radial_103.ggr", {st_mode=S_IFREG|0644, st_size=142, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Radial_103.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=142, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Radial"..., 4096) = 142
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Rays_Radial_1.ggr", {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Rays_Radial_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Rays R"..., 4096) = 248
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Rays_Radial_2.ggr", {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Rays_Radial_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Rays R"..., 4096) = 248
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Rays_Size_1.ggr", {st_mode=S_IFREG|0644, st_size=1689, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Rays_Size_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1689, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Rays S"..., 4096) = 1689
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Flare_Sizefac_101.ggr", {st_mode=S_IFREG|0644, st_size=143, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Flare_Sizefac_101.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=143, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Flare Sizefa"..., 4096) = 143
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Four_bars.ggr", {st_mode=S_IFREG|0644, st_size=856, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Four_bars.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=856, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Four bars\n8\n"..., 4096) = 856
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/French_flag.ggr", {st_mode=S_IFREG|0644, st_size=343, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/French_flag.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=343, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: French flag\n"..., 4096) = 343
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/French_flag_smooth.ggr", {st_mode=S_IFREG|0644, st_size=247, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/French_flag_smooth.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=247, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: French flag "..., 4096) = 247
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Horizon_1.ggr", {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Horizon_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Horizon 1\n5\n"..., 4096) = 547
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Golden.ggr", {st_mode=S_IFREG|0644, st_size=1472, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Golden.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1472, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Golden\n14\n0."..., 4096) = 1472
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Full_saturation_spectrum_CW.ggr", {st_mode=S_IFREG|0644, st_size=153, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Full_saturation_spectrum_CW.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=153, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Full saturat"..., 4096) = 153
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/German_flag.ggr", {st_mode=S_IFREG|0644, st_size=343, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/German_flag.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=343, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: German flag\n"..., 4096) = 343
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/German_flag_smooth.ggr", {st_mode=S_IFREG|0644, st_size=247, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/German_flag_smooth.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=247, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: German flag "..., 4096) = 247
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Greens.ggr", {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Greens.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Greens\n9\n0.0"..., 4096) = 956
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Incandescent.ggr", {st_mode=S_IFREG|0644, st_size=447, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Incandescent.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=447, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Incandescent"..., 4096) = 447
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Horizon_2.ggr", {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Horizon_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Horizon 2\n5\n"..., 4096) = 547
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Land_and_Sea.ggr", {st_mode=S_IFREG|0644, st_size=550, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Land_and_Sea.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=550, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Land and Sea"..., 4096) = 550
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Land_1.ggr", {st_mode=S_IFREG|0644, st_size=544, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Land_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=544, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Land 1\n5\n0.0"..., 4096) = 544
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Brown.ggr", {st_mode=S_IFREG|0644, st_size=558, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Brown.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=558, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Radial Eyeba"..., 4096) = 558
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Metallic_Something.ggr", {st_mode=S_IFREG|0644, st_size=865, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Metallic_Something.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=865, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Metallic Som"..., 4096) = 865
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Mexican_flag.ggr", {st_mode=S_IFREG|0644, st_size=344, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Mexican_flag.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=344, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Mexican flag"..., 4096) = 344
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Mexican_flag_smooth.ggr", {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Mexican_flag_smooth.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=248, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Mexican flag"..., 4096) = 248
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Nauseating_Headache.ggr", {st_mode=S_IFREG|0644, st_size=2618, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Nauseating_Headache.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=2618, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Nauseating H"..., 4096) = 2618
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Neon_Cyan.ggr", {st_mode=S_IFREG|0644, st_size=444, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Neon_Cyan.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=444, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Neon Cyan\n4\n"..., 4096) = 444
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Neon_Green.ggr", {st_mode=S_IFREG|0644, st_size=445, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Neon_Green.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=445, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Neon Green\n4"..., 4096) = 445
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Neon_Yellow.ggr", {st_mode=S_IFREG|0644, st_size=446, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Neon_Yellow.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=446, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Neon Yellow\n"..., 4096) = 446
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Pastel_Rainbow.ggr", {st_mode=S_IFREG|0644, st_size=140, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Pastel_Rainbow.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=140, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Pastel Rainb"..., 4096) = 140
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Pastels.ggr", {st_mode=S_IFREG|0644, st_size=1473, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Pastels.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=1473, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Pastels\n14\n0"..., 4096) = 1473
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Purples.ggr", {st_mode=S_IFREG|0644, st_size=751, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Purples.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=751, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Purples\n7\n0."..., 4096) = 751
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Blue.ggr", {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Blue.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=557, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Radial Eyeba"..., 4096) = 557
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Green.ggr", {st_mode=S_IFREG|0644, st_size=558, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Radial_Eyeball_Green.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=558, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Radial Eyeba"..., 4096) = 558
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Radial_Glow_1.ggr", {st_mode=S_IFREG|0644, st_size=551, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Radial_Glow_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=551, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Radial Glow "..., 4096) = 551
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Radial_Rainbow_Hoop.ggr", {st_mode=S_IFREG|0644, st_size=351, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Radial_Rainbow_Hoop.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=351, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Radial Rainb"..., 4096) = 351
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Romanian_flag.ggr", {st_mode=S_IFREG|0644, st_size=345, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Romanian_flag.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=345, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Romanian fla"..., 4096) = 345
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Romanian_flag_smooth.ggr", {st_mode=S_IFREG|0644, st_size=249, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Romanian_flag_smooth.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=249, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Romanian fla"..., 4096) = 249
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Rounded_edge.ggr", {st_mode=S_IFREG|0644, st_size=756, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Rounded_edge.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=756, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Rounded edge"..., 4096) = 756
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Shadows_1.ggr", {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Shadows_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Shadows 1\n5\n"..., 4096) = 547
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Shadows_2.ggr", {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Shadows_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=547, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Shadows 2\n5\n"..., 4096) = 547
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Shadows_3.ggr", {st_mode=S_IFREG|0644, st_size=650, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Shadows_3.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=650, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Shadows 3\n6\n"..., 4096) = 650
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Skyline.ggr", {st_mode=S_IFREG|0644, st_size=545, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Skyline.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=545, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Skyline\n5\n0."..., 4096) = 545
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Skyline_polluted.ggr", {st_mode=S_IFREG|0644, st_size=554, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Skyline_polluted.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=554, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Skyline poll"..., 4096) = 554
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Square_Wood_Frame.ggr", {st_mode=S_IFREG|0644, st_size=658, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Square_Wood_Frame.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=658, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Square Wood "..., 4096) = 658
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Sunrise.ggr", {st_mode=S_IFREG|0644, st_size=648, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Sunrise.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=648, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Sunrise\n6\n0."..., 4096) = 648
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Three_bars_sin.ggr", {st_mode=S_IFREG|0644, st_size=655, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Three_bars_sin.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=655, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Three bars s"..., 4096) = 655
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Tropical_Colors.ggr", {st_mode=S_IFREG|0644, st_size=965, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Tropical_Colors.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=965, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Tropical Col"..., 4096) = 965
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Tube_Red.ggr", {st_mode=S_IFREG|0644, st_size=752, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Tube_Red.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=752, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Tube Red\n7\n0"..., 4096) = 752
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Wood_1.ggr", {st_mode=S_IFREG|0644, st_size=338, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Wood_1.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=338, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Wood 1\n3\n0.0"..., 4096) = 338
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Wood_2.ggr", {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Wood_2.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=956, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Wood 2\n9\n0.0"..., 4096) = 956
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Yellow_Contrast.ggr", {st_mode=S_IFREG|0644, st_size=759, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Yellow_Contrast.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=759, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Yellow Contr"..., 4096) = 759
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+stat64("/usr/share/gimp/2.0/gradients/Yellow_Orange.ggr", {st_mode=S_IFREG|0644, st_size=242, ...}) = 0
+open("/usr/share/gimp/2.0/gradients/Yellow_Orange.ggr", O_RDONLY|O_LARGEFILE) = 5
+fstat64(5, {st_mode=S_IFREG|0644, st_size=242, ...}) = 0
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d98000
+read(5, "GIMP Gradient\nName: Yellow Orang"..., 4096) = 242
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d90000
+munmap(0xb6d90000, 32768)               = 0
+close(5)                                = 0
+munmap(0xb6d98000, 4096)                = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 640554}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 640838}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 641009}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 643450}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 643866}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\24\1`\0035\30\4\0\31\1`\3?\0`\3\220\1\24\0F\30\5\0\31\1`\3"..., 4088}, {"\232\32\7\0\3\1`\3\35\1`\3\326\326\315\315\273\273\377\377\0\0\0\0006\0\n\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{";\3\5\0<\0`\3\0\0\0\0\0\0\0\0006\0\n\0>\3\7\0=\0`\3\34\1`\3"..., 272}], 1) = 272
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 646044}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 646171}, NULL) = 0
+time(NULL)                              = 1192407179
+access("/etc/fonts/fonts.conf", R_OK)   = 0
+stat64("/etc/fonts/fonts.conf", {st_mode=S_IFREG|0644, st_size=5268, ...}) = 0
+open("/etc/fonts/fonts.conf", O_RDONLY) = 4
+read(4, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 5268
+access("/etc/fonts/conf.d", R_OK)       = 0
+stat64("/etc/fonts/conf.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/etc/fonts/conf.d", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 5
+fstat64(5, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(5, /* 21 entries */, 4096)   = 848
+getdents64(5, /* 0 entries */, 4096)    = 0
+access("/etc/fonts/conf.d/05-suse-font-dirs.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/05-suse-font-dirs.conf", {st_mode=S_IFREG|0644, st_size=1882, ...}) = 0
+open("/etc/fonts/conf.d/05-suse-font-dirs.conf", O_RDONLY) = 6
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d96000
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1882
+brk(0x866f000)                          = 0x866f000
+munmap(0xb6d96000, 12288)               = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-fix-globaladvance.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-fix-globaladvance.conf", {st_mode=S_IFREG|0644, st_size=943, ...}) = 0
+open("/etc/fonts/conf.d/20-fix-globaladvance.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 943
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-lohit-gujarati.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-lohit-gujarati.conf", {st_mode=S_IFREG|0644, st_size=301, ...}) = 0
+open("/etc/fonts/conf.d/20-lohit-gujarati.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 301
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/20-unhint-small-vera.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/20-unhint-small-vera.conf", {st_mode=S_IFREG|0644, st_size=1188, ...}) = 0
+open("/etc/fonts/conf.d/20-unhint-small-vera.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1188
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/30-amt-aliases.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/30-amt-aliases.conf", {st_mode=S_IFREG|0644, st_size=514, ...}) = 0
+open("/etc/fonts/conf.d/30-amt-aliases.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 514
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/30-urw-aliases.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/30-urw-aliases.conf", {st_mode=S_IFREG|0644, st_size=1484, ...}) = 0
+open("/etc/fonts/conf.d/30-urw-aliases.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1484
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/40-generic.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/40-generic.conf", {st_mode=S_IFREG|0644, st_size=1723, ...}) = 0
+open("/etc/fonts/conf.d/40-generic.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1723
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/49-sansserif.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/49-sansserif.conf", {st_mode=S_IFREG|0644, st_size=545, ...}) = 0
+open("/etc/fonts/conf.d/49-sansserif.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 545
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/50-suse-pre-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/50-suse-pre-user.conf", {st_mode=S_IFREG|0644, st_size=11474, ...}) = 0
+open("/etc/fonts/conf.d/50-suse-pre-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(6, "pt-fonts-other.rpm are so called"..., 8192) = 3282
+access("/etc/fonts/suse-hinting.conf", R_OK) = 0
+stat64("/etc/fonts/suse-hinting.conf", {st_mode=S_IFREG|0644, st_size=10484, ...}) = 0
+open("/etc/fonts/suse-hinting.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(7, "equire the byte code interpreter"..., 8192) = 2292
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+access("/etc/fonts/suse-bitmaps.conf", R_OK) = 0
+stat64("/etc/fonts/suse-bitmaps.conf", {st_mode=S_IFREG|0644, st_size=4437, ...}) = 0
+open("/etc/fonts/suse-bitmaps.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 4437
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/55-local.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/55-local.conf", {st_mode=S_IFREG|0644, st_size=271, ...}) = 0
+open("/etc/fonts/conf.d/55-local.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 271
+access("/etc/fonts/local.conf", R_OK)   = -1 ENOENT (No such file or directory)
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/56-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/56-user.conf", {st_mode=S_IFREG|0644, st_size=269, ...}) = 0
+open("/etc/fonts/conf.d/56-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 269
+access("/user/folk/clint/.fonts.conf", R_OK) = 0
+stat64("/user/folk/clint/.fonts.conf", {st_mode=S_IFREG|0644, st_size=358, ...}) = 0
+open("/user/folk/clint/.fonts.conf", O_RDONLY) = 7
+read(7, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 358
+read(7, "", 8192)                       = 0
+close(7)                                = 0
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/58-suse-post-user.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/58-suse-post-user.conf", {st_mode=S_IFREG|0644, st_size=5549, ...}) = 0
+open("/etc/fonts/conf.d/58-suse-post-user.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 5549
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/60-latin.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/60-latin.conf", {st_mode=S_IFREG|0644, st_size=1064, ...}) = 0
+open("/etc/fonts/conf.d/60-latin.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 1064
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/65-fonts-persian.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/65-fonts-persian.conf", {st_mode=S_IFREG|0644, st_size=12559, ...}) = 0
+open("/etc/fonts/conf.d/65-fonts-persian.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 8192
+read(6, "ually do have -->\n\n\t<match targe"..., 8192) = 4367
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/65-nonlatin.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/65-nonlatin.conf", {st_mode=S_IFREG|0644, st_size=995, ...}) = 0
+open("/etc/fonts/conf.d/65-nonlatin.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 995
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/69-unifont.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/69-unifont.conf", {st_mode=S_IFREG|0644, st_size=454, ...}) = 0
+open("/etc/fonts/conf.d/69-unifont.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 454
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/80-delicious.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/80-delicious.conf", {st_mode=S_IFREG|0644, st_size=433, ...}) = 0
+open("/etc/fonts/conf.d/80-delicious.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 433
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+access("/etc/fonts/conf.d/90-synthetic.conf", R_OK) = 0
+stat64("/etc/fonts/conf.d/90-synthetic.conf", {st_mode=S_IFREG|0644, st_size=2169, ...}) = 0
+open("/etc/fonts/conf.d/90-synthetic.conf", O_RDONLY) = 6
+read(6, "<?xml version=\"1.0\"?>\n<!DOCTYPE "..., 8192) = 2169
+read(6, "", 8192)                       = 0
+close(6)                                = 0
+close(5)                                = 0
+read(4, "", 8192)                       = 0
+close(4)                                = 0
+access("/user/folk/clint/.gimp-2.2/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
+access("/etc/gimp/2.0/fonts.conf", R_OK) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/.gimp-2.2/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/share/gimp/2.0/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/user/folk/clint/.gimp-2.2/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/fe0a1e25a6d7b64f5c715ab4ccc5f92e-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/fe0a1e25a6d7b64f5c715ab4ccc5f92e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0X\0\0\0 \0\0\0H\0\0\0\0\0\0\0H\0\0\0\0\0\0\0"..., 88) = 88
+close(4)                                = 0
+stat64("/usr/share/gimp/2.0/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/b4f48f7a111ce7d7fed5fea8a27d061e-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/b4f48f7a111ce7d7fed5fea8a27d061e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/usr/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=408, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\230\1\0\0 \0\0\0008\0\0\0\v\0\0\0\210\1\0\0\0\0\0\0"..., 408) = 408
+close(4)                                = 0
+stat64("/usr/X11R6/lib/X11/fonts", 0xbfcdbe0c) = -1 ENOENT (No such file or directory)
+open("/usr/X11R6/lib/X11/fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
+stat64("/opt/kde3/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/cf6c88e680607f2ab796171745f068a4-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=1488, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=6912, ...}) = 0
+close(4)                                = 0
+stat64("/user/folk/clint/.fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/bed23cbe8af61fbc8a11c799ae0fd6bb-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/bed23cbe8af61fbc8a11c799ae0fd6bb-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=120, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0x\0\0\0 \0\0\0008\0\0\0\1\0\0\0h\0\0\0\0\0\0\0"..., 120) = 120
+close(4)                                = 0
+stat64("/usr/share/fonts/uni", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d458be102e54cf534d1eef0dcbb02d07-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=7416, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/misc", {st_mode=S_IFDIR|0755, st_size=16384, ...}) = 0
+open("/var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=141544, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/util", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/4b172ca7f111e3cffadc3636415fead9-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0H\0\0\0 \0\0\0008\0\0\0\0\0\0\0008\0\0\0\0\0\0\0"..., 72) = 72
+close(4)                                = 0
+stat64("/usr/share/fonts/75dpi", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
+open("/var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=284592, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/Type1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=18336, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/Speedo", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/30786aca7a961ef9f9799e540455831d-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=72, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0H\0\0\0 \0\0\0008\0\0\0\0\0\0\0008\0\0\0\0\0\0\0"..., 72) = 72
+close(4)                                = 0
+stat64("/usr/share/fonts/truetype", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
+open("/var/cache/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=414456, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/encodings", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/a1c95d6dfc9a7b34f44445cf81166004-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=128, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\200\0\0\0 \0\0\0@\0\0\0\1\0\0\0p\0\0\0\0\0\0\0"..., 128) = 128
+close(4)                                = 0
+stat64("/usr/share/fonts/encodings/large", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/5ca8086aeacc9c68e81a71e7ef846b3b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0X\0\0\0 \0\0\0H\0\0\0\0\0\0\0H\0\0\0\0\0\0\0"..., 88) = 88
+close(4)                                = 0
+stat64("/usr/share/fonts/100dpi", {st_mode=S_IFDIR|0755, st_size=65536, ...}) = 0
+open("/var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=285296, ...}) = 0
+close(4)                                = 0
+stat64("/usr/share/fonts/cyrillic", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/2d31a572ce6667f6a0da9c8dc611898b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/opt/kde3/share/fonts/override", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/0c42b92420913fbcd7539015ba025a31-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/usr/lib/ooo-2.0/share/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/82263fb4001171a9d4b2e27da14be10b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=128, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0\200\0\0\0 \0\0\0@\0\0\0\1\0\0\0p\0\0\0\0\0\0\0"..., 128) = 128
+close(4)                                = 0
+stat64("/usr/lib/ooo-2.0/share/fonts/truetype", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/b6bbb9f898b73777cfe763014a8c08d3-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=1624, ...}) = 0
+close(4)                                = 0
+stat64("/usr/lib/jvm/java-1.5.0-sun-1.5.0_update12/jre/lib/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/eb6f8dc1763df1b121d74d86b494ef9b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=8328, ...}) = 0
+close(4)                                = 0
+stat64("/usr/lib/jvm/java-1.6.0.u1-sun-1.6.0.u1/jre/lib/fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/6840f9a468626bb7623d2c01966fa10b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=8296, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/tt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/655075e81858438c7a286f1f308a4be3-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=79312, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/type1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/9ddec090344c07e0063dda776900d30b-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=80, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0P\0\0\0 \0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 80) = 80
+close(4)                                = 0
+stat64("/usr/local/share/fonts/mforum-ttf", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
+open("/var/cache/fontconfig/a745a7c4e1304d4550fad4c2bc4d4685-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=144448, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/sharefont", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/0bc96fd79f7cee651bb7536d4c3e48d8-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=15384, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/extras", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/6219ff827d1a9f5cc56c587eef446dcb-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=6664, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/freefont", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/5167e85d8105825c3a1816d7cdf39cb0-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=51560, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/hpotter", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/d1d55e50f9570c0f1f164b29310ab2d1-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=2392, ...}) = 0
+close(4)                                = 0
+stat64("/user/folk/clint/.kde/share/fonts", 0xbfcdbe0c) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.kde/share/fonts", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = -1 ENOENT (No such file or directory)
+stat64("/usr/share/fonts/URW", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/77e41c5059666d75f92e318d4be8c21e-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=27256, ...}) = 0
+close(4)                                = 0
+stat64("/usr/local/share/fonts/mforum", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
+open("/var/cache/fontconfig/067e1f90709c51ee78aba0b412bf34a1-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=127208, ...}) = 0
+close(4)                                = 0
+stat64("/user/folk/clint/.fonts/kde-override", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/var/cache/fontconfig/cdd5b69895460a07a646a74afd640477-x86.cache-2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/user/folk/clint/.fontconfig/cdd5b69895460a07a646a74afd640477-x86.cache-2", O_RDONLY) = 4
+fstat64(4, {st_mode=S_IFREG|0644, st_size=88, ...}) = 0
+read(4, "\4\374\2\374\1\0\0\0X\0\0\0 \0\0\0H\0\0\0\0\0\0\0H\0\0\0\0\0\0\0"..., 88) = 88
+close(4)                                = 0
+brk(0x8690000)                          = 0x8690000
+brk(0x86b1000)                          = 0x86b1000
+brk(0x86d2000)                          = 0x86d2000
+brk(0x86d1000)                          = 0x86d1000
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 859438}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 859660}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 859898}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 860101}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 860524}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\31\1`\0035\30\4\0\36\1`\3?\0`\3\220\1\24\0F\30\5\0\36\1`\3"..., 4096}, {"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4112
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\7\2\0 \1`\0036\7\2\0\37\1`\0035\30\4\0!\1`\3;\0`\3@\0\n\0"..., 392}], 1) = 392
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407179, 863299}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407179, 863431}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/documents", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP documents\n# \n# This file "..., 4000) = 4000
+read(4, "rt.png\")\n(document \"file:///user"..., 4000) = 4000
+read(4, " \"file:///bulk/Pix/Hippies/Eris1"..., 4000) = 4000
+read(4, "\"file:///user/folk/clint/Desktop"..., 4000) = 4000
+read(4, "t \"file:///user/folk/clint/Deskt"..., 4000) = 4000
+read(4, "/Ian%20Bermuda%20To%20NY/img_130"..., 4000) = 4000
+read(4, "folk/clint/Desktop/New%20Pix/Ian"..., 4000) = 4000
+read(4, "res/Album-56/JenOrcaWatch.jpg\")\n"..., 4000) = 4000
+brk(0x86f2000)                          = 0x86f2000
+read(4, "//user/folk/clint/Desktop/Images"..., 4000) = 4000
+read(4, "ent \"file:///user/folk/clint/Des"..., 4000) = 4000
+read(4, "cument \"file:///bulk/Pix/Hippies"..., 4000) = 4000
+read(4, "e.jpg\")\n(document \"file:///user/"..., 4000) = 4000
+read(4, "ocument \"file:///user/folk/clint"..., 4000) = 4000
+read(4, " \"file:///user/folk/clint/Deskto"..., 4000) = 4000
+read(4, "t/Desktop/New%20Pix/Kessock%20Pi"..., 4000) = 4000
+read(4, "e:///user/folk/clint/Desktop/Ima"..., 4000) = 4000
+read(4, "er/folk/clint/Desktop/Never4a.pn"..., 4000) = 4000
+read(4, "k/Images/.w/Hippies/Dawn4/dawn4s"..., 4000) = 4000
+brk(0x8713000)                          = 0x8713000
+read(4, "s5s018.jpg\")\n(document \"file:///"..., 4000) = 4000
+read(4, "6/ophelia6s022.jpg\")\n(document \""..., 4000) = 4000
+read(4, "/.w/Hippies/Violet4/violet4s180."..., 4000) = 4000
+read(4, "/Violet4/violet4s098.jpg\")\n(docu"..., 4000) = 4000
+read(4, "s015.jpg\")\n(document \"file:///bu"..., 4000) = 4000
+read(4, ":///bulk/Images/.w/Hippies/Viole"..., 4000) = 4000
+brk(0x8734000)                          = 0x8734000
+brk(0x8733000)                          = 0x8733000
+read(4, "s002.jpg\")\n(document \"file:///us"..., 4000) = 4000
+read(4, "5a.jpg\")\n(document \"file:///bulk"..., 4000) = 4000
+read(4, "ulk/Images/.w/Hippies/Storm1/sto"..., 4000) = 4000
+read(4, "pies/Brookland5/brook5s030.jpg\")"..., 4000) = 4000
+brk(0x8754000)                          = 0x8754000
+brk(0x8753000)                          = 0x8753000
+read(4, "ippies/Firefly2/fire2s059.jpg\")\n"..., 4000) = 4000
+read(4, "e:///bulk/Images/.w/Hippies/Fire"..., 4000) = 4000
+read(4, "(document \"file:///user/folk/cli"..., 4000) = 4000
+read(4, "\")\n(document \"file:///bulk/Image"..., 4000) = 4000
+read(4, "ariel060.jpg\")\n(document \"file:/"..., 4000) = 4000
+brk(0x8774000)                          = 0x8774000
+read(4, ")\n(document \"file:///user/folk/c"..., 4000) = 4000
+read(4, "ies/Brookland4/brook4s178.jpg\")\n"..., 4000) = 4000
+read(4, "and3/brook3s001.jpg\")\n(document "..., 4000) = 4000
+read(4, "1s126.jpg\")\n(document \"file:///b"..., 4000) = 4000
+read(4, "bulk/Images/.w/Hippies/Ingress3/"..., 4000) = 4000
+brk(0x8795000)                          = 0x8795000
+brk(0x8794000)                          = 0x8794000
+read(4, "\n(document \"file:///bulk/Images/"..., 4000) = 4000
+read(4, "ppies/Eris8/eris8s122.jpg\")\n(doc"..., 4000) = 4000
+read(4, "/folk/clint/Desktop/PanCan/T2Tho"..., 4000) = 4000
+read(4, "ile:///user/folk/clint/Desktop/P"..., 4000) = 4000
+read(4, "(document \"file:///bulk/Images/."..., 4000) = 4000
+brk(0x87b5000)                          = 0x87b5000
+read(4, "le:///bulk/Images/.w/Hippies/Jus"..., 4000) = 4000
+read(4, "png\")\n(document \"file:///user/fo"..., 4000) = 4000
+read(4, "b/html/Hermit/Eclipse/2005-04-08"..., 4000) = 4000
+read(4, "buttons/when.gif\")\n(document \"fi"..., 4000) = 4000
+read(4, "r/folk/clint/lib/html/Hermit/Ecl"..., 4000) = 4000
+brk(0x87d6000)                          = 0x87d6000
+read(4, "pg\")\n(document \"file:///bulk/Ima"..., 4000) = 4000
+read(4, "era/Nikon/dscn4381.pix/Master.jp"..., 4000) = 4000
+read(4, "asters/Star.jpg\")\n(document \"fil"..., 4000) = 4000
+read(4, "t \"file:///user/folk/clint/Deskt"..., 4000) = 4000
+read(4, "g\")\n(document \"file:///user/folk"..., 4000) = 4000
+brk(0x87f7000)                          = 0x87f7000
+read(4, "ow.png\")\n(document \"file:///user"..., 4000) = 4000
+read(4, "k/clint/lib/html/Moonrise/Captai"..., 4000) = 4000
+read(4, "taca/Anton.jpg\")\n(document \"file"..., 4000) = 4000
+read(4, "document \"file:///user/folk/clin"..., 4000) = 4000
+read(4, "r/folk/clint/Desktop/Projects/Sp"..., 4000) = 4000
+read(4, "ser/folk/clint/Desktop/Projects/"..., 4000) = 4000
+brk(0x8818000)                          = 0x8818000
+read(4, "lk/clint/Desktop/Projects/DVD%20"..., 4000) = 4000
+read(4, "cument \"file:///user/folk/clint/"..., 4000) = 4000
+read(4, "559_EL.jpg\")\n(document \"file:///"..., 4000) = 4000
+read(4, "\n(document \"file:///bulk/Images/"..., 4000) = 4000
+read(4, "er/folk/clint/Desktop/f27f.jpg\")"..., 4000) = 4000
+brk(0x8839000)                          = 0x8839000
+read(4, "/Cardiff.jpg\")\n(document \"file:/"..., 4000) = 4000
+read(4, "p/Images/Export/C3UpperGuns.jpg\""..., 4000) = 4000
+read(4, "46.pal/RTYaquinaStair.pix/Master"..., 4000) = 4000
+read(4, ".pal/C5WildSunrise.pix/Master.jp"..., 4000) = 4000
+read(4, ":///user/pictures/Album-50.pal/C"..., 4000) = 4000
+brk(0x885a000)                          = 0x885a000
+brk(0x8859000)                          = 0x8859000
+read(4, "/Master.jpg\")\n(document \"file://"..., 4000) = 4000
+read(4, "r/pictures/Album-49.pal/T2Contro"..., 4000) = 4000
+read(4, ")\n(document \"file:///user/pictur"..., 4000) = 4000
+read(4, ".jpg\")\n(document \"file:///user/p"..., 4000) = 4000
+read(4, "file:///user/pictures/Album-47.p"..., 4000) = 4000
+brk(0x887a000)                          = 0x887a000
+read(4, " \"file:///user/folk/clint/Deskto"..., 4000) = 4000
+read(4, "st/Archive/JVD/jvd324.jpg\")\n(doc"..., 4000) = 4000
+read(4, "//user/folk/clint/Desktop/Blarf."..., 4000) = 4000
+read(4, "cument \"file:///user/folk/clint/"..., 4000) = 868
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 361670}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 361847}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 361954}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 362076}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 362350}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0\36\1`\0035\30\4\0#\1`\3?\0`\3\220\1\24\0F\30\5\0#\1`\3"..., 4088}, {"\232\32\7\0\3\1`\3%\1`\3\262\262\253\253\234\234\377\377\0\0\0\0\220\1\24\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{">\32\7\0#\1`\3$\1`\3\7\0`\3\0\0\0\0\0\0\0\0\220\1\24\0;\3\5\0"..., 476}], 1) = 476
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 364027}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 364106}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/templaterc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP templaterc\n# \n# This file"..., 4000) = 4000
+read(4, "ackground-fill))\n(GimpTemplate \""..., 4000) = 1045
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 370293}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 370421}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 370672}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0(\1`\3?\0`\3\220\1\24\0\232\4\5\0)\1`\3(\1`\0038\0\0\0"..., 4084}, {"8\0\4\0\'\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\0\4\0(\0`\3\0\0\10\0\0\0\0\0008\0\4\0\23\0`\3\0\0\10\0\0\0\0\0"..., 580}], 1) = 580
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 372151}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 372230}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/modulerc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
+stat64("/user/folk/clint/.gimp-2.2/modules", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/modules", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 2 entries */, 4096)    = 48
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/lib/gimp/2.0/modules", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 11 entries */, 4096)   = 448
+stat64("/usr/lib/gimp/2.0/modules/libcontroller_linux_input.so", {st_mode=S_IFREG|0755, st_size=13948, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcontroller_linux_input.so", {st_mode=S_IFREG|0755, st_size=13948, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcontroller_linux_input.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \17\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=13948, ...}) = 0
+mmap2(NULL, 12444, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d95000
+fadvise64(5, 0, 12444, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d97000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb6d97000
+close(5)                                = 0
+munmap(0xb6d95000, 12444)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_colorblind.so", {st_mode=S_IFREG|0755, st_size=13972, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_colorblind.so", {st_mode=S_IFREG|0755, st_size=13972, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcdisplay_colorblind.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\17\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=13972, ...}) = 0
+mmap2(NULL, 16572, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d94000
+fadvise64(5, 0, 16572, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d97000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb6d97000
+close(5)                                = 0
+munmap(0xb6d94000, 16572)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_gamma.so", {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_gamma.so", {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcdisplay_gamma.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\r\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+mmap2(NULL, 12440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d95000
+fadvise64(5, 0, 12440, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d97000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1) = 0xb6d97000
+close(5)                                = 0
+munmap(0xb6d95000, 12440)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_highcontrast.so", {st_mode=S_IFREG|0755, st_size=9816, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_highcontrast.so", {st_mode=S_IFREG|0755, st_size=9816, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcdisplay_highcontrast.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\r\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=9816, ...}) = 0
+mmap2(NULL, 12440, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d95000
+fadvise64(5, 0, 12440, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d97000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1) = 0xb6d97000
+close(5)                                = 0
+munmap(0xb6d95000, 12440)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_proof.so", {st_mode=S_IFREG|0755, st_size=14016, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcdisplay_proof.so", {st_mode=S_IFREG|0755, st_size=14016, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcdisplay_proof.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\25\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=14016, ...}) = 0
+mmap2(NULL, 16652, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d94000
+fadvise64(5, 0, 16652, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d97000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb6d97000
+close(5)                                = 0
+open("/user/folk/clint/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/liblcms.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/liblcms.so.1", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\\\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=189124, ...}) = 0
+mmap2(NULL, 197408, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6d63000
+fadvise64(5, 0, 197408, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d8f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2c) = 0xb6d8f000
+mmap2(0xb6d91000, 8992, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6d91000
+close(5)                                = 0
+munmap(0xb6d94000, 16652)               = 0
+munmap(0xb6d63000, 197408)              = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_cmyk.so", {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_cmyk.so", {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcolorsel_cmyk.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\r\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=9808, ...}) = 0
+mmap2(NULL, 12436, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb71c7000
+fadvise64(5, 0, 12436, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb71c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x1) = 0xb71c9000
+close(5)                                = 0
+munmap(0xb71c7000, 12436)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_triangle.so", {st_mode=S_IFREG|0755, st_size=13932, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_triangle.so", {st_mode=S_IFREG|0755, st_size=13932, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcolorsel_triangle.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\16\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=13932, ...}) = 0
+mmap2(NULL, 16560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb71c6000
+fadvise64(5, 0, 16560, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb71c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb71c9000
+close(5)                                = 0
+munmap(0xb71c6000, 16560)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_water.so", {st_mode=S_IFREG|0755, st_size=13968, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcolorsel_water.so", {st_mode=S_IFREG|0755, st_size=13968, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcolorsel_water.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\17\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=13968, ...}) = 0
+mmap2(NULL, 12472, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb71c7000
+fadvise64(5, 0, 12472, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb71c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb71c9000
+close(5)                                = 0
+munmap(0xb71c7000, 12472)               = 0
+stat64("/usr/lib/gimp/2.0/modules/libcontroller_midi.so", {st_mode=S_IFREG|0755, st_size=14052, ...}) = 0
+stat64("/usr/lib/gimp/2.0/modules/libcontroller_midi.so", {st_mode=S_IFREG|0755, st_size=14052, ...}) = 0
+open("/usr/lib/gimp/2.0/modules/libcontroller_midi.so", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\23\0\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=14052, ...}) = 0
+mmap2(NULL, 19776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb71c6000
+fadvise64(5, 0, 19776, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb71c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2) = 0xb71c9000
+close(5)                                = 0
+open("/user/folk/clint/lib/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/opt/kde3/lib/libasound.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/lib/libasound.so.2", O_RDONLY) = 5
+read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000%\2\0004\0\0\0"..., 512) = 512
+fstat64(5, {st_mode=S_IFREG|0755, st_size=768576, ...}) = 0
+mmap2(NULL, 768392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xb6cdd000
+fadvise64(5, 0, 768392, POSIX_FADV_WILLNEED) = 0
+mmap2(0xb6d94000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xb6) = 0xb6d94000
+close(5)                                = 0
+mprotect(0xb6d94000, 4096, PROT_READ)   = 0
+munmap(0xb71c6000, 19776)               = 0
+munmap(0xb6cdd000, 768392)              = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71ba000
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb71a9000
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d88000
+brk(0x889b000)                          = 0x889b000
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\20\0\5\0\t\0`\3CLIPBOARD\0\0\0", 20}], 1) = 20
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\360\215)\0\0\0\0001\1\0\0\210\360\227\277[H\25\10\\\245\37\10`\360\227\277x\360\227\277", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+open("/user/folk/clint/.gimp-2.2/sessionrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP sessionrc\n# \n# This file "..., 4000) = 3023
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\230\2\4\0\1\0`\0031\1\0\0\7\0\0\0", 16}], 1) = 16
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 545161}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 545372}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 545610}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 545812}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\2\2\0#\1`\0035\30\4\0,\1`\3?\0`\3\220\1\24\0F\30\5\0,\1`\3"..., 4084}, {"@\0\4\0,\1`\3&\0`\3\2\0\2\0", 16}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"@\0\4\0,\1`\3&\0`\3\214\1\3\0008\0\4\0C\0`\3\4\0\0\0dm\217\0"..., 928}], 1) = 928
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407180, 548889}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407180, 549021}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/toolrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP toolrc\n\n(GimpToolInfo \"gi"..., 4000) = 3366
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-rect-select-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-rect-select-tool opt"..., 4000) = 144
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 4
+fstat64(4, {st_mode=S_IFCHR|0644, st_rdev=makedev(1, 9), ...}) = 0
+ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfcdb4a4) = -1 EINVAL (Invalid argument)
+mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d87000
+read(4, "o\335\6\337n\36\26V\274[\324\0254<Ow\200>\257\222\300\311\n|\327(\346\24>\23\333_"..., 4096) = 4096
+close(4)                                = 0
+munmap(0xb6d87000, 4096)                = 0
+open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en_US/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en_US/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en_US/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.UTF-8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en.utf8/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-langpack/en/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale/en/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+open("/usr/share/locale-bundle/en/LC_MESSAGES/gimp20-libgimp.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d86000
+brk(0x88bc000)                          = 0x88bc000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-rect-select-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-rect-select-tool opt"..., 4000) = 94
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-ellipse-select-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-ellipse-select-tool "..., 4000) = 133
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-ellipse-select-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-ellipse-select-tool "..., 4000) = 100
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-free-select-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-free-select-tool opt"..., 4000) = 78
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-free-select-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-free-select-tool opt"..., 4000) = 94
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-fuzzy-select-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-fuzzy-select-tool op"..., 4000) = 144
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-fuzzy-select-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-fuzzy-select-tool op"..., 4000) = 96
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-by-color-select-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-by-color-select-tool"..., 4000) = 146
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-by-color-select-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-by-color-select-tool"..., 4000) = 102
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-iscissors-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-iscissors-tool optio"..., 4000) = 132
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-iscissors-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-iscissors-tool optio"..., 4000) = 90
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-vector-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-vector-tool options\n"..., 4000) = 68
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-vector-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-vector-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-color-picker-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-color-picker-tool op"..., 4000) = 80
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-color-picker-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-color-picker-tool op"..., 4000) = 96
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-magnify-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-magnify-tool options"..., 4000) = 70
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-magnify-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-magnify-tool options"..., 4000) = 86
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-measure-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-measure-tool options"..., 4000) = 92
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-measure-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-measure-tool options"..., 4000) = 86
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-move-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-move-tool options\n\n\n"..., 4000) = 64
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-move-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-move-tool options pr"..., 4000) = 80
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-crop-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-crop-tool options\n\n\n"..., 4000) = 64
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-crop-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+brk(0x88dd000)                          = 0x88dd000
+read(4, "# GIMP gimp-crop-tool options pr"..., 4000) = 80
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x88dc000)                          = 0x88dc000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-rotate-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-rotate-tool options\n"..., 4000) = 152
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-rotate-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-rotate-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-scale-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-scale-tool options\n\n"..., 4000) = 124
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-scale-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-scale-tool options p"..., 4000) = 82
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-shear-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-shear-tool options\n\n"..., 4000) = 66
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-shear-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-shear-tool options p"..., 4000) = 82
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-perspective-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7e000
+munmap(0xb6d7e000, 32768)               = 0
+read(4, "# GIMP gimp-perspective-tool opt"..., 4000) = 78
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d84000
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d82000
+brk(0x88fd000)                          = 0x88fd000
+brk(0x88fc000)                          = 0x88fc000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-perspective-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-perspective-tool opt"..., 4000) = 94
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-flip-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-flip-tool options\n\n\n"..., 4000) = 64
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-flip-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-flip-tool options pr"..., 4000) = 80
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-text-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-text-tool options\n\n("..., 4000) = 183
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+munmap(0xb6d7f000, 12288)               = 0
+brk(0x891d000)                          = 0x891d000
+brk(0x891c000)                          = 0x891c000
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+munmap(0xb6d7d000, 20480)               = 0
+brk(0x893d000)                          = 0x893d000
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+brk(0x895e000)                          = 0x895e000
+brk(0x895d000)                          = 0x895d000
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+mmap2(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 36864)               = 0
+brk(0x897e000)                          = 0x897e000
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+brk(0x899f000)                          = 0x899f000
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+mmap2(NULL, 69632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d71000
+munmap(0xb6d71000, 69632)               = 0
+brk(0x89c0000)                          = 0x89c0000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-text-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7a000
+munmap(0xb6d7a000, 32768)               = 0
+read(4, "# GIMP gimp-text-tool options pr"..., 4000) = 80
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-bucket-fill-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7a000
+munmap(0xb6d7a000, 32768)               = 0
+read(4, "# GIMP gimp-bucket-fill-tool opt"..., 4000) = 143
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x89e1000)                          = 0x89e1000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-bucket-fill-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-bucket-fill-tool opt"..., 4000) = 94
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-blend-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-blend-tool options\n\n"..., 4000) = 131
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8a02000)                          = 0x8a02000
+brk(0x8a01000)                          = 0x8a01000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-blend-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-blend-tool options p"..., 4000) = 82
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-pencil-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-pencil-tool options\n"..., 4000) = 278
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8a22000)                          = 0x8a22000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-pencil-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-pencil-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-paintbrush-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-paintbrush-tool opti"..., 4000) = 287
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8a43000)                          = 0x8a43000
+brk(0x8a42000)                          = 0x8a42000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-paintbrush-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-paintbrush-tool opti"..., 4000) = 92
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-eraser-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-eraser-tool options\n"..., 4000) = 163
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-eraser-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7a000
+munmap(0xb6d7a000, 32768)               = 0
+read(4, "# GIMP gimp-eraser-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-airbrush-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7a000
+munmap(0xb6d7a000, 32768)               = 0
+read(4, "# GIMP gimp-airbrush-tool option"..., 4000) = 304
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7f000
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7d000
+brk(0x8a63000)                          = 0x8a63000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-airbrush-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d75000
+munmap(0xb6d75000, 32768)               = 0
+read(4, "# GIMP gimp-airbrush-tool option"..., 4000) = 88
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-ink-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d75000
+munmap(0xb6d75000, 32768)               = 0
+read(4, "# GIMP gimp-ink-tool options\n\n(b"..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d7b000
+brk(0x8a84000)                          = 0x8a84000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-ink-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-ink-tool options pre"..., 4000) = 78
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-clone-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-clone-tool options\n\n"..., 4000) = 256
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8aa5000)                          = 0x8aa5000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-clone-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-clone-tool options p"..., 4000) = 82
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-convolve-tool", O_RDONLY|O_LARGEFILE) = 4
+mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d73000
+munmap(0xb6d73000, 32768)               = 0
+read(4, "# GIMP gimp-convolve-tool option"..., 4000) = 100
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8ac6000)                          = 0x8ac6000
+brk(0x8ac5000)                          = 0x8ac5000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-convolve-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-convolve-tool option"..., 4000) = 88
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-smudge-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-smudge-tool options\n"..., 4000) = 214
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 8192)                = 0
+mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d79000
+munmap(0xb6d79000, 8192)                = 0
+brk(0x8ae6000)                          = 0x8ae6000
+brk(0x8ae5000)                          = 0x8ae5000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-smudge-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-smudge-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-dodge-burn-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-dodge-burn-tool opti"..., 4000) = 229
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+brk(0x8b06000)                          = 0x8b06000
+brk(0x8b05000)                          = 0x8b05000
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-dodge-burn-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-dodge-burn-tool opti"..., 4000) = 92
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-color-balance-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-color-balance-tool o"..., 4000) = 82
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-color-balance-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-color-balance-tool o"..., 4000) = 98
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-hue-saturation-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-hue-saturation-tool "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-hue-saturation-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-hue-saturation-tool "..., 4000) = 100
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-colorize-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-colorize-tool option"..., 4000) = 72
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-colorize-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-colorize-tool option"..., 4000) = 88
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-brightness-contrast-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-brightness-contrast-"..., 4000) = 94
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-brightness-contrast-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-brightness-contrast-"..., 4000) = 110
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-threshold-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-threshold-tool optio"..., 4000) = 104
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-threshold-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-threshold-tool optio"..., 4000) = 90
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-levels-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-levels-tool options\n"..., 4000) = 68
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-levels-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-levels-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-curves-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-curves-tool options\n"..., 4000) = 68
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-curves-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-curves-tool options "..., 4000) = 84
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-posterize-tool", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-posterize-tool optio"..., 4000) = 74
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+open("/user/folk/clint/.gimp-2.2/tool-options/gimp-posterize-tool.presets", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP gimp-posterize-tool optio"..., 4000) = 90
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+shmget(IPC_PRIVATE, 16384, IPC_CREAT|0600) = 49905670
+shmat(49905670, 0, 0)                   = 0xb6d77000
+shmctl(49905670, IPC_64|IPC_RMID, 0)    = 0
+stat64("/user/folk/clint/.gimp-2.2/plug-ins", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+open("/user/folk/clint/.gimp-2.2/plug-ins", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 2 entries */, 4096)    = 48
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+open("/usr/lib/gimp/2.0/plug-ins", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 4
+fstat64(4, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
+fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
+getdents64(4, /* 134 entries */, 4096)  = 4080
+stat64("/usr/lib/gimp/2.0/plug-ins/CML_explorer", {st_mode=S_IFREG|0755, st_size=48208, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/AlienMap2", {st_mode=S_IFREG|0755, st_size=18648, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/CEL", {st_mode=S_IFREG|0755, st_size=14376, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/align_layers", {st_mode=S_IFREG|0755, st_size=14300, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/aa", {st_mode=S_IFREG|0755, st_size=14272, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/FractalExplorer", {st_mode=S_IFREG|0755, st_size=79248, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/Lighting", {st_mode=S_IFREG|0755, st_size=105628, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/MapObject", {st_mode=S_IFREG|0755, st_size=126268, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/bumpmap", {st_mode=S_IFREG|0755, st_size=26916, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/bmp", {st_mode=S_IFREG|0755, st_size=22648, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/animationplay", {st_mode=S_IFREG|0755, st_size=22628, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/animoptimize", {st_mode=S_IFREG|0755, st_size=18340, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/apply_lens", {st_mode=S_IFREG|0755, st_size=18516, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/autocrop", {st_mode=S_IFREG|0755, st_size=10080, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/autostretch_hsv", {st_mode=S_IFREG|0755, st_size=10056, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/blinds", {st_mode=S_IFREG|0755, st_size=18512, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/blur", {st_mode=S_IFREG|0755, st_size=10044, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/edge", {st_mode=S_IFREG|0755, st_size=18528, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/dog", {st_mode=S_IFREG|0755, st_size=22668, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/borderaverage", {st_mode=S_IFREG|0755, st_size=14364, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/c_astretch", {st_mode=S_IFREG|0755, st_size=10052, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/cartoon", {st_mode=S_IFREG|0755, st_size=22552, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/ccanalyze", {st_mode=S_IFREG|0755, st_size=14304, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/channel_mixer", {st_mode=S_IFREG|0755, st_size=27036, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/checkerboard", {st_mode=S_IFREG|0755, st_size=14300, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/clothify.py", {st_mode=S_IFREG|0755, st_size=2587, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/color_enhance", {st_mode=S_IFREG|0755, st_size=10052, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/colorify", {st_mode=S_IFREG|0755, st_size=14540, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/colortoalpha", {st_mode=S_IFREG|0755, st_size=14352, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/colorxhtml.py", {st_mode=S_IFREG|0755, st_size=5160, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/compose", {st_mode=S_IFREG|0755, st_size=22768, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/compressor", {st_mode=S_IFREG|0755, st_size=10180, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/convmatrix", {st_mode=S_IFREG|0755, st_size=22660, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/csource", {st_mode=S_IFREG|0755, st_size=22616, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/cubism", {st_mode=S_IFREG|0755, st_size=18500, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/curve_bend", {st_mode=S_IFREG|0755, st_size=47856, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/decompose", {st_mode=S_IFREG|0755, st_size=22648, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/deinterlace", {st_mode=S_IFREG|0755, st_size=14256, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/depthmerge", {st_mode=S_IFREG|0755, st_size=22628, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/despeckle", {st_mode=S_IFREG|0755, st_size=18448, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/destripe", {st_mode=S_IFREG|0755, st_size=14284, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/dicom", {st_mode=S_IFREG|0755, st_size=18460, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/diffraction", {st_mode=S_IFREG|0755, st_size=18644, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/displace", {st_mode=S_IFREG|0755, st_size=18580, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/exchange", {st_mode=S_IFREG|0755, st_size=22828, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/emboss", {st_mode=S_IFREG|0755, st_size=18448, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/engrave", {st_mode=S_IFREG|0755, st_size=14296, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/foggify.py", {st_mode=S_IFREG|0755, st_size=2145, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/faxg3", {st_mode=S_IFREG|0755, st_size=17300, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/film", {st_mode=S_IFREG|0755, st_size=31752, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/fits", {st_mode=S_IFREG|0755, st_size=39068, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/flame", {st_mode=S_IFREG|0755, st_size=111992, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/flarefx", {st_mode=S_IFREG|0755, st_size=22552, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/fractaltrace", {st_mode=S_IFREG|0755, st_size=18572, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/fp", {st_mode=S_IFREG|0755, st_size=47264, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gee_zoom", {st_mode=S_IFREG|0755, st_size=14240, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gauss", {st_mode=S_IFREG|0755, st_size=26848, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gbr", {st_mode=S_IFREG|0755, st_size=18812, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gee", {st_mode=S_IFREG|0755, st_size=14236, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gimpcons.py", {st_mode=S_IFREG|0755, st_size=3020, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gfig", {st_mode=S_IFREG|0755, st_size=164224, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gflare", {st_mode=S_IFREG|0755, st_size=71108, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gfli", {st_mode=S_IFREG|0755, st_size=26844, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gif", {st_mode=S_IFREG|0755, st_size=26820, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gifload", {st_mode=S_IFREG|0755, st_size=18336, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gih", {st_mode=S_IFREG|0755, st_size=27276, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/guillotine", {st_mode=S_IFREG|0755, st_size=10084, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gtm", {st_mode=S_IFREG|0755, st_size=23604, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gimpressionist", {st_mode=S_IFREG|0755, st_size=167380, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/glasstile", {st_mode=S_IFREG|0755, st_size=14328, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/glob", {st_mode=S_IFREG|0755, st_size=9976, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gqbist", {st_mode=S_IFREG|0755, st_size=18380, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gradmap", {st_mode=S_IFREG|0755, st_size=10048, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/grid", {st_mode=S_IFREG|0755, st_size=27024, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/gtkcons.py", {st_mode=S_IFREG|0644, st_size=10692, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/helpbrowser", {st_mode=S_IFREG|0755, st_size=22780, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/header", {st_mode=S_IFREG|0755, st_size=10072, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/help", {st_mode=S_IFREG|0755, st_size=18500, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/ifscompose", {st_mode=S_IFREG|0755, st_size=64480, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/hot", {st_mode=S_IFREG|0755, st_size=14432, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pdbbrowse.py", {st_mode=S_IFREG|0755, st_size=1385, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/illusion", {st_mode=S_IFREG|0755, st_size=14360, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/imagemap", {st_mode=S_IFREG|0755, st_size=182808, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/iwarp", {st_mode=S_IFREG|0755, st_size=30908, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/jigsaw", {st_mode=S_IFREG|0755, st_size=38972, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/jpeg", {st_mode=S_IFREG|0755, st_size=39644, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/laplace", {st_mode=S_IFREG|0755, st_size=10048, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/lic", {st_mode=S_IFREG|0755, st_size=18460, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/mail", {st_mode=S_IFREG|0755, st_size=23972, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/mapcolor", {st_mode=S_IFREG|0755, st_size=14528, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/max_rgb", {st_mode=S_IFREG|0755, st_size=10124, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/maze", {st_mode=S_IFREG|0755, st_size=31084, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/mblur", {st_mode=S_IFREG|0755, st_size=22680, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/mng", {st_mode=S_IFREG|0755, st_size=31140, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/mosaic", {st_mode=S_IFREG|0755, st_size=35056, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/neon", {st_mode=S_IFREG|0755, st_size=18420, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/newsprint", {st_mode=S_IFREG|0755, st_size=35440, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/nlfilt", {st_mode=S_IFREG|0755, st_size=22532, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/noisify", {st_mode=S_IFREG|0755, st_size=18632, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/normalize", {st_mode=S_IFREG|0755, st_size=10048, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/nova", {st_mode=S_IFREG|0755, st_size=22756, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/oilify", {st_mode=S_IFREG|0755, st_size=14328, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pagecurl", {st_mode=S_IFREG|0755, st_size=51344, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/papertile", {st_mode=S_IFREG|0755, st_size=22784, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pat", {st_mode=S_IFREG|0755, st_size=14652, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pcx", {st_mode=S_IFREG|0755, st_size=14300, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/plugin-browser", {st_mode=S_IFREG|0755, st_size=30944, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/photocopy", {st_mode=S_IFREG|0755, st_size=22608, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pix", {st_mode=S_IFREG|0755, st_size=14268, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pixelize", {st_mode=S_IFREG|0755, st_size=14316, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/plasma", {st_mode=S_IFREG|0755, st_size=14360, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/polar", {st_mode=S_IFREG|0755, st_size=18520, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/png", {st_mode=S_IFREG|0755, st_size=31676, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/pnm", {st_mode=S_IFREG|0755, st_size=22588, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/procedure-browser", {st_mode=S_IFREG|0755, st_size=22684, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/postscript", {st_mode=S_IFREG|0755, st_size=51972, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/print", {st_mode=S_IFREG|0755, st_size=93540, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/psd_save", {st_mode=S_IFREG|0755, st_size=18416, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/psd", {st_mode=S_IFREG|0755, st_size=26556, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/py-slice.py", {st_mode=S_IFREG|0755, st_size=6895, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/psp", {st_mode=S_IFREG|0755, st_size=22524, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sample_colorize", {st_mode=S_IFREG|0755, st_size=43360, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/randomize", {st_mode=S_IFREG|0755, st_size=18480, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/raw", {st_mode=S_IFREG|0755, st_size=22684, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/rcm", {st_mode=S_IFREG|0755, st_size=47524, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/retinex", {st_mode=S_IFREG|0755, st_size=18480, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/ripple", {st_mode=S_IFREG|0755, st_size=18516, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/rotate", {st_mode=S_IFREG|0755, st_size=14264, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/shadow_bevel.py", {st_mode=S_IFREG|0755, st_size=2464, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/scatter_hsv", {st_mode=S_IFREG|0755, st_size=14356, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/screenshot", {st_mode=S_IFREG|0755, st_size=22660, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/script-fu", {st_mode=S_IFREG|0755, st_size=155128, ...}) = 0
+getdents64(4, /* 44 entries */, 4096)   = 1336
+stat64("/usr/lib/gimp/2.0/plug-ins/sel2path", {st_mode=S_IFREG|0755, st_size=51864, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sel_gauss", {st_mode=S_IFREG|0755, st_size=14328, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/semiflatten", {st_mode=S_IFREG|0755, st_size=10020, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sgi", {st_mode=S_IFREG|0755, st_size=18492, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/smooth_palette", {st_mode=S_IFREG|0755, st_size=14360, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sharpen", {st_mode=S_IFREG|0755, st_size=14284, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/shift", {st_mode=S_IFREG|0755, st_size=14356, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sinus", {st_mode=S_IFREG|0755, st_size=27032, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/softglow", {st_mode=S_IFREG|0755, st_size=18468, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/snoise", {st_mode=S_IFREG|0755, st_size=18600, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sobel", {st_mode=S_IFREG|0755, st_size=14304, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/spheredesigner", {st_mode=S_IFREG|0755, st_size=51592, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sparkle", {st_mode=S_IFREG|0755, st_size=26876, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/threshold_alpha", {st_mode=S_IFREG|0755, st_size=10132, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/spread", {st_mode=S_IFREG|0755, st_size=14328, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/struc", {st_mode=S_IFREG|0755, st_size=30676, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/sunras", {st_mode=S_IFREG|0755, st_size=22624, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/svg", {st_mode=S_IFREG|0755, st_size=26988, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/tga", {st_mode=S_IFREG|0755, st_size=18524, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/uniteditor", {st_mode=S_IFREG|0755, st_size=22676, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/tiff", {st_mode=S_IFREG|0755, st_size=35164, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/tile", {st_mode=S_IFREG|0755, st_size=14400, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/tileit", {st_mode=S_IFREG|0755, st_size=23180, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/tiler", {st_mode=S_IFREG|0755, st_size=10044, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/vpropagate", {st_mode=S_IFREG|0755, st_size=22636, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/unsharp", {st_mode=S_IFREG|0755, st_size=18436, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/url", {st_mode=S_IFREG|0755, st_size=10076, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/video", {st_mode=S_IFREG|0755, st_size=47104, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/vinvert", {st_mode=S_IFREG|0755, st_size=10016, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/webbrowser", {st_mode=S_IFREG|0755, st_size=9952, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/warp", {st_mode=S_IFREG|0755, st_size=35204, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/waves", {st_mode=S_IFREG|0755, st_size=14392, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/whirlpinch.py", {st_mode=S_IFREG|0755, st_size=9452, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/whirlpinch", {st_mode=S_IFREG|0755, st_size=18472, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/zealouscrop", {st_mode=S_IFREG|0755, st_size=10084, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/wind", {st_mode=S_IFREG|0755, st_size=18456, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/winicon", {st_mode=S_IFREG|0755, st_size=31036, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/wmf", {st_mode=S_IFREG|0755, st_size=26912, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/xbm", {st_mode=S_IFREG|0755, st_size=27068, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/xjt", {st_mode=S_IFREG|0755, st_size=53052, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/xpm", {st_mode=S_IFREG|0755, st_size=18492, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/xwd", {st_mode=S_IFREG|0755, st_size=26620, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/xscanimage", {st_mode=S_IFREG|0755, st_size=89220, ...}) = 0
+stat64("/usr/lib/gimp/2.0/plug-ins/ufraw-gimp", {st_mode=S_IFREG|0755, st_size=611884, ...}) = 0
+getdents64(4, /* 0 entries */, 4096)    = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 482113}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 482400}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 482537}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 482761}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 483109}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 483311}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0001\1`\3?\0`\3\220\1\24\0\232\4\5\0002\1`\0031\1`\0038\0\0\0"..., 1932}], 1) = 1932
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 486134}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 486356}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 488937}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 489159}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 489389}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 489597}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 489950}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 490076}, NULL) = 0
+open("/user/folk/clint/.gimp-2.2/pluginrc", O_RDONLY|O_LARGEFILE) = 4
+read(4, "# GIMP pluginrc\n# \n# This file c"..., 4000) = 4000
+read(4, "map) format.\"\n         \"Save fil"..., 4000) = 4000
+read(4, "eit\"\n         \"1998\"\n         \"X"..., 4000) = 4000
+read(4, "o save\")\n        (proc-arg 4 \"fi"..., 4000) = 4000
+read(4, "         \"\"\n         \"\"\n        "..., 4000) = 4000
+read(4, "    \"Adam D. Moss (adam@foxbox.o"..., 4000) = 4000
+read(4, "-arg 0 \"direction-mask\" \"0 <= di"..., 4000) = 4000
+read(4, "ponding base type.\"\n         \"Sp"..., 4000) = 4000
+read(4, "\n         \"\"\n         \"\"\n       "..., 4000) = 4000
+read(4, "\n         6 0\n        (proc-arg "..., 4000) = 4000
+read(4, "  \"Version 1.27, September 2003\""..., 4000) = 4000
+read(4, " (proc-arg 0 \"seed\" \"Random seed"..., 4000) = 4000
+read(4, "unt (0 <= shift_amount_x <= 200)"..., 4000) = 4000
+read(4, "    \"\"\n         \"RGBA\"\n         "..., 4000) = 4000
+read(4, "        2 0\n        (proc-arg 0 "..., 4000) = 4000
+read(4, "\\0\\0u\\206\\0\\0\\0\\377\\6XXX\\354LLL\\"..., 4000) = 4000
+read(4, "377ssr\\377ppp\\377\\0\\0\\0\\377\\0\\0\\"..., 4000) = 4000
+read(4, ")\n        (proc-arg 0 \"drop_x\" \""..., 4000) = 4000
+read(4, "     (proc-arg 0 \"run_mode\" \"Int"..., 4000) = 4000
+brk(0x8b26000)                          = 0x8b26000
+brk(0x8b25000)                          = 0x8b25000
+read(4, "u may select the percentage of p"..., 4000) = 4000
+read(4, "per intensity\")\n        (proc-ar"..., 4000) = 4000
+read(4, " \"Monigotes\"\n         \"Monigotes"..., 4000) = 4000
+read(4, "height\" \"Height of image in Post"..., 4000) = 4000
+read(4, "     \"\"\n         3 1\n        (pr"..., 4000) = 4000
+read(4, "at\"\n         \"PNM saving handles"..., 4000) = 4000
+read(4, "the default settings stored as a"..., 4000) = 4000
+read(4, "er 2002\"\n         \"PNG image\"\n  "..., 4000) = 4000
+read(4, "tte file format\"\n         \"Micha"..., 4000) = 4000
+read(4, "      \"\"\n         \"\"\n         \"\""..., 4000) = 4000
+read(4, "rap_around\" \"wrap around (bool)\""..., 4000) = 4000
+read(4, "co Mena Quintero\"\n         \"Adam"..., 4000) = 4000
+read(4, ", MIT Press, 1987.\"\n         \"Au"..., 4000) = 4000
+read(4, "ckground): { BW (0), FG_BG (1) }"..., 4000) = 4000
+read(4, "sr/lib/gimp/2.0/plug-ins/max_rgb"..., 4000) = 4000
+read(4, "77\\365\\365\\365\\377YYY\\377nnn\\377"..., 4000) = 4000
+read(4, "mp\" \"The subsampling option numb"..., 4000) = 4000
+read(4, "ef \"plug_in_illusion\" 1\n        "..., 4000) = 4000
+read(4, "ource code header\"\n         0\n  "..., 4000) = 4000
+read(4, "cach, Jens Ch. Restemeier\"\n     "..., 4000) = 4000
+read(4, "    \"\"\n         \"\"\n         \"RGB"..., 4000) = 4000
+read(4, "        (proc-arg 13 \"image\" \"Im"..., 4000) = 4000
+read(4, "ctor angle for second flares (de"..., 4000) = 4000
+read(4, "oad\")\n        (proc-arg 13 \"imag"..., 4000) = 4000
+read(4, "-generated.\"\n         \"Spencer K"..., 4000) = 4000
+read(4, "\")\n        (proc-arg 0 \"depth\" \""..., 4000) = 4000
+read(4, "roc-arg 10 \"number_color\" \"Color"..., 4000) = 4000
+read(4, "17th, 1997\"\n         \"_Color Exc"..., 4000) = 4000
+read(4, "ed with default dummy values.\"\n "..., 4000) = 4000
+read(4, "lt\")\n        (proc-arg 16 \"sourc"..., 4000) = 4000
+read(4, "e) If rotation is not 0, the lay"..., 4000) = 4000
+brk(0x8b46000)                          = 0x8b46000
+read(4, "    \"Lauri Alanko\"\n         \"199"..., 4000) = 4000
+read(4, " function creates a new image fr"..., 4000) = 4000
+read(4, "-1 \"\")\n         \"\"\n         \"\"\n "..., 4000) = 4000
+read(4, " for the green channel\")\n       "..., 4000) = 4000
+read(4, " 16 \"drawable\" \"Input drawable\")"..., 4000) = 4000
+read(4, "90660588\n    (proc-def \"plug_in_"..., 4000) = 4000
+read(4, " \"/usr/lib/gimp/2.0/plug-ins/ani"..., 4000) = 4000
+read(4, "c-def \"file_bmp_load\" 1\n        "..., 4000) = 4000
+read(4, "   \"\"\n         \"\"\n         \"RGB*"..., 4000) = 4000
+read(4, "roc-arg 13 \"image\" \"Input image\""..., 4000) = 4000
+read(4, "e image as ascii art into a vari"..., 4000) = 4000
+read(4, "ctor (0-360)\")\n        (proc-arg"..., 4000) = 1369
+read(4, "", 4000)                       = 0
+close(4)                                = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 633993}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 634127}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0005\1`\3;\0`\3\273\0#\0\232\4\5\0006\1`\0035\1`\0038\0\0\0"..., 628}], 1) = 628
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 635505}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 635583}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 635799}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 635922}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0007\1`\3;\0`\3<\0\r\0\232\4\5\0008\1`\0037\1`\0038\0\0\0"..., 380}], 1) = 380
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 636603}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 636681}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 636859}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 636983}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 637248}, NULL) = 0
+gettimeofday({1192407181, 637291}, NULL) = 0
+gettimeofday({1192407181, 637331}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0009\1`\3?\0`\3\220\1\24\0\232\4\5\0:\1`\0039\1`\0038\0\0\0"..., 1628}], 1) = 1628
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 638142}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 638242}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 638436}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 638561}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 638789}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0=\1`\3?\0`\3\220\1\24\0\232\4\5\0>\1`\3=\1`\0038\0\0\0"..., 1604}], 1) = 1604
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 639539}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 639619}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 639791}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 639916}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 640140}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0A\1`\3?\0`\3\220\1\24\0\232\4\5\0B\1`\3A\1`\0038\0\0\0"..., 2036}], 1) = 2036
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 640922}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 641000}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 641242}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 641366}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 641594}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0E\1`\3?\0`\3\220\1\24\0\232\4\5\0F\1`\3E\1`\0038\0\0\0"..., 3716}], 1) = 3716
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 642608}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 642686}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 642854}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 642978}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 643203}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0I\1`\3?\0`\3\220\1\24\0\232\4\5\0J\1`\3I\1`\0038\0\0\0"..., 3732}], 1) = 3732
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 644161}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 644239}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 644406}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 644531}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 644755}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0M\1`\3?\0`\3\220\1\24\0\232\4\5\0N\1`\3M\1`\0038\0\0\0"..., 3732}], 1) = 3732
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 645734}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 645813}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 645987}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 646111}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 646336}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0Q\1`\3?\0`\3\220\1\24\0\232\4\5\0R\1`\3Q\1`\0038\0\0\0"..., 3384}], 1) = 3384
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\354.\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0S\1`\3;\0`\3*\0\n\0\232\4\5\0T\1`\3S\1`\0038\0\0\0"..., 372}], 1) = 372
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 647795}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 647873}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 648044}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 648167}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 648412}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0U\1`\3?\0`\3\220\1\24\0\232\4\5\0V\1`\3U\1`\0038\0\0\0"..., 3732}], 1) = 3732
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 649502}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 649581}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 649769}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 649892}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 650119}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0Y\1`\3?\0`\3\220\1\24\0\232\4\5\0Z\1`\3Y\1`\0038\0\0\0"..., 3840}], 1) = 3840
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 651228}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 651307}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 651489}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 651612}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 651839}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0]\1`\3?\0`\3\220\1\24\0\232\4\5\0^\1`\3]\1`\0038\0\0\0"..., 3708}], 1) = 3708
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 652841}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 652938}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 653121}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 653256}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 653480}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0a\1`\3?\0`\3\220\1\24\0\232\4\5\0b\1`\3a\1`\0038\0\0\0"..., 3760}], 1) = 3760
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 654505}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 654584}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 654754}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 654877}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 655101}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0e\1`\3?\0`\3\220\1\24\0\232\4\5\0f\1`\3e\1`\0038\0\0\0"..., 3736}], 1) = 3736
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 656094}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 656173}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 656343}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 656466}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 656690}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0i\1`\3?\0`\3\220\1\24\0\232\4\5\0j\1`\3i\1`\0038\0\0\0"..., 3752}], 1) = 3752
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 657742}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 657821}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 658001}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 658124}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 658369}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0m\1`\3?\0`\3\220\1\24\0\232\4\5\0n\1`\3m\1`\0038\0\0\0"..., 3824}], 1) = 3824
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 659387}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 659466}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 659637}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 659761}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 659987}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0q\1`\3?\0`\3\220\1\24\0\232\4\5\0r\1`\3q\1`\0038\0\0\0"..., 3800}], 1) = 3800
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 660993}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 661071}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 662793}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 662920}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 663173}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0u\1`\3?\0`\3\220\1\24\0\232\4\5\0v\1`\3u\1`\0038\0\0\0"..., 3816}], 1) = 3816
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 664208}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 664287}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 664484}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 664607}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 664835}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0y\1`\3?\0`\3\220\1\24\0\232\4\5\0z\1`\3y\1`\0038\0\0\0"..., 3812}], 1) = 3812
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 665829}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 665907}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 666083}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 666206}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 666433}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0}\1`\3?\0`\3\220\1\24\0\232\4\5\0~\1`\3}\1`\0038\0\0\0"..., 3816}], 1) = 3816
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 667443}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 667522}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 667700}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 667824}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 668050}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\201\1`\3?\0`\3\220\1\24\0\232\4\5\0\202\1`\3\201\1`\0038\0\0\0"..., 3820}], 1) = 3820
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 669110}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 669210}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 669382}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 669505}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 669732}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\205\1`\3?\0`\3\220\1\24\0\232\4\5\0\206\1`\3\205\1`\0038\0\0\0"..., 3800}], 1) = 3800
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 670771}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 670849}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 671021}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 671146}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 671371}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\211\1`\3?\0`\3\220\1\24\0\232\4\5\0\212\1`\3\211\1`\0038\0\0\0"..., 3816}], 1) = 3816
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 672348}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 672426}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 672595}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 672719}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 672943}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\215\1`\3?\0`\3\220\1\24\0\232\4\5\0\216\1`\3\215\1`\0038\0\0\0"..., 3796}], 1) = 3796
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 673924}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 674003}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 674171}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 674295}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 674519}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\221\1`\3?\0`\3\220\1\24\0\232\4\5\0\222\1`\3\221\1`\0038\0\0\0"..., 3844}], 1) = 3844
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 675486}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 675565}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 675743}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 675866}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 676091}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\225\1`\3?\0`\3\220\1\24\0\232\4\5\0\226\1`\3\225\1`\0038\0\0\0"..., 3884}], 1) = 3884
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 677093}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 677202}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 677372}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 677514}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 677740}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\231\1`\3?\0`\3\220\1\24\0\232\4\5\0\232\1`\3\231\1`\0038\0\0\0"..., 3860}], 1) = 3860
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 678978}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 679057}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 679227}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 679351}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 679578}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\235\1`\3?\0`\3\220\1\24\0\232\4\5\0\236\1`\3\235\1`\0038\0\0\0"..., 3876}], 1) = 3876
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 680555}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 680633}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 680803}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 680927}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 681204}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\241\1`\3?\0`\3\220\1\24\0\232\4\5\0\242\1`\3\241\1`\0038\0\0\0"..., 3884}], 1) = 3884
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 682207}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 682285}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 682455}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 682579}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 682804}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\245\1`\3?\0`\3\220\1\24\0\232\4\5\0\246\1`\3\245\1`\0038\0\0\0"..., 3880}], 1) = 3880
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 683793}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 683872}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 684043}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 684166}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 684391}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\251\1`\3?\0`\3\220\1\24\0\232\4\5\0\252\1`\3\251\1`\0038\0\0\0"..., 3864}], 1) = 3864
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 685407}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 685503}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 685739}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 685863}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 686098}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\255\1`\3?\0`\3\220\1\24\0\232\4\5\0\256\1`\3\255\1`\0038\0\0\0"..., 3924}], 1) = 3924
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 687218}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 687298}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 687475}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 687599}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 687827}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\261\1`\3?\0`\3\220\1\24\0\232\4\5\0\262\1`\3\261\1`\0038\0\0\0"..., 3864}], 1) = 3864
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 688884}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 688963}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 689145}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 689279}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 689508}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\265\1`\3?\0`\3\220\1\24\0\232\4\5\0\266\1`\3\265\1`\0038\0\0\0"..., 3920}], 1) = 3920
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 690587}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 690665}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 690835}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 690959}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 691184}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\271\1`\3?\0`\3\220\1\24\0\232\4\5\0\272\1`\3\271\1`\0038\0\0\0"..., 3928}], 1) = 3928
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 692230}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 692309}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 692477}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 692602}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 692827}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\275\1`\3?\0`\3\220\1\24\0\232\4\5\0\276\1`\3\275\1`\0038\0\0\0"..., 3944}], 1) = 3944
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 693858}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 693937}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 694109}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 694233}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 694458}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\301\1`\3?\0`\3\220\1\24\0\232\4\5\0\302\1`\3\301\1`\0038\0\0\0"..., 3944}], 1) = 3944
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 695498}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 695577}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 695746}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 695869}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 696094}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\305\1`\3?\0`\3\220\1\24\0\232\4\5\0\306\1`\3\305\1`\0038\0\0\0"..., 3928}], 1) = 3928
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 697121}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 697210}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 697378}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 697502}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 697727}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\311\1`\3?\0`\3\220\1\24\0\232\4\5\0\312\1`\3\311\1`\0038\0\0\0"..., 3944}], 1) = 3944
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 698753}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 698832}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 699003}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 699127}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 699352}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\315\1`\3?\0`\3\220\1\24\0\232\4\5\0\316\1`\3\315\1`\0038\0\0\0"..., 3944}], 1) = 3944
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 700390}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 700469}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 700650}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 700775}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 701017}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\321\1`\3?\0`\3\220\1\24\0\232\4\5\0\322\1`\3\321\1`\0038\0\0\0"..., 3576}], 1) = 3576
+select(4, [3], [], NULL, NULL)          = 1 (in [3])
+read(3, "\1\1\304G\0\0\0\0\r\0\300\3\\\245\37\10`\360\227\277x\360\227\277\364O\36\10\351E\t\10", 4096) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\323\1`\3;\0`\3W\0\r\0\232\4\5\0\324\1`\3\323\1`\0038\0\0\0"..., 380}], 1) = 380
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 702581}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 702660}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 702830}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 702953}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 703177}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\325\1`\3?\0`\3\220\1\24\0\232\4\5\0\326\1`\3\325\1`\0038\0\0\0"..., 3924}], 1) = 3924
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 704217}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 704296}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 704473}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 704597}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 704822}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\331\1`\3?\0`\3\220\1\24\0\232\4\5\0\332\1`\3\331\1`\0038\0\0\0"..., 4012}], 1) = 4012
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 706247}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 706326}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 706619}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 706742}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 707090}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\335\1`\3?\0`\3\220\1\24\0\232\4\5\0\336\1`\3\335\1`\0038\0\0\0"..., 3996}], 1) = 3996
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 708364}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 708442}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 708625}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 708750}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 708994}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\341\1`\3?\0`\3\220\1\24\0\232\4\5\0\342\1`\3\341\1`\0038\0\0\0"..., 4008}], 1) = 4008
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 710082}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 710161}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 710343}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 710467}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 710693}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\345\1`\3?\0`\3\220\1\24\0\232\4\5\0\346\1`\3\345\1`\0038\0\0\0"..., 4012}], 1) = 4012
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 711752}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 711830}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 712009}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 712134}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 712357}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\351\1`\3?\0`\3\220\1\24\0\232\4\5\0\352\1`\3\351\1`\0038\0\0\0"..., 3980}], 1) = 3980
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 713451}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 713530}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 713709}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 713833}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 714057}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\355\1`\3?\0`\3\220\1\24\0\232\4\5\0\356\1`\3\355\1`\0038\0\0\0"..., 4012}], 1) = 4012
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 715117}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 715196}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 715381}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 715505}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 715730}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\361\1`\3?\0`\3\220\1\24\0\232\4\5\0\362\1`\3\361\1`\0038\0\0\0"..., 4016}], 1) = 4016
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 716817}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 716896}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 717068}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 717220}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 717446}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\365\1`\3?\0`\3\220\1\24\0\232\4\5\0\366\1`\3\365\1`\0038\0\0\0"..., 3992}], 1) = 3992
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 718515}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 718594}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 718765}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 718888}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 719113}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\371\1`\3?\0`\3\220\1\24\0\232\4\5\0\372\1`\3\371\1`\0038\0\0\0"..., 4072}], 1) = 4072
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 720165}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 720243}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 720415}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 720538}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 720763}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\375\1`\3?\0`\3\220\1\24\0\232\4\5\0\376\1`\3\375\1`\0038\0\0\0"..., 4072}], 1) = 4072
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 721813}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 721891}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 722058}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 722181}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 722403}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\1\2`\3?\0`\3\220\1\24\0\232\4\5\0\2\2`\3\1\2`\0038\0\0\0"..., 4052}], 1) = 4052
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 723423}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 723502}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 723669}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 723793}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 724016}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\5\2`\3?\0`\3\220\1\24\0\232\4\5\0\6\2`\3\5\2`\0038\0\0\0"..., 4072}], 1) = 4072
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 725022}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 725118}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 725304}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 725427}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 725652}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\t\2`\3?\0`\3\220\1\24\0\232\4\5\0\n\2`\3\t\2`\0038\0\0\0"..., 4080}], 1) = 4080
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 726714}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 726793}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 726976}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 727099}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 727323}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\r\2`\3?\0`\3\220\1\24\0\232\4\5\0\16\2`\3\r\2`\0038\0\0\0"..., 4048}], 1) = 4048
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 728440}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 728519}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 728687}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 728811}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 729035}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\21\2`\3?\0`\3\220\1\24\0\232\4\5\0\22\2`\3\21\2`\0038\0\0\0"..., 4052}], 1) = 4052
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 730156}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 730235}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 730415}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 730539}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 730762}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\25\2`\3?\0`\3\220\1\24\0\232\4\5\0\26\2`\3\25\2`\0038\0\0\0"..., 4076}], 1) = 4076
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 731849}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 731974}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 732098}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 732174}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 732342}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 732485}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 732711}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\31\2`\3?\0`\3\220\1\24\0\232\4\5\0\32\2`\3\31\2`\0038\0\0\0"..., 4052}], 1) = 4052
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 733784}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 733862}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 734036}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 734160}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 734385}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0\35\2`\3?\0`\3\220\1\24\0\232\4\5\0\36\2`\3\35\2`\0038\0\0\0"..., 4076}, {">\3\7\0\37\2`\3;\0`\0033\0`\3\0\0\0\0\256\0\347\0004\0\r\0", 28}], 2) = 4104
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0 \2`\0036\7\2\0\37\2`\3", 32}], 1) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 735628}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 735706}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 735875}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 735999}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 736224}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0!\2`\3?\0`\3\220\1\24\0\232\4\5\0\"\2`\3!\2`\0038\0\0\0"..., 4088}, {"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0", 16}], 2) = 4104
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"\232\7\2\0$\2`\0036\7\2\0#\2`\3", 16}], 1) = 16
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 737443}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 737567}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 737711}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 737833}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 738078}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"6\7\2\0,\1`\0035\30\4\0%\2`\3?\0`\3\220\1\24\0F\30\5\0%\2`\3"..., 3840}], 1) = 3840
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 738943}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 739022}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 739205}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 739329}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 739569}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0(\2`\3?\0`\3\220\1\24\0\232\4\5\0)\2`\3(\2`\0038\0\0\0"..., 4092}, {";\3\5\0003\0`\3\0\0\0\0\254\0\347\0007\0\r\0", 20}], 2) = 4112
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{">\3\7\0*\2`\3;\0`\0033\0`\3\0\0\0\0\254\0\347\0007\0\r\0008\3\4\0"..., 60}], 1) = 60
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 740846}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 740924}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 741111}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 741243}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 741465}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0,\2`\3?\0`\3\220\1\24\0\232\4\5\0-\2`\3,\2`\0038\0\0\0"..., 4044}, {"\232\27\16\0\3\2`\3O\0`\3/\2`\0034\0\0\0S\0`\3\377\377\n\0\21\0`\3"..., 56}], 2) = 4100
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{";\3\5\0003\0`\3\0\0\0\0\224\0\347\0i\0\r\0>\3\7\0.\2`\3;\0`\3"..., 80}], 1) = 80
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 742817}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 742893}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 743057}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 743177}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 743399}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0000\2`\3?\0`\3\220\1\24\0\232\4\5\0001\2`\0030\2`\0038\0\0\0"..., 4088}, {">\3\7\0002\2`\3;\0`\0033\0`\3\0\0\0\0\224\0\347\0i\0\r\0", 28}], 2) = 4116
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0003\2`\0036\7\2\0002\2`\3", 32}], 1) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 744680}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 744756}, NULL) = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 744920}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 745039}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 745272}, NULL) = 0
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"5\30\4\0004\2`\3?\0`\3\220\1\24\0\232\4\5\0005\2`\0034\2`\0038\0\0\0"..., 4076}, {">\3\7\0006\2`\3;\0`\0033\0`\3\0\0\0\0\274\0\352\0\27\0\n\0", 28}], 2) = 4104
+select(4, [3], [3], NULL, NULL)         = 1 (out [3])
+writev(3, [{"8\3\4\0003\0`\3\0\0\10\0\0\0\0\0\232\7\2\0007\2`\0036\7\2\0006\2`\3", 32}], 1) = 32
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+read(3, 0x837214c, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
+gettimeofday({1192407181, 746493}, NULL) = 0
+poll([{fd=3, events=POLLIN}], 1, 0)     = 0
+gettimeofday({1192407181, 746571}, NULL) = 0
diff --git a/test/benchmarks/unixbench-5.1.2/testdir/sort.src b/test/benchmarks/unixbench-5.1.2/testdir/sort.src
new file mode 100644 (file)
index 0000000..6a72fa8
--- /dev/null
@@ -0,0 +1,362 @@
+version="1.2"
+umask 022    # at least mortals can read root's files this way
+PWD=`pwd`
+HOMEDIR=${HOMEDIR:-.}
+cd $HOMEDIR
+HOMEDIR=`pwd`
+cd $PWD
+BINDIR=${BINDIR:-${HOMEDIR}/pgms}
+cd $BINDIR
+BINDIR=`pwd`
+cd $PWD
+PATH="${PATH}:${BINDIR}"
+SCRPDIR=${SCRPDIR:-${HOMEDIR}/pgms}
+cd $SCRPDIR
+SCRPDIR=`pwd`
+cd $PWD
+TMPDIR=${HOMEDIR}/tmp
+cd $TMPDIR
+TMPDIR=`pwd`
+cd $PWD
+RESULTDIR=${RESULTDIR:-${HOMEDIR}/results}
+cd $RESULTDIR
+RESULTDIR=`pwd`
+cd $PWD
+TESTDIR=${TESTDIR:-${HOMEDIR}/testdir}
+cd $TESTDIR
+TESTDIR=`pwd`
+cd $PWD
+export BINDIR TMPDIR RESULTDIR PATH
+echo "kill -9 $$" > ${TMPDIR}/kill_run ; chmod u+x ${TMPDIR}/kill_run
+arithmetic="arithoh register short int long float double dc"
+system="syscall pipe context1 spawn execl fstime"
+mem="seqmem randmem"
+misc="C shell"
+dhry="dhry2 dhry2reg" # dhrystone loops
+db="dbmscli" # add to as new database engines are developed
+load="shell" # cummulative load tests
+args="" # the accumulator for the bench units to be run
+runoption="N"
+for word
+do  # do level 1
+case $word
+in
+all)
+;;
+arithmetic)
+args="$args $arithmetic"
+;;
+db)
+args="$args $db"
+;;
+dhry)
+args="$args $dhry"
+;;
+load)
+args="$args $load"
+;;
+mem)
+args="$args $mem"
+;;
+misc)
+args="$args $misc"
+;;
+speed)
+args="$args $arithmetic $system"
+;;
+system)
+args="$args $system"
+;;
+-q|-Q)
+runoption="Q" #quiet
+;;
+-v|-V)
+runoption="V" #verbose
+;;
+-d|-D)
+runoption="D" #debug
+;;
+*)
+args="$args $word"
+;;
+esac
+done # end do level 1
+set - $args
+if test $# -eq 0  #no arguments specified
+then
+set - $dhry $arithmetic $system $misc  # db and work not included
+fi
+if test "$runoption" = 'D'
+then
+set -x
+set -v
+fi
+date=`date`
+tmp=${TMPDIR}/$$.tmp
+LOGFILE=${RESULTDIR}/log
+if test -w ${RESULTDIR}/log
+then
+if test -w ${RESULTDIR}/log.accum
+then
+cat ${RESULTDIR}/log >> ${RESULTDIR}/log.accum
+rm ${RESULTDIR}/log
+else
+mv ${RESULTDIR}/log ${RESULTDIR}/log.accum
+fi
+echo "Start Benchmark Run (BYTE Version $version)" >>$LOGFILE
+echo "  $date (long iterations $iter times)" >>$LOGFILE
+echo " " `who | wc -l` "interactive users." >>$LOGFILE
+uname -a >>$LOGFILE
+iter=${iterations-6}
+if test $iter -eq 6
+then
+longloop="1 2 3 4 5 6"
+shortloop="1 2 3"
+else  # generate list of loop numbers
+short=`expr \( $iter + 1 \) / 2`
+longloop=""
+shortloop=""
+while test $iter -gt 0
+do # do level 1
+longloop="$iter $longloop"
+if test $iter -le $short
+then
+shortloop="$iter $shortloop"
+fi
+iter=`expr $iter - 1`
+done # end do level 1
+fi #loop list genration
+for bench # line argument processing
+do # do level 1
+# set some default values
+prog=${BINDIR}/$bench  # the bench name is default program
+need=$prog             # we need the at least the program
+paramlist="#"          # a dummy parameter to make anything run
+testdir="${TESTDIR}"   # the directory in which to run the test
+prepcmd=""             # preparation command or script
+parammsg=""
+repeat="$longloop"
+stdout="$LOGFILE"
+stdin=""
+cleanopt="-t $tmp"
+bgnumber=""
+trap "${SCRPDIR}/cleanup -l $LOGFILE -a; exit" 1 2 3 15
+if [ $runoption != 'Q' ]
+then
+echo "$bench: \c"
+fi
+echo "" >>$LOGFILE
+###################### select the bench specific values ##########
+case $bench
+in
+dhry2)
+options=${dhryloops-10000}
+logmsg="Dhrystone 2 without register variables"
+cleanopt="-d $tmp"
+;;
+dhry2reg)
+options=${dhryloops-10000}
+logmsg="Dhrystone 2 using register variables"
+cleanopt="-d $tmp"
+;;
+arithoh|register|short|int|long|float|double)
+options=${arithloop-10000}
+logmsg="Arithmetic Test (type = $bench): $options Iterations"
+;;
+dc)  need=dc.dat
+prog=dc
+options=""
+stdin=dc.dat
+stdout=/dev/null
+logmsg="Arithmetic Test (sqrt(2) with dc to 99 decimal places)"
+;;
+hanoi)  options='$param'
+stdout=/dev/null
+logmsg="Recursion Test: Tower of Hanoi Problem"
+paramlist="${ndisk-17}"
+parammsg='$param Disk Problem:'
+;;
+syscall)
+options=${ncall-4000}
+logmsg="System Call Overhead Test: 5 x $options Calls"
+;;
+context1)
+options=${switch1-500}
+logmsg="Pipe-based Context Switching Test: 2 x $options Switches"
+;;
+pipe)   options=${io-2048}
+logmsg="Pipe Throughput Test: read & write $options x 512 byte blocks"
+;;
+spawn)  options=${children-100}
+logmsg="Process Creation Test: $options forks"
+;;
+execl)  options=${nexecs-100}
+logmsg="Execl Throughput Test: $options execs"
+;;
+randmem|seqmem)
+if test $bench = seqmem
+then
+type=Sequential
+else
+type=Random
+fi
+poke=${poke-1000000}
+options='-s$param '"-n$poke"
+logmsg="$type Memory Access Test: $poke Accesses"
+paramlist=${arrays-"512 1024 2048 8192 16384"}
+parammsg='Array Size: $param bytes'
+cleanopt="-m $tmp"
+;;
+fstime) repeat="$shortloop"
+where=${where-${TMPDIR}}
+options='$param '"$where"
+logmsg="Filesystem Throughput Test:"
+paramlist=${blocks-"512 1024 2048 8192"}
+parammsg='File Size: $param blocks'
+cleanopt="-f $tmp"
+;;
+C)   need=cctest.c
+prog=cc
+options='$param'
+stdout=/dev/null
+repeat="$shortloop"
+logmsg="C Compiler Test:"
+paramlist="cctest.c"
+parammsg='cc $param'
+rm -f a.out
+;;
+dbmscli)
+repeat="$shortloop"
+need="db.dat"
+prepcmd='${BINDIR}/dbprep ${testdir}/db.dat 10000'
+paramlist=${clients-"1 2 4 8"}
+parammsg='$param client processes. (filesize `cat ${testdir}/db.dat|wc -c` bytes)'
+logmsg="Client/Server Database Engine:"
+options='${testdir}/db.dat $param 0 1000'  # $param clients;
+# 0 sleep; 1000 iterations
+;;
+shell)
+prog="multi.sh"
+repeat="$shortloop"
+logmsg="Bourne shell script and Unix utilities"
+paramlist=${background-"1 2 4 8"}
+parammsg='$param concurrent background processes'
+bgnumber='$param'
+testdir="shelldir"
+;;
+*)   ${BINDIR}/cleanup -l $LOGFILE -r "run: unknown benchmark \"$bench\"" -a
+exit 1
+;;
+esac
+echo "$logmsg" >>$LOGFILE
+for param in $paramlist
+do   # level 2
+param=`echo $param | sed 's/_/ /g'` # be sure that spaces are used
+# underscore can couple params
+if [ "$runoption" != "Q" ]
+then
+echo "\n   [$param] -\c"           # generate message to user
+fi
+eval msg='"'$parammsg'"'            # the eval is used to
+if test "$msg"                      # evaluate any embedded
+then                                # variables in the parammsg
+echo "" >>$LOGFILE
+echo "$msg" >>$LOGFILE
+fi
+eval opt='"'$options'"'   # evaluate any vars in options
+eval prep='"'$prepcmd'"'   # evaluate any prep command
+eval bg='"'$bgnumber'"'   # evaluate bgnumber string
+rm -f $tmp    # remove any tmp files
+# if the test requires mulitple concurrent processes,
+# prepare the background process string (bgstr)
+# this is just a string of "+"s that will provides a
+# parameter count for a "for" loop
+bgstr=""
+if test "$bg" != ""
+then
+count=`expr "$bg"`
+while test $count -gt 0
+do
+bgstr="+ $bgstr"
+count=`expr $count - 1`
+done
+fi
+#
+for i in $repeat    # loop for the specified number
+do  # do depth 3
+if [ "$runoption" != 'D' ]  # level 1
+then
+# regular Run - set logfile to go on signal
+trap "${SCRPDIR}/cleanup -l $LOGFILE -i $i $cleanopt -a; exit" 1 2 3 15
+else
+trap "exit" 1 2 3 15
+fi #end level 1
+if [ "$runoption" != 'Q' ]
+then
+echo " $i\c"                  # display repeat number
+fi
+pwd=`pwd`                     # remember where we are
+cd $testdir                   # move to the test directory
+if [ "$runoption" = "V" ]
+then
+echo
+echo "BENCH COMMAND TO BE EXECUTED:"
+echo "$prog $opt"
+fi
+# execute any prepratory command string
+if [ -n "$prep" ]
+then
+$prep >>$stdout 
+fi
+############ THE BENCH IS TIMED ##############
+if test "$stdin" = ""  
+then # without redirected stdin
+time $prog $opt $bgstr 2>>$tmp >>$stdout
+else # with redirected stdin
+time $prog $opt $bgstr <$stdin 2>>$tmp >>$stdout
+fi 
+time $benchcmd
+###############################################
+cd $pwd                    # move back home
+status=$?                  # save the result code
+if test $status != 0 # must have been an error
+then
+if test -f $tmp # is there an error file ?
+then
+cp $tmp ${TMPDIR}/save.$bench.$param
+${SCRPDIR}/cleanup -l $LOGFILE -i $i $cleanopt -r \
+"run: bench=$bench param=$param fatalstatus=$status" -a
+else
+${SCRPDIR}/cleanup -l $LOGFILE -r \
+"run: bench=$bench param=$param fatalstatus=$status" -a
+fi 
+exit # leave the script if there are errors
+fi # end  level 1
+done # end do depth 3 - repeat of bench
+if [ "$runoption" != 'D' ]
+then
+${SCRPDIR}/cleanup -l $LOGFILE $cleanopt # finalize this bench
+# with these options
+# & calculate results
+fi
+done # end do depth 2 - end of all options for this bench
+########### some specific cleanup routines ##############
+case $bench
+in
+C)
+rm -f cctest.o a.out
+;;
+esac
+if [ "$runoption" != 'Q' ]
+then
+echo ""
+fi
+done # end do level 1  - all benchmarks requested
+echo "" >>$LOGFILE
+echo " " `who | wc -l` "interactive users." >>$LOGFILE
+echo "End Benchmark Run ($date) ...." >>$LOGFILE
+if [ "$runoption" != 'Q' ]
+then
+pg $LOGFILE
+fi
+exit
diff --git a/test/run-bench b/test/run-bench
new file mode 100644 (file)
index 0000000..55a3b54
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -e
+
+cd benchmarks
+
+benchmarks=`echo *bench*`
+
+runbench() {
+       out="Results/$1.`date +%Y%m%d.%H%M%S`"
+       echo "Running $1, saving output to $out."
+       ( cd $1 && sh run.sh 2>&1 ) | tee $out
+}
+
+clear
+n=1
+for b in $benchmarks
+do     echo "$n. $b"
+       eval "n$n=$b"
+       n=`expr $n + 1`
+done
+echo
+echo -n "Run which benchmark or 'all'? "
+read bench
+var=`eval echo "\\$n$bench"`
+if [ "$bench" = all ]
+then   for b in $benchmarks
+       do      runbench $b
+       done
+else   if [ -d "$var" ]
+       then    runbench $var
+       else    echo "Unknown benchmark."
+               exit 1
+       fi
+fi