----extPart_ST_19_46_05_Monday_December_06_2004_17975
Content-Type: text/plain;
	charsets-ascii"
Content-Transfer-Encoding: quoted-printable

A couple of years ago, I wrote a script to convert Across Lite PUZ files
to Postscript that prints the way the puzzles normally look in
newspapers. t's definitely not perfect, but I figured I'd throw it in
for fun.

I generally convert the postscript into a PDF before printing, because
many printers seem to have problems with the fonts, even though they
should all come standard on a Postscript printer ... probably because my
PS knowledge isn't as good as it could be!

I've attached the script, and aample PUZ.  I was going to include the
equivalent PDF, but the list server wasn't happy with the size of the
message.

I use this six days a week to convert the Sydney Morning Herald
crossword into a form that I can print and do on the train.

Cheers,

H.

PS - Note that this wasne of my earliest Ruby programs, so the style
is probably horrible ... not to say things are any better now, of course
:-).


************************************************************************

If you have received this e-mail in error, please delete it and notify the sender as soon as possible. The contents of this e-mail may be confidential and the unauthorized use, copying, or dissemination of it and any attachments to it, is prohibited. 

Internet communications are not secure and Hyperion does not, therefore, accept legal responsibility for the contents of this message nor for any damage caused by viruses.  The views expressed here do not necessarily represent those of Hyperion.

For more information about Hyperion, please visit our Web site at www.hyperion.com



----extPart_ST_19_46_05_Monday_December_06_2004_17975
Content-Type: application/octet-stream;
	name0041004.puz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename0041004.puz"
Content-Description: 20041004.puz

ioZBQ1JPU1MmRE9XTgABSkg0K/kLfTU+MS4yAAAAAAAAAAAAAAAAAAAAAAAPDxoAAQAAAC5TLkMu
Uy4uLlMuWS5ELlNQQVJTRS5ERVBMT1lFRC5VLk8uVC5SLlIuVS5MLi5SSVNPVFRPLklOQ0lURS5J
LlMuTC5PLk4uQS5BLi5PTlRIRVNQT1QuTk9TSC5VLkguLi5TLkUuTi4uLkFTQ0VUSUMuQURWRVJT
RS4uLlIuTS5QLi4uVi5FLkJFQVUuUEVSTUFORU5ULi5QLkIuTy5PLlMuUi5BLk1PVElGUy5NVVRB
VEVTLi5DLkMuVC5QLkguRS5JLlRIUk9XT1VULk1FTE9EWS5TLk4uUi4uLkEuTC5FLi4tLi0uLS4u
Li0uLS4tLi0tLS0tLS4tLS0tLS0tLS4tLi0uLS4tLi0uLS4tLi4tLS0tLS0tLi0tLS0tLS4tLi0u
LS4tLi0uLS4tLi4tLS0tLS0tLS0uLS0tLS4tLi0uLi4tLi0uLS4uLi0tLS0tLS0uLS0tLS0tLS4u
Li0uLS4tLi4uLS4tLi0tLS0uLS0tLS0tLS0tLi4tLi0uLS4tLi0uLS4tLi0tLS0tLS4tLS0tLS0t
Li4tLi0uLS4tLi0uLS4tLi0tLS0tLS0tLi0tLS0tLS4tLi0uLS4uLi0uLS4tLkNyeXB0aWMsIE9j
dG9iZXIgNCwgMjAwNABDcmVhdGVkIGJ5IEVQAKkgVGhlIFN5ZG5leSBNb3JuaW5nIEhlcmFsZABJ
bmNlbnRpdmUgdG8gc2hvdyB0aGF0IGRlYnRzIGFyZSBmYWxzZSAoOCkASXJyaXRhdGVkIGJ5IHRo
ZSBwb2xpc2ggb24gdGhlIHNpZ24sIGJ1dCBjYW4ndCBnbyBiYWNrICg1LDMsNykAQ2xlYXIgdXAg
dGhlIHNlYXQgKDYpAFJ1c2hlZCB0byBmaW5kIHRoZSBjb3Vyc2Ugd2hpY2ggaGFkIGJlZW4gcHVi
bGlzaGVkICg4KQBZb3UgbXVzdCBhbHdheXMga2VlcCBtdW0gLS0gdW5zdXJlIHdoYXQgd2lsbCBo
YXBwZW4hICgzLDMsNSw0KQBHcmVlayBsZXR0ZXJzIGxhc3RlZCBpbmRlZmluaXRlbHkgKDYpAFF1
YXJyZWwgY29uY2VybmluZyBkaXJlY3Rpb25zIHdhcyBpbmZyZXF1ZW50ICg2KQBJbnN0YWxsZWQg
YW5kIHRoZW4gZ290IHJpZCBvZiB0aGUgdHJpY2shICg4KQBXaWx0cyB3aGVuIGRpcmVjdG9yIGZp
bmRzIGFuaW1hbCB0cmFjayByZXR1cm5pbmcgKDYpAERpc2ggbWF5IGNhdXNlIHJpb3RzIHRvIHJl
Y3VyICg3KQBFbmNvdXJhZ2UgdG8gY29tZSBpbnRvIHZpZXcgb2YgdGhlIGF1ZGllbmNlICg2KQBJ
bW1lZGlhdGVseSBpbiB0cm91YmxlICgyLDMsNCkARG9uJ3QgYmUgcXVpZXQgYWJvdXQgdGhlIGZv
b2QgKDQpAFB1cml0YW4gaGFzIGEgcGVjdWxpYXIgY2FzZSBvZiBzcGFzbSAoNykAQSB0YXggb3Ig
YSBmYWtlPyAoOCkASG9zdGlsZSB0byB0aGUgcHJvbW90aW9uIG9mIHRoZSBsaW1lcmljayAoNykA
UmVzZXJ2ZSBhdCB0aGUgYmVhY2ggaXMgd2l0aG91dCBjZW50cmFsIGhlYXRpbmcgKDMtNSkAUXVp
Y2shIEpvZyB0aGUgbWVtb3J5ICg2KQBUaGUgbG92ZXIgc2VlbWVkIGJlYXV0aWZ1bCBpbiBQYXJp
cyAoNCkASG9wZXMgaW52ZW50aW9uIGluY2x1ZGVzIGNvbGQgcGVyaW9kcyAoNikASGFpcmRvIGhh
cyBhIG5ldyBleG90aWMgbmV0IHdoaWNoIHdvbid0IGNoYW5nZSAoOSkAQ29tcGxhaW50IGFib3V0
IG1hdGhzIGNvbWluZyBmaXJzdCAoNikARGVzaWducyBmb3Igc2Vjb25kIGxvdWQgcXVhcnJlbHMg
KDYpAENoYW5nZXMgb2NjdXIgaW4gVXRhaCB3aGVuIGZyaWVuZHMgY29tZSBhcm91bmQgKDcpAFJl
ZnVzZSB0byBhY2NlcHQgdGhhdCBpdCdzIG9mdGVuIHdvcnRoIGJlaW5nIGFic2VudCAoNSwzKQBB
IHBpZWNlIG9mIG11c2ljIGluIHRoZSBQaGlsb21lbCBPZHlzc2V5ICg2KQAA


----extPart_ST_19_46_05_Monday_December_06_2004_17975
Content-Type: application/octet-stream;
	name
rossword.rb" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename
rossword.rb" Content-Description: crossword.rb CkRFQlVHID0gZmFsc2UKCiNTSVpFICA9IDI3ClNJWkUgID0gMTUKCgpjbGFzcyBCdWZmZXIKCiAg ICBkZWYgaW5pdGlhbGl6ZShzdHJpbmcpCgoJQHN0cmluZyA9IHN0cmluZwoJQGluZGV4ICA9IDAK CUBsZW5ndGggPSBzdHJpbmcubGVuZ3RoCgogICAgZW5kCgogICAgZGVmIGdldHMKCglpZiBAaW5k ZXggPT0gQGxlbmd0aAoJICAgIHN0cmluZyA9IG5pbAoJZWxzZQoJICAgIHN0cmluZyA9ICIiCgoJ ICAgIHdoaWxlIEBpbmRleCA8IEBsZW5ndGgKCQljID0gQHN0cmluZ1tAaW5kZXhdCgoJCWlmIGMg PT0gMAoJCSAgICBicmVhawoJCWVsc2UKCQkgICAgc3RyaW5nIDw8IGMKCgkJICAgIEBpbmRleCAr PSAxCgkJZW5kCgkgICAgZW5kCgoJICAgIGlmIEBpbmRleCA8IEBsZW5ndGgKCQlAaW5kZXggKz0g MQoJICAgIGVuZAoJZW5kCgoJcmV0dXJuIHN0cmluZwoKICAgIGVuZAoKCiAgICBkZWYgcmVhZChu KQoKCWlmIEBpbmRleCA9PSBAbGVuZ3RoCgkgICAgc3RyaW5nID0gbmlsCgllbHNlCgkgICAgaWYg biA+IChAbGVuZ3RoIC0gQGluZGV4KQoJCW4gPSAoQGxlbmd0aCAtIEBpbmRleCkKCSAgICBlbmQK CgkgICAgc3RyaW5nID0gQHN0cmluZ1tAaW5kZXgsIG5dCgoJICAgIEBpbmRleCArPSBuCgllbmQK CglyZXR1cm4gc3RyaW5nCgogICAgZW5kCgplbmQKCgpjbGFzcyBDcm9zc3dvcmQKCgogICAgZGVm IGluaXRpYWxpemUocGF0aCwgYW5zd2Vyc1BhdGggPSBuaWwpCgoJaWYgcGF0aCA9fiAvLipcLnB1 eiQvCgkgICAgUmVhZFBVWihwYXRoKQoJZWxzaWYgcGF0aCA9fiAvLipcLnR4dCQvCgkgICAgUmVh ZFRYVChwYXRoLCBhbnN3ZXJzUGF0aCkKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgQW5zd2VyKGks IGopCgoJaWYgQGFuc3dlcnMKCSAgICBpZiBAYW5zd2Vyc1tpXS5uaWw/CgkJIyRzdGRlcnIucHV0 cyAiQGFuc3dlcnNbI3tpfV0gaXMgbmlsICEhIgoJCSIgIgoJICAgIGVsc2UKCQlpZiBAYW5zd2Vy c1tpXVtqXS5uaWw/CgkJICAgICMkc3RkZXJyLnB1dHMgIkBhbnN3ZXJzWyN7aX1dWyN7an1dIGlz IG5pbCAhISIKCQkgICAgIiAiCgkJZWxzZQoJCSAgICBpZiBAYW5zd2Vyc1tpXVtqXSA9PSBTdHJp bmcKCQkJQGFuc3dlcnNbaV1bal0KCQkgICAgZWxzZQoJCQlpZiAoYSA9IEBhbnN3ZXJzW2ldW2pd LmNocikgPT0gIi4iCgkJCSAgICAiICIKCQkJZWxzZQoJCQkgICAgYQoJCQllbmQKCQkgICAgZW5k CgkJZW5kCgkgICAgZW5kCgllbHNlCgkgICAgIiAiCgllbmQKCiAgICBlbmQKCgogICAgZGVmIENh bGN1bGF0ZU51bWJlcnMKCgludW1iZXIgPSAxCglzaXplICAgPSBAZ3JpZC5sZW5ndGgKCglAdG90 YWxBY3Jvc3NDbHVlcyA9IDAKCUB0b3RhbERvd25DbHVlcyAgID0gMAoKCUBjbHVlcyA9IEFycmF5 Lm5ldwoKCSgwLi4oc2l6ZSAtIDEpKS5lYWNoIGRvIHxpfAoJICAgICgwLi4oc2l6ZSAtIDEpKS5l YWNoIGRvIHxqfAoJCWlmIEBncmlkW2ldW2pdICE9IC0xCgkJICAgIG51bWJlcmVkID0gZmFsc2UK CgkJICAgIGlmIGogPT0gMCB8fCAoQGdyaWRbaV1baiAtIDFdID09IC0xKQoJCQlpZiAoaiA8IChz aXplIC0gMSkpICYmIChAZ3JpZFtpXVtqICsgMV0gIT0gLTEpCgkJCSAgICBAdG90YWxBY3Jvc3ND bHVlcyArPSAxCgkJCSAgICBAY2x1ZXMucHVzaChbIkEiLCBudW1iZXJdKTsKCgkJCSAgICBudW1i ZXJlZCA9IHRydWUKCQkJZW5kCgkJICAgIGVuZAoKCQkgICAgaWYgaSA9PSAwIHx8IChAZ3JpZFtp IC0gMV1bal0gPT0gLTEpCgkJCWlmIChpIDwgKHNpemUgLSAxKSkgJiYgKEBncmlkW2kgKyAxXVtq XSAhPSAtMSkKCQkJICAgIEB0b3RhbERvd25DbHVlcyArPSAxCgkJCSAgICBAY2x1ZXMucHVzaChb IkQiLCBudW1iZXJdKTsKCgkJCSAgICBudW1iZXJlZCA9IHRydWUKCQkJZW5kCgkJICAgIGVuZAoK CgkJICAgIGlmIG51bWJlcmVkCgkJCUBncmlkW2ldW2pdID0gbnVtYmVyCgoJCQludW1iZXIgKz0g MQoJCSAgICBlbmQKCQllbmQKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgQ2xlYW4o dGV4dCkKCWNsZWFuID0gdGV4dC5nc3ViKC9bKF0vLCAiXFwoIikKCgljbGVhbi5nc3ViISgvWyld LywgIlxcKSIpCgljbGVhbi5nc3ViISgiJSIsICJcXCUiKQoJY2xlYW4uZ3N1YiEoJ5InLCAnXCcn KQoJY2xlYW4uZ3N1YiEoJ+knLCAnZScpCgoJY2xlYW4KICAgIGVuZAoKCiAgICBkZWYgUmVhZEFu c3dlcnMoZmlsZSkKCgl0ZXh0ID0gZmlsZS5nZXRzCgoJQGFuc3dlcnMgPSBBcnJheS5uZXcKCglp bmRleCA9IDAKCgkoMCAuLi4gU0laRSkuZWFjaCBkbyB8aXwKCSAgICByb3cgPSBBcnJheS5uZXcK CgkgICAgKDAgLi4uIFNJWkUpLmVhY2ggZG8gfGp8CgkJcm93W2pdID0gdGV4dFtpbmRleF0KCgkJ aW5kZXggKz0gMQoJICAgIGVuZAoKCSAgICBAYW5zd2Vycy5wdXNoKHJvdykKCWVuZAoKICAgIGVu ZAoKCiAgICBkZWYgUmVhZENyb3Nzd29yZChmaWxlKQoKCUB0aXRsZSA9IGZpbGUucmVhZGxpbmUu Y2hvcAoKCSRzdGRlcnIucHV0cyAiVGl0bGUgaXMgI3tAdGl0bGV9IgoKCXVudGlsIChsaW5lID0g ZmlsZS5nZXRzLmNob3ApID1+IC9HcmlkLwoJICAgICMgVGhyb3cgdGhpcyBsaW5lIGF3YXkKCWVu ZAoKCUBncmlkID0gQXJyYXkubmV3CgoJdW50aWwgKGxpbmUgPSBmaWxlLmdldHMuY2hvcCkgPX4g L0Fjcm9zcy8KCSAgICBpZiBsaW5lLmxlbmd0aCA+IDAKCQlyb3cgPSBBcnJheS5uZXcKCgkJbGlu ZS5lYWNoX2J5dGUgZG8gfGN8CgkJICAgIGlmIGMuY2hyID09ICdXJwoJCQl4ID0gMAoJCSAgICBl bHNlCgkJCXggPSAtMQoJCSAgICBlbmQKCgkJICAgIHJvdy5wdXNoKHgpCgkJZW5kCgoJCUBncmlk LnB1c2gocm93KQoJICAgIGVuZAoJZW5kCgoJQ2FsY3VsYXRlTnVtYmVycygpCgoJQGFjcm9zcyA9 IEhhc2gubmV3CgoJd2hpbGUgKGNsdWUgPSBmaWxlLmdldHMuY2hvcCkgIX4gL0Rvd24vCgoJICAg IGlmIGNsdWUgPX4gLyhcZCopICguKikvCgkJbnVtYmVyID0gJDEKCQl0ZXh0ICAgPSAkMgoKCQlA YWNyb3NzW251bWJlcl0gPSB0ZXh0CgkgICAgZW5kCgoJZW5kCgoJQGRvd24gPSBIYXNoLm5ldwoK CXdoaWxlICFmaWxlLmVvZgoJICAgIGNsdWUgPSBmaWxlLmdldHMuY2hvcAoKCSAgICBpZiBjbHVl ID1+IC8oXGQqKSAoLiopLwoJCW51bWJlciA9ICQxCgkJdGV4dCAgID0gJDIKCgkJQGRvd25bbnVt YmVyXSA9IHRleHQKCSAgICBlbmQKCWVuZAogICAgZW5kCgoKICAgIGRlZiBSZWFkUFVaKHBhdGgp CgoJRmlsZS5vcGVuKHBhdGgsICJyYiIpIGRvIHxmaWxlfAoJICAgICNmaWxlLmJpbm1vZGUKCgkg ICAgZGF0YSA9IGZpbGUuc3lzcmVhZChmaWxlLnN0YXQuc2l6ZSkKCgkgICAgYnVmZmVyID0gQnVm ZmVyLm5ldyhkYXRhKQoKCSAgICAjIFNraXAgaGVhZGVyIGluZm9ybWF0aW9uIC4uLgoKCSAgICBi dWZmZXIucmVhZCg1MikKCgkgICAgIyBQdWxsIG91dCB0aGUgdmFyaW91cyBzdHJpbmdzIHdlIG5l ZWQgLi4uCgoJICAgIEBhbnN3ZXJzU3RyaW5nID0gYnVmZmVyLnJlYWQoU0laRSAqIFNJWkUpCgkg ICAgQGdyaWRTdHJpbmcJICAgPSBidWZmZXIucmVhZChTSVpFICogU0laRSkKCSAgICBAdGl0bGUJ ICAgPSBidWZmZXIuZ2V0cwoJICAgIEBjcmVhdG9yCSAgID0gYnVmZmVyLmdldHMuc3RyaXAKCiMk c3RkZXJyLnB1dHMgIkBhbnN3ZXJzU3RyaW5nID0gJyN7QGFuc3dlcnNTdHJpbmd9JyIKCiMkc3Rk ZXJyLnB1dHMgInRpdGxlICAgPSA+PiN7QHRpdGxlfTw8IgojJHN0ZGVyci5wdXRzICJjcmVhdG9y ID0gPj4je0BjcmVhdG9yfTw8IgoKCSAgICBAdGl0bGUgPDwgIiAgXCgje0BjcmVhdG9yfVwpIgoK CSAgICAjIFNraXAgb3ZlciBhIHN0cmluZyB3ZSBkb24ndCBuZWVkIC4uLgoKCSAgICBAZXh0cmEJ ICAgPSBidWZmZXIuZ2V0cwoKCSAgICAjIFJlYWQgdGhlIGNsdWUgc3RyaW5ncyAuLi4KCgkgICAg QGNsdWVTdHJpbmdzID0gQXJyYXkubmV3CgoJICAgIHdoaWxlIChzID0gYnVmZmVyLmdldHMpICE9 IG5pbAoJCUBjbHVlU3RyaW5ncy5wdXNoKHMpCgkgICAgZW5kCgoJICAgIEBncmlkID0gQXJyYXku bmV3CgoJICAgIGluZGV4ID0gMAoKCSAgICAoMCAuLi4gU0laRSkuZWFjaCBkbyB8aXwKCQlyb3cg PSBBcnJheS5uZXcKCgkJKDAgLi4uIFNJWkUpLmVhY2ggZG8gfGp8CgkJICAgIGMgPSBAZ3JpZFN0 cmluZ1tpbmRleF0uY2hyCgoJCSAgICBpZiBjID09ICIuIgoJCQlyb3cucHVzaCgtMSkKCQkgICAg ZWxzZQoJCQlyb3cucHVzaCgwKQoJCSAgICBlbmQKCgkJICAgIGluZGV4ICs9IDEKCQllbmQKCgkJ QGdyaWQucHVzaChyb3cpCgkgICAgZW5kCgoJICAgIENhbGN1bGF0ZU51bWJlcnMoKQoKCSAgICBA YW5zd2VycyA9IEFycmF5Lm5ldwoKCSAgICBpbmRleCA9IDAKCgkgICAgKDAgLi4uIFNJWkUpLmVh Y2ggZG8gfGl8CgkJcm93ID0gQXJyYXkubmV3CgoJCSgwIC4uLiBTSVpFKS5lYWNoIGRvIHxqfAoJ CSAgICByb3dbal0gPSBAYW5zd2Vyc1N0cmluZ1tpbmRleF0KCgoJCSAgICBpZiByb3dbal0ubmls PwoJCQlyb3dbal0gPSAnICcKCQkgICAgZW5kCgojJHN0ZGVyci5wdXRzICJAYW5zd2Vyc1sje2l9 XVsje2p9XSA9ICN7cm93W2pdLmNocn0iCgoJCSAgICBpbmRleCArPSAxCgkJZW5kCgoJCUBhbnN3 ZXJzLnB1c2gocm93KQoJICAgIGVuZAoKCSAgICBpbmRleCAgID0gMAoKCSAgICBAYWNyb3NzID0g SGFzaC5uZXcKCSAgICBAZG93biAgID0gSGFzaC5uZXcKCgkgICAgQGNsdWVzLmVhY2hfaW5kZXgg ZG8gfGl8CgkJY2x1ZSAgID0gQGNsdWVzW2ldCgkJdHlwZSAgID0gY2x1ZVswXQoJCW51bWJlciA9 IGNsdWVbMV0KCQlzdHJpbmcgPSBAY2x1ZVN0cmluZ3NbaV0KCgkJaWYgdHlwZSA9PSAiQSIKCQkg ICAgQGFjcm9zc1tudW1iZXJdID0gc3RyaW5nCgkJZWxzZQoJCSAgICBAZG93bltudW1iZXJdID0g c3RyaW5nCgkJZW5kCgkgICAgZW5kCgllbmQKCiAgICBlbmQKCgogICAgZGVmIFJlYWRUWFQocGF0 aCwgYW5zd2Vyc1BhdGgpCgoJRmlsZS5vcGVuKHBhdGgpIGRvIHxmaWxlfAoKCSAgICBSZWFkQ3Jv c3N3b3JkKGZpbGUpCgoJZW5kCgoJaWYgYW5zd2Vyc1BhdGggPT0gbmlsCgkgICAgQGFuc3dlcnMg PSBuaWwKCWVsc2UKCSAgICBGaWxlLm9wZW4oYW5zd2Vyc1BhdGgpIGRvIHxmaWxlfAoKCQlSZWFk QW5zd2VycyhmaWxlKQoKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgZWFjaF9ncmlk Cglyb3dOdW1iZXIgPSAwCgoJQGdyaWQuZWFjaCBkbyB8cm93fAoJICAgIHJvd051bWJlciArPSAx CgoJICAgIGNvbHVtbk51bWJlciA9IDAKCgkgICAgcm93LmVhY2ggZG8gfGNvbHVtbnwKCQljb2x1 bW5OdW1iZXIgKz0gMQoKCQl5aWVsZCByb3dOdW1iZXIsIGNvbHVtbk51bWJlciwgY29sdW1uCgkg ICAgZW5kCgllbmQKICAgIGVuZAoKCiAgICBkZWYgZWFjaF9hY3Jvc3MKCShAYWNyb3NzLmtleXMu c29ydCB7IHxhLCBifCBhLnRvX2kgPD0+IGIudG9faSB9KS5lYWNoIGRvIHxudW1iZXJ8CgkgICAg eWllbGQgbnVtYmVyLCBAYWNyb3NzW251bWJlcl0KCWVuZAogICAgZW5kCgoKICAgIGRlZiBlYWNo X2Rvd24KCShAZG93bi5rZXlzLnNvcnQgeyB8YSwgYnwgYS50b19pIDw9PiBiLnRvX2kgfSkuZWFj aCBkbyB8bnVtYmVyfAoJICAgIHlpZWxkIG51bWJlciwgQGRvd25bbnVtYmVyXQoJZW5kCiAgICBl bmQKCgogICAgZGVmIE91dHB1dAoJcHV0cyAiI3tAdGl0bGV9XG5cbiIKCglwdXRzICJHcmlkIgoK CUBncmlkLmVhY2ggZG8gfHJvd3wKCSAgICByb3cuZWFjaCBkbyB8Y29sdW1ufAoJCXggPSAoY29s dW1uID09IC0xKSA/ICJCIiA6ICJXIgoJCXByaW50ICIje3h9IgoJICAgIGVuZAoKCSAgICBwdXRz ICIiCgllbmQKCglwdXRzICJcbkFjcm9zc1xuXG4iCgoJKEBhY3Jvc3Mua2V5cy5zb3J0IHsgfGEs IGJ8IGEudG9faSA8PT4gYi50b19pIH0pLmVhY2ggZG8gfG51bWJlcnwKCSAgICBwcmludGYgIiUw MmQgJXNcbiIsIG51bWJlciwgQGFjcm9zc1tudW1iZXJdCgllbmQKCglwdXRzICJcbkRvd25cblxu IgoKCShAZG93bi5rZXlzLnNvcnQgeyB8YSwgYnwgYS50b19pIDw9PiBiLnRvX2kgfSkuZWFjaCBk byB8bnVtYmVyfAoJICAgIHByaW50ZiAiJTAyZCAlc1xuIiwgbnVtYmVyLCBAZG93bltudW1iZXJd CgllbmQKICAgIGVuZAoKCiAgICBkZWYgT3V0cHV0QWNyb3NzCgoJcHV0cyAiQWNyb3NzSGVhZGVy IgoJcHV0cyAiU3RhcnRBY3Jvc3NDbHVlcyIKCglzZWxmLmVhY2hfYWNyb3NzIGRvIHxudW1iZXIs IHRleHR8CgkgICAgcHV0cyAiI3tudW1iZXJ9IFN0YXJ0Q2x1ZSIKCgkgICAgY2xlYW4gPSBDbGVh bih0ZXh0KQoJICAgIHdvcmRzID0gY2xlYW4uc3BsaXQoIiAiKQoKCSAgICB3b3Jkcy5lYWNoIGRv IHx3fAoJCXB1dHMgIigje3d9KSBDbHVlV29yZCIKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAg ICBkZWYgT3V0cHV0RG93bgoJcHV0cyAiRG93bkhlYWRlciIKCXB1dHMgIlN0YXJ0RG93bkNsdWVz IgoKCXNlbGYuZWFjaF9kb3duIGRvIHxudW1iZXIsIHRleHR8CgkgICAgcHV0cyAiI3tudW1iZXJ9 IFN0YXJ0Q2x1ZSIKCgkgICAgY2xlYW4gPSBDbGVhbih0ZXh0KQoJICAgIHdvcmRzID0gY2xlYW4u c3BsaXQoIiAiKQoKCSAgICB3b3Jkcy5lYWNoIGRvIHx3fAoJCXB1dHMgIigje3d9KSBDbHVlV29y ZCIKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgT3V0cHV0R3JpZCh3aXRoQW5zd2Vy cykKCglzaXplID0gQGdyaWQubGVuZ3RoCgoJKDAuLihzaXplIC0gMSkpLmVhY2ggZG8gfGl8Cgkg ICAgKDAuLihzaXplIC0gMSkpLmVhY2ggZG8gfGp8CgkJeCA9IEBncmlkW2ldW2pdCgoJCWlmIHgg PT0gLTEKCQkgICAgcHV0cyAiI3tqfSAje2l9IEJsYWNrU3F1YXJlIgoJCWVsc2UKCQkgICAgaWYg d2l0aEFuc3dlcnMKCQkJYSA9IEFuc3dlcihpLCBqKQoKIyRzdGRlcnIucHV0cyAiQW5zd2VyKCN7 aX0sICN7an0pID0gI3thfSIKCgkJCXB1dHMgIiN7an0gI3tpfSAje3h9ICgje2F9KSBXaGl0ZVNx dWFyZSIKCQkgICAgZWxzZQoJCQlwdXRzICIje2p9ICN7aX0gI3t4fSAoICkgV2hpdGVTcXVhcmUi CgkJICAgIGVuZAoJCWVuZAoJICAgIGVuZAoJZW5kCgogICAgZW5kCgoKICAgIGRlZiBPdXRwdXRO ZXdQYWdlCglwdXRzICJcbnNob3dwYWdlXG4iCiAgICBlbmQKCiAgICBkZWYgT3V0cHV0UG9zdHNj cmlwdCh3aXRoQW5zd2VycykKCU91dHB1dFByZWFtYmxlKCkKCU91dHB1dFN1YnJvdXRpbmVzKCkK CU91dHB1dEdyaWQod2l0aEFuc3dlcnMpCglPdXRwdXRUaXRsZSgpCgoJaWYgU0laRSA+IDE1Cgkg ICAgT3V0cHV0TmV3UGFnZSgpCgllbmQKCglPdXRwdXRBY3Jvc3MoKQoJT3V0cHV0RG93bigpCglP dXRwdXRQcm9sb2d1ZSgpCiAgICBlbmQKCgogICAgZGVmIE91dHB1dFByZWFtYmxlKG91dCA9ICRz dGRvdXQpCgoJIyBPdXRwdXQgdGhlIG5lY2Vzc2FyeSBQb3N0c2NyaXB0IHByZWFtYmxlLCB2aWEK CSMgYSBoZXJlIGRvY3VtZW50IC4uLgoKCW91dC5wdXRzIDw8UFJFQU1CTEUKJSFQUy1BZG9iZS0z LjAKJSVDcmVhdG9yOiBIYXJyeSBPJ3MgQ3Jvc3N3b3JkIFByaW50ZXIKJSVMYW5ndWFnZUxldmVs OiAyCiUlRG9jdW1lbnRNZWRpYTogcGxhaW4gNjEyIDc5MiAwICgpICgpCiUlUGFnZXM6IDEKJSVF bmRDb21tZW50cwolJUJlZ2luRGVmYXVsdHMKJSVQYWdlTWVkaWE6IHBsYWluCiUlRW5kRGVmYXVs dHMKJSVCZWdpblByb2xvZwolJUVuZFByb2xvZwoKUFJFQU1CTEUKCiAgICBlbmQKCgogICAgZGVm IE91dHB1dFByb2xvZ3VlKG91dCA9ICRzdGRvdXQpCgoJb3V0LnB1dHMgIlxuXG5zaG93cGFnZSIK CiAgICBlbmQKCgogICAgZGVmIE91dHB1dFN1YnJvdXRpbmVzKG91dCA9ICRzdGRvdXQpCgoJIyBP dXRwdXQgdGhlIG5lY2Vzc2FyeSBQb3N0c2NyaXB0IHN1YnJvdXRpbmVzIHZpYQoJIyBhIGhlcmUg ZG9jdW1lbnQgLi4uCgoJb3V0LnB1dHMgPDxTVUJST1VUSU5FUwoKJQolIFNldCB0aGUgZm9udHMg dG8gdXNlIC4uLgolCgovTlVNQkVSRk9OVCAvVGltZXNSb21hbiBmaW5kZm9udCA2ICBzY2FsZWZv bnQgZGVmCi9BTlNXRVJGT05UIC9UaW1lc1JvbWFuIGZpbmRmb250IDEyIHNjYWxlZm9udCBkZWYK CgolCiUgR3JpZCBzaXplIC4uLgolCgovR1JJRF9TSVpFICN7U0laRX0gZGVmCgoKJQolIFNpemUg b2Ygc3F1YXJlIC4uLgolCgovU1FVQVJFX1NJWkUgMjIgZGVmCgoKJQolIERlZmluZSB0aGUgdG9w IGxlZnRoYW5kIGNvcm5lciBvZiB0aGUKJSBjcm9zc3dvcmQgZ3JpZCAuLi4KJQoKL0dSSURfVE9Q WCA4LjUgIDcyIG11bCBHUklEX1NJWkUgU1FVQVJFX1NJWkUgMSBhZGQgbXVsIHN1YiAyIGRpdiBk ZWYKL0dSSURfVE9QWSAxMS41IDcyIG11bCBkZWYKCi9DTFVFX1RPUFggR1JJRF9UT1BYIDAgYWRk IGRlZgoKL0NMVUVfVE9QWSAjeyhTSVpFID09IDE1KSA/ICJHUklEX1RPUFkgU1FVQVJFX1NJWkUg R1JJRF9TSVpFIG11bCBzdWIgNSBzdWIiIDogIkdSSURfVE9QWSA3MCBzdWIifSBkZWYKCgolCiUg SG93IGhpZ2ggZWFjaCBsaW5lIG9mIGNsdWUgdGV4dCBpcyAuLi4KJQoKL0NMVUVfSEVJR0hUIDEw IGRlZgoKCiUKJSBEZWZpbmUgdGhlIHdpZHRoIG9mIHRoZSBzcGFjZSB3ZSBoYXZlIGZvcgolIGEg Y29sdW1uIG9mIGNsdWUgdGV4dCAuLi4KJQoKL0NMVUVfV0lEVEggR1JJRF9TSVpFIFNRVUFSRV9T SVpFIDEgYWRkIG11bCAyIGRpdiAyNSBzdWIgZGVmCgoKJQolIFRoZSBzcGFjZSBmcm9tIHRoZSBz dGFydCBvZiB0aGUgY2x1ZSBsaW5lcwolIHRvIHRoZSBjbHVlIHRleHQgLi4uCiUKCi9DTFVFX1NQ QUNJTkcgMTUgZGVmCgoKJQolIEhvdyB0byBvdXRwdXQgdGhlIGFjcm9zcyBoZWFkZXIgLi4uCiUK Ci9BY3Jvc3NIZWFkZXIKewogICAgQ0xVRV9UT1BYIENMVUVfVE9QWSBtb3ZldG8KCiAgICAvVGlt ZXNSb21hbkJvbGQgZmluZGZvbnQgMTIgc2NhbGVmb250IHNldGZvbnQKCiAgICAoQWNyb3NzKSBz aG93Cn0KZGVmCgoKJQolIEhvdyB0byBkcmF3IGEgYmxhY2sgc3F1YXJlCiUKCi9CbGFja1NxdWFy ZQp7CiAgICAlIFN0b3JlIHRoZSBzdGFjayBjb250ZW50czogWCBZCgogICAgU1FVQVJFX1NJWkUg MSBzdWIgbXVsIEdSSURfVE9QWSBleGNoIHN1YiAvdG9wWSBleGNoIGRlZgogICAgU1FVQVJFX1NJ WkUgMSBzdWIgbXVsIEdSSURfVE9QWCBleGNoIGFkZCAvdG9wWCBleGNoIGRlZgoKICAgICUgU3Rh cnQgYSBuZXcgcGF0aCB0byBiZSBzdHJva2VkIG91dCAuLi4KCiAgICBuZXdwYXRoCgogICAgJSBN b3ZlIHRvIHRoZSB0b3AtbGVmdCBjb3JuZXIgYW5kIGRyYXcgYSBzcXVhcmUsCiAgICAlIHVzaW5n IHJlbGF0aXZlIGxpbmV0bydzIC4uLgoKICAgIHRvcFggICAgICAgICAgICAgICAgCXRvcFkgICAg ICAgICAgICAJbW92ZXRvCiAgICBTUVVBUkVfU0laRSAxIHN1YiAgICAgCTAgICAgICAgICAgICAg ICAJcmxpbmV0bwogICAgMCAgICAgICAgICAgICAgICAgICAJU1FVQVJFX1NJWkUgMSBzdWIgbmVn CXJsaW5ldG8KICAgIFNRVUFSRV9TSVpFIDEgc3ViIG5lZwkwICAgICAgICAgICAJCXJsaW5ldG8K ICAgIGNsb3NlcGF0aAoKICAgIGZpbGwKfQpkZWYKCgolCiUgQWRkIGEgd29yZCB0byB0aGUgY3Vy cmVudCBjbHVlIC4uLgolCgovQ2x1ZVdvcmQKewogICAgL1dPUkQgZXhjaCBkZWYKCiAgICAlIENh bGN1bGF0ZSB0aGUgd2lkdGggb2YgdGhpcyB3b3JkLCBwbHVzIGEgY291cGxlCiAgICAlIG9mIHBp eGVscyBmb3Igc3BhY2luZyAuLi4KCiAgICAvV09SRF9XSURUSCBXT1JEIHN0cmluZ3dpZHRoIHBv cCAyIGFkZCBkZWYKICAgIAogICAgJSBXb3JrIG91dCB3aGV0aGVyIHRoZXJlJ3MgZW5vdWdoIHNw YWNlIGxlZnQgb24gdGhlCiAgICAlIGN1cnJlbnQgbGluZSBmb3IgdGhpcyB3b3JkIC4uLgoKICAg IFdPUkRfV0lEVEggQ0xVRV9YIGFkZCBDTFVFX0xFRlRYIHN1YgogICAgQ0xVRV9XSURUSCBndAog ICAgewoJJSBUaGlzIHdvcmQgd29uJ3QgZml0LCBzbyBtb3ZlIHRvIHRoZQoJJSBuZXh0IGxpbmUg Li4uCgoJL0NMVUVfWSBDTFVFX1kgQ0xVRV9IRUlHSFQgc3ViIGRlZgoJL0NMVUVfWCBDTFVFX0xF RlRYIENMVUVfU1BBQ0lORyBhZGQgZGVmCiAgICB9CiAgICBpZgoKICAgIENMVUVfWCBDTFVFX1kg bW92ZXRvIFdPUkQgc2hvdwoKICAgIC9DTFVFX1ggQ0xVRV9YIFdPUkRfV0lEVEggYWRkIGRlZgp9 CmRlZgoKCiUKJSBIb3cgdG8gb3V0cHV0IHRoZSBkb3duIGhlYWRlciAuLi4KJQoKL0Rvd25IZWFk ZXIKewogICAgQ0xVRV9UT1BYIFNRVUFSRV9TSVpFICBHUklEX1NJWkUgbXVsIDIgZGl2IGFkZAog ICAgQ0xVRV9UT1BZCiAgICBtb3ZldG8KCiAgICAvVGltZXNSb21hbkJvbGQgZmluZGZvbnQgMTIg c2NhbGVmb250IHNldGZvbnQKCiAgICAoRG93bikgc2hvdwp9CmRlZgoKCiUKJSBTdGFydCBhIG5l dyBjbHVlIC4uLgolCgovTmV3Q2x1ZQp7CiAgICAvTlVNQkVSIGV4Y2ggZGVmCn0KZGVmCgoKJQol IERyYXcgYSBudW1iZXIsIGluIHRoZSBzcGVjaWZpZWQgd2lkdGggLi4uCiUKCi9OdW1iZXIKewog ICAgMiBzdHJpbmcgY3ZzIHNob3cKfQpkZWYKCgolCiUgU3RhcnQgYSBuZXcgY2x1ZSAuLi4KJQoK L1N0YXJ0Q2x1ZQp7CiAgICAlIFB1bGwgdGhlIGNsdWUgbnVtYmVyIG9mZiB0aGUgc3RhY2sgLi4u CgogICAgL05VTUJFUiBleGNoIGRlZgoKICAgICUgU2V0IHRoZSBYIGNvb3JkaW5hdGUgdG8gdGhl IGN1cnJlbnQKICAgICUgbGVmdCBtYXJnaW4gLi4uCgogICAgL0NMVUVfWCBDTFVFX0xFRlRYIGRl ZgoKICAgICUgTW92ZSBkb3duIGEgbGluZSAuLi4KCiAgICAvQ0xVRV9ZIENMVUVfWSBDTFVFX0hF SUdIVCBzdWIgMiBzdWIgZGVmCgogICAgJSBNb3ZlIHRvIHRoZSBhcHByb3ByaWF0ZSAoWCwgWSkg Li4uCgogICAgQ0xVRV9YIENMVUVfWSBtb3ZldG8KCiAgICAlIE91dHB1dCB0aGUgY2x1ZSBudW1i ZXIgaW4gVGltZSBSb21hbiBCb2xkIDEwIHB0IC4uLgoKICAgIC9UaW1lc1JvbWFuQm9sZCBmaW5k Zm9udCAxMCBzY2FsZWZvbnQgc2V0Zm9udAoKICAgIE5VTUJFUiAyIHN0cmluZyBjdnMgc2hvdwoK ICAgICUgU3RhcnQgdGhlIGNsdWUgdGV4dCBhIGZldyBwaXhlbHMgdG8gdGhlCiAgICAlIHJpZ2h0 IG9mIHRoZSBjbHVlIG51bWJlciBjb2x1bW4gLi4uCgogICAgL0NMVUVfWCBDTFVFX1ggQ0xVRV9T UEFDSU5HIGFkZCBkZWYKCiAgICAlIE1ha2Ugc3VyZSB0aGUgY2x1ZSB0ZXh0IGNvbWVzIG91dCBp biB0aGUgcmlnaHQKICAgICUgZm9udCAuLi4KCiAgICAvVGltZXNSb21hbiBmaW5kZm9udCAxMCBz Y2FsZWZvbnQgc2V0Zm9udAp9CmRlZgoKCiUKJSBTdGFydCB0aGUgYWNyb3NzIGNsdWVzIC4uLgol CgovU3RhcnRBY3Jvc3NDbHVlcwp7CiAgICBDTFVFX1RPUFggU3RhcnRDbHVlTGlzdAp9CmRlZgoK CiUKJSBTZXQgdGhlIG9mZnNldCBmb3IgdGhlIHN0YXJ0IG9mIGNsdWVzIC4uLgolCgovU3RhcnRD bHVlTGlzdAp7CiAgICAvQ0xVRV9MRUZUWCBleGNoIGRlZgoKICAgIENMVUVfVE9QWSAvQ0xVRV9Z IGV4Y2ggZGVmCn0KZGVmCgoKJQolIFN0YXJ0IHRoZSBkb3duIGNsdWVzIC4uLgolCgovU3RhcnRE b3duQ2x1ZXMKewogICAgQ0xVRV9UT1BYIFNRVUFSRV9TSVpFIEdSSURfU0laRSBtdWwgMiBkaXYg YWRkIFN0YXJ0Q2x1ZUxpc3QKfQpkZWYKCgolCiUgRHJhdyB0aGUgY3Jvc3N3b3JkJ3MgdGl0bGUg Li4uCiUKCi9UaXRsZQp7CiAgICAlIFN0b3JlIHRoZSB0aXRsZSAuLi4KCiAgICAvVElUTEUgZXhj aCBkZWYKCiAgICAlIENhbGN1bGF0ZSB0aGUgWCBvZmZzZXQgcmVxdWlyZWQgdG8gY2VudHJlCiAg ICAlIHRoZSB0aXRsZSBhYm92ZSB0aGUgY3Jvc3N3b3JkIC4uLgoKICAgIC9UaW1lc1JvbWFuQm9s ZCBmaW5kZm9udCAxNCBzY2FsZWZvbnQgc2V0Zm9udAoKICAgIFNRVUFSRV9TSVpFIDEgc3ViIEdS SURfU0laRSBtdWwKICAgIFRJVExFIHN0cmluZ3dpZHRoIHBvcCBzdWIKICAgIDIgZGl2CiAgICBH UklEX1RPUFggYWRkCgogICAgR1JJRF9UT1BZIDEyIGFkZAoKICAgIG1vdmV0bwoKICAgIFRJVExF IHNob3cKfQpkZWYKCgolCiUgSG93IHRvIGRyYXcgYSB3aGl0ZSBzcXVhcmUKJQoKL1doaXRlU3F1 YXJlCnsKICAgICUgU3RvcmUgdGhlIHN0YWNrIGNvbnRlbnRzOiBYIFkgTlVNQkVSIEFOU1dFUgoK ICAgIC9BTlNXRVIgZXhjaCBkZWYKICAgIC9OVU1CRVIgZXhjaCBkZWYKCiAgICBTUVVBUkVfU0la RSAxIHN1YiBtdWwgR1JJRF9UT1BZIGV4Y2ggc3ViIC90b3BZIGV4Y2ggZGVmCiAgICBTUVVBUkVf U0laRSAxIHN1YiBtdWwgR1JJRF9UT1BYIGV4Y2ggYWRkIC90b3BYIGV4Y2ggZGVmCgogICAgJSBT dGFydCBhIG5ldyBwYXRoIHRvIGJlIHN0cm9rZWQgb3V0IC4uLgoKICAgIG5ld3BhdGgKCiAgICAl IE1vdmUgdG8gdGhlIHRvcC1sZWZ0IGNvcm5lciBhbmQgZHJhdyBhIHNxdWFyZSwKICAgICUgdXNp bmcgcmVsYXRpdmUgbGluZXRvJ3MgLi4uCgogICAgdG9wWCAgICAgICAgICAgICAgICAJdG9wWSAg ICAgICAgICAgIAltb3ZldG8KICAgIFNRVUFSRV9TSVpFIDEgc3ViICAgICAJMCAgICAgICAgICAg ICAgIAlybGluZXRvCiAgICAwICAgICAgICAgICAgICAgICAgIAlTUVVBUkVfU0laRSAxIHN1YiBu ZWcJcmxpbmV0bwogICAgU1FVQVJFX1NJWkUgMSBzdWIgbmVnCTAgICAgICAgICAgIAkJcmxpbmV0 bwogICAgY2xvc2VwYXRoCgogICAgc3Ryb2tlCgogICAgJSBBZGQgdGhlIGNsdWUgbnVtYmVyIC4u LgoKICAgIE5VTUJFUiAwIGd0CiAgICB7CglOVU1CRVJGT05UIHNldGZvbnQKCgl0b3BYIDIgYWRk IHRvcFkgNiBzdWIgbW92ZXRvIE5VTUJFUiAyIHN0cmluZyBjdnMgc2hvdwogICAgfQogICAgaWYK CiAgICAlIEFkZCB0aGUgYW5zd2VyICh3aGljaCBtYXkgYmUgYmxhbmspIC4uLgoKICAgIEFOU1dF UkZPTlQgc2V0Zm9udAoKICAgIHRvcFggNyBhZGQgdG9wWSAxNiBzdWIgbW92ZXRvIEFOU1dFUiBz aG93Cn0KZGVmCgoKJSBTZXQgdGhlIGxpbmUgd2lkdGggdG8gb25lIHBpeGVsIGFuZCBjb2xvdXIg dG8gYmxhY2sgLi4uCgoxIHNldGxpbmV3aWR0aAowIHNldGNvbG9yCgowLjgwIDAuODAgc2NhbGUK MTIwIDQ1IHRyYW5zbGF0ZQoKU1VCUk9VVElORVMKCiAgICBlbmQKCgogICAgZGVmIE91dHB1dFRp dGxlKG91dCA9ICRzdGRvdXQpCgoJb3V0LnB1dHMgIigje0B0aXRsZX0pIFRpdGxlIgoKICAgIGVu ZAoKCiAgICBkZWYgVGl0bGUKCUB0aXRsZQogICAgZW5kCiAgICAKZW5kCgoKaWYgJDAgPT0gX19G SUxFX18KCiAgICBjcm9zc3dvcmRGaWxlID0gQVJHVlswXQoKICAgIGlmIEFSR1YubGVuZ3RoID4g MQoJYW5zd2VycyA9IEFSR1ZbMV0KICAgIGVsc2UKCWFuc3dlcnMgPSBuaWwKICAgIGVuZAoJCiAg ICBjID0gQ3Jvc3N3b3JkLm5ldyhjcm9zc3dvcmRGaWxlLCBhbnN3ZXJzKQoKICAgIGMuT3V0cHV0 UG9zdHNjcmlwdChhbnN3ZXJzICE9IG5pbCkKCmVuZAoK ----extPart_ST_19_46_05_Monday_December_06_2004_17975--