summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/cp.html645
-rw-r--r--testdata/fields.c431
-rw-r--r--testdata/fireworks.jpegbin0 -> 123093 bytes
-rw-r--r--testdata/grammar.lsp94
-rw-r--r--testdata/house.jpgbin126958 -> 0 bytes
-rw-r--r--testdata/kennedy.xlsbin1029744 -> 0 bytes
-rw-r--r--testdata/mapreduce-osdi-1.pdfbin94330 -> 0 bytes
-rw-r--r--testdata/paper-100k.pdf598
-rw-r--r--testdata/ptt5bin513216 -> 0 bytes
-rw-r--r--testdata/sumbin38240 -> 0 bytes
-rw-r--r--testdata/xargs.1112
11 files changed, 598 insertions, 1282 deletions
diff --git a/testdata/cp.html b/testdata/cp.html
deleted file mode 100644
index 1d0ca37..0000000
--- a/testdata/cp.html
+++ /dev/null
@@ -1,645 +0,0 @@
-<head>
-<title>Compression Pointers</title>
-<META HTTP-EQUIV="Keywords" CONTENT="compression, compression, compression">
-</head>
-<body>
-<BODY BGCOLOR=#FFFFFF>
-
-<center>
-<H1> Compression Pointers </h1>
-
-
-
-</center>
-
-<p>
-<a href="#Resources">Compression resources</a>, <a href="#Conferences">conferences</a>, and some <a href="#Research">research
-groups and companies</a>, are listed towards the end of this page. <p>
-
-Use this <a href="form.html">handy form</a> to add something to this page, or to simply say you liked this page<i> <img src="new.gif">
-<p>
-
-</i>
-
-
-
-<p>
-
-<h2>What's New?</h2><p>
-
-
-<a href="http://www.teaser.fr/~jlgailly/">Jean-loup Gailly</a> -- <i>Mr. gzip,
-PNG, CCR (1996-06-10)</i>
-<img src="new.gif">
-<br>
-
-<a href="http://www.creative.net/~tristan/MPEG">MPEG Pointers and Resources</a>
-<img src="new.gif">
-<br>
-
-<a href="http://www-isl.stanford.edu/~gray/">Robert M. Gray</a> -- <i>Signal
-compression, VQ, image quality evaluation (1996-04-22)</i><img src="new.gif">
-<br>
-
-<a href="http://www-isl.stanford.edu/~gray/compression.html">Compression and
-Classification Group</a> -- <i>ISL,EE,Stanford (1996-04-22)</i><img src="new.gif">
-<br>
-
-<a href="http://www-isl.stanford.edu/~gray/iii.html">Signal Processing
-and the International Information Infrastructure</a> -- <i>Web sites (1996-04-22)</i> <img src="new.gif">
-<br>
-
-<a href="http://www.cs.sc.edu:80/~valenta/">Valenta, Vladimir</a> -- <i>(1996-04-22)</i>
-<br>
-
-
-<a href="http://patpwww.epfl.ch:80/~jordan/Subjects/Parallel/parallel.html">Jordan, Frederic</a> -- <i>Parallel Image Compression (1996-04-12)</i> <img src="new.gif">
-<br>
-<a href="http://www.garlic.com/biz/eotek">Electro-Optical Technologies, Inc.</a> -- <i>Consultant (1996-04-12)</i> <img src="new.gif">
-<br>
-<a href="http://quicktime.apple.com">quicktime.apple.com</a> -- <i>Quicktime site (1996-03-11)</i> <img src="new.gif">
-<br>
-<a href="http://www.chips.ibm.com/products/aldc/index.html">IBM Hardware</a> -- <i>Compression chips (1996-03-11)</i> <img src="new.gif">
-<br>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<!---
-
-<img src="new.gif"><i>Do you have, or know of, a research position where an image compression guru with a Ph.D. would feel at
-home? Let me know if you do...<a
-href="mailto:singlis@cs.waikato.ac.nz"><b>send me some email!</b></a>, or <a
-href="http://www.cs.waikato.ac.nz/~singlis/cv.html"><b>check out my
-c.v.</b>
-</a>
-</i>
-
--->
-
-<p>
-
-
-<p>
-
-
-<h2><i>People</i></h2>
-<h2>A</h2>
-
-<a href="http://quest.jpl.nasa.gov/Mark.Adler/">Adler, Mark</a> -- <i>Info-ZIP; Zip, UnZip, gzip and zlib co-author; PNG group</i>
-<p>
-
-<h2>B</h2>
-
-<a href="http://www.eese.qut.edu.au/~mbaker/">Baker, Matthew</a> -- <i>Region based video compression</i>
-<p>
-<a href="http://www.eecs.wsu.edu/~bamberg/">Bamberger, Roberto H.</a>
-<p>
-<a href="http://sutherland.eese.qut.edu.au/~dbell">Bell, Daniel</a> -- <i>Region based image compression</i>
-<p>
-<a href="http://www.cosc.canterbury.ac.nz/~tim">Bell, Tim</a> -- <i>compression, computer science for children, and computers and music.</i>
-<p>
-<a href="http://www.polytechnique.fr/poly/~bellard/">Bellard, Fabrice</a> -- <i>Author of LZEXE</I>
-<p>
-<a href="http://www.cevis.uni-bremen.de/~willy/">Berghorn, Willy </a>
-<p>
-<a href="http://www.best.com/~bhaskara">Bhaskaran, Vasudev</a> -- <i>Image and Video compression</i>
-<p>
-<a href="http://wwwvms.utexas.edu/~cbloom/index.html">Bloom, Charles</a> -- <i>text compression, LZ methods, PPM methods...</i>
-<p>
-<a href="http://www.ime.usp.br/~rbrito">Brito, Roger</a> -- <i>Arithmetic Coding, LZW, Text Compression</i>
-<p>
-<a href="http://www.engineering.usu.edu/ece/faculty/scottb.html">Budge, Scott E.</a> -- <i>medical/lossy image compression</i>
-<p>
-<a href="http://www.elec.uow.edu.au/people/staff/burnett/biography.html">Burnett, Ian</a> -- <i>Speech coding, prototype waveform techniques</I> <img src="new.gif">
-<p>
-
-
-<h2>C</h2>
-
-<a href="http://gabor.eecs.berkeley.edu/~wychan/">Chan, Christopher</a> -- <i>universal lossy source coding, adaptive VQ</i>
-<p>
-<a href="http://www.compsci.com/~chao">Chao, Hong-yang</a> -- <I>Lightning strike image compressor </i>
-<p>
-<a href="http://monet.uwaterloo.ca:80/schao/">Chao, Stewart</a>
-<p>
-<a href="http://diana.ecs.soton.ac.uk/~pjc94r/">Cherriman, Peter</a>
-<p>
-<a href="http://www-video.eecs.berkeley.edu/erl/sccheung.html">Cheung, S.C.</a> -- <i>Scalable video compression algorithms (18th Feb 1996)</i> <img src="new.gif">
-<p>
-
-<a href="http://etro.vub.ac.be/chchrist.html">Christopoulos, Charilaos</a> -- <i> Image and Video compression </i>
-<p>
-<a href="http://sipi.usc.edu/~chrysafi/">Chrysafis, Christos</a>
-<p>
-<a href="http://www.ee.gatech.edu/research/DSP/students/wchung/index.html">Chung, Wilson C.</a> -- <i>R-D image and video coding, subband/wavelet, filter banks</i>
-<p>
-<a href="mailto:aclark@hayes.com">Clark, Alan</a> -- <i>primary contact for V.42bis. Developed BTLZ variant of LZW</i>
-<p>
-<a href="http://www.cs.waikato.ac.nz/cs/Staff/jgc.html">Cleary, John</a> -- <i>PPM, PPM*, K*</i>
-<p>
-<a href="http://www.cs.brandeis.edu/dept/faculty/cohn/">Cohn, Martin</a>
-<p>
-
-<a href="http://plg.uwaterloo.ca/~gvcormac">Cormack, Gordon V.</a> -- <I>DMC</i>
-<p>
-<a href="http://www.ee.duke.edu/~cec/index.html">Cramer, Chris</a> -- <i>neural network image compression</i>
-<p>
-
-<h2>D</h2>
-<a href="http://www.cs.dartmouth.edu/~jmd/">Danskin, John</a> -- <i>Protocol compression, document compression (9th Feb 1996)</i>
-<p>
-<a href="http://www.cs.dartmouth.edu/~gdavis">Davis, Geoff</a> -- <i>wavelets, image compression, medical</i>
-<p>
-<a href="http://www-mddsp.enel.ucalgary.ca/People/adilger/">Dilger, Andreas</a> -- <i>fractal block coding of video sequences</i>
-<p>
-
-
-<h2>E</h2>
-<a href="http://info.cipic.ucdavis.edu/~estes/index.html">Estes, Robert</a>
-<p>
-
-
-
-<h2>F</h2>
-<a href="http://inls.ucsd.edu/y/Fractals/">Fisher, Yuval</a> -- <i>Fractal Image Compression</i>
-<p>
-<a href="http://www.wmin.ac.uk/~ajoec1/homepage.html">Ford, Adrian</a> -- <i>Subjective and Objective Compression quality (5th Mar 1996)</i> <img src="new.gif">
-<p>
-
-<h2>G</h2>
-<a href="http://www.teaser.fr/~jlgailly/">Jean-loup Gailly</a> --
-<i>Mr. gzip, PNG, CCR (1996-06-10)</i>
-<p>
-
-<a href="http://www.ece.ucsb.edu/faculty/gersho/default.html">Gersho, Allen</a> -- <i>Vector Quantisation, Image Compression</i>
-<p>
-<a href="http://life.anu.edu.au/ci/vol1/goertzel.html">Goertzel, Ben</a>
-<p>
-<a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Gooch, Mark</a> -- <i>High Performance Hardware Compression (7th Feb 1996)</i>
-<p>
-<a href="http://robotics.eecs.berkeley.edu/~vkgoyal/">Goyal, Vivek</a> -- <i>overcomplete representations, adaptive transform coding, VQ</i>
-<p>
-<a href="http://www-isl.stanford.edu/~gray/">Robert M. Gray</a> -- <i>Signal
-compression, VQ, image quality evaluation</i><img src="new.gif">
-<p>
-
-<h2>H</h2>
-<a href="http://cork.informatik.uni-wuerzburg.de/mitarbeiter/ulli">Hafner, Ullrich</a> -- <i>WFA image compression</i>
-<p>
-<a href="http://www.ics.uci.edu/~dan/">Hirschberg, Dan</a> -- <i>algorithm theory, compression</i>
-<p>
-<a href="http://wolfpack.larc.nasa.gov/holland.html">Holland, Scott</a>
-<p>
-<a href="http://www.csc.uvic.ca/home/nigelh/nigelh.html">Horspool, R. Nigel</a> -- <i>text compression, ECG compression</i>
-
-<h2>I</h2>
-<a href="http://www.cs.waikato.ac.nz/~singlis">Inglis, Stuart</a> -- <i>image compression, OCR, lossy/lossless document compression</I>
-<p>
-
-<h2>J</h2>
-<a href="http://www.cs.uiowa.edu/~jones/compress/index.html">Jones, Douglas</a> -- <i>splay-tree based compression and encryption</i>
-<p>
-<a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Jones, Simon</a> -- <i>Lossless compression, High Performance Hardware (7th Feb 1996) </i>
-<p>
-<a href="http://patpwww.epfl.ch:80/~jordan/Subjects/Parallel/parallel.html">Jordan, Frederic</a> -- <i>Parallel Image Compression (12th April 1996)</i> <img src="new.gif">
-<p>
-<a href="mailto:robjung@world.std.com">Jung, Robert K.</a> -- <i><a href="http://www.info.fundp.ac.be/~fta/arj.html">ARJ</a> </i>
-<p>
-<a href="http://www.cs.tu-berlin.de/~jutta/toast.html">jutta</a>
-<p>
-
-
-
-<h2>K</h2>
-<a href="http://links.uwaterloo.ca">Kominek, John</a> -- <I>Fractal and spline based compression</i>
-<p>
-<a href="http://info.lut.ac.uk/departments/el/research/sys/elmk3.html">Kjelso, Morten</a> -- <i>Main memory compression, High performance hardware</i>
-<p>
-<a href="http://wwwcip.informatik.uni-erlangen.de/user/mskuhn">Kuhn, Markus</a> -- <i>JBIG implementation</i> <img src="new.gif">
-<p>
-<a href="http://sipi.usc.edu/faculty/Kuo.html">Kuo, C.-C. Jay</a>
-<p>
-<a href="http://kaarna.cc.jyu.fi:80/~kuru/">Kuru, Esa</a>
-<p>
-<a href="http://www.prz.tu-berlin.de:80/~teo/">Kyfonidis, Theodoros</a>
-<p>
-
-<h2>L</h2>
-<a href="http://www.icsi.berkeley.edu/~lampart/">Lamparter, Bernd</a>
-<p>
-<a href="http://www.cse.ucsc.edu/cgi-bin/faculty?langdon">Langdon, Glen</a>
-<p>
-<a href="http://www.dna.lth.se/~jesper/">Larsson, Jesper</a> -- <i>algorithms and data structures, text compression</i> <img src="new.gif">
-<p>
-
-
-<h2>M</h2>
-<a href="http://glimpse.cs.arizona.edu:1994/udi.html">Manber, Udi</a>
-<p>
-<a href="http://www.elec.rma.ac.be/~jma/compression.html">Mangen, Jean-Michel</a> -- <i>image compression, wavelets, satellite</I>
-<p>
-<a href="http://www.cs.mu.oz.au/~alistair">Moffat, Alistair</a> -- <i>text and index compression, coding methods, information retrieval, document databases</i>
-<p>
-<a href="http://deskfish.cs.titech.ac.jp/squish/squish_index.html">Montgomery, Christopher</a> -- <i>OggSquish, audio compression</i>
-<p>
-<a href="mailto:umueller@amiga.physik.unizh.ch">Mueller, Urban Dominik</a> -- <i>XPK system</I>
-<p>
-<h2>N</h2>
-<a href="ftp://ai.toronto.edu/pub/radford/www/index.html">Neal, Radford</a>
-<p>
-<a href="http://www.cs.waikato.ac.nz/~cgn">Nevill-Manning, Craig</a>
-<p>
-<a href="http://phoenix.bath.ac.uk/jez/jez.html">Nicholls, Jeremy</a>
-<p>
-<a href="http://www.acti.com/matt/">Noah, Matt</a> -- <i>speech, ATC, ACELP and IMBE</i>
-<p>
-<a href="http://www.eecs.wsu.edu/~vnuri/">Nuri, Veyis</a> -- <i>wavelets, data compression, DSP (speech & image)</I>
-
-<h2>O</h2>
-<a href="ftp://replicant.csci.unt.edu/pub/oleg/README.html">Oleg</a> -- <i>Lots of code</i>
-<p>
-<a href="http://sipi.usc.edu/faculty/Ortega/Ortega.html">Ortega, Antonio</a> -- <i>Video compression, Packet video, Adaptive quantization</i>
-<p>
-<a href="http://www.cs.dartmouth.edu:80/~cowen/">Owen, Charles</a>
-<p>
-
-<h2>P</h2>
-<a
-href="http://www-mddsp.enel.ucalgary.ca/People/provine/compression.html">Provine,
-Joseph</a> -- <i>Model based coding</i>
-<p>
-
-<h2>R</h2>
-<a href="http://monet.uwaterloo.ca/~john/btpc.html">Robinson, John</a> -- <i>Binary Tree Predictive Coding</i>
-<p>
-<a href="http://quest.jpl.nasa.gov/Info-ZIP/people/greg/">Roelofs, Greg</a> -- <i>Info-ZIP; primary UnZip author; PNG group</i>
-<p>
-<a href="http://www.ece.ucsb.edu/faculty/rose/default.html">Rose, Kenneth</a>
-<p>
-<a href="http://www.nettuno.it/fiera/telvox/telvox.htm">Russo, Roberto Maria</a> -- <I>Multiplatform Data Compression</i>
-<p>
-
-<h2>S</h2>
-<a href="http://harc.edu:80/~schmidt/">Schmidt, Bill</a>
-<p>
-<a href="http://koa.ifa.hawaii.edu/~shaw/shaw.html">Shaw, Sandy C.</a>
-<p>
-<a href="http://www.comm.toronto.edu/~kamran/kamran.html">Sharifi, Kamran</a> -- <i>Video over ATM networks</i>
-<p>
-<a href="http://calypso.unl.edu/~sunil/">Shende, Sunil M.</a>
-<p>
-<a href="http://viewprint2.berkeley.edu/KleinLab/Amnon/Amnon.html">Silverstein, D. Amnon</a>
-<p>
-<a href="http://www-plateau.cs.berkeley.edu/people/smoot">Smoot, Steve</a> -- <i>MPEG</i>
-<p>
-<a href="http://www.cs.brandeis.edu/dept/faculty/storer/">Storer, James A.</a>
-<p>
-<a href="http://rice.ecs.soton.ac.uk/index.html">Streit, Jurgen</a> -- <i>Low bitrate coding</i>
-<p>
-<a href="http://www_nt.e-technik.uni-rostock.de/~ts/index.html">Strutz, Tilo</a> -- <i>Wavelet image compressor, demonstration execs</i> <img src="new.gif">
-<p>
-
-
-<h2>T</h2>
-<a href="http://zaphod.csci.unt.edu:80/~srt/">Tate, Steve</a>
-<p>
-<a href="http://www.cs.waikato.ac.nz/~wjt">Teahan, Bill</a> -- <i>PPM, PPM*, master of the Calgary Corpus</i>
-<p>
-<a href="http://lightning.eee.strath.ac.uk/~duncan/">Thomson, Duncan</a> -- <i>ECG compression with ANNs</i>
-<p>
-<a href="http://outside.gsfc.nasa.gov/GRSS/">Tilton, James C.</a>
-<p>
-<a href="http://www.uni-karlsruhe.de/~un55/">Tomczyk, Marek</a>
-<p>
-<a href="http://munkora.cs.mu.oz.au/~aht">Turpin, Andrew</a> -- <i>Prefix Codes</i>
-<p>
-
-<h2>V</h2>
-<a href="http://gabor.eecs.berkeley.edu/~martin/">Vetterli, Martin</a> -- <i>wavelets, subband coding, video compression, computational complexity</i>
-<p>
-<a href="http://www.cs.duke.edu/~jsv/HomePage.html">Vitter, Jeff</a>
-<p>
-<a href="http://www.eee.strath.ac.uk/~stathis/home.html">Voukelatos, Stathis</a>
-<p>
-<a href="http://www.xs4all.nl/~aipnl">de Vries, Nico</a> -- <i>AIP-NL, UltraCompressor II development</i> <img src="new.gif">
-<p>
-
-<h2>W</h2>
-
-<a href="http://ipcl.ee.queensu.ca/wareham/wareham.html">Wareham, Paul</a> -- <i>Region-oriented video coding</I>
-<p>
-<a href="mailto://Wegs59@aol.com">Wegener, Al</a> -- <i>DSP, lossless audio compression and AC-2</i>
-<p>
-<a href="http://www-dsp.rice.edu:80/~weid/">Wei, Dong</a> -- <i>Wavelet compression</i>
-<p>
-<a href="http://www.rocksoft.com/~ross">Williams, Ross</a>
-<p>
-<a href="http://www.cs.waikato.ac.nz/~ihw">Witten, Ian</a> -- <i>PPM, mg, arithmetic coding</i>
-<p>
-<a href="http://www.sees.bangor.ac.uk/~gerry/sp_summary.html">Wolff, Gerry</a>
-<p>
-<a href="http://sipi.usc.edu/~wwoo/">Woo, Woon-Tack</a> -- <i>stereo image and video compression (12th Feb 1996)</i>
-<p>
-<a href="http://www.csd.uwo.ca/faculty/wu/">Wu, Xiaolin</a> -- <i>CALIC</i>
-<P>
-
-
-<h2>Z</h2>
-<a href="http://www.cs.rmit.edu.au/~jz">Zobel, Justin</a> -- <i>index compression, database compression</i>
-<p>
-
-<br>
-<br>
-
-
-<a name="Conferences">
-
-<h2><i>Conferences</i></h2>
-<a href="http://www.cs.brandeis.edu:80/~dcc/index.html"><b>Data Compression Conference (DCC), Snowbird, Utah, USA.</b></a><br>
-<p>
-
-<a name="Resources">
-
-<h2><i>Resources</i></h2>
-<dt>
-<i><b>Where to get answers...</b></i>
-<dd>
-<dd><a href="http://info.itu.ch/">International Telecommunication Union (ITU)</a> -- <i>standards documents (CCITT)</i>
-<br>
-<dd><a href="http://www.cis.ohio-state.edu/hypertext/faq/usenet/compression-faq/top.html">comp.compression -- Frequently Asked Questions</a> -- <i>Come here 1st!</i>
-<dd>
-<a href="http://www.cis.ohio-state.edu/hypertext/faq/usenet/jpeg-faq/faq.html">JPEG - Frequently Asked Questions</a>
-<dd>
-<a href="http://www.crs4.it/HTML/LUIGI/MPEG/mpegfaq.html">MPEG - Frequently Asked Questions</a>
-<dd>
-<a href="ftp://rtfm.mit.edu:/pub/usenet/news.answers/standards-faq">Standards - Frequenty Asked Questions</a>
-<dd>
-<a href="news:comp.compression.research">usenet newsgroup: comp.compression.research</a>
-<br>
-<dd>
-<a href="http://www.mi.net/act/act.html">Archive Compression Test</a> -- <i>Summary of all archivers</i>
-<br>
-<dd>
-<a href="http://dip1.ee.uct.ac.za/fractal.bib.html">Fractal compression bibliography</a> -- <i>bibtex file</i>
-<br>
-<dd>
-<a href="http://goethe.ira.uka.de/edu/proseminar.html">LZ/Complexity Seminars</a> -- <i>(in German)</i>
-<br>
-<dd>
-<a href="http://www.cs.waikato.ac.nz/~singlis/ratios.html">Comparitive Compression Ratios</a> -- <i>Sofar...B&W, Gray Scale, Text Compression</i>
-<br>
-<dd>
-<a href="http://www.cs.ucl.ac.uk/mice/mpeggloss.html">VCN (Video, Compression, Networking)
-Glossary</a>
-<br>
-<dd>
-<a href="http://www.cs.waikato.ac.nz/~nzdl/">Digital Library -- search for compression</a>
-<br>
-</dt>
-
-<br>
-<dt>
-<i><b>Reports/Ph.D. Theses</b></i>
-<dd>
-<a href="http://www.cs.brown.edu/publications/techreports/reports/CS-93-28.html">Paul Howards Ph.D. thesis</a><br>
-<dd><i>The Design and Analysis of Efficient Lossless Data Compression Systems</i>
-<br>
-</dt>
-
-
-
-<br>
-<dt>
-<i><b>Source code</b></i>
-<dd>
-<a href="ftp://munnari.oz.au/pub/arith_coder">Arithmetic coding routines</a>
-<dd><i>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(from Moffat, Neal and Witten, Proc. DCC, April 1995)</i>
-<br>
-<dd>
-<a href="ftp://ftp.cpsc.ucalgary.ca/pub/projects/ar.cod">CACM Arithmetic coding package</a>
-<dd><i>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(Witten, Neal and Cleary, CACM 30:520-541, June 1987)</i>
-<br>
-<dd>
-<a href="ftp://nic.funet.fi/pub/graphics/misc/test-images/jbig.tar.gz">JBIG Source code</a> <i>Includes a Q-coder</i>
-<br>
-<dd><a href="http://wwwcip.informatik.uni-erlangen.de/user/mskuhn">Markus Kuhn's JBIG implementation</a>
-<br>
-<dd>
-<a href="ftp://media-lab.media.mit.edu/pub/k-arith-code/">k-arithmetic coder</a>
-<br>
-<dd>
-<a href="ftp://garbo.uwasa.fi/pc/programming/lds_11.zip">Lossless Data Compression toolkit 1.1</a>
-<br>
-<dd>
-<a href="http://www.cs.uiowa.edu/~jones/compress/index.html">Splay Trees Code</a> -- <i>by Douglas W. Jones</i>
-<br>
-<dd><a href="ftp://ftp.cl.cam.ac.uk/users/djw3">Block compression code</a> -- <i>Excellent text compressor</i>
-<br>
-
-</dt>
-
-<br>
-<dt>
-<i><b>Test Files</b></i>
-<dd>
-<a href="ftp://nic.funet.fi/pub/graphics/misc/test-images/">Test Images</a> -- <i>CCITT images (pbm), Lena etc. (Sun raster)</i>
-<br>
-<dd>
-Stockholm test images -- <i>You have to buy a CDROM, thats all I know! :-(</i>
-<dd>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp mail me at <a href="mailto:singlis@cs.waikato.ac.nz">singlis@cs.waikato.ac.nz</a> if you know anything about them.
-<br>
-<dd>
-<a href="ftp://ftp.cpsc.ucalgary.ca/pub/projects/text.compression.corpus/">Calgary Text Compression Corpus</a><i> (Text Compression, Bell, Cleary and Witten, 1990)</i>
-<br>
-</dt>
-
-<br>
-
-<a name="Research">
-
-
-<h2><i>Research Projects, Standards & Companies</i></h2>
-
-<p>
-<dt>
-<i><b>Research/Free software Groups</b></i>
-<dd><a href="http://www-isl.stanford.edu/~gray/compression.html">Compression and
-Classification Group</a> -- <i>ISL,EE,Stanford (22th April 1996)</i><img src="new.gif">
-
-<dd><a href="http://www.bonzi.com">Voice email</a> -- <i>Lossless audio compression (18th Feb 1996)</i>
-
-
-<dd><a href="http://www.garlic.com/biz/eotek">Electro-Optical Technologies, Inc.</a> -- <i>Consultant (12th April 1996)</i> <img src="new.gif">
-
-<dd><a href="http://quicktime.apple.com">quicktime.apple.com</a> -- <i>Quicktime site (11th Mar 1996)</i>
-
-<dd><a href="http://www.atinternet.fr/image/">IMAGE etc.</a> -- <i>Commercial image compression software (Fractals/Wavelets) (29th Feb 1996)</i> <img src="new.gif">
-
-<dd><a href="http://re7alpha.epm.ornl.gov/CcmDemo/">NCAR CCM Compression and Visualisation</a> -- <i>(18th Feb 1996)</i> <img src="new.gif">
-<br>
-<dd><a href="http://ipl.rpi.edu/SPIHT/">SPIHT</a> -- <I>Wavelet Natural Image Compressor (12th Feb 1996)</i> <img src="new.gif">
-<br>
-<dd><a href="http://info.lut.ac.uk/departments/el/research/sys/compression.html">Real-Time Lossless Compression Systems</a> -- <i>Loughborough University</i> <img src="new.gif">
-<br>
-<dd><a href="http://saigon.ece.wisc.edu/~waveweb/QMF.html">Web site for Multirate Signal Processing</a> -- <i>University of Wisconsin, Madison</i>
-<br>
-<dd><a href="http://quest.jpl.nasa.gov/Info-ZIP/">Info-ZIP</a> -- <i>free,
-portable Zip and UnZip utilities</i>
-<br>
-<dd><a href="http://cesdis.gsfc.nasa.gov/">CEDIS</a> -- <i>NASA, Maryland, Image/data compression</i>
-<br>
-<dd><a href="http://www.c3.lanl.gov/~brislawn/ftp.html">CIC-3 Image Compression</a> -- <i>FBI Fingerprints</i>
-<br>
-<dd><a href="http://rainbow.ece.ucsb.edu/scl.html">Signal Compression Lab at UCSB</a>
-<br>
-<dd><a href="http://isdl.ee.washington.edu/COMPRESSION/homepage.html">University of
-Washington compression lab</a> -- <I>VQ, Wavelets, Shlomo</i>
-<br>
-</dt>
-
-
-<p>
-<dt>
-<i><b>Snippets</b></i>
-<dd><a href="http://www-isl.stanford.edu/~gray/iii.html">Signal Processing
-and the International Information Infrastructure</a> -- <i>Web sites (22th April 1996)</i> <img src="new.gif">
-<dd><a href="http://www.scu.edu.au/ausweb95/papers/management/vanzyl/">Increasing Web bandwith</a> -- <i>comparing GIF, JPEG, Fractal compression</i>
-<br>
-<dd><a href="http://www.yahoo.com/Art/Computer_Generated/Fractals">Fractal Links on Yahoo</a>
-<br>
-<dd><a href="http://www.ddj.com/old/ddjw001d.htm">Digital Speech Compression GSM 06.10 RPE-LTP</a> -- <i>DDJ</i>
-<br>
-<dd><a href="http://www.crc.ricoh.com/CREW/">CREW</a> -- <i>Continuous tone loss(y/less) wavelet compression</i>
-<br>
-<dd><a href="ftp://ftp.csd.uwo.ca/pub/from_wu/">CALIC -- Context-based adaptive lossless image compressor</a>
-<br>
-<dd><a href="http://www-plateau.cs.berkeley.edu/mpeg/index.html">Berkeley MPEG</a> -- <i>MPEG tools</i>
-<br>
-<dd><a href="http://www.creative.net/~tristan/MPEG">MPEG Pointers and Resources</a>
-<BR>
-</dt>
-
-
-
-
-
-<p>
-<dt>
-<i><b>Wavelets</b></i>
-<dd>
-<a href="http://www.cis.upenn.edu/~eero/epic.html">
- EPIC (Efficient Pyramid Image Coder)</a> -- <i>by Eero Simoncelli</i>
-<br>
-<dd>
-<a href="mailto://72234.2617@compuserve.com">Tucker, Michael</a> -- <i>FASTWAVE, audio/image compression</i>
-<br>
-<dd>
-<a href="http://www.harc.edu">HARC</a> -- <i>Lossy Wavelet Compression technology</i>
-<br>
-<dd>
-<a href="http://gabor.eecs.berkeley.edu/">UC Berkeley Wavelet Group</a>
-<br>
-<dd>
-<a href="http://www.c3.lanl.gov/~cjhamil/Wavelets/main.html">Khoros Wavetlet and Compression Toolbox</a>
-<br>
-<dd>
-<a href="http://arabigo.math.scarolina.edu:80/~wavelet/">The Wavelet Digest</a>
-<br>
-<dd>
-<a href="http://jazz.rice.edu/publications.html">Rice DSP Publications Archive</a> -- <i>Wavelets, Time Frequency/Scale</i>
-<br>
-</dt>
-
-<p>
-<dt>
-<i><b>Fractals</b></i>
-<dd>
-<a href="http://inls.ucsd.edu/y/Fractals/">Fractal Image Compression</a> -- <i>Software, Pointers, Conferences</i>
-<br>
-<dd>
-<a href="http://www.fractal.com/">Fractal Design Corporation</a>
-<br>
-<dd>
-<a href="http://www.webcom.com/~verrando/university/ifs.html">New Fractal Image Compression program</a>
-<br>
-</dt>
-
-<p>
-<dt>
-<i><b>Companies</b></i>
-<dd><a href="http://www.chips.ibm.com/products/aldc/index.html">IBM Hardware</a> -- <i>Compression chips (11th Mar 1996)</i> <img src="new.gif">
-
-<dd><a href="http://www.summus.com">Summus Wavelet Technology</a> -- <i>Wavelet image and video compressors (11th Mar 1996)</i> <img src="new.gif">
-<dd><a href="http://www.mitsubishi.co.jp/jp/fractal/fractal.html">Fractal Image Compression</a> -- <I>Mitsubishi (18th Feb 1996)</i> <img src="new.gif">
-
-<dd><a href="http://www.terran-int.com/">Terran Interactive</a> -- <i>Video compression for the Mac (1st Feb 1996)</i> <img src="new.gif">
-<br>
-
-<dd><a href="http://darvision.kaist.ac.kr/dvmpeg.html">DV Mpeg</a> -- <i>Windows drivers (18th Feb 1996)</I> <img src="new.gif">
-<br>
-
-<dd><a href="http://www.crawford.com/cs/welcome.html">Crawford Compression Services</a> -- <i>MPEG post-production (18th Feb 1996)</i> <img src="new.gif">
-<br>
-
-<dd><a href="http://www.shore.net/~ict">Intelligent Compression Technologies</a> <i>(18th Feb 1996)</i> <img src="new.gif">
-<br>
-
-<dd><a href="http://www.jpg.com">Pegasus Imaging</a> -- <i>Compression software/dev. kits (12th Feb 1996)</i> <img src="new.gif">
-<br>
-<dd><a href="http://www.aladdinsys.com/">Aladdin Systems</a> -- <i>StuffIt compression products</i>
-<br>
-<dd><a href="http://www.stac.com/">Stac Electronics</a>
-<br>
-<dd><a href="http://www.ccinet.ab.ca/dcp.html">DCP Research</a> -- <i>Hardware solutions</i>
-<br>
-<dd><a href="http://www.aware.com/product_info/compression_overview.html">Aware Inc.</a> -- <i>Specialised compression company</i>
-<br>
-<dd><a href="http://www.inria.fr/rodeo/ivs.html">IVS - INRIA Videoconferencing System</a>
-<br>
-<dd><a href="http://sp25.ianus.cineca.it/telvox/telvoxen.htm">Telvox Teleinformatica</a> -- <i>Multiplatform Data Compressor</i>
-<br>
-<dd><a href="http://www.compression.com">Compression Technologies,
-Inc</a> -- <i>Canada</i>
-<br>
-<dd><a href="http://www.optivision.com/">Optivision</a> -- <i>MPEG</i>
-<br>
-<dd><a href="http://www.pkware.com/">PKWARE</a> -- <i>Makers of PKZIP</i>
-<br>
-<dd><a href="http://www.infoanalytic.com/tayson/index.html">Multimedia Imaging Services</a>
-<br>
-</dt>
-
-<p>
-<dt>
-<i><b>Audio compression</b></i>
-<dd><a href="http://www.iis.fhg.de/departs/amm/index.html"> Fraunhofer Institut fr Integrierte Schaltungen</a>
-<br>
-<dd><a href="http://svr-www.eng.cam.ac.uk/~ajr/speechCoding.html">Shorten</a>
-<br>
-<dd><a href="http://www.ddj.com/old/ddjw001d.htm">digital speech compression</a>
-<br>
-<dd><a href="http://www.cs.tu-berlin.de/~phade/audiowww.html">Audio compression references</a>
-<br>
-<dd><a href="http://www.fourmilab.ch/speakfree/windows/doc/compress.html">SpeakFreely - compression</a>
-<br>
-<dd><a href="http://www.fourmilab.ch/speakfree/windows/speak_freely.html#contents">SpeakFreely - Contents</a>
-<br>
diff --git a/testdata/fields.c b/testdata/fields.c
deleted file mode 100644
index 63cdc03..0000000
--- a/testdata/fields.c
+++ /dev/null
@@ -1,431 +0,0 @@
-#ifndef lint
-static char Rcs_Id[] =
- "$Id: fields.c,v 1.7 1994/01/06 05:26:37 geoff Exp $";
-#endif
-
-/*
- * $Log: fields.c,v $
- * Revision 1.7 1994/01/06 05:26:37 geoff
- * Get rid of all references to System V string routines, for portability
- * (sigh).
- *
- * Revision 1.6 1994/01/05 20:13:43 geoff
- * Add the maxf parameter
- *
- * Revision 1.5 1994/01/04 02:40:21 geoff
- * Make the increments settable (field_line_inc and field_field_inc).
- * Add support for the FLD_NOSHRINK flag.
- *
- * Revision 1.4 1993/09/27 17:48:02 geoff
- * Fix some lint complaints and some parenthesization errors.
- *
- * Revision 1.3 1993/09/09 01:11:11 geoff
- * Add a return value to fieldwrite. Add support for backquotes and for
- * unstripped backslashes.
- *
- * Revision 1.2 1993/08/26 00:02:50 geoff
- * Fix a stupid null-pointer bug
- *
- * Revision 1.1 1993/08/25 21:32:05 geoff
- * Initial revision
- *
- */
-
-#include <stdio.h>
-#include "config.h"
-#include "fields.h"
-
-field_t * fieldread P ((FILE * file, char * delims,
- int flags, int maxf));
- /* Read a line with fields from a file */
-field_t * fieldmake P ((char * line, int allocated, char * delims,
- int flags, int maxf));
- /* Make a field structure from a line */
-static field_t * fieldparse P ((field_t * fieldp, char * line, char * delims,
- int flags, int maxf));
- /* Parse the fields in a line */
-static int fieldbackch P ((char * str, char ** out, int strip));
- /* Process backslash sequences */
-int fieldwrite P ((FILE * file, field_t * fieldp, int delim));
- /* Write a line with fields to a file */
-void fieldfree P ((field_t * fieldp));
- /* Free a field returned by fieldread */
-
-unsigned int field_field_inc = 20; /* Increment to increase # fields by */
-unsigned int field_line_inc = 512; /* Incr to increase line length by */
-
-#ifndef USG
-#define strchr index
-#endif /* USG */
-
-extern void free ();
-extern char * malloc ();
-extern char * realloc ();
-extern char * strchr ();
-extern int strlen ();
-
-/*
- * Read one line of the given file into a buffer, break it up into
- * fields, and return them to the caller. The field_t structure
- * returned must eventually be freed with fieldfree.
- */
-field_t * fieldread (file, delims, flags, maxf)
- FILE * file; /* File to read lines from */
- char * delims; /* Characters to use for field delimiters */
- int flags; /* Option flags; see fields.h */
- int maxf; /* Maximum number of fields to parse */
- {
- register char * linebuf; /* Buffer to hold the line read in */
- int linemax; /* Maximum line buffer size */
- int linesize; /* Current line buffer size */
-
- linebuf = (char *) malloc (field_line_inc);
- if (linebuf == NULL)
- return NULL;
- linemax = field_line_inc;
- linesize = 0;
- /*
- * Read in the line.
- */
- while (fgets (&linebuf[linesize], linemax - linesize, file)
- != NULL)
- {
- linesize += strlen (&linebuf[linesize]);
- if (linebuf[linesize - 1] == '\n')
- break;
- else
- {
- linemax += field_line_inc;
- linebuf = (char *) realloc (linebuf, linemax);
- if (linebuf == NULL)
- return NULL;
- }
- }
- if (linesize == 0)
- {
- free (linebuf);
- return NULL;
- }
- return fieldmake (linebuf, 1, delims, flags, maxf);
- }
-
-field_t * fieldmake (line, allocated, delims, flags, maxf)
- char * line; /* Line to make into a field structure */
- int allocated; /* NZ if line allocated with malloc */
- char * delims; /* Characters to use for field delimiters */
- int flags; /* Option flags; see fields.h */
- int maxf; /* Maximum number of fields to parse */
- {
- register field_t * fieldp; /* Structure describing the fields */
- int linesize; /* Current line buffer size */
-
- fieldp = (field_t *) malloc (sizeof (field_t));
- if (fieldp == NULL)
- return NULL;
- fieldp->nfields = 0;
- fieldp->linebuf = allocated ? line : NULL;
- fieldp->fields = NULL;
- fieldp->hadnl = 0;
- linesize = strlen (line);
- if (line[linesize - 1] == '\n')
- {
- line[--linesize] = '\0';
- fieldp->hadnl = 1;
- }
- /*
- * Shrink the line buffer if necessary.
- */
- if (allocated && (flags & FLD_NOSHRINK) == 0)
- {
- line = fieldp->linebuf =
- (char *) realloc (fieldp->linebuf, linesize + 1);
- if (fieldp->linebuf == NULL)
- {
- fieldfree (fieldp);
- return NULL;
- }
- }
- return fieldparse (fieldp, line, delims, flags, maxf);
- }
-
-static field_t * fieldparse (fieldp, line, delims, flags, maxf)
- register field_t * fieldp; /* Field structure to parse into */
- register char * line; /* Line to be parsed */
- char * delims; /* Characters to use for field delimiters */
- int flags; /* Option flags; see fields.h */
- int maxf; /* Maximum number of fields to parse */
- {
- int fieldmax; /* Max size of fields array */
- char * lineout; /* Where to store xlated char in line */
- char quote; /* Quote character in use */
-
- fieldp->nfields = 0;
- fieldmax =
- (maxf != 0 && maxf < field_field_inc) ? maxf + 2 : field_field_inc;
- fieldp->fields = (char **) malloc (fieldmax * sizeof (char *));
- if (fieldp->fields == NULL)
- {
- fieldfree (fieldp);
- return NULL;
- }
- if ((flags
- & (FLD_SHQUOTES | FLD_SNGLQUOTES | FLD_BACKQUOTES | FLD_DBLQUOTES))
- == FLD_SHQUOTES)
- flags |= FLD_SNGLQUOTES | FLD_BACKQUOTES | FLD_DBLQUOTES;
- while (1)
- {
- if (flags & FLD_RUNS)
- {
- while (*line != '\0' && strchr (delims, *line) != NULL)
- line++; /* Skip runs of delimiters */
- if (*line == '\0')
- break;
- }
- fieldp->fields[fieldp->nfields] = lineout = line;
- /*
- * Skip to the next delimiter. At the end of skipping, "line" will
- * point to either a delimiter or a null byte.
- */
- if (flags
- & (FLD_SHQUOTES | FLD_SNGLQUOTES | FLD_BACKQUOTES
- | FLD_DBLQUOTES | FLD_BACKSLASH))
- {
- while (*line != '\0')
- {
- if (strchr (delims, *line) != NULL)
- break;
- else if (((flags & FLD_SNGLQUOTES) && *line == '\'')
- || ((flags & FLD_BACKQUOTES) && *line == '`')
- || ((flags & FLD_DBLQUOTES) && *line == '"'))
- {
- if ((flags & FLD_SHQUOTES) == 0
- && line != fieldp->fields[fieldp->nfields])
- quote = '\0';
- else
- quote = *line;
- }
- else
- quote = '\0';
- if (quote == '\0')
- {
- if (*line == '\\' && (flags & FLD_BACKSLASH))
- {
- line++;
- if (*line == '\0')
- break;
- line += fieldbackch (line, &lineout,
- flags & FLD_STRIPQUOTES);
- }
- else
- *lineout++ = *line++;
- }
- else
- {
- /* Process quoted string */
- if ((flags & FLD_STRIPQUOTES) == 0)
- *lineout++ = quote;
- ++line;
- while (*line != '\0')
- {
- if (*line == quote)
- {
- if ((flags & FLD_STRIPQUOTES) == 0)
- *lineout++ = quote;
- line++; /* Go on past quote */
- if ((flags & FLD_SHQUOTES) == 0)
- {
- while (*line != '\0'
- && strchr (delims, *line) == NULL)
- line++; /* Skip to delimiter */
- }
- break;
- }
- else if (*line == '\\')
- {
- if (flags & FLD_BACKSLASH)
- {
- line++;
- if (*line == '\0')
- break;
- else
- line += fieldbackch (line, &lineout,
- flags & FLD_STRIPQUOTES);
- }
- else
- {
- *lineout++ = '\\';
- if (*++line == '\0')
- break;
- *lineout++ = *line;
- }
- }
- else
- *lineout++ = *line++;
- }
- }
- }
- }
- else
- {
- while (*line != '\0' && strchr (delims, *line) == NULL)
- line++; /* Skip to delimiter */
- lineout = line;
- }
- fieldp->nfields++;
- if (*line++ == '\0')
- break;
- if (maxf != 0 && fieldp->nfields > maxf)
- break;
- *lineout = '\0';
- if (fieldp->nfields >= fieldmax)
- {
- fieldmax += field_field_inc;
- fieldp->fields =
- (char **) realloc (fieldp->fields, fieldmax * sizeof (char *));
- if (fieldp->fields == NULL)
- {
- fieldfree (fieldp);
- return NULL;
- }
- }
- }
- /*
- * Shrink the field pointers and return the field structure.
- */
- if ((flags & FLD_NOSHRINK) == 0 && fieldp->nfields >= fieldmax)
- {
- fieldp->fields = (char **) realloc (fieldp->fields,
- (fieldp->nfields + 1) * sizeof (char *));
- if (fieldp->fields == NULL)
- {
- fieldfree (fieldp);
- return NULL;
- }
- }
- fieldp->fields[fieldp->nfields] = NULL;
- return fieldp;
- }
-
-static int fieldbackch (str, out, strip)
- register char * str; /* First char of backslash sequence */
- register char ** out; /* Where to store result */
- int strip; /* NZ to convert the sequence */
- {
- register int ch; /* Character being developed */
- char * origstr; /* Original value of str */
-
- if (!strip)
- {
- *(*out)++ = '\\';
- if (*str != 'x' && *str != 'X' && (*str < '0' || *str > '7'))
- {
- *(*out)++ = *str;
- return *str != '\0';
- }
- }
- switch (*str)
- {
- case '\0':
- *(*out)++ = '\0';
- return 0;
- case 'a':
- *(*out)++ = '\007';
- return 1;
- case 'b':
- *(*out)++ = '\b';
- return 1;
- case 'f':
- *(*out)++ = '\f';
- return 1;
- case 'n':
- *(*out)++ = '\n';
- return 1;
- case 'r':
- *(*out)++ = '\r';
- return 1;
- case 'v':
- *(*out)++ = '\v';
- return 1;
- case 'X':
- case 'x':
- /* Hexadecimal sequence */
- origstr = str++;
- ch = 0;
- if (*str >= '0' && *str <= '9')
- ch = *str++ - '0';
- else if (*str >= 'a' && *str <= 'f')
- ch = *str++ - 'a' + 0xa;
- else if (*str >= 'A' && *str <= 'F')
- ch = *str++ - 'A' + 0xa;
- if (*str >= '0' && *str <= '9')
- ch = (ch << 4) | (*str++ - '0');
- else if (*str >= 'a' && *str <= 'f')
- ch = (ch << 4) | (*str++ - 'a' + 0xa);
- else if (*str >= 'A' && *str <= 'F')
- ch = (ch << 4) | (*str++ - 'A' + 0xa);
- break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- /* Octal sequence */
- origstr = str;
- ch = *str++ - '0';
- if (*str >= '0' && *str <= '7')
- ch = (ch << 3) | (*str++ - '0');
- if (*str >= '0' && *str <= '7')
- ch = (ch << 3) | (*str++ - '0');
- break;
- default:
- *(*out)++ = *str;
- return 1;
- }
- if (strip)
- {
- *(*out)++ = ch;
- return str - origstr;
- }
- else
- {
- for (ch = 0; origstr < str; ch++)
- *(*out)++ = *origstr++;
- return ch;
- }
- }
-
-int fieldwrite (file, fieldp, delim)
- FILE * file; /* File to write to */
- register field_t * fieldp; /* Field structure to write */
- int delim; /* Delimiter to place between fields */
- {
- int error; /* NZ if an error occurs */
- register int fieldno; /* Number of field being written */
-
- error = 0;
- for (fieldno = 0; fieldno < fieldp->nfields; fieldno++)
- {
- if (fieldno != 0)
- error |= putc (delim, file) == EOF;
- error |= fputs (fieldp->fields[fieldno], file) == EOF;
- }
- if (fieldp->hadnl)
- error |= putc ('\n', file) == EOF;
- return error;
- }
-
-void fieldfree (fieldp)
- register field_t * fieldp; /* Field structure to free */
- {
-
- if (fieldp == NULL)
- return;
- if (fieldp->linebuf != NULL)
- free ((char *) fieldp->linebuf);
- if (fieldp->fields != NULL)
- free ((char *) fieldp->fields);
- free ((char *) fieldp);
- }
diff --git a/testdata/fireworks.jpeg b/testdata/fireworks.jpeg
new file mode 100644
index 0000000..078cf17
--- /dev/null
+++ b/testdata/fireworks.jpeg
Binary files differ
diff --git a/testdata/grammar.lsp b/testdata/grammar.lsp
deleted file mode 100644
index c60a993..0000000
--- a/testdata/grammar.lsp
+++ /dev/null
@@ -1,94 +0,0 @@
-;;; -*- Mode: Lisp; Syntax: Common-Lisp; -*-
-
-(define-language
- :grammar
- '(((S $any) -> (S1 $any))
- ((S (Compound $s1 $s2)) -> (S1 $s1) (Conjunction) (S1 $s2))
-
- ((S1 (Statement $v)) -> (NP $subj) (VP $subj $tense $v))
- ((S1 (Acknowledge $a)) -> (Acknowledge $a))
- ((S1 (Command $v)) -> (VP Self present $v))
- ((S1 (Question $v)) -> (Aux $tense) (NP $subj) (VP $subj $tense $v))
- ((S1 (Question $v)) -> (Be $tense) (NP $subj) (Be-Arg $subj $tense $v))
-
- ((Be-Arg $subj $tense (Occur $tense (loc $subj $loc))) ->
- (Loc-Adjunct $tense (loc $subj $loc)))
-
- ((VP $subj $tense (Occur $tense $v)) -> (VP1 $subj $tense $v))
- ((VP $subj $tense (Occur $tense $v)) -> (Aux $tense)(VP1 $subj present $v))
-
- ((VP1 $subj $tense $v) -> (VP2 $subj $tense $v) (Adjunct? $v))
-
- ((VP2 $subj $tense ($rel $subj $loc)) ->
- (Verb/in $rel $tense))
- ((VP2 $subj $tense ($rel $subj $loc $obj)) ->
- (Verb/tr $rel $tense) (NP $obj))
- ((VP2 $subj $tense ($rel $subj $loc $obj $obj2)) ->
- (Verb/di $rel $tense) (NP $obj) (NP $obj2))
- ((VP2 $subj $tense (loc $subj $loc)) ->
- (Be $tense) (Loc-Adjunct $tense (loc $subj $loc)))
-
- ((NP $n) -> (Pronoun $n))
- ((NP $n) -> (Article) (Noun $n))
- ((NP $n) -> (Noun $n))
- ((NP ($x $y)) -> (Number $x) (Number $y))
-
- ((PP ($prep $n)) -> (Prep $prep) (NP $n))
- ((Adjunct? $v) ->)
- ((Adjunct? $v) -> (Loc-Adjunct $tense $v))
- #+Allegro ((Loc-Adjunct $tense ($rel $subj $loc @rest)) -> (PP $loc))
- #+Allegro ((Loc-Adjunct $tense ($rel $subj $loc @rest)) -> (Adjunct $loc))
- #+Lucid ((Loc-Adjunct $tense ($rel $subj $loc . $rest)) -> (PP $loc))
- #+Lucid ((Loc-Adjunct $tense ($rel $subj $loc . $rest)) -> (Adjunct $loc))
-
- )
- :lexicon
- '(
- ((Acknowledge $a) -> (yes true) (no false) (maybe unknown) (huh unparsed))
- ((Adjunct $loc) -> here there (nearby near) near left right up down)
- ((Article) -> a an the)
- ((Aux $tense) -> (will future) (did past) (do $finite))
- ((Be $tense) -> (am present) (are present) (is present) (be $finite)
- (was past) (were past))
- ((Conjunction) -> and --)
- ((Noun $n) -> gold Wumpus pit breeze stench glitter nothing)
- ((Number $n) -> 0 1 2 3 4 5 6 7 8 9)
- ((Prep $prep) -> in at to near)
- ((Pronoun $n) -> (you self) (me master) (I master))
-
- ((Verb/in $rel $tense) -> (go move $finite) (went move past)
- (move move $finite) (move move past) (shoot shoot $finite))
- ((Verb/tr $rel $tense) -> (move carry $finite) (moved carry past)
- (carry carry $finite) (carry carried past)
- (grab grab $finite) (grab grabbed past) (get grab $finite)
- (got grab past) (release release $finite) (release release past)
- (drop release $finite) (dropped release past) (shoot shoot-at $finite)
- (shot shoot-at past) (kill shoot-at $finite) (killed shoot-at past)
- (smell perceive $finite) (feel perceive $finite) (felt perceive past))
- ((Verb/di $rel $tense) -> (bring bring $finite) (brought bring past)
- (get bring $finite) (got bring past))
- ))
-
-(defparameter *sentences*
- '((I will shoot the wumpus at 4 4)
- (yes)
- (You went right -- I will go left)
- (carry the gold)
- (yes and no)
- (did you bring me the gold)
- (a breeze is here -- I am near 5 3)
- (a stench is in 3 5)
- (a pit is nearby)
- (is the wumpus near)
- (Did you go to 3 8)
- (Yes -- Nothing is there)
- (Shoot -- Shoot left)
- (Kill the wumpus -- shoot up)))
-
-(defun ss (&optional (sentences *sentences*))
- "Run some test sentences, and count how many were not parsed."
- (count-if-not
- #'(lambda (s)
- (format t "~2&>>> ~(~{~a ~}~)~%" s)
- (write (second (parse s)) :pretty t))
- *sentences*))
diff --git a/testdata/house.jpg b/testdata/house.jpg
deleted file mode 100644
index 6b3aae8..0000000
--- a/testdata/house.jpg
+++ /dev/null
Binary files differ
diff --git a/testdata/kennedy.xls b/testdata/kennedy.xls
deleted file mode 100644
index 9a85115..0000000
--- a/testdata/kennedy.xls
+++ /dev/null
Binary files differ
diff --git a/testdata/mapreduce-osdi-1.pdf b/testdata/mapreduce-osdi-1.pdf
deleted file mode 100644
index b98308a..0000000
--- a/testdata/mapreduce-osdi-1.pdf
+++ /dev/null
Binary files differ
diff --git a/testdata/paper-100k.pdf b/testdata/paper-100k.pdf
new file mode 100644
index 0000000..b3325e4
--- /dev/null
+++ b/testdata/paper-100k.pdf
@@ -0,0 +1,598 @@
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>10.000002</xmpG:cyan>
+ <xmpG:magenta>100.000000</xmpG:magenta>
+ <xmpG:yellow>50.000000</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>94.999999</xmpG:magenta>
+ <xmpG:yellow>19.999999</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>25.000000</xmpG:cyan>
+ <xmpG:magenta>25.000000</xmpG:magenta>
+ <xmpG:yellow>39.999998</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>39.999998</xmpG:cyan>
+ <xmpG:magenta>44.999999</xmpG:magenta>
+ <xmpG:yellow>50.000000</xmpG:yellow>
+ <xmpG:black>5.000001</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>50.000000</xmpG:cyan>
+ <xmpG:magenta>50.000000</xmpG:magenta>
+ <xmpG:yellow>60.000002</xmpG:yellow>
+ <xmpG:black>25.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>55.000001</xmpG:cyan>
+ <xmpG:magenta>60.000002</xmpG:magenta>
+ <xmpG:yellow>64.999998</xmpG:yellow>
+ <xmpG:black>39.999998</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>25.000000</xmpG:cyan>
+ <xmpG:magenta>39.999998</xmpG:magenta>
+ <xmpG:yellow>64.999998</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>30.000001</xmpG:cyan>
+ <xmpG:magenta>50.000000</xmpG:magenta>
+ <xmpG:yellow>75.000000</xmpG:yellow>
+ <xmpG:black>10.000002</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>35.000002</xmpG:cyan>
+ <xmpG:magenta>60.000002</xmpG:magenta>
+ <xmpG:yellow>80.000001</xmpG:yellow>
+ <xmpG:black>25.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>39.999998</xmpG:cyan>
+ <xmpG:magenta>64.999998</xmpG:magenta>
+ <xmpG:yellow>90.000004</xmpG:yellow>
+ <xmpG:black>35.000002</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>39.999998</xmpG:cyan>
+ <xmpG:magenta>69.999999</xmpG:magenta>
+ <xmpG:yellow>100.000000</xmpG:yellow>
+ <xmpG:black>50.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>50.000000</xmpG:cyan>
+ <xmpG:magenta>69.999999</xmpG:magenta>
+ <xmpG:yellow>80.000001</xmpG:yellow>
+ <xmpG:black>69.999999</xmpG:black>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Grays</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>100.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>89.999402</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>79.998797</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>69.999701</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>59.999102</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>50.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>39.999402</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>29.998803</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>19.999701</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>9.999102</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>0.000000</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>4.998803</xmpG:black>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:groupName>Brights</xmpG:groupName>
+ <xmpG:groupType>1</xmpG:groupType>
+ <xmpG:Colorants>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>100.000000</xmpG:magenta>
+ <xmpG:yellow>100.000000</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>75.000000</xmpG:magenta>
+ <xmpG:yellow>100.000000</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>0.000000</xmpG:cyan>
+ <xmpG:magenta>10.000002</xmpG:magenta>
+ <xmpG:yellow>94.999999</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>84.999996</xmpG:cyan>
+ <xmpG:magenta>10.000002</xmpG:magenta>
+ <xmpG:yellow>100.000000</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>100.000000</xmpG:cyan>
+ <xmpG:magenta>90.000004</xmpG:magenta>
+ <xmpG:yellow>0.000000</xmpG:yellow>
+ <xmpG:black>0.000000</xmpG:black>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName>
+ <xmpG:mode>CMYK</xmpG:mode>
+ <xmpG:type>PROCESS</xmpG:type>
+ <xmpG:cyan>60.000002</xmpG:cyan>
+ <xmpG:magenta>90.000004</xmpG:magenta>
+ <xmpG:yellow>0.003099</xmpG:yellow>
+ <xmpG:black>0.003099</xmpG:black>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpG:Colorants>
+ </rdf:li>
+ </rdf:Seq>
+ </xmpTPg:SwatchGroups>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>Adobe PDF library 9.00</pdf:Producer>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+endstream endobj 145 0 obj<</Metadata 144 0 R>> endobj 1 0 obj<</Contents 3 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 2 0 R>> endobj 2 0 obj<</ColorSpace<</Cs8 117 0 R>>/Font<</F2 122 0 R/F3 121 0 R/F6 118 0 R/F7 125 0 R/F8 56 0 R/F9 70 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R>>/ProcSet[/PDF/Text]/ExtGState<</GS1 113 0 R>>>> endobj 3 0 obj<</Length 8934/Filter/FlateDecode>>stream
+hޔ[MsFWnm
+?Gq pۢ_⧑}}؉+.DAɤ$&
+*vo:UTi͑ks?y'V^4m]O߽A$xI;#4.|ýoQwvK,ă2kd6X
+P c ] QkONFJ_ɇz{θCn5<eHQ`Su/JCSIcvfFMas֣pΪ?²y'#;ni*s#}Om6Y^z .R`c߭aXg|_~"hj@ͼ ,=qrfή¥40Pu}`@4 ;zRϗ{u,
+]E;Ȼp~
+U{Q*05.xr"C뻡;l]u$JĘC822?@Hr 4A$[Z3X+!M?86[T>yٜh׏Ұq P$
+Yp%b#X5|b^Q*B;N
+UvqQkE dc%`l%R{J?o 8-㹟D_/ LWy  1U#R]q;$ƺHX9HD zI\<Z"mlOuVl*v\ @8z:/suBĊQ?,!L^8d"%IG-=K\EhYB
+
+Sb' Up~t܅6C׏s$tWheޢ+hq, GFIH[W5Sa<DXSq-͘1+"G[!&f,ݭpg |v0EQ͝`ҎIYZ)+S wM@]G\ѵcv[C?0!8C1R<*`yqY!K5_q7|M QS:Y0YuIaf>]"B]<-W{0ps涹f^HGѸdV`)0YohjVB訅aRpv)PO%̹ W-%~ח >-@e\: +pXIRt/'* O.XIMh=N`Bepxc_ ~d~R'%W( &o׷+,NyL'$Rxa9KBYXW2Ө/0,sJ1yX>(f$W(J
+쇋ÏD~1RQg#pp2:}RHX0 = #1p:]cQ3&sd̤joF?8V&ӒSnޝ#:tb02.žzD-;
+ gB$EijMt|G
+Ǩ>#!8JM:>3wy.#3:0QI.8k"tNZ}G%@i"ܷL5)w?/>+$.&N3ꔈ{[-R 韹n>u eP 4~zZ](i~|M 6A8*;:Mh!GͰ#;BjP
+|J1c@"A'ceI3ȊZG#s>]MEn,R\FuNT':njDJXIgcqm
+*TnnqOi&
+Iy| PPu9UzFZ5ε Cr6Jn/x=H!c<QU:S^&7onBYw s}WQYta^Ao/r
+5yh"1/`2g&ZOA[5HRA
+(O -E2n&'itr~E")#g)k
+ @mS+U.j"P {0z'e=MPS+5K
+QF;`!׺h'pq*bY P{bـX!0['ȱ3-sjrM:7}i;t;2jݽ
+ VѨB6C
+ (
+2H
+Vr}PU}*pRiKٳc"l+8&yݨDoi@hr-u8Sd)eWD
+
+ T4>55ܬ_83SYMوtm4BXIގA<.}"!.d>?3Aq̋xH㗊t} lh*QLP3C{A+ͥ[ٲz'w/KisoE$(
+{gi0s
+I848'eŪLL"\Fx _BO!'o=`$j ̵4ݩ#,$Y۵RG,|{`WlЌ/pa՚%/[$GR"/Ai;F6䔒+um`P,k닀^TtfT'){.\Ur!|O
+Sv*
+ Ő!XwrF,Xѕvvh0z +'wJ)s² ]hzo/1#A-+/6=nfݘ`7t刏/-(e>Ίeh"AO'ym(K@ 6~J2U#
+<↲rJq[ $o0-xf>fAQ'nC*9̤OVJ|v؂?2*( Xd\0)IPsfO.7'N
+8ltG֚,̜KdGdOH^e1gp5%Ƌ$$A/9hoZK`_Z%SBPV[ZP7/wVS6pOQul6 ה Fak׊'dyvyi*m4,>ѠG] 9D7"*霨WAh8D\1qu51cuYyתǩݱ+ezuݡ80T,J*y+”L^5F斵zV1ܛgeu׭L[yz#䷐cAmGDL-d>{[sGɕ,5yi5,iKv7eW
+ĺi[vx~e@UpRDOUhVF;uCǾ4&!ּ3,3xe(CHϵ,{ˢj AsJ6ǯB O+}ɯp9)e;)gerbZÑ7N}ǣ4)[V~暋V@P?e_~
+%_ -wQ[ lE6b٤jc{޷뫾sL2
+#Diy
+m8#uKhK#ziT\=e̽ݲ%>'o?ި'{H4y'L=އxNjj1|}c^itB}[~V;-9lNï[p#[rٖsn!OEtp`|v+bERyoXT`zUw(#E Rm3O+-BoU`{mUj0vU0{4A#x/kqC8&(/^sYg2"@gr66L99.oKMPWtu)="kRfHkoQΤļB[Hi}?qsSgxOh S )Ca)ԺY:k=ƱYї".Sar/{DҦLt: hMlڲKLbxDA/'V#_lwŨ{-P3a09p,Ɯ,sՏ;+W!E _EhԭD6v$txd&wcmy82+pFO)W%_6AgY<U*<n3Mni5ӽqqbp} KWg[PuWXli
+&~& .X9wuK!^a#I<s'V"՚whגoP?K1!dD!0Q. ݷn@)`- M<pRiOE
+f(<IǨC <ۺ~S=7W XbѕyFT~jlEc!B +ƫho*cZ]6ܬ)!oB9jvArk.d)pkՎq 2ouhtT!N]Ӌ?P\Uv17;/laW3OLrf*NE_{ǯBY!ͳdKߊ@cGX'n{z0˚$kS-}[ D3Z0%,?pw1 'Egە`zVo$џѺmKDwI엤G`v´Q[|"2 g`WGlegmٻ-⬛x9cyZw'kϷɠXAN4mʹzy4n/ZXY'g@H p ~k!"#I+}"S.Aw-3\~l̮a였5(~u1
+\O<mթ&PjBXd`rq~V&Qݕݮ_Id7L`&K4 *mΞu !O! kZIVz`i2É[g'a\<eXR<?y ǁJ8fsqxYf9{W*o9. 9v_f}q@齞v6ee%fg uiPPVy$[w e>:p|+<t}8,!e4@R\s!{>%!e
+0Zw?O~c=L"R'mSQhkY9
+t >}T-wS0kͻG KV6Ugl"cOGQetd=yy<*J-Vީoq z[X@4Va`) ?-aoN`,i*́v6jidS4D :Q>ZlQ]gY"b}$ P#qciGY^;;aEv0qಙޕ -^J
+Cf ` sthCBV.]XA+YDZmG'̇ Li7ӂFÿ[ФE.eQu?姛wp9
+tZzy]:jZMiXe=ar?`KhŇa &ˤk%u&e/O
+endstream endobj 4 0 obj<</Contents 6 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 5 0 R>> endobj 5 0 obj<</Font<</F3 121 0 R/F6 118 0 R/F7 125 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R>>/ProcSet[/PDF/Text]/ExtGState<</GS1 113 0 R>>>> endobj 6 0 obj<</Length 7551/Filter/FlateDecode>>stream
+h[ےq}W#0.u%)YT][K>`z03M
+=-.!nmrj|T&Ub!|SU26S2ɮMxuVeˢš3V@nwAnLR ܃Ɉ.GQv hy
+l{JfU[̢HIJϭl3Qj^Q7*ϏfÃ(~^z ΖWN>4?x{Lzan2pX3^)BbjaVUϹI,6~S(T"#\ˈ'N.rgX7NFbX`RĴ Ѽط'L-ŎT^u>1l
+g
+0F(=8G;qKkola7ۗx~|( e vнv'U N J;%fC=Y._m?1Y ?fQ JLrOA͕`hzXEoȲp"NFK ˁ3oj<C)Ə:vz V 4sHFЎihNP0QA 'ʋQ%_^# rLAwUmZD'NFd5gNyX?)CJ;qǗMA5ww529
+S*͡C+9u7Z
+s1@4)Lj{?5*< gz Bě葾1e jE<Z\&¦l )49kv5Om 
+[QvG!&JrGsHy!ɭRm<P-_k
+pbڭ>/< +P?Lu$'<ܾTf.`rBH&FhR3ڀNpzs \:d`j{18c1;YL1Üڧ&f3ybFmx '#3ѽ Y'*#ySq9t
+p­4NdᎩ*nK[6]1HI|.\dE!;% AtڔoySuiֳ"N
+` ZhB\&_@W,䫵GyZF׫́
+e %ԙȕ:_q&Ҡ\ SHڵ6>,%]NRY Y
+`e'keZD.)S-+P*ڱ,bsf&[0QbGDž3f"Tz?.-gE,ÿq6:ҼD`=<6lXܶ-c+\6C,` 6},R/C6ECV>mN1`-dnC LOê?-?]CY."n"5, )8)e7[ %7
+%s5lQrYxZ,"p ?9~9!`R9r@:M4~@K`^!Al)Omw
+c1ٛG6f )J'^Na@=-
+[wI `3&"BSݨSiHܗh#ScɦږŶ> mahq%qUHnoK5%&b'l1}`)4ʘ Hݮ{-?Z>(ﳼi, Ʊ%fH1̾)d4lcKgYxa
+W!X)CKf0`#R&4RB.l
+;QZ63E ֆ)krACl"S"
+l,fۄ2oi5qkUtSل[2F޶cuϚ|3֟
+ #S7cHG[i.M2>u8Lt}TcӏS:kyh<GB " ]Sv-
+C#6c'Sô_\s;F`vFB>yQNa¯֒lb`zd \/vZ1C|sl+'!u",XeN2`8P-YwRU/hᴿՂ,TڶԎA>FSe(x E6o׭s}_!N@5F@їbw)y'xsv~DdaBW"V-fI՛zUyҟerY<jC–08;GYk,1)Su KT`S! izAW)Y!!ߐg`I&.lvC
+SMt|,1=j+!$-sYHP)
+=\Yfy6}mZUl_fR,c\,Jp#Y1˒!/X2;?1xRPfw]V)Wy3Z.&1VTڎTȂ<BnsYQ((ѱsFd\n&zPgiI-ʲSIF|tn>`L\2Ưsjlu̢F*8;pٽ ^."('ƙվA]Y5iT `
+٤}u,v\bߡ㑜r_#
+jaYK5y?2_BL>
+R)<FjSBu|vf{Z(ω
+] ǟʯZp[7շ5?"0]r{*aޓ(]wg?Y7VL{&'GBj;T}jy(܆y51'
+Mb 7,!tM*LiW^jatQ8ZDG-;FtZ?ޕZ T>.pV1̔*aҶ2:0:lh*%ԺA[r`а5I{ Tmd9
+mQFLusW b4%> ceSD 8iHcC"]:mL1ehC3v, :/XdI-6|15kG}1c>iwGS&Z{mr vln\CqGyWY, * V
+?'#>ȣh>ۼ纽g빢9ɣR{yj,_ g#4'7$v뱜<a0HQ1!̔lb{P[)st9p²]X\ ,[DF-NyHXwwPPᄋ5 1qB")&J;\{΢Oq7';3Wo.#P2\Jex"0<\L
+VB џN7y xUcsɆG$J/3">
+Dv˅<4јΛ|؀`ܾyl\[
+endstream endobj 7 0 obj<</Contents 9 0 R/Type/Page/Parent 102 0 R/Rotate 0/MediaBox[0 0 612.28302 790.866028]/CropBox[0 0 612.28302 790.866028]/Resources 8 0 R>> endobj 8 0 obj<</Font<</F2 122 0 R/F3 121 0 R/F4 120 0 R/F6 118 0 R/F8 56 0 R/F10 71 0 R/F11 61 0 R/F12 65 0 R/F13 72 0 R/F14 80 0 R/F15 83 0 R>>/XObject<</Im1 14 0 R>>/ProcSet[/PDF/Text/ImageC]/ExtGState<</GS1 113 0 R>>>> endobj 9 0 obj<</Length 4318/Filter/FlateDecode>>stream
+hޜZrF+tpFQP7Ҷ
+zj1qtW)뺚H5c_6ۦ$z?V9n+XWFu2,4ݲ݇ ҟx5/^.A5Leu֏u _͋T-=D:ಏ<6ݷSX M5=fb'j?N"-9NtN56ÝƉWA'?⧧"Jz&͏oɀUbulf,njDF4?ҥ0bS-,%(QepB)nsRE U5q
+سKh>
+-bJjcS*XjAG#lS ݛt8#8Bጢ arzO#XSk
+g.,{eܒ4ȏ3 /oV4$i!UaOƙ
+Třa9,9T@@l=DTn˛;z
+! "%ߝ18אr-m6SHl8JpxP-=F?:HO>1S`"@Qx=3" D@%V$ʲYhz,]-*`ch!@8غq4#:B [$j/>E<l@[cOx"!ntEUt v >N7⛶tXRnWa\bH'&uT</)xD1 *僆y9bۑʾdCmW-+lkޓL<33!J\yW0Z`PsH0ɢX
+ ;ܢ <4X=R, 4B^2:lP(3t"'TE_;#tZ| u$`2`P jv+beDwwW]YhjNPTm%U\kr{7[uIi"1sJo^R[,Z-Wu*nt|ARcX$W$5ZuL疣 ?P#5+UA)8Y2P^
+rѵ(6B\E2acy1胰X)5[w72vtRMbiˠU#eڨ$ޣdh3XXyѝ3i[_ad—v0(g)+w²}Ԓ[k.
+bd|ΰ
+*Ӈ$Mg(ϣO!a27fX6f*_
+lc^60P]ñ
+lml TualS
+!X{C{LL
+x?Wgi{,iwDsh,
+<V'АdO '}3Nu+jAʔ
+g[WgJ .ac8W"9tLF)8MRՄB"m:pl$M?Ɉ!0 /t (Tˬ,]
+x9ޗ -\R0"oWh[=~f%KM^A67 =-xX?E6!}pQ4U7ך\F/@I_#|Y
+s$O)H_!9~pKx8g8.`cW¿]U'D/jRlDfbGv?k#P#â;6#҇-7ݖ喇f
+D~I|_@-1KC5ʾ6j8?B4ZTI\K\༾ 8'T;6Ў|{xQ<IDcC<$H s99\v̙rTEW^ &J#ihdOC9qJ3
+>g=4I)=,AiSAvtVH8'
+.{fg@ 3%1t͕_}vq2>lBM>d(.~)E%Ӣ8;xTaWbrRڜl eʪvEikqwF!mH|aˢ~[P
+OEЀD0yloe =)
+sVCuu3W p(wxJ4l_E@[X'4T\8&+ԓ
+im*HT%#2|;!s{)).Xl3Z%~Fp@֤U*& ~^$
+ENn2G is+ŕ q7t|,XE۾d[崴‡)6F[B]OS)WޔϹt<G\|s$e߭ܰV|ٟVHB.Y,o+MdJFDP֚>|!Gwy$| &ft[L&β]q֭BqMV^=KgW#64δ9C^^&&?.ʑ"R䞹;f QJ|cڄ.T򾮆gJ1k.<YrA!Pɏ(Ckh% /M,\H=~fe/𔣍xsnFK&&"bꇋ!R6ӟ+_DL%:H$],V}%)SQ53㯜_jrѤ<:M (-mz~̈́ VpD
+S9w"xM"o3Q鷻Ps@ a4_Fn\#Ld`g2/]}(@&Ry a ]GF*qfe괾V0
+endstream endobj 10 0 obj<</Type/Encoding/Differences[46/period]>> endobj 11 0 obj<</Length 214/Filter/FlateDecode>>stream
+hTPn0 Stmt4x]hW@M <+)N <GHo-
+endstream endobj 12 0 obj<</Length 117/Filter/FlateDecode/Subtype/Type1C>>stream
+hbd`ad`dd vL) 0q6q5gy+y@HꀀIHﳾmXrj.+r@tE⼼⼼+V,^B
+endstream endobj 13 0 obj<</Type/FontDescriptor/FontFile3 12 0 R/FontBBox[-31 -250 1000 750]/FontName/MPJMPL+AdvP4C4E59/Flags 6/StemV 0/CapHeight 677/XHeight 431/Ascent 694/Descent -206/ItalicAngle 0/CharSet(/space/period)>> endobj 14 0 obj<</Length 409790/Filter/FlateDecode/Width 2032/Height 1612/BitsPerComponent 8/ColorSpace/DeviceRGB/Type/XObject/Subtype/Image>>stream
+hO+'lf+:Aٽ zg6Yi !ۃ?p Z_ot6 ޅ!p `4' pvWӿsԭ硸#uZUݭ_U?>
+]ZdӅYrӌ
+
+Xjjf\
+
+rYY> (<g'+y>
+<?>:gҙOU8Ot֑K'yX
+n-pya-MV <$Vi2YvgaY9l9@
+iebErBrF׎^燝d^r|W:byo=etb fjkm=M?ϯm2?GjwxUcc%
+GKڦ~V銇yro˯3mz>QJ=Z
+ځXq 7ϏcC%^ ?|ISڹqJ(jI?V|
+m[p Zt;ښV}\+ҜCK'{?2==ɇaY¶\Bh篶mc<6 q~t[#+y>
+*1>
+_omiqGگ(dR۶bg)?+8Gn<
+ni7M ]ytr}=y~gg7U7Cafܞ.7Rye(J6~Ay~?ږ4_Q߾,+ʗ/_>{
+={-|+By>"+y>
+ֹ=#tZyt',pC$vJ
+-]Z""!aKG4Tgw|B4N$χ!" '>V|
+UVlJwjj^ϲ2[IrٔZ/'҇%G78aMV쾴JZ*ڡڡw ߥO˄eBqdjtf{*lC ptCj@ew
+g隸9/9a`C$vJ
+o5մJ(a3ݼsrV; S誶o?y(ġc%
+=3JY.v;),};!
+/v;
+=c~fL&/1NZ
+y 7}nbFnVy-[g7G~foϞBI,%]tvi
+pv[reYhۅefY\,}
+Zz: xbyg~~~ /;b^X|
+cW~b[9$F༹qg_3wr~s:X,}hOW̲Xq2hF
+W%^UBpi4Ɗ+f6%i%4$p{KeHL`ciwtXgNuS "7q0poY_k,GAnA o뺱'0d?߈7E>qNURӉ3Y:EsXLgγKi|XzKqHa봝Dg "ÃF@Ч|t =
+o^WK  0._-`YSq-z |IwRE=FhTs隺H%aY=d&Z4QKH;:9oJ:ADKA^ ۍG<wguun4M~Q%, ~͵*g/+V._fQЛ$E9=V4$ g|
+EiK=~XapX= iAQ'""7~Kfg/! :Ca{o64MuDKC=Oϗ3-Eܗøҥ8;.4KO8o5 gClҔ(5ϣ5;>wQ{|t) l r}1
+ժ7eem{g)U:ti@OfgJ"
+T}#v8}2-A!_i|:$3bx'H_uwuG#&??<w#b߯Q_Amc>? TZ|8Yϗrzufmj B+3jE ?_|]
+ÙJ<K hCEoyUO,_Yҹ%Kz= iR ;,_2Ӹp +#Fϟߚ!>s2{̾?{ h c۶tw@VbC|&BV'}YE 6c#Ф%
+Q9jsp<
+I>x!x>/ۜ= v@>F,+RwQZ RT PVVZԼM%xZo*nA%zHߏ)8;H<tgV= 'u)ø!RY9 .-:nVZ(a2Mܚd!oM9& ZzfxVT]++#h.u;_O;QmUM)g*V:oyq#a&WO8XrH MxEnѳ10D Y& ,Ku蟇u]}jnDO<S톺Ѝue|~9`0DQTuyfB*|"'?>ޣqwT<HT#*i6ݔٓ3qEWPejZ}(EWtkWmkꍩgKR>AD9ҚNܖoeU#Ͽ{GoOߚ9>>j++ AKQ!`}?Oqy<4XEsF 4ib#Uv7FΠg:#WMJtL)VIbzHR^ܗ&Fհ>"̐. ^mCum0>)E " xYҪ6V>s2C|{mi7o24RgE( l[ya"5D>QQg2uA`99GЏ6ƆJW€̶m>G|(UoӤ?,ՕL>|#aBK0;0Uō
+4i8L]]{nJlzra[y]E׽[ww5Y輡@O !TG2[q pE  ekR7ԡ\EE+X7f,yr`̈JXMDFiSmgݣYz>|Ẋo\e`01^
+ >?}~MF)Ȼ
+ivVJ?l/Ryld)u6xEÓN7Tx{Ӫ1a"Hg1XaYʙx6g|~L=GL}&pFSA϶Lpc 7G w^?J}|3^?@>bQY pTQ,QE6d9*>
+(R
+ÐJQYw#YZ
+d \N`,*d^_b]+
+S|kn}k*I/?-k9s&Vb~>XM+j0$c7,**JMiQsu&rbgZ|n
+ڕo3w>_q(ҜW JUjخUϼ٠YYق4׋CWTҽڍ<qJ1l׬uA/|D> aPŏ(;A
+a)lW"Rْ p**3gdYXQpEkSܐ!W,|a Ρ\(|^=eYHQ| q'5?
+7}YH=R+Q0jlmixRJ~+mrJ*Y;J~
+w gy7o]{kYvߏkQOظ:7?TYxl14ojm_<zy6| ܈ >,]ݧs<tnHB D|>^z!y,hUM59K
+?au|6˸I:Jͥ/˭kH,0T
+gy7<xnG8;*6p}꺷Uj\b;q 7޼Ysղa")vu9ַ~X1[[ŀ]M|t |<(CjJSnvK C$EuVmp?̲N%󹨴m;u,IMiօ<V')Cæn'd|Q򠒈8Q
+(˪{4I3jo}k7G
+K/ݮRW0*ԫW[z0xmn_+4T>\so|tBs0 &~zktj7ĉ+XTq?'TӼ}ٛA
+bS_sBUJVEo6;MԤe|>YP3\SK|~+}<WV<|T|ϣlb؋²R:yJ`<,57{o~CHփu"M/T=5x@k8lw(J26+Iz}nWضGMU .N |-0uokb/#"͆Y:7)]޵A=dYɥ{'󇷧sDm[ܦ4RҰ(RnD1 ŊY{>jP}wK)~#_^T|>7C*<
+ RvcJL {1R{66rجb0P#Ϻ)ah)YY"7GB瓚|9U|Bm04AS=
+Tb>Q4 G*
+xS?^#D"0a(rkfXBn|YHԿ:Tw+|YhvcLbpg0,^Ų:,UNPq)8T
+tb"Euўu u\Ødz6BDFj'RDC@ZYR]dl7mpQnV<"VZ %6fBUjwK\YHKKV,MZmwDLsEg PH3K^1mrFt}`'ߚ/$GQCRǂAgDQM+:/<WV"o/S_$RiI>_<3n0&XPʊ'|H,;0 K?w
+^o>_ Y]OkC:"n బ8V*aU+E&+Nz/,S <eT_̲zAEq(V&7$m ATAEl|S%s.7'3nN&9MwUMAT4Tc2%8 .}>y^RuϠ % 拭xr2IßڡTY->o&P}(}/TІpLN$F)ϣW!|ߏ4q\)_~ƕSggٽ15Z$E \֓/59
+J?uӲHWiO[ZOx6 T7<hA$& ÀSx'<o~޶m9'\_sriG^u0 S͉E6}~GۗV ?]T󹾆1HG}?bW3%5P1Cr@.5JS[D sŧOG[oӬ_hkV$u*}5-| %]\7ԡՓ|Q7ےW^h.H`p+G`a"CI)E " 6MS=}.ͭzM}>pFͣχlw
+D٥:y&XPٲ}/ޟL_| xDY]jDQ]܄>Jr"lgJv
+Y5 Q8JpE|> 2 4ȳdbO?df˺VNY CJ[@_*iR ]i'Uޮpt5(IЖV)Pe`9{KXhpwͮWt)#WWo%'ߞ>wLfsUfR| (nH<K;PhQbE|>81?r\J TB"t&T.XiqA| Ɗm:a{e&[ZO';`p&.Ļ'wtz``~/[unsm]E}hw)9_eA(hۣNݶ&nUfYV7 gЃ*Oo|@P>A>v1|>v؏#DEw+CeVns489&ދY} |7*<<SŻLӄX^]Zlb<(`D_pBəRsS ڇ54yjψ+C(b/}>"#[V~&&6>&7[$Rr>_޵\.ͿLTxF[LG*RuoUwi<64V%Њ0 UW@|pc JI% }i_yZ˲bRχ^IgwX#M8_/;^1XRkᰠR+9@a!>#Ɖ`"_)@ K|+J?`Bwee h&7.]v/9!qIqAk=!ͩJꞪ vwCADx6FAq/?oO~]ߜh`}}}{{{>ږ``۶ .>S(!% CvZ'0㢨1 nDpWYF/S$.N ~8(aoTXzW0Wd k!u^&T[^0:*eV =W>KEUy=5 Ԫ"O^j MmWFV'Y|<|VgK#_=*B7BDo*TwPŅpHV@=wG> ^!戦ʱT7ee͕/ϿvD^X1VC]I]It+^" p?|EL>-THøR6D~TֵV戢ToL*A0n(xtc _ 2zޘ'ABLdeɇP2m۶ ߗ(ߞ>@|Α]pMf3OPWvmǍ JJѮgn^jf|_%!W@_():%m$.1g:9 1 RKwT/(4jCG*_F6ܪ؍=AKEmۧ4͠),ҶIvJJ{]麮eY{jTBE>![%&epxuIe)n'sZ;w*t-e9ur/GߪhuAR053M1e C$E5AQ.|`iBu>_*rj:h(*kw>9!M3.i,]|?-4(rdM)aP |6uycPȏ " CǁWT0bKx]}K/χR/Ab=_ [42 Fk_V$~ ڽN#<Ir>cuu|p 45',vf58%Ҹ[%AoO >萚 (er(
+1VSK5Wsi24׫b#<ַ񲫐n
+ XFR"Ʀ7ar>_`E3 h#m#A0uV0TƧ .ۙov+r <d@[] ('ͣ_RkAXhE/:z|<qkH#>!ˆez %mq[~&3f\eZ! ϽnH7І; :
+l]\=^?Ȳ+p6AH2 /rF«GYOyא|~Le3^jûDf_}Wo9R!LHi":4mr,W„' Ͽ<~mIѿ=}>5 21 ۮh8AЙ;
+pmmmk nuݕ7* ; VE2 tnRh?gʗ'N+א|Bggl{/[ AiVȗz'3 .`꺷1R&AhΔeҕ 8 >9Aʥ{#bJloo?p8}hHQi5H^ue~ 7\H謓
+" $_Z{[~9qQ1 |Qz*^$P!-D ETiҢTd>M(  COı 7) nt㺮&>K]3۱E5>?Uk]RSB2URX`<YZF=Y$HAaSK)}ʽ߶mq`x7IȮFՀ|~u*FS>_ YY٢Btil82JH#9\-BDQ𖵁OE/-  Svr)PO}~ogn2/
+/~R L*z*#H-gy268 CTÏNdhNgֱ|?"F
+ϯ|xWysGJN`\:<o ȶG++[˦m9N>#M8` ̇ՌAD |kwNriBH?5.(r}>a A L>N0dmy^O|޹x;>._ͮEQeYxilG@W<Aʼn\| R^zUwՁ|~u>WQfLH>nYVW*j+=('O<xw*}(g=e~P"AQx!nQ.,Ldz8|+}*uɈT `$sR;yBwg$v2ri=1o ҘGH6pV1>bmet< Èa||8%_緅:}J}L[?獥'So=DM;\4sM}+Ӎd>AQ'[fQvdzr2(: G+r}~Eq
+aͲ,nR%8amqN>Nzu1\󼤤3F, iT e~1x|
+"<xa۶z|>r!EɀWf$Q{?#q/#Ri0ޥ$bRL޶g czM%*az7*!
+zR.
+"$$kIQAZUq"IBY,zfL=5V<b] mf_06pJoXFA0oyq;|>Q
+*E20_HARϿytqs2Cdc8!
+M _hG+B,^K]]cuu5 |A/po
+6 k 3+x$OF؎8q;cf(LmX"mOϏM\Uq
+|~Pg81hooG
+,}V(
+w$!ۍps/[)緛DH>?.
+}>P?
+G(x<'
+HxFFF_$wc-`)(U>7aRÊI@ =G"ȋ}
+
++X?:LjV>?nQ7N<PVUU%2tjLI -gffMuA86` p[]9xBf(5;<q .o2]꼑ك!ʷÄA%+ 6яfzI3㯝9~1nh\0{܍ޤƄc'R;isȚsmk̍ԹPL{tyјFN42g1k~4fϜhb?ոE 7-?U1Eb1[%Ѹ,
+qǏ %܁1g`́30f1 hLSƔ=0Icc1DM?ehB,T#W (&RdުsO>2ɺvF,iј),)јI(nōAYLw],Gc(kcqM,2cS5~B#5q +{ha!հlќε3VHAfg!<]KJ7{c,nQ,MMROVY=?k՟bL4e&9M2ۭfX*җQD4\do:dIƼd$I>G4mpXL1?b^\37s(&X̊XPdQ\+]g0y1Tf :]Bi&iM淫&f
+O,/S~ӟ/յK.]rvuKjB7/>>y WC^?Q|Em[ r/5F1[_F+Xa5Q/j"b_i5r>,kXWFhA_݂Z5X}5};Fu7~sVoNoߜ 87Q,N. Ɖ/}Ow_RmQo]Eo.fޕ?]y#jw<ʫy9h,y=/BcGˇ_>Ƴ/?j<ٟ4Ow! 5~ǗD%]KY𒮇t=˷K.=K[,oWe;e-k-k|pم
+C>\?x|ph}rKkJ׾Pu;_GCO <7P?<g6?g7<鷇6=rhÇ6?xx7?Ϳ_#[~qdϏl﹭zϟJTtE{/۟/m{^ضm;_ܶEoq[-*+ZVM/o|xCxG>}+X/(|eWvsɫ;3՝^ݙ[kA.knymͯYƞ7Li3XPb果DˬF3̼hbbf_cI厥;Un_oo_vcū}RP5 m>mmEnnQ{t㽢yo;Nl{b]'6t/%6&Q8MShmJV7<L d:Z%Zpӟ}52gV$Rժ@4TV~vkg=Flś+m^~MjZ;fS?g@>W3[elߦ(9(ٌ.5Qb)ObYZ",i?#hMJy'%5/]yO&y鐐ΏYj6;v`ve Jٿk%ejf_i8g]q+]qZࣞSz>yA>Vxl{GWۿ[UUonu'VĚ??u5^WxɵOFWYU]Ԁo3X4:ԟ?<#[WSٽTRݱlvn{n]BfGv1y^l˄̖f6vkvk6/fbC
+}?/N}>q|D\Š {}~DgϧuT!n[#]Wf322,j ԇwm7<(>D NX"f3mx!,%"5{^ !R;ɧnIJq>1c~0vļY"|s|6ii&C$RZo
+LQ |O<*5m=d@8T22ZnjA J:(5KT>_s* | 3Ev)=z}[$SnZ+^m($#io NcvZcװ֗]G7)=:@|jLZ5/V|Skw܄jGF
+ו}Nܕ2O0lkp6-<.'Dm||||||||||
+4hEC hb0i >>>>:
+{Ek|[1pC &J/ C^k`Ϗ}H|EQߊt~:fPK&|\6(Efv}HML\{<Coh5%;ܱ'Ekq)]1XC62U3 `;wVI7ʞ'.ҸO~xJd6:71yĖχχχχχχχχχ
+---_]}K^ϗ ׉W }~DX,ZJzGcPvv=1.!>%U> [_L_y..øج}BBy OujRI|\ }|]x^r/_=WsCۯe|q&;nQf||||||||||
++66+sUUU}JA1M~enj|}žsS٥P݆otl07-4OGt#}>eQj4i|>oϲ'7A?UB/`~\ʋ֭||VAtl fFlӻ6
+|ޏX"@pC)'>_#5za{<K*oFe +up$Wk {.?U*ϻ]|ȋ#v'Qt~;]_A+ӆ'EEwv
+m?w4χχχχχχχχχχχ
+7AǷ_1ph#&>_\bQR$s>?"d`Clx6c7,ؖGq (
+b@">ȫ?7ks_q_{(u%k6Ȭco?,Û7Ft
+q $t̏ 3|>v%$ϧ)MgaC[5lyBԍb'7VtŮO=~^PrP>tsdAfe ob°h'>U|@
+|>vzjDy|4rONHdNwϡmmm Ø iJGX> eUUVxq~E*.M`0xN?c[hο]a2Ԩ~E}ɖ D|
+|
+;3D]ŋglYw21}݁#W#Yq)^ `JO
+`*W R>pH+5<.oڮOW컻b7^G"c:ݩCMfD߮G e|<?O=- HK
+[rL^gȝB`xon7ch&mc͒Bn5F-3yMFVFJ
+\8XJɁχχχG
+}>kzǤ|J)g:p89
+ 􋃕W
+tq|>|>|>|>
+]m`0hs|^UхkRN~vK*=i7f-K||||>>>>>
+cNKRb{F&xI?
+Z4VnE4^>7O/_@Qاn_>z-II~ v+›f3Y)&EUUv}He8#
+匐ϷG%:Sz'=r0+i`%zgn>>>>χχχχ
+ٓ|<Ϯ,3<ώ|)Oia9o&OyBȶygk>ɧ|s3-l|6IH򐑿yF6s%DW=F|<<B`=Y2r;X.<F!3[!%X.EXnd[rL^sҲyE|>
+gBUDSbċ
++ےeXSO>͵ I~Iɺxns 8X/gK$}> Sc R{
+sgQEQu5+:ي竹^q竪*;R*V@gd1Сp>
+ l{
+=7rŸwڃ>hN06_L:;TۡCW;hʚnkU֌x0wPo;Ғ4lxq~ݮ^BϺG.
+[1:C\O]}.yqht$y=i72&9G<|>
+SLRIy|h4Zx狌LLI|~scڟ^8
+t]WF2 ~a>曶 fksE|B;&:8
+9
+
+H%
+ m,KCy$EͽD2~)
+.nK_\(Wt.ٽ:4AGYzp<g
+{B'^(;S!`U
+L t,)K5Yɜj.W>hO2Lf"kU?
+ACCq䏍JݴiHAެb
+{ dI
+o>T'ǏqO?<!H;^ſ
+>
+u*uȴ||wU}`pOF6Kd>i~&廻xcsG#T/N6lҊ}m
+ªZ՞={N9f~CuہVF-.X@RNˋd`r nUk$%u_ܫ9|j޽|:QEaCW5s@4BU#@}JƪS:NYǜh+_`xƋ ؈b≎cr_0ۮqM@<\B$\,Ű!:=v07>KOtSv~yy~͎lmV |>@ 
+ '|_ F|yL_>M2aҔ ˦OlˮtI^7믾t W7^%t(]%~*.Kn9vKnUo 7Ɏ탟}uDtϋnK4ĴetS™FlS&P\9eS3MD:m"Oh\9Doq[|[7ZҚTV\^W/1-Rz\9ɢ}qh
+DgL;_1u8W+1"1itLDxtL92x8bnpk1::v61{8D6ѰH&idF!7LILOjtq=+Pgzcu-i GG{ϙ%3}fI]|d#u{63K
+F7Ȃ_^Z+|ں╟,ZT[__{>|uW?x7^Z ȋ0::WWu^>{~ssgc w&8YҾht
+57
+Eѻ/,_Ԕ֘C7֦o4GcY~hq~4zmKcϯ#!UUiShЏ "
+||||||||||
+=E
+Z^[X=/2S,5qeE Ô(E])YRٿ:T>>>>>>>>>>
+t;v]8zE}>@iG~;Hp+K{{n u)z} <y!
+!S/ZEw̗#1F8zCQ
+>|>|>|>|>|>|>|>|>|>|>
+)+R>a()ttu^AXϖ\9^4ںY_
+픿<c=|Mkg_pc׵}ztn oSߦSӦiR B~>>>>>>>>>>
+4g퀇>
+QlSyvK6*_LS͖KFg!RCOЯk;2?[Ͻ(Y#j
+3F
+|˲rCV(
+.|giiZn:#Y (
+A.::/o0
+F/
+v˲r7(dYRe,Ȫ7^AX\^(%:`r)٨{ |/WP
+
+
+48KuWsK3ʋWm}HK6en]kZwI[KP,m6ESP{@t`J
+G
+CMb°Y0 --(8Wxs
+gx.uʟR@>(\;L
+ T/H)ʆRof뺳(2}%廬 )i.'/#/Fo(ڹ_ߘ͝KOg=S @t`J
+@}JR8å_xw ?JlɽƍO*1|4/ |>
+M}}ίl;ԏ#9D˲ѨǧCKcprNEf׍/_P赬" I
+Dtް̧&ݺK+7[MM%.ie 2ߍJ|P)>ǀ2jpD1QG 9
+(M_ZOgğVu&b.Ϟӟ/\wInZVλX,F>"C_@r
+E
+ MK75;0<_nUAχ2>>
+飺c٠)r0'pv=ZJ={^T5vʖ`;[72=l'_yS㤎=Z:HH
+rJrϟp%UY;@O
+2
+ҳvKPG
+_U?ris{uqS9PG
+X0ZvIkbMMiQ XT
+w0oKe|VB;Ιhto'^nmTV|
+5L} eT,}SYUӹpji?⢭<z0N#1 QњQWO^s>M9* zqQ{iys1>u%A:MՄO# {N̐'^18\]}>w?1@@;
+2
+Ee>ituA]v4t>hP.HZbƷS^̷Ñ|bmX֒ݖNO7^(#
diff --git a/testdata/ptt5 b/testdata/ptt5
deleted file mode 100644
index bdd7f36..0000000
--- a/testdata/ptt5
+++ /dev/null
Binary files differ
diff --git a/testdata/sum b/testdata/sum
deleted file mode 100644
index 758fd81..0000000
--- a/testdata/sum
+++ /dev/null
Binary files differ
diff --git a/testdata/xargs.1 b/testdata/xargs.1
deleted file mode 100644
index a9f39a7..0000000
--- a/testdata/xargs.1
+++ /dev/null
@@ -1,112 +0,0 @@
-.TH XARGS 1L \" -*- nroff -*-
-.SH NAME
-xargs \- build and execute command lines from standard input
-.SH SYNOPSIS
-.B xargs
-[\-0prtx] [\-e[eof-str]] [\-i[replace-str]] [\-l[max-lines]]
-[\-n max-args] [\-s max-chars] [\-P max-procs] [\-\-null] [\-\-eof[=eof-str]]
-[\-\-replace[=replace-str]] [\-\-max-lines[=max-lines]] [\-\-interactive]
-[\-\-max-chars=max-chars] [\-\-verbose] [\-\-exit] [\-\-max-procs=max-procs]
-[\-\-max-args=max-args] [\-\-no-run-if-empty] [\-\-version] [\-\-help]
-[command [initial-arguments]]
-.SH DESCRIPTION
-This manual page
-documents the GNU version of
-.BR xargs .
-.B xargs
-reads arguments from the standard input, delimited by blanks (which can be
-protected with double or single quotes or a backslash) or newlines,
-and executes the
-.I command
-(default is /bin/echo) one or more times with any
-.I initial-arguments
-followed by arguments read from standard input. Blank lines on the
-standard input are ignored.
-.P
-.B xargs
-exits with the following status:
-.nf
-0 if it succeeds
-123 if any invocation of the command exited with status 1-125
-124 if the command exited with status 255
-125 if the command is killed by a signal
-126 if the command cannot be run
-127 if the command is not found
-1 if some other error occurred.
-.fi
-.SS OPTIONS
-.TP
-.I "\-\-null, \-0"
-Input filenames are terminated by a null character instead of by
-whitespace, and the quotes and backslash are not special (every
-character is taken literally). Disables the end of file string, which
-is treated like any other argument. Useful when arguments might
-contain white space, quote marks, or backslashes. The GNU find
-\-print0 option produces input suitable for this mode.
-.TP
-.I "\-\-eof[=eof-str], \-e[eof-str]"
-Set the end of file string to \fIeof-str\fR. If the end of file
-string occurs as a line of input, the rest of the input is ignored.
-If \fIeof-str\fR is omitted, there is no end of file string. If this
-option is not given, the end of file string defaults to "_".
-.TP
-.I "\-\-help"
-Print a summary of the options to
-.B xargs
-and exit.
-.TP
-.I "\-\-replace[=replace-str], \-i[replace-str]"
-Replace occurences of \fIreplace-str\fR in the initial arguments with
-names read from standard input.
-Also, unquoted blanks do not terminate arguments.
-If \fIreplace-str\fR is omitted, it
-defaults to "{}" (like for `find \-exec'). Implies \fI\-x\fP and
-\fI\-l 1\fP.
-.TP
-.I "\-\-max-lines[=max-lines], -l[max-lines]"
-Use at most \fImax-lines\fR nonblank input lines per command line;
-\fImax-lines\fR defaults to 1 if omitted. Trailing blanks cause an
-input line to be logically continued on the next input line. Implies
-\fI\-x\fR.
-.TP
-.I "\-\-max-args=max-args, \-n max-args"
-Use at most \fImax-args\fR arguments per command line. Fewer than
-\fImax-args\fR arguments will be used if the size (see the \-s option)
-is exceeded, unless the \-x option is given, in which case \fBxargs\fR
-will exit.
-.TP
-.I "\-\-interactive, \-p"
-Prompt the user about whether to run each command line and read a line
-from the terminal. Only run the command line if the response starts
-with `y' or `Y'. Implies \fI\-t\fR.
-.TP
-.I "\-\-no-run-if-empty, \-r"
-If the standard input does not contain any nonblanks, do not run the
-command. Normally, the command is run once even if there is no input.
-.TP
-.I "\-\-max-chars=max-chars, \-s max-chars"
-Use at most \fImax-chars\fR characters per command line, including the
-command and initial arguments and the terminating nulls at the ends of
-the argument strings. The default is as large as possible, up to 20k
-characters.
-.TP
-.I "\-\-verbose, \-t"
-Print the command line on the standard error output before executing
-it.
-.TP
-.I "\-\-version"
-Print the version number of
-.B xargs
-and exit.
-.TP
-.I "\-\-exit, \-x"
-Exit if the size (see the \fI\-s\fR option) is exceeded.
-.TP
-.I "\-\-max-procs=max-procs, \-P max-procs"
-Run up to \fImax-procs\fR processes at a time; the default is 1. If
-\fImax-procs\fR is 0, \fBxargs\fR will run as many processes as
-possible at a time. Use the \fI\-n\fR option with \fI\-P\fR;
-otherwise chances are that only one exec will be done.
-.SH "SEE ALSO"
-\fBfind\fP(1L), \fBlocate\fP(1L), \fBlocatedb\fP(5L), \fBupdatedb\fP(1)
-\fBFinding Files\fP (on-line in Info, or printed)