[Zope-dev] What does DC use to compile Splitter.c on Windows?

Andy McKay andym@ActiveState.com
Thu, 22 Mar 2001 15:29:38 -0800


This is a multi-part message in MIME format.

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Here we go.... maybe

How to:

get Python 1.5.2 source and build it.
get Zope source
put ext15.py somewhere in your path

then call

d:\Python-1.5.2\python d:\Zope-2.3.0-src\ext15.py -p d:\Python-1.5.2

you need to specify the source of your python and you may need to move a few
files within python to get it looking at the right files.

totally untested pyd but Visual Studio 6.0 didnt complain

HTH
--
  Andy McKay.


----- Original Message -----
From: "resefficient..." <resefficient@yahoo.com>
To: <zope-dev@zope.org>
Sent: Thursday, March 22, 2001 1:36 PM
Subject: [Zope-dev] What does DC use to compile Splitter.c on Windows?


> Can someone from DC tell me what they use to come up
> with the binary version of the Splitter on Windoze.  I
> am trying to get the Catalog to recognize "C++" on
> Win32.  I have posted the Splitter.c file to my home
> page http://www.zope.org/Members/jspisak/Splitter
>
>
> Can anyone give me a clue as to how to make a working
> Splitter.pyd out of this file on Windoze.
>
> Thanks in advance!
>
> Jason Spisak
>
>
> __________________________________________________
> Do You Yahoo!?
> Get email at your own domain with Yahoo! Mail.
> http://personal.mail.yahoo.com/
>
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
>

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: application/octet-stream;
	name="Splitter.pyd"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="Splitter.pyd"

TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFt
IGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAADtxFXfqaU7
jKmlO4yppTuMqaU6jI2lO4zLuiiMq6U7jEG6MYyvpTuMQbo/jK+lO4xSaWNo
qaU7jAAAAAAAAAAAAAAAAAAAAABQRQAATAEEABaKujoAAAAAAAAAAOAADiEL
AQYAABAAAAAwAAAAAAAAqxkAAAAQAAAAIAAAAAAAEAAQAAAAEAAABAAAAAAA
AAAEAAAAAAAAAABQAAAAEAAAAAAAAAIAAAAAABAAABAAAAAAEAAAEAAAAAAA
ABAAAADgIwAATAAAAJQgAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AEAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAIAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50
ZXh0AAAAbgoAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEA
ACwEAAAAIAAAABAAAAAgAAAAAAAAAAAAAAAAAABAAABALmRhdGEAAAA4AwAA
ADAAAAAQAAAAMAAAAAAAAAAAAAAAAAAAQAAAwC5yZWxvYwAASAEAAABAAAAA
EAAAAEAAAAAAAAAAAAAAAAAAAEAAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AFaLdCQIi0YIhcB0F4sQSokQi0YIgzgAdQqLSARQ/1EYg8QEi0YMhcB0F4sQ
SokQi0YMgzgAdQqLUARQ/1IYg8QEVv8VJCAAEIPEBF7DkJCQU4tcJAhWV1Mz
9uhhAAAAg8QEagBqAFPotAAAAIPEDIv4hfZ0EYsGSIkGdQqLRgRW/1AYg8QE
hf+L93QOi08EoYggABA7yHUJ68hfXoPI/1vDiwdIiQd1CotXBFf/UhiDxASL
QxhfXkBbw5CQkJCQkFaLdCQIi0YIUP8VeCAAEIPEBIlGEMdGGP////9ew5CQ
oXwgABBoVDIAEIsIUf8VgCAAEIPECDPAw5CQkJCQkJChfCAAEGh0MgAQiwhR
/xWAIAAQg8QIM8DDkJCQkJCQkIPsSItEJExTVVaLcBCLWBRXM/+NTCQYO/OJ
XCQUiUwkEA+DTgEAAIstECAAEIX/fkGAPi11PIsVICAAEEaDOgF+DQ++BmoI
UP/Vg8QI6xGLFRggABAPvg6LAooESIPgCIXAD4QBAQAAO/MPgwEBAADrxA++
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAC0IwAAAAAAAKQjAACCIwAAdiMAAJgjAABcIwAAUiMAAGYjAABKIwAAAAAA
AHYiAACKIgAAmCIAAKwiAAA2IgAAZCIAAFQiAADcIgAA7CIAAP4iAAAWIwAA
KiMAAEYiAAD+IQAAIiIAABIiAADAIQAA8CEAANIhAACIIQAAriEAAJwhAAC8
IgAAeCEAAMwiAAAAAAAAECEAAAAAAAAAAAAAPCMAACwgAADsIAAAAAAAAAAA
AACMIwAACCAAAOQgAAAAAAAAAAAAANAjAAAAIAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAC0IwAAAAAAAKQjAACCIwAAdiMAAJgjAABcIwAAUiMAAGYjAABKIwAA
AAAAAHYiAACKIgAAmCIAAKwiAAA2IgAAZCIAAFQiAADcIgAA7CIAAP4iAAAW
IwAAKiMAAEYiAAD+IQAAIiIAABIiAADAIQAA8CEAANIhAACIIQAAriEAAJwh
AAC8IgAAeCEAAMwiAAAAAAAAQQFQeVN0cmluZ19UeXBlADcBUHlTdHJpbmdf
QXNTdHJpbmcARQBQeUVycl9TZXRTdHJpbmcAbwBQeUV4Y19UeXBlRXJyb3IA
pgFfUHlfTm9uZVN0cnVjdAAAPQFQeVN0cmluZ19Gcm9tU3RyaW5nQW5kU2l6
ZQAANABQeUVycl9DbGVhcgAJAVB5T2JqZWN0X0dldEl0ZW0AAEABUHlTdHJp
bmdfU2l6ZQBgAFB5RXhjX0luZGV4RXJyb3IAAGoBUHlfQnVpbGRWYWx1ZQAA
AFB5QXJnX1BhcnNlAKcAUHlMaXN0X0FwcGVuZAChAFB5SW50X0Zyb21Mb25n
AAAFAVB5T2JqZWN0X0NvbXBhcmUAAKwAUHlMaXN0X05ldwAAAQBQeUFyZ19Q
YXJzZVR1cGxlAAByAVB5X0ZpbmRNZXRob2QAFQFQeU9iamVjdF9TdHIAAJ4B
X1B5T2JqZWN0X05ldwBvAVB5X0ZhdGFsRXJyb3IAPABQeUVycl9PY2N1cnJl
ZAAALQBQeURpY3RfU2V0SXRlbVN0cmluZwAA2ABQeU1vZHVsZV9HZXREaWN0
AACBAVB5X0luaXRNb2R1bGU0AABweXRob24xNS5kbGwAAF4CZnJlZQAA0wJ0
b2xvd2VyAI4BX3BjdHlwZQBhAF9fbWJfY3VyX21heAAAFQFfaXNjdHlwZQAA
kQJtYWxsb2MAAE1TVkNSVC5kbGwAAA8BX2luaXR0ZXJtAJ0AX2FkanVzdF9m
ZGl2AABdAERpc2FibGVUaHJlYWRMaWJyYXJ5Q2FsbHMAS0VSTkVMMzIuZGxs
AAAAAAAAAAAWiro6AAAAABIkAAABAAAAAQAAAAEAAAAIJAAADCQAABAkAACQ
GAAAHyQAAAAAU3BsaXR0ZXIuZGxsAGluaXRTcGxpdHRlcgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAFAQABDgEAAQABEAEJAUABAgFQAQAAAAAAAA
AAAAAAAAUDIAEEAVABAAAAAADDIAEAQyABAwFgAQAQAAALwxABAAAAAAAAAA
AAAAAAAAAAAAAQAAAAAAAAAAAAAAsDEAEBwAAAAAAAAAABAAEAAAAACgFwAQ
AAAAAAAAAAAAAAAAAAAAABAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAACAzABAAAAAAAAAAAAAAAAAAAAAAAAAAALAxABDAFwAQAQAAAHwx
ABAAAAAAAAAAAAAAAAAAAAAAUGFyc2Ugc291cmNlIHN0cmluZ3MgaW50byBz
ZXF1ZW5jZXMgb2Ygd29yZHMKCmZvciB1c2UgaW4gYW4gaW52ZXJ0ZWQgaW5k
ZXgKCiRJZDogU3BsaXR0ZXIuYyx2IDEuMTIuMzYuMSAyMDAwLzA5LzEzIDE0
OjUzOjMwIGJyaWFuIEV4cCAkCgAAAABTcGxpdHRlcihkb2NbLHN5bnN0b3Bd
KSAtLSBSZXR1cm4gYSB3b3JkIHNwbGl0dGVyAAAAU3BsaXR0ZXIAAAAAaW5k
ZXhlcyh3b3JkKSAtLSBSZXR1cm4gYWwgbGlzdCBvZiB0aGUgaW5kZXhlcyBv
ZiB3b3JkIGluIHRoZSBzZXF1ZW5jZQAAaW5kZXhlcwBwb3MoaW5kZXgpIC0t
IFJldHVybiB0aGUgc3RhcnRpbmcgYW5kIGVuZGluZyBwb3NpdGlvbiBvZiBh
IHRva2VuAAAAAHBvcwBDYW5ub3QgY29uY2F0ZW5hdGUgU3BsaXR0ZXJzLgAA
AENhbm5vdCByZXBlYXQgU3BsaXR0ZXJzLgAAAABTcGxpdHRlciBpbmRleCBv
dXQgb2YgcmFuZ2UAQ2Fubm90IHNsaWNlIFNwbGl0dGVycy4AKGlpKQAAAABp
AAAATwAAAE98TwBjYW4ndCBpbml0aWFsaXplIG1vZHVsZSBTcGxpdHRlcgAA
AABfX3ZlcnNpb25fXwAkUmV2aXNpb246IDEuMTIuMzYuMSAkAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAQAADQAAAARDCQMMsw4TDmMO8wATEGMQ8xSTFYMXExmDGeMcIxADIr
MhUzIzMzM3czmzOhM7czvDPYMww0IjRfNHA03DQANQU1DjUhNSY1LzVONVU1
pjXXNeo18DUPNhQ2HTY/Nkw2YTbLNt827TYZN6s3sTfRN+A37zf2N/w3Ajgz
OEQ4bjiaOJ84pDiqOLE4uDjKONA41jjdOOY48Tj3OAo5EjkYOSM5MDk4OUY5
SzlQOVU5YDltOXc5jDmYOZ45wDnSOS46SjpXOmQ6AAAAMAAAMAAAABAwFDAY
MBwwIDAwMDQwPDBAMEQwTDBsMHgwgDCUMLgw0DDUMNwwAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAA=

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: application/octet-stream;
	name="Splitter.def"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="Splitter.def"

EXPORTS
	initSplitter

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: application/octet-stream;
	name="Splitter.mak"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="Splitter.mak"

# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00=0D
# ** DO NOT EDIT **=0D
=0D
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102=0D
=0D
!IF "$(CFG)" =3D=3D ""=0D
CFG=3DSplitter - Win32 Debug=0D
!MESSAGE No configuration specified.  Defaulting to Splitter - Win32 Debug.=
=0D
!ENDIF =0D
=0D
!IF "$(CFG)" !=3D "Splitter - Win32 Release" && "$(CFG)" !=3D\=0D
 "Splitter - Win32 Debug"=0D
!MESSAGE Invalid configuration "$(CFG)" specified.=0D
!MESSAGE You can specify a configuration when running NMAKE on this makefil=
e=0D
!MESSAGE by defining the macro CFG on the command line.  For example:=0D
!MESSAGE =0D
!MESSAGE NMAKE /f "Splitter.mak" CFG=3D"Splitter - Win32 Debug"=0D
!MESSAGE =0D
!MESSAGE Possible choices for configuration are:=0D
!MESSAGE =0D
!MESSAGE "Splitter - Win32 Release" (based on\=0D
 "Win32 (x86) Dynamic-Link Library")=0D
!MESSAGE "Splitter - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Libra=
ry")=0D
!MESSAGE =0D
!ERROR An invalid configuration is specified.=0D
!ENDIF =0D
=0D
!IF "$(OS)" =3D=3D "Windows_NT"=0D
NULL=3D=0D
!ELSE =0D
NULL=3Dnul=0D
!ENDIF =0D
###########################################################################=
#####=0D
# Begin Project=0D
# PROP Target_Last_Scanned "Splitter - Win32 Debug"=0D
CPP=3Dcl.exe=0D
RSC=3Drc.exe=0D
MTL=3Dmktyplib.exe=0D
=0D
!IF  "$(CFG)" =3D=3D "Splitter - Win32 Release"=0D
=0D
# PROP BASE Use_MFC 0=0D
# PROP BASE Use_Debug_Libraries 0=0D
# PROP BASE Output_Dir "Release"=0D
# PROP BASE Intermediate_Dir "Release"=0D
# PROP BASE Target_Dir ""=0D
# PROP Use_MFC 0=0D
# PROP Use_Debug_Libraries 0=0D
# PROP Output_Dir "Release"=0D
# PROP Intermediate_Dir "Release"=0D
# PROP Target_Dir ""=0D
OUTDIR=3D.\Release=0D
INTDIR=3D.\Release=0D
=0D
ALL : "$(OUTDIR)\Splitter.dll"=0D
=0D
CLEAN : =0D
	-@erase ".\Release\Splitter.dll"=0D
	-@erase ".\Release\Splitter.obj"=0D
	-@erase ".\Release\Splitter.lib"=0D
	-@erase ".\Release\Splitter.exp"=0D
	-@erase ".\Release\Splitter.pch"=0D
=0D
"$(OUTDIR)" :=0D
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"=0D
=0D
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"=
 /YX /c=0D
# ADD CPP /nologo /MD /W3 /GX /O2 /I "d:\Python-1.5.2\Include" /I "d:\Pytho=
n-1.5.2\PC"  /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c=0D
CPP_PROJ=3D/nologo /MD /W3 /GX /O2 /I "d:\Python-1.5.2\Include" /I "d:\Pyth=
on-1.5.2\PC"  /D "WIN32" /D\=0D
 "NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Splitter.pch" /YX /Fo"$(INTDIR)/" /c =
=0D
CPP_OBJS=3D.\Release/=0D
CPP_SBRS=3D=0D
# ADD BASE MTL /nologo /D "NDEBUG" /win32=0D
# ADD MTL /nologo /D "NDEBUG" /win32=0D
MTL_PROJ=3D/nologo /D "NDEBUG" /win32 =0D
# ADD BASE RSC /l 0x409 /d "NDEBUG"=0D
# ADD RSC /l 0x409 /d "NDEBUG"=0D
BSC32=3Dbscmake.exe=0D
# ADD BASE BSC32 /nologo=0D
# ADD BSC32 /nologo=0D
BSC32_FLAGS=3D/nologo /o"$(OUTDIR)/Splitter.bsc" =0D
BSC32_SBRS=3D=0D
LINK32=3Dlink.exe=0D
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l=
ib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbc=
cp32.lib /nologo /subsystem:windows /dll /machine:I386=0D
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib ad=
vapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.=
lib /nologo /subsystem:windows /dll /machine:I386=0D
LINK32_FLAGS=3Dkernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\=
=0D
 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\=0D
 odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\=0D
 /pdb:"$(OUTDIR)/Splitter.pdb" /machine:I386 /def:".\Splitter.def"\=0D
 /out:"$(OUTDIR)/Splitter.dll" /implib:"$(OUTDIR)/Splitter.lib" =0D
DEF_FILE=3D \=0D
	".\Splitter.def"=0D
LINK32_OBJS=3D \=0D
	"$(INTDIR)/Splitter.obj" \=0D
	"d:\Python-1.5.2\pcbuild\Release\python15.lib"=0D
=0D
"$(OUTDIR)\Splitter.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)=0D
    $(LINK32) @<<=0D
  $(LINK32_FLAGS) $(LINK32_OBJS)=0D
<<=0D
=0D
!ELSEIF  "$(CFG)" =3D=3D "Splitter - Win32 Debug"=0D
=0D
# PROP BASE Use_MFC 0=0D
# PROP BASE Use_Debug_Libraries 1=0D
# PROP BASE Output_Dir "Debug"=0D
# PROP BASE Intermediate_Dir "Debug"=0D
# PROP BASE Target_Dir ""=0D
# PROP Use_MFC 0=0D
# PROP Use_Debug_Libraries 1=0D
# PROP Output_Dir "Debug"=0D
# PROP Intermediate_Dir "Debug"=0D
# PROP Target_Dir ""=0D
OUTDIR=3D.\Debug=0D
INTDIR=3D.\Debug=0D
=0D
ALL : "$(OUTDIR)\Splitter.dll"=0D
=0D
CLEAN : =0D
	-@erase ".\Debug\Splitter.dll"=0D
	-@erase ".\Debug\Splitter.obj"=0D
	-@erase ".\Debug\Splitter.ilk"=0D
	-@erase ".\Debug\Splitter.lib"=0D
	-@erase ".\Debug\Splitter.exp"=0D
	-@erase ".\Debug\Splitter.pdb"=0D
	-@erase ".\Debug\Splitter.pch"=0D
	-@erase ".\Debug\pcbuild.pdb"=0D
	-@erase ".\Debug\pcbuild.idb"=0D
=0D
"$(OUTDIR)" :=0D
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"=0D
=0D
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "=
_WINDOWS" /YX /c=0D
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "d:\Python-1.5.2\Include" /I =
"d:\Python-1.5.2\PC"  /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c=0D
CPP_PROJ=3D/nologo /MDd /W3 /Gm /GX /Zi /Od /I "d:\Python-1.5.2\Include" /I=
 "d:\Python-1.5.2\PC"  /D "WIN32"\=0D
 /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/Splitter.pch" /YX /Fo"$(INTDIR)/"\=
=0D
 /Fd"$(INTDIR)/" /c =0D
CPP_OBJS=3D.\Debug/=0D
CPP_SBRS=3D=0D
# ADD BASE MTL /nologo /D "_DEBUG" /win32=0D
# ADD MTL /nologo /D "_DEBUG" /win32=0D
MTL_PROJ=3D/nologo /D "_DEBUG" /win32 =0D
# ADD BASE RSC /l 0x409 /d "_DEBUG"=0D
# ADD RSC /l 0x409 /d "_DEBUG"=0D
BSC32=3Dbscmake.exe=0D
# ADD BASE BSC32 /nologo=0D
# ADD BSC32 /nologo=0D
BSC32_FLAGS=3D/nologo /o"$(OUTDIR)/Splitter.bsc" =0D
BSC32_SBRS=3D=0D
LINK32=3Dlink.exe=0D
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l=
ib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbc=
cp32.lib /nologo /subsystem:windows /dll /debug /machine:I386=0D
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib ad=
vapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.=
lib /nologo /subsystem:windows /dll /debug /machine:I386=0D
LINK32_FLAGS=3Dkernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\=
=0D
 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\=0D
 odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\=0D
 /pdb:"$(OUTDIR)/Splitter.pdb" /debug /machine:I386 /def:".\Splitter.def"\=
=0D
 /out:"$(OUTDIR)/Splitter.dll" /implib:"$(OUTDIR)/Splitter.lib" =0D
DEF_FILE=3D \=0D
	".\Splitter.def"=0D
LINK32_OBJS=3D \=0D
	"$(INTDIR)/Splitter.obj" \=0D
	"d:\Python-1.5.2\pcbuild\Release\python15.lib"=0D
=0D
"$(OUTDIR)\Splitter.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)=0D
    $(LINK32) @<<=0D
  $(LINK32_FLAGS) $(LINK32_OBJS)=0D
<<=0D
=0D
!ENDIF =0D
=0D
.c{$(CPP_OBJS)}.obj:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
.cpp{$(CPP_OBJS)}.obj:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
.cxx{$(CPP_OBJS)}.obj:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
.c{$(CPP_SBRS)}.sbr:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
.cpp{$(CPP_SBRS)}.sbr:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
.cxx{$(CPP_SBRS)}.sbr:=0D
   $(CPP) $(CPP_PROJ) $<  =0D
=0D
###########################################################################=
#####=0D
# Begin Target=0D
=0D
# Name "Splitter - Win32 Release"=0D
# Name "Splitter - Win32 Debug"=0D
=0D
!IF  "$(CFG)" =3D=3D "Splitter - Win32 Release"=0D
=0D
!ELSEIF  "$(CFG)" =3D=3D "Splitter - Win32 Debug"=0D
=0D
!ENDIF =0D
=0D
###########################################################################=
#####=0D
# Begin Source File=0D
=0D
SOURCE=3D.\Splitter.c=0D
DEP_CPP_MOD=3D\=0D
	"d:\Python-1.5.2\Include\Python.h"\=0D
	"d:\Python-1.5.2\PC\config.h"\=0D
	"d:\Python-1.5.2\Include\myproto.h"\=0D
	"d:\Python-1.5.2\Include\object.h"\=0D
	"d:\Python-1.5.2\Include\objimpl.h"\=0D
	"d:\Python-1.5.2\Include\pydebug.h"\=0D
	"d:\Python-1.5.2\Include\intobject.h"\=0D
	"d:\Python-1.5.2\Include\longobject.h"\=0D
	"d:\Python-1.5.2\Include\floatobject.h"\=0D
	"d:\Python-1.5.2\Include\complexobject.h"\=0D
	"d:\Python-1.5.2\Include\rangeobject.h"\=0D
	"d:\Python-1.5.2\Include\stringobject.h"\=0D
	"d:\Python-1.5.2\Include\tupleobject.h"\=0D
	"d:\Python-1.5.2\Include\listobject.h"\=0D
	"d:\Python-1.5.2\Include\methodobject.h"\=0D
	"d:\Python-1.5.2\Include\moduleobject.h"\=0D
	"d:\Python-1.5.2\Include\funcobject.h"\=0D
	"d:\Python-1.5.2\Include\classobject.h"\=0D
	"d:\Python-1.5.2\Include\fileobject.h"\=0D
	"d:\Python-1.5.2\Include\cobject.h"\=0D
	"d:\Python-1.5.2\Include\traceback.h"\=0D
	"d:\Python-1.5.2\Include\sliceobject.h"\=0D
	"d:\Python-1.5.2\Include\pyerrors.h"\=0D
	"d:\Python-1.5.2\Include\mymalloc.h"\=0D
	"d:\Python-1.5.2\Include\modsupport.h"\=0D
	"d:\Python-1.5.2\Include\ceval.h"\=0D
	"d:\Python-1.5.2\Include\pythonrun.h"\=0D
	"d:\Python-1.5.2\Include\sysmodule.h"\=0D
	"d:\Python-1.5.2\Include\intrcheck.h"\=0D
	"d:\Python-1.5.2\Include\import.h"\=0D
	"d:\Python-1.5.2\Include\abstract.h"\=0D
	"d:\Python-1.5.2\Include\rename2.h"\=0D
	"d:\Python-1.5.2\Include\thread.h"\=0D
	=0D
=0D
"$(INTDIR)\Splitter.obj" : $(SOURCE) $(DEP_CPP_MOD) "$(INTDIR)"=0D
=0D
=0D
# End Source File=0D
###########################################################################=
#####=0D
# Begin Source File=0D
=0D
SOURCE=3D.\Splitter.def=0D
=0D
!IF  "$(CFG)" =3D=3D "Splitter - Win32 Release"=0D
=0D
!ELSEIF  "$(CFG)" =3D=3D "Splitter - Win32 Debug"=0D
=0D
!ENDIF =0D
=0D
# End Source File=0D
###########################################################################=
#####=0D
# Begin Source File=0D
=0D
SOURCE=3Dd:\Python-1.5.2\pcbuild\Release\python15.lib=0D
=0D
!IF  "$(CFG)" =3D=3D "Splitter - Win32 Release"=0D
=0D
!ELSEIF  "$(CFG)" =3D=3D "Splitter - Win32 Debug"=0D
=0D
!ENDIF =0D
=0D
# End Source File=0D
###########################################################################=
#####=0D
# Begin Source File=0D
=0D
SOURCE=3D.\readme.txt=0D
=0D
!IF  "$(CFG)" =3D=3D "Splitter - Win32 Release"=0D
=0D
!ELSEIF  "$(CFG)" =3D=3D "Splitter - Win32 Debug"=0D
=0D
!ENDIF =0D
=0D
# End Source File=0D
# End Target=0D
# End Project=0D
###########################################################################=
#####=0D

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: application/octet-stream;
	name="Splitter.c"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="Splitter.c"

/**************************************************************************=
***
=20=20
  Zope Public License (ZPL) Version 1.0
  -------------------------------------
=20=20
  Copyright (c) Digital Creations.  All rights reserved.
=20=20
  This license has been certified as Open Source(tm).
=20=20
  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions are
  met:
=20=20
  1. Redistributions in source code must retain the above copyright
     notice, this list of conditions, and the following disclaimer.
=20=20
  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions, and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.
=20=20
  3. Digital Creations requests that attribution be given to Zope
     in any manner possible. Zope includes a "Powered by Zope"
     button that is installed by default. While it is not a license
     violation to remove this button, it is requested that the
     attribution remain. A significant investment has been put
     into Zope, and this effort will continue if the Zope community
     continues to grow. This is one way to assure that growth.
=20=20
  4. All advertising materials and documentation mentioning
     features derived from or use of this software must display
     the following acknowledgement:

       "This product includes software developed by Digital Creations
       for use in the Z Object Publishing Environment
       (http://www.zope.org/)."
=20=20
     In the event that the product being advertised includes an
     intact Zope distribution (with copyright and license included)
     then this clause is waived.
=20=20
  5. Names associated with Zope or Digital Creations must not be used to
     endorse or promote products derived from this software without
     prior written permission from Digital Creations.
=20=20
  6. Modified redistributions of any form whatsoever must retain
     the following acknowledgment:
=20=20
       "This product includes software developed by Digital Creations
       for use in the Z Object Publishing Environment
       (http://www.zope.org/)."
=20=20
     Intact (re-)distributions of any official Zope release do not
     require an external acknowledgement.
=20=20
  7. Modifications are encouraged but must be packaged separately as
     patches to official Zope releases.  Distributions that do not
     clearly separate the patches from the original work must be clearly
     labeled as unofficial distributions.  Modifications which do not
     carry the name Zope may be packaged in any form, as long as they
     conform to all of the clauses above.
=20=20
=20=20
  Disclaimer
=20=20
    THIS SOFTWARE IS PROVIDED BY DIGITAL CREATIONS ``AS IS'' AND ANY
    EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL DIGITAL CREATIONS OR ITS
    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    SUCH DAMAGE.


  This software consists of contributions made by Digital Creations and
  many individuals on behalf of Digital Creations.  Specific
  attributions are listed in the accompanying credits file.

 **************************************************************************=
**/
#include "Python.h"
#include <ctype.h>

#define ASSIGN(V,E) {PyObject *__e; __e=3D(E); Py_XDECREF(V); (V)=3D__e;}
#define UNLESS(E) if(!(E))
#define UNLESS_ASSIGN(V,E) ASSIGN(V,E) UNLESS(V)

static PyObject *next_word();

typedef struct
{
    PyObject_HEAD
    PyObject *text, *synstop;
    char *here, *end;
    int index;
} Splitter;

static void
Splitter_reset(Splitter *self)
{
    self->here =3D PyString_AsString(self->text);
    self->index =3D -1;
}

static void
Splitter_dealloc(Splitter *self)
{
    Py_XDECREF(self->text);
    Py_XDECREF(self->synstop);
    PyMem_DEL(self);
}

static int
Splitter_length(Splitter *self)
{
    PyObject *res=3D0;

    Splitter_reset(self);
    while(1)
      {
	UNLESS_ASSIGN(res,next_word(self,NULL,NULL)) return -1;
	UNLESS(PyString_Check(res))
	  {
	    Py_DECREF(res);
	    break;
	  }
      }
    return self->index+1;
}

static PyObject *
Splitter_concat(Splitter *self, PyObject *other)
{
    PyErr_SetString(PyExc_TypeError, "Cannot concatenate Splitters.");
    return NULL;
}

static PyObject *
Splitter_repeat(Splitter *self, long n)
{
    PyErr_SetString(PyExc_TypeError, "Cannot repeat Splitters.");
    return NULL;
}

/*
  Map an input word to an output word by applying standard
  filtering/mapping words, including synonyms/stop words.

  Input is a word.

  Output is:

     None -- The word is a stop word

     sometext -- A replacement for the word
 */
static PyObject *
check_synstop(Splitter *self, PyObject *word)
{
    PyObject *value;
    char *cword;
    int len;

    cword =3D PyString_AsString(word);
    len =3D PyString_Size(word) - 1;

    len =3D PyString_Size(word);
    /*if(len < 2)	 Single-letter words are stop words!
    {
      Py_INCREF(Py_None);
      return Py_None;
    }     */

    /*************************************************************
      Test whether a word has any letters.                       */

    for (; --len >=3D 0 && ! isalpha((unsigned char)cword[len]); );
    /*if (len < 0)
    {
        Py_INCREF(Py_None);
        return Py_None;
    }

     * If no letters, treat it as a stop word.
     *************************************************************/

    Py_INCREF(word);

    if (self->synstop =3D=3D NULL) return word;

    while ((value =3D PyObject_GetItem(self->synstop, word)) &&
	   PyString_Check(value))
    {
        ASSIGN(word,value);
	if(len++ > 100) break;	/* Avoid infinite recurssion */
    }

    if (value =3D=3D NULL)
    {
        PyErr_Clear();
        return word;
    }

    return value;		/* Which must be None! */
}

#define MAX_WORD 64		/* Words longer than MAX_WORD are stemmed */

static PyObject *
next_word(Splitter *self, char **startpos, char **endpos)
{
  char wbuf[MAX_WORD];
  char *end, *here, *b;
  int i =3D 0, c;
  PyObject *pyword, *res;

  here=3Dself->here;
  end=3Dself->end;
  b=3Dwbuf;
  while (here < end)
    {
      /* skip hyphens */
      if ((i > 0) && (*here =3D=3D '-'))
        {
	  here++;
	  while (isspace(*here) && (here < end)) here++;
	  continue;
	}

      c=3Dtolower(*here);

      /* Check to see if this character is part of a word */
      if(isalnum((unsigned char)c) || c=3D=3D'/')
        { /* Found a word character */
	  if(startpos && i=3D=3D0) *startpos=3Dhere;
	  if(i++ < MAX_WORD) *b++ =3D c;
        }
      else if (i !=3D 0)
        { /* We've found the end of a word */
	  if(i >=3D MAX_WORD) i=3DMAX_WORD; /* "stem" the long word */

	  UNLESS(pyword =3D PyString_FromStringAndSize(wbuf, i))
            {
	      self->here=3Dhere;
	      return NULL;
	    }

	  UNLESS(res =3D check_synstop(self, pyword))
            {
	      self->here=3Dhere;
	      Py_DECREF(pyword);
	      return NULL;
	    }

	  if (res !=3D Py_None)
            {
	      if(endpos) *endpos=3Dhere;
	      self->here=3Dhere;
	      Py_DECREF(pyword);
	      self->index++;
	      return res;
	    }

	  /* The word is a stopword, so ignore it */

	  Py_DECREF(res);
	  Py_DECREF(pyword);
	  i =3D 0;
	  b=3Dwbuf;
        }

      here++;
    }

  self->here=3Dhere;

  /* We've reached the end of the string */

  if(i >=3D MAX_WORD) i=3DMAX_WORD; /* "stem" the long word */
  if (i =3D=3D 0)
    {
      /* No words */
      self->here=3Dhere;
      Py_INCREF(Py_None);
      return Py_None;
    }

  UNLESS(pyword =3D PyString_FromStringAndSize(wbuf, i)) return NULL;

  if(endpos) *endpos=3Dhere;
  res =3D check_synstop(self, pyword);
  Py_DECREF(pyword);
  if(PyString_Check(res)) self->index++;
  return res;
}

static PyObject *
Splitter_item(Splitter *self, int i)
{
    PyObject *word =3D NULL;

    if (i <=3D self->index) Splitter_reset(self);

    while(self->index < i)
    {
        Py_XDECREF(word);

        UNLESS(word =3D next_word(self,NULL,NULL)) return NULL;
        if (word =3D=3D Py_None)
        {
            Py_DECREF(word);
            PyErr_SetString(PyExc_IndexError,
			    "Splitter index out of range");
            return NULL;
        }
    }

    return word;
}

static PyObject *
Splitter_slice(Splitter *self, int i, int j)
{
    PyErr_SetString(PyExc_TypeError, "Cannot slice Splitters.");
    return NULL;
}

static PySequenceMethods Splitter_as_sequence =3D {
    (inquiry)Splitter_length,        /*sq_length*/
    (binaryfunc)Splitter_concat,     /*sq_concat*/
    (intargfunc)Splitter_repeat,     /*sq_repeat*/
    (intargfunc)Splitter_item,       /*sq_item*/
    (intintargfunc)Splitter_slice,   /*sq_slice*/
    (intobjargproc)0,                    /*sq_ass_item*/
    (intintobjargproc)0,                 /*sq_ass_slice*/
};

static PyObject *
Splitter_pos(Splitter *self, PyObject *args)
{
    char *start, *end, *ctext;
    PyObject *res;
    int i;

    UNLESS(PyArg_Parse(args, "i", &i)) return NULL;

    if (i <=3D self->index) Splitter_reset(self);

    while(self->index < i)
    {
	UNLESS(res=3Dnext_word(self, &start, &end)) return NULL;
	if(PyString_Check(res))
	  {
            self->index++;
	    Py_DECREF(res);
	    continue;
	  }
	Py_DECREF(res);
	PyErr_SetString(PyExc_IndexError, "Splitter index out of range");
	return NULL;
    }

    ctext=3DPyString_AsString(self->text);
    return Py_BuildValue("(ii)", start - ctext, end - ctext);
}

static PyObject *
Splitter_indexes(Splitter *self, PyObject *args)
{
  PyObject *word, *r, *w=3D0, *index=3D0;
  int i=3D0;

  UNLESS(PyArg_ParseTuple(args,"O",&word)) return NULL;
  UNLESS(r=3DPyList_New(0)) return NULL;
  UNLESS(word=3Dcheck_synstop(self, word)) goto err;

  Splitter_reset(self);
  while(1)
    {
      UNLESS_ASSIGN(w,next_word(self, NULL, NULL)) goto err;
      UNLESS(PyString_Check(w)) break;
      if(PyObject_Compare(word,w)=3D=3D0)
	{
	  UNLESS_ASSIGN(index,PyInt_FromLong(i)) goto err;
	  if(PyList_Append(r,index) < 0) goto err;
	}
      i++;
    }
  Py_XDECREF(w);
  Py_XDECREF(index);
  return r;

err:
  Py_DECREF(r);
  Py_XDECREF(index);
  return NULL;
}

static struct PyMethodDef Splitter_methods[] =3D {
    { "pos", (PyCFunction)Splitter_pos, 0,
      "pos(index) -- Return the starting and ending position of a token" },
    { "indexes", (PyCFunction)Splitter_indexes, METH_VARARGS,
      "indexes(word) -- Return al list of the indexes of word in the sequen=
ce",
    },
    { NULL, NULL }		/* sentinel */
};

static PyObject *
Splitter_getattr(Splitter *self, char *name)
{
    return Py_FindMethod(Splitter_methods, (PyObject *)self, name);
}

static char SplitterType__doc__[] =3D "";

static PyTypeObject SplitterType =3D {
    PyObject_HEAD_INIT(NULL)
    0,                                 /*ob_size*/
    "Splitter",                    /*tp_name*/
    sizeof(Splitter),              /*tp_basicsize*/
    0,                                 /*tp_itemsize*/
    /* methods */
    (destructor)Splitter_dealloc,  /*tp_dealloc*/
    (printfunc)0,                      /*tp_print*/
    (getattrfunc)Splitter_getattr, /*tp_getattr*/
    (setattrfunc)0,                    /*tp_setattr*/
    (cmpfunc)0,                        /*tp_compare*/
    (reprfunc)0,                       /*tp_repr*/
    0,                                 /*tp_as_number*/
    &Splitter_as_sequence,         /*tp_as_sequence*/
    0,                                 /*tp_as_mapping*/
    (hashfunc)0,                       /*tp_hash*/
    (ternaryfunc)0,                    /*tp_call*/
    (reprfunc)0,                       /*tp_str*/

    /* Space for future expansion */
    0L,0L,0L,0L,
    SplitterType__doc__ /* Documentation string */
};

static PyObject *
get_Splitter(PyObject *modinfo, PyObject *args)
{
    Splitter *self;
    PyObject *doc, *synstop =3D NULL;

    UNLESS(PyArg_ParseTuple(args,"O|O",&doc,&synstop)) return NULL;

    UNLESS(self =3D PyObject_NEW(Splitter, &SplitterType)) return NULL;

    if(synstop)
      {
	self->synstop=3Dsynstop;
	Py_INCREF(synstop);
      }
    else self->synstop=3DNULL;

    UNLESS(self->text =3D PyObject_Str(doc)) goto err;
    UNLESS(self->here=3DPyString_AsString(self->text)) goto err;
    self->end =3D self->here + PyString_Size(self->text);
    self->index =3D -1;
    return (PyObject*)self;
err:
    Py_DECREF(self);
    return NULL;
}

static struct PyMethodDef Splitter_module_methods[] =3D {
    { "Splitter", (PyCFunction)get_Splitter, METH_VARARGS,
      "Splitter(doc[,synstop]) -- Return a word splitter" },
    { NULL, NULL }
};

static char Splitter_module_documentation[] =3D
"Parse source strings into sequences of words\n"
"\n"
"for use in an inverted index\n"
"\n"
"$Id: Splitter.c,v 1.12.36.1 2000/09/13 14:53:30 brian Exp $\n"
;


void
initSplitter()
{
  PyObject *m, *d;
  char *rev=3D"$Revision: 1.12.36.1 $";
=20=20
  /* Create the module and add the functions */
  m =3D Py_InitModule4("Splitter", Splitter_module_methods,
                     Splitter_module_documentation,
                     (PyObject*)NULL,PYTHON_API_VERSION);
=20=20
  /* Add some symbolic constants to the module */
  d =3D PyModule_GetDict(m);
  PyDict_SetItemString(d, "__version__",
		       PyString_FromStringAndSize(rev+11,strlen(rev+11)-2));

  if (PyErr_Occurred()) Py_FatalError("can't initialize module Splitter");
}

------=_NextPart_000_004F_01C0B2E4.E8337D30
Content-Type: text/plain;
	name="ext15.py"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="ext15.py"

=0D=0D
'''Build t Python extension using Visual C++ 40=0D=0D
=0D=0D
This script generates and runs a series of .mak and .def=0D=0D
files for extensions defined in a Setup file.=0D=0D
=0D=0D
Note that you must have set up your environment to run VC command-line=0D=
=0D
ustilities.  This can be done by running the vcvar32.bat file in the=0D=0D
VC++ bin directory.=0D=0D
=0D=0D
Usage: python ext.py [options]=0D=0D
=0D=0D
Options:=0D=0D
=0D=0D
   -r     Run nmake to build release version=0D=0D
   -d     Run nmake to build debug version=0D=0D
   -c     If used with -r or -d, runs nmake on clean target.=0D=0D
   -p     Specify location of Python source tree.  Default=0D=0D
          is ..\.. (assuming you are in Extensions/some_name)=0D=0D
=0D=0D
The script reads a file named "Setup" in the current directory.  The=0D=0D
Setup file has lines that describe the contents of an extension.=0D=0D
Here\'s an example:=0D=0D
=0D=0D
  ExtensionClass ExtensionClass.c=0D=0D
  Acquisition Acquisition.c=0D=0D
=0D=0D
Note that I\'ve intented for readability.  The Setup file shouldn\'t=0D=0D
be indented.  Basically, the first token on the line is the module=0D=0D
name, and the second token on the line is the sorce file. Additional=0D=0D
source files and include directories may be included as well, as in:=0D=0D
=0D=0D
  pyexpat pyexpat.c -DXML_NS -Iexpat/xmlparse -Iexpat/xmltok expat/xmlparse=
/xmlparse.c expat/xmlparse/hashtable.c expat/xmltok/xmlrole.c expat/xmltok/=
xmltok.c=0D=0D
=0D=0D
=0D=0D
''' # '=0D=0D
=0D=0D
import sys, getopt, os, string, regex=0D=0D
=0D=0D
def die(m):=0D=0D
	print m=0D=0D
	print=0D=0D
	print __doc__=0D=0D
	sys.exit(1)=0D=0D
=0D=0D
def setup():=0D=0D
=0D=0D
    poptlist,pargs=3Dgetopt.getopt(sys.argv[1:],'p:drcI:o:h')=0D=0D
    if opt(poptlist,'h'): print __doc__=0D=0D
    if poptlist=3D=3D[('-h','')]: sys.exit(0)=0D=0D
=0D=0D
    pargs and die('Unrecognized arguments: %s', string.join(args))=0D=0D
=0D=0D
    ext_regex =3D regex.compile('\([a-z][a-z0-9_]*\)[ \t]'=0D=0D
                              '\([.a-z][./a-z0-9_]*[.]c\)[ \t\n]',=0D=0D
                              regex.casefold)=0D=0D
            =0D=0D
    for line in open('Setup').readlines():=0D=0D
	    =0D=0D
        if ext_regex.match(line) >=3D 0:=0D=0D
	    sargs=3Dstring.split(line)=0D=0D
	    module=3Dsargs[0]=0D=0D
            src=3Dsargs[1]=0D=0D
            if src[:2]=3D=3D'./': continue=0D=0D
	    soptlist, sargs =3D getopt.getopt(sargs[2:],'I:D:')=0D=0D
=0D=0D
	    filter(lambda a: a[:1]=3D=3D'-' or string.find(a,'.') < 0,=0D=0D
		   sargs) and die('Invalid arguments in Setup file: %s' %=0D=0D
				  string.join(sargs))=0D=0D
=0D=0D
            sargs=3Dmap(lambda a: string.replace(a, '/','\\'), sargs)=0D=0D
            simple(module,poptlist+soptlist, sargs)=0D=0D
	    =0D=0D
=0D=0D
main=3Dsetup=0D=0D
=0D=0D
def filebase(o,=0D=0D
             splitext=3Dos.path.splitext,=0D=0D
             split=3Dos.path.split):=0D=0D
        return splitext(split(o)[1])[0]=0D=0D
=0D=0D
=0D=0D
=0D=0D
def simple(module,optlist,others):=0D=0D
    tdef,tmak=3Dtemplates()=0D=0D
=0D=0D
    pyhome=3Dopt(optlist,'p')=0D=0D
    pyhome=3Dpyhome and pyhome[0] or '..\\..'=0D=0D
    cfg=3Dopt(optlist,'d') and 'Debug' or 'Release'=0D=0D
    parms=3D{'module': module, 'pyhome':pyhome, 'cfg': cfg}=0D=0D
    parms['includes']=3Dstring.join(=0D=0D
	map(lambda i: '/I "%s"' % i,=0D=0D
	    opt(optlist,'I')) +=0D=0D
	map(lambda i: '/D "%s"' % i,=0D=0D
	    opt(optlist,'D'))=0D=0D
	, ' ') =0D=0D
    parms['other_clean_release']=3Dstring.join(=0D=0D
	map(lambda o:=0D=0D
	    '\n\t-@erase ".\\Release\\%s.obj"' % filebase(o),=0D=0D
	    others),'')=0D=0D
    parms['other_clean_debug']=3Dstring.join(=0D=0D
	map(lambda o:=0D=0D
	    '\n\t-@erase ".\\Debug\\%s.obj"' % filebase(o),=0D=0D
	    others),'')=0D=0D
    parms['other_rule']=3Dstring.join(=0D=0D
	map(lambda o:=0D=0D
	    '"$(INTDIR)\%s.obj" : .\%s $(DEP_CPP_MOD) "$(INTDIR)"\n'=0D=0D
            '\t$(CPP) $(CPP_PROJ)  .\%s '=0D=0D
            % (filebase(o), o, o),=0D=0D
	    others),'\n')=0D=0D
    parms['other_link']=3Dstring.join(=0D=0D
	map(lambda o:=0D=0D
	    '\n\t"$(INTDIR)\%s.obj" \\' % filebase(o),=0D=0D
	    others),'')=0D=0D
=0D=0D
    open(module+'.def','w').write(tdef % parms)=0D=0D
    open(module+'.mak','w').write(tmak % parms)=0D=0D
    cfg_=3D' CFG=3D"%s - Win32 %s"' % (module,cfg)=0D=0D
    os.system('nmake /nologo /f %s.mak%s' % (module,cfg_))=0D=0D
    os.system('copy %s\%s.dll %s.pyd' % (cfg,module,module))=0D=0D
    if opt(optlist,'c'):=0D=0D
        os.system("nmake /f %s.mak%s CLEAN" % (module,cfg_))=0D=0D
=0D=0D
=0D=0D
=0D=0D
def opt(optlist,name):=0D=0D
    l=3Dfilter(lambda t, name=3D'-'+name: t[0]=3D=3Dname, optlist)=0D=0D
    return map(lambda t: t[1], l)=0D=0D
=0D=0D
def templates():=0D=0D
    tdef =3D '''EXPORTS=0D=0D
	init%(module)s=0D=0D
'''=0D=0D
=0D=0D
    tmak =3D '''# Microsoft Developer Studio Generated NMAKE File, Format V=
ersion 4.00=0D=0D
# ** DO NOT EDIT **=0D=0D
=0D=0D
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102=0D=0D
=0D=0D
!IF "$(CFG)" =3D=3D ""=0D=0D
CFG=3D%(module)s - Win32 Debug=0D=0D
!MESSAGE No configuration specified.  Defaulting to %(module)s - Win32 Debu=
g.=0D=0D
!ENDIF =0D=0D
=0D=0D
!IF "$(CFG)" !=3D "%(module)s - Win32 Release" && "$(CFG)" !=3D\\=0D=0D
 "%(module)s - Win32 Debug"=0D=0D
!MESSAGE Invalid configuration "$(CFG)" specified.=0D=0D
!MESSAGE You can specify a configuration when running NMAKE on this makefil=
e=0D=0D
!MESSAGE by defining the macro CFG on the command line.  For example:=0D=0D
!MESSAGE =0D=0D
!MESSAGE NMAKE /f "%(module)s.mak" CFG=3D"%(module)s - Win32 Debug"=0D=0D
!MESSAGE =0D=0D
!MESSAGE Possible choices for configuration are:=0D=0D
!MESSAGE =0D=0D
!MESSAGE "%(module)s - Win32 Release" (based on\\=0D=0D
 "Win32 (x86) Dynamic-Link Library")=0D=0D
!MESSAGE "%(module)s - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Lib=
rary")=0D=0D
!MESSAGE =0D=0D
!ERROR An invalid configuration is specified.=0D=0D
!ENDIF =0D=0D
=0D=0D
!IF "$(OS)" =3D=3D "Windows_NT"=0D=0D
NULL=3D=0D=0D
!ELSE =0D=0D
NULL=3Dnul=0D=0D
!ENDIF =0D=0D
###########################################################################=
#####=0D=0D
# Begin Project=0D=0D
# PROP Target_Last_Scanned "%(module)s - Win32 Debug"=0D=0D
CPP=3Dcl.exe=0D=0D
RSC=3Drc.exe=0D=0D
MTL=3Dmktyplib.exe=0D=0D
=0D=0D
!IF  "$(CFG)" =3D=3D "%(module)s - Win32 Release"=0D=0D
=0D=0D
# PROP BASE Use_MFC 0=0D=0D
# PROP BASE Use_Debug_Libraries 0=0D=0D
# PROP BASE Output_Dir "Release"=0D=0D
# PROP BASE Intermediate_Dir "Release"=0D=0D
# PROP BASE Target_Dir ""=0D=0D
# PROP Use_MFC 0=0D=0D
# PROP Use_Debug_Libraries 0=0D=0D
# PROP Output_Dir "Release"=0D=0D
# PROP Intermediate_Dir "Release"=0D=0D
# PROP Target_Dir ""=0D=0D
OUTDIR=3D.\\Release=0D=0D
INTDIR=3D.\\Release=0D=0D
=0D=0D
ALL : "$(OUTDIR)\\%(module)s.dll"=0D=0D
=0D=0D
CLEAN : =0D=0D
	-@erase ".\\Release\\%(module)s.dll"=0D=0D
	-@erase ".\\Release\\%(module)s.obj"%(other_clean_release)s=0D=0D
	-@erase ".\\Release\\%(module)s.lib"=0D=0D
	-@erase ".\\Release\\%(module)s.exp"=0D=0D
	-@erase ".\\Release\\%(module)s.pch"=0D=0D
=0D=0D
"$(OUTDIR)" :=0D=0D
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"=0D=0D
=0D=0D
# ADD BASE CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS"=
 /YX /c=0D=0D
# ADD CPP /nologo /MD /W3 /GX /O2 /I "%(pyhome)s\\Include" /I "%(pyhome)s\\=
PC" %(includes)s /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c=0D=0D
CPP_PROJ=3D/nologo /MD /W3 /GX /O2 /I "%(pyhome)s\\Include" /I "%(pyhome)s\=
\PC" %(includes)s /D "WIN32" /D\\=0D=0D
 "NDEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/%(module)s.pch" /YX /Fo"$(INTDIR)/" /=
c =0D=0D
CPP_OBJS=3D.\\Release/=0D=0D
CPP_SBRS=3D=0D=0D
# ADD BASE MTL /nologo /D "NDEBUG" /win32=0D=0D
# ADD MTL /nologo /D "NDEBUG" /win32=0D=0D
MTL_PROJ=3D/nologo /D "NDEBUG" /win32 =0D=0D
# ADD BASE RSC /l 0x409 /d "NDEBUG"=0D=0D
# ADD RSC /l 0x409 /d "NDEBUG"=0D=0D
BSC32=3Dbscmake.exe=0D=0D
# ADD BASE BSC32 /nologo=0D=0D
# ADD BSC32 /nologo=0D=0D
BSC32_FLAGS=3D/nologo /o"$(OUTDIR)/%(module)s.bsc" =0D=0D
BSC32_SBRS=3D=0D=0D
LINK32=3Dlink.exe=0D=0D
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l=
ib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbc=
cp32.lib /nologo /subsystem:windows /dll /machine:I386=0D=0D
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib ad=
vapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.=
lib /nologo /subsystem:windows /dll /machine:I386=0D=0D
LINK32_FLAGS=3Dkernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\=
\=0D=0D
 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\\=0D=
=0D
 odbccp32.lib /nologo /subsystem:windows /dll /incremental:no\\=0D=0D
 /pdb:"$(OUTDIR)/%(module)s.pdb" /machine:I386 /def:".\\%(module)s.def"\\=
=0D=0D
 /out:"$(OUTDIR)/%(module)s.dll" /implib:"$(OUTDIR)/%(module)s.lib" =0D=0D
DEF_FILE=3D \\=0D=0D
	".\\%(module)s.def"=0D=0D
LINK32_OBJS=3D \\=0D=0D
	"$(INTDIR)/%(module)s.obj" \\%(other_link)s=0D=0D
	"%(pyhome)s\\pcbuild\\%(cfg)s\\python15.lib"=0D=0D
=0D=0D
"$(OUTDIR)\\%(module)s.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)=0D=0D
    $(LINK32) @<<=0D=0D
  $(LINK32_FLAGS) $(LINK32_OBJS)=0D=0D
<<=0D=0D
=0D=0D
!ELSEIF  "$(CFG)" =3D=3D "%(module)s - Win32 Debug"=0D=0D
=0D=0D
# PROP BASE Use_MFC 0=0D=0D
# PROP BASE Use_Debug_Libraries 1=0D=0D
# PROP BASE Output_Dir "Debug"=0D=0D
# PROP BASE Intermediate_Dir "Debug"=0D=0D
# PROP BASE Target_Dir ""=0D=0D
# PROP Use_MFC 0=0D=0D
# PROP Use_Debug_Libraries 1=0D=0D
# PROP Output_Dir "Debug"=0D=0D
# PROP Intermediate_Dir "Debug"=0D=0D
# PROP Target_Dir ""=0D=0D
OUTDIR=3D.\\Debug=0D=0D
INTDIR=3D.\\Debug=0D=0D
=0D=0D
ALL : "$(OUTDIR)\\%(module)s.dll"=0D=0D
=0D=0D
CLEAN : =0D=0D
	-@erase ".\\Debug\\%(module)s.dll"=0D=0D
	-@erase ".\\Debug\\%(module)s.obj"%(other_clean_debug)s=0D=0D
	-@erase ".\\Debug\\%(module)s.ilk"=0D=0D
	-@erase ".\\Debug\\%(module)s.lib"=0D=0D
	-@erase ".\\Debug\\%(module)s.exp"=0D=0D
	-@erase ".\\Debug\\%(module)s.pdb"=0D=0D
	-@erase ".\\Debug\\%(module)s.pch"=0D=0D
	-@erase ".\\Debug\\pcbuild.pdb"=0D=0D
	-@erase ".\\Debug\\pcbuild.idb"=0D=0D
=0D=0D
"$(OUTDIR)" :=0D=0D
    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"=0D=0D
=0D=0D
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "=
_WINDOWS" /YX /c=0D=0D
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "%(pyhome)s\\Include" /I "%(p=
yhome)s\\PC" %(includes)s /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c=0D=0D
CPP_PROJ=3D/nologo /MDd /W3 /Gm /GX /Zi /Od /I "%(pyhome)s\\Include" /I "%(=
pyhome)s\\PC" %(includes)s /D "WIN32"\\=0D=0D
 /D "_DEBUG" /D "_WINDOWS" /Fp"$(INTDIR)/%(module)s.pch" /YX /Fo"$(INTDIR)/=
"\\=0D=0D
 /Fd"$(INTDIR)/" /c =0D=0D
CPP_OBJS=3D.\\Debug/=0D=0D
CPP_SBRS=3D=0D=0D
# ADD BASE MTL /nologo /D "_DEBUG" /win32=0D=0D
# ADD MTL /nologo /D "_DEBUG" /win32=0D=0D
MTL_PROJ=3D/nologo /D "_DEBUG" /win32 =0D=0D
# ADD BASE RSC /l 0x409 /d "_DEBUG"=0D=0D
# ADD RSC /l 0x409 /d "_DEBUG"=0D=0D
BSC32=3Dbscmake.exe=0D=0D
# ADD BASE BSC32 /nologo=0D=0D
# ADD BSC32 /nologo=0D=0D
BSC32_FLAGS=3D/nologo /o"$(OUTDIR)/%(module)s.bsc" =0D=0D
BSC32_SBRS=3D=0D=0D
LINK32=3Dlink.exe=0D=0D
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l=
ib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbc=
cp32.lib /nologo /subsystem:windows /dll /debug /machine:I386=0D=0D
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib ad=
vapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.=
lib /nologo /subsystem:windows /dll /debug /machine:I386=0D=0D
LINK32_FLAGS=3Dkernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib\=
\=0D=0D
 advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib\\=0D=
=0D
 odbccp32.lib /nologo /subsystem:windows /dll /incremental:yes\\=0D=0D
 /pdb:"$(OUTDIR)/%(module)s.pdb" /debug /machine:I386 /def:".\\%(module)s.d=
ef"\\=0D=0D
 /out:"$(OUTDIR)/%(module)s.dll" /implib:"$(OUTDIR)/%(module)s.lib" =0D=0D
DEF_FILE=3D \\=0D=0D
	".\\%(module)s.def"=0D=0D
LINK32_OBJS=3D \\=0D=0D
	"$(INTDIR)/%(module)s.obj" \\%(other_link)s=0D=0D
	"%(pyhome)s\\pcbuild\\%(cfg)s\\python15.lib"=0D=0D
=0D=0D
"$(OUTDIR)\\%(module)s.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)=0D=0D
    $(LINK32) @<<=0D=0D
  $(LINK32_FLAGS) $(LINK32_OBJS)=0D=0D
<<=0D=0D
=0D=0D
!ENDIF =0D=0D
=0D=0D
.c{$(CPP_OBJS)}.obj:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
.cpp{$(CPP_OBJS)}.obj:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
.cxx{$(CPP_OBJS)}.obj:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
.c{$(CPP_SBRS)}.sbr:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
.cpp{$(CPP_SBRS)}.sbr:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
.cxx{$(CPP_SBRS)}.sbr:=0D=0D
   $(CPP) $(CPP_PROJ) $<  =0D=0D
=0D=0D
###########################################################################=
#####=0D=0D
# Begin Target=0D=0D
=0D=0D
# Name "%(module)s - Win32 Release"=0D=0D
# Name "%(module)s - Win32 Debug"=0D=0D
=0D=0D
!IF  "$(CFG)" =3D=3D "%(module)s - Win32 Release"=0D=0D
=0D=0D
!ELSEIF  "$(CFG)" =3D=3D "%(module)s - Win32 Debug"=0D=0D
=0D=0D
!ENDIF =0D=0D
=0D=0D
###########################################################################=
#####=0D=0D
# Begin Source File=0D=0D
=0D=0D
SOURCE=3D.\\%(module)s.c=0D=0D
DEP_CPP_MOD=3D\\=0D=0D
	"%(pyhome)s\\Include\\Python.h"\\=0D=0D
	"%(pyhome)s\\PC\\config.h"\\=0D=0D
	"%(pyhome)s\\Include\\myproto.h"\\=0D=0D
	"%(pyhome)s\\Include\\object.h"\\=0D=0D
	"%(pyhome)s\\Include\\objimpl.h"\\=0D=0D
	"%(pyhome)s\\Include\\pydebug.h"\\=0D=0D
	"%(pyhome)s\\Include\\intobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\longobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\floatobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\complexobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\rangeobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\stringobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\tupleobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\listobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\methodobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\moduleobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\funcobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\classobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\fileobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\cobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\traceback.h"\\=0D=0D
	"%(pyhome)s\\Include\\sliceobject.h"\\=0D=0D
	"%(pyhome)s\\Include\\pyerrors.h"\\=0D=0D
	"%(pyhome)s\\Include\\mymalloc.h"\\=0D=0D
	"%(pyhome)s\\Include\\modsupport.h"\\=0D=0D
	"%(pyhome)s\\Include\\ceval.h"\\=0D=0D
	"%(pyhome)s\\Include\\pythonrun.h"\\=0D=0D
	"%(pyhome)s\\Include\\sysmodule.h"\\=0D=0D
	"%(pyhome)s\\Include\\intrcheck.h"\\=0D=0D
	"%(pyhome)s\\Include\\import.h"\\=0D=0D
	"%(pyhome)s\\Include\\abstract.h"\\=0D=0D
	"%(pyhome)s\\Include\\rename2.h"\\=0D=0D
	"%(pyhome)s\\Include\\thread.h"\\=0D=0D
	=0D=0D
=0D=0D
"$(INTDIR)\\%(module)s.obj" : $(SOURCE) $(DEP_CPP_MOD) "$(INTDIR)"=0D=0D
%(other_rule)s=0D=0D
=0D=0D
# End Source File=0D=0D
###########################################################################=
#####=0D=0D
# Begin Source File=0D=0D
=0D=0D
SOURCE=3D.\\%(module)s.def=0D=0D
=0D=0D
!IF  "$(CFG)" =3D=3D "%(module)s - Win32 Release"=0D=0D
=0D=0D
!ELSEIF  "$(CFG)" =3D=3D "%(module)s - Win32 Debug"=0D=0D
=0D=0D
!ENDIF =0D=0D
=0D=0D
# End Source File=0D=0D
###########################################################################=
#####=0D=0D
# Begin Source File=0D=0D
=0D=0D
SOURCE=3D%(pyhome)s\\pcbuild\\%(cfg)s\\python15.lib=0D=0D
=0D=0D
!IF  "$(CFG)" =3D=3D "%(module)s - Win32 Release"=0D=0D
=0D=0D
!ELSEIF  "$(CFG)" =3D=3D "%(module)s - Win32 Debug"=0D=0D
=0D=0D
!ENDIF =0D=0D
=0D=0D
# End Source File=0D=0D
###########################################################################=
#####=0D=0D
# Begin Source File=0D=0D
=0D=0D
SOURCE=3D.\\readme.txt=0D=0D
=0D=0D
!IF  "$(CFG)" =3D=3D "%(module)s - Win32 Release"=0D=0D
=0D=0D
!ELSEIF  "$(CFG)" =3D=3D "%(module)s - Win32 Debug"=0D=0D
=0D=0D
!ENDIF =0D=0D
=0D=0D
# End Source File=0D=0D
# End Target=0D=0D
# End Project=0D=0D
###########################################################################=
#####=0D=0D
'''=0D=0D
    return tdef, tmak=0D=0D
=0D=0D
if __name__=3D=3D'__main__': main()=0D=0D

------=_NextPart_000_004F_01C0B2E4.E8337D30--