----boundary-LibPST-iamunique-1647280113_-_-
Content-type: text/plain
Gunnar (off topic, side comment),
I just deleted as much of the .NET framework as Microsoft would
let me and gained back 2GB of disk space. I had hoped to
use it for Gardens Point but never got around to it.
Why in heavens name does Microsoft consume so much disk?
Unclean, messy, messy.
-Doug Danforth
On 10/22/2010 2:51 AM, gunnar bernhardt (VDI) wrote:
Dear all,
perhaps I'm overreacting but I find it rather hard to do string
conversion and output in Gardens Point CP.
Here is what I wanted to do (please do not be offended by the C#
source code):
/* -------- BEGIN example 1 --------- */
private class XmlValidationHandler
{
public int intErr;
public void ValidationCallBack(object sender, ValidationEventArgs
args)
{
this.intErr += 1;
XmlSchemaException excErr = args.Exception;
System.Console.WriteLine("- ->{0} at {1} ({2},{3})",
args.Severity, excErr.SourceUri, excErr.LineNumber,
excErr.LinePosition); // the interesting part
System.Console.WriteLine(" ->" + args.Message);
System.Console.WriteLine("-------------------------------");
}
}
/* -------- END example 1 --------- */
Please note that Console.WriteLine( string, object, object, object,
object ) is an ordinary function in the .NET-library.
Since in .NET each "object" - even value types like int and char -
posseses a .ToString() method, WriteLine() simply converts all
parameters to string and maps them into the spots marked with {i}.
Note as well that for enumerations like args.Severity not the integer
value will be displayed but the associated name (in this case "Error"
instead of "0").
Calling WriteLine like this from CP does not work, perhaps since it
does not regard INT as an "object"?
Creating an object by e.g. BOX(args.Severity) is not possible, since
this can only be done for RECORDs.
The standard libraries that come with GP-CP do neither provide a
mapping function for Strings (like BB) nor a conversion from INTEGER
to ARRAY OF CHAR.
So what I ended up with was this:
(* -------- BEGIN example 2 --------- *)
IMPORT
System := mscorlib_System,
System_Xml := System_Xml_,
System_Xml_Schema := System_Xml__Schema,
Console;
PROCEDURE ( this: XmlValidationHandler ) HandleError( sender:
System.Object; args: System_Xml_Schema.ValidationEventArgs ),NEW;
VAR
excErr: System_Xml_Schema.XmlSchemaException;
BEGIN
INC( this.ErrorCount );
excErr := args.get_Exception();
(* ---- BEGIN the ugly bit ---- *)
Console.WriteString( "- ->" );
IF args.get_Severity() = System_Xml_Schema.XmlSeverityType.Error
THEN
Console.WriteString( "Error" )
ELSE
Console.WriteString( "Warning" )
END;
Console.WriteString( " at " + excErr.get_SourceUri() + " (" );
Console.WriteInt( excErr.get_LineNumber(), -1 );
Console.WriteString( "," );
Console.WriteInt( excErr.get_LinePosition(), -1 );
Console.WriteString( ")" ); Console.WriteLn();
(* ---- END the ugly bit ---- *)
(* *)
Console.WriteString( " ->" + args.get_Message() );
Console.WriteLn();
(* *)
Console.WriteString( "-------------------------------" );
Console.WriteLn();
END HandleError;
(* -------- END example 2 --------- *)
Apart from the additional space (which I would not mind) the output
format "- ->{0} at {1} ({2},{3})" has here been split into several
lines of code, which makes it a lot harder to read in my opinion.
Did I miss something obvious?
Can you perhaps think of a solution more elegant?
kind regards
gunnar
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy
----boundary-LibPST-iamunique-1647280113_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm
c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy
XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg
TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1
O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzI0MyA8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv
L0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzE5IDxodG1sPn0NCntcKlxo
dG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMjQyICAgfQ0Ke1wqXGh0bWx0YWczNCA8aGVhZD59
DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzI0MSAgICAgfQ0Ke1wqXGh0bWx0YWcx
IFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDEgICAgIH0NCntcKlxodG1sdGFnMTc3IDx0aXRsZT59DQp7
XCpcaHRtbHRhZzI0MSB9DQp7XCpcaHRtbHRhZzE4NSA8L3RpdGxlPn0NCntcKlxodG1sdGFnMSBc
cGFyIH0NCntcKlxodG1sdGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWc0MSA8L2hlYWQ+fQ0Ke1wqXGh0
bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDIgICB9DQp7XCpcaHRtbHRhZzUwIDxib2R5IHRl
eHQ9IiMwMDAwMDAiIGJnY29sb3I9IiNmZmZmZmYiPn1caHRtbHJ0ZiBcdmlld2tpbmQ1DQp7XCpc
YmFja2dyb3VuZCB7XHNocHtcKlxzaHBpbnN0e1xzcHtcc24gZmlsbENvbG9yfXtcc3YgMTY3Nzcy
MTV9fXtcc3B7XHNuIGZGaWxsZWR9e1xzdiAxfX19fX1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAg
XHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgICAgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1s
cnRmMCBHdW5uYXIgKG9mZiB0b3BpYywgc2lkZSBjb21tZW50KSwNCntcKlxodG1sdGFnMTE2IDxi
cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxo
dG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1s
cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1JIGp1c3QgZGVs
ZXRlZCBhcyBtdWNoIG9mIHRoZSAuTkVUIGZyYW1ld29yayBhcyBNaWNyb3NvZnQgd291bGQNCntc
KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn
NCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1sZXQgbWUgYW5kIGdhaW5lZCBiYWNrIDJHQiBv
ZiBkaXNrIHNwYWNlLg0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRm
MCAgSSBoYWQgaG9wZWQgdG8NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo
dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH11c2UgaXQg
Zm9yIEdhcmRlbnMgUG9pbnQgYnV0IG5ldmVyIGdvdCBhcm91bmQgdG8gaXQuDQp7XCpcaHRtbHRh
ZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9
DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l
DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9V2h5
IGluIGhlYXZlbnMgbmFtZSBkb2VzIE1pY3Jvc29mdCBjb25zdW1lIHNvIG11Y2ggZGlzaz8NCntc
KlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFn
NCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1VbmNsZWFuLCBtZXNzeSwgbWVzc3kuDQp7XCpc
aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg
XHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm
IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAg
ICB9LURvdWcgRGFuZm9ydGgNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo
dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxo
dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc
cGFyIH0NCntcKlxodG1sdGFnODQgICAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg
XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAg
IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo
dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICAgIH1PbiAxMC8yMi8yMDEwIDI6NTEgQU0s
IGd1bm5hciBiZXJuaGFyZHQgKFZESSkgd3JvdGU6DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy
dGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICAgIH17XCpcaHRtbHRhZzcyfVxodG1scnRm
XHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90ZSBjaXRlPSJtaWQ6R1JB
TklUaWdQYXNTbXo2VXVFaDAwMDAxMWE2QG9iZXJvbi5sb2NhbCJccGFyICAgICAgIHR5cGU9ImNp
dGUiPn1caHRtbHJ0ZiBccGFyDQp7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wq
XGh0bWx0YWcyNDAgICAgICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIiPn1caHRtbHJ0
ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1scnRmMCBcbGkz
NjAgRGVhciBhbGwsXGxpbmUNClxsaW5lDQpwZXJoYXBzIEknbSBvdmVycmVhY3RpbmcgYnV0IEkg
ZmluZCBpdCByYXRoZXIgaGFyZCB0byBkbyBzdHJpbmdcbGluZQ0KIGNvbnZlcnNpb24gYW5kIG91
dHB1dCBpbiBHYXJkZW5zIFBvaW50IENQLlxsaW5lDQpcbGluZQ0KSGVyZSBpcyB3aGF0IEkgd2Fu
dGVkIHRvIGRvIChwbGVhc2UgZG8gbm90IGJlIG9mZmVuZGVkIGJ5IHRoZSBDI1xsaW5lDQogc291
cmNlIGNvZGUpOlxsaW5lDQpcbGluZQ0KLyogLS0tLS0tLS0gQkVHSU4gZXhhbXBsZSAxIC0tLS0t
LS0tLSAqL1xsaW5lDQpwcml2YXRlIGNsYXNzIFhtbFZhbGlkYXRpb25IYW5kbGVyXGxpbmUNClx7
XGxpbmUNCiAgICBwdWJsaWMgaW50IGludEVycjtcbGluZQ0KICAgIHB1YmxpYyB2b2lkIFZhbGlk
YXRpb25DYWxsQmFjayhvYmplY3Qgc2VuZGVyLCBWYWxpZGF0aW9uRXZlbnRBcmdzXGxpbmUNCiBh
cmdzKVxsaW5lDQogICAgXHtcbGluZQ0KICAgICAgICB0aGlzLmludEVyciArPSAxO1xsaW5lDQog
ICAgICAgIFhtbFNjaGVtYUV4Y2VwdGlvbiBleGNFcnIgPSBhcmdzLkV4Y2VwdGlvbjtcbGluZQ0K
ICAgICAgICBTeXN0ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIi0gLQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7
fVxodG1scnRmID5caHRtbHJ0ZjAgXHswXH0gYXQgXHsxXH0gKFx7Mlx9LFx7M1x9KSIsXGxpbmUN
CiBhcmdzLlNldmVyaXR5LCBleGNFcnIuU291cmNlVXJpLCBleGNFcnIuTGluZU51bWJlcixcbGlu
ZQ0KIGV4Y0Vyci5MaW5lUG9zaXRpb24pOyAvLyB0aGUgaW50ZXJlc3RpbmcgcGFydFxsaW5lDQog
ICAgICAgIFN5c3RlbS5Db25zb2xlLldyaXRlTGluZSgiICAtDQp7XCpcaHRtbHRhZzg0ICZndDt9
XGh0bWxydGYgPlxodG1scnRmMCAiICsgYXJncy5NZXNzYWdlKTtcbGluZQ0KICAgICAgICBTeXN0
ZW0uQ29uc29sZS5Xcml0ZUxpbmUoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTtc
bGluZQ0KICAgIFx9XGxpbmUNClx9XGxpbmUNCi8qIC0tLS0tLS0tIEVORCAgZXhhbXBsZSAxIC0t
LS0tLS0tLSAqL1xsaW5lDQpcbGluZQ0KXGxpbmUNClBsZWFzZSBub3RlIHRoYXQgQ29uc29sZS5X
cml0ZUxpbmUoIHN0cmluZywgb2JqZWN0LCBvYmplY3QsIG9iamVjdCxcbGluZQ0KIG9iamVjdCAp
IGlzIGFuIG9yZGluYXJ5IGZ1bmN0aW9uIGluIHRoZSAuTkVULWxpYnJhcnkuXGxpbmUNClNpbmNl
IGluIC5ORVQgZWFjaCAib2JqZWN0IiAtIGV2ZW4gdmFsdWUgdHlwZXMgbGlrZSBpbnQgYW5kIGNo
YXIgLVxsaW5lDQogcG9zc2VzZXMgYSAuVG9TdHJpbmcoKSBtZXRob2QsIFdyaXRlTGluZSgpIHNp
bXBseSBjb252ZXJ0cyBhbGxcbGluZQ0KIHBhcmFtZXRlcnMgdG8gc3RyaW5nIGFuZCBtYXBzIHRo
ZW0gaW50byB0aGUgc3BvdHMgbWFya2VkIHdpdGggXHtpXH0uXGxpbmUNClxsaW5lDQpOb3RlIGFz
IHdlbGwgdGhhdCBmb3IgZW51bWVyYXRpb25zIGxpa2UgYXJncy5TZXZlcml0eSBub3QgdGhlIGlu
dGVnZXJcbGluZQ0KIHZhbHVlIHdpbGwgYmUgZGlzcGxheWVkIGJ1dCB0aGUgYXNzb2NpYXRlZCBu
YW1lIChpbiB0aGlzIGNhc2UgIkVycm9yIlxsaW5lDQogaW5zdGVhZCBvZiAiMCIpLlxsaW5lDQpc
bGluZQ0KQ2FsbGluZyBXcml0ZUxpbmUgbGlrZSB0aGlzIGZyb20gQ1AgZG9lcyBub3Qgd29yaywg
cGVyaGFwcyBzaW5jZSBpdFxsaW5lDQogZG9lcyBub3QgcmVnYXJkIElOVCBhcyBhbiAib2JqZWN0
Ij9cbGluZQ0KXGxpbmUNCkNyZWF0aW5nIGFuIG9iamVjdCBieSBlLmcuIEJPWChhcmdzLlNldmVy
aXR5KSBpcyBub3QgcG9zc2libGUsIHNpbmNlXGxpbmUNCiB0aGlzIGNhbiBvbmx5IGJlIGRvbmUg
Zm9yIFJFQ09SRHMuXGxpbmUNClxsaW5lDQpUaGUgc3RhbmRhcmQgbGlicmFyaWVzIHRoYXQgY29t
ZSB3aXRoIEdQLUNQIGRvIG5laXRoZXIgcHJvdmlkZSBhXGxpbmUNCiBtYXBwaW5nIGZ1bmN0aW9u
IGZvciBTdHJpbmdzIChsaWtlIEJCKSBub3IgYSBjb252ZXJzaW9uIGZyb20gSU5URUdFUlxsaW5l
DQogdG8gQVJSQVkgT0YgQ0hBUi5cbGluZQ0KXGxpbmUNClNvIHdoYXQgSSBlbmRlZCB1cCB3aXRo
IHdhcyB0aGlzOlxsaW5lDQpcbGluZQ0KKCogLS0tLS0tLS0gQkVHSU4gZXhhbXBsZSAyIC0tLS0t
LS0tLSAqKVxsaW5lDQpJTVBPUlQgXGxpbmUNCiAgU3lzdGVtIDo9IG1zY29ybGliX1N5c3RlbSwg
XGxpbmUNCiAgU3lzdGVtX1htbCA6PSBTeXN0ZW1fWG1sXywgXGxpbmUNCiAgU3lzdGVtX1htbF9T
Y2hlbWEgOj0gU3lzdGVtX1htbF9fU2NoZW1hLCBcbGluZQ0KICBDb25zb2xlO1xsaW5lDQpcbGlu
ZQ0KXGxpbmUNClBST0NFRFVSRSAoIHRoaXM6IFhtbFZhbGlkYXRpb25IYW5kbGVyICkgSGFuZGxl
RXJyb3IoIHNlbmRlcjpcbGluZQ0KIFN5c3RlbS5PYmplY3Q7IGFyZ3M6IFN5c3RlbV9YbWxfU2No
ZW1hLlZhbGlkYXRpb25FdmVudEFyZ3MgKSxORVc7XGxpbmUNClZBUlxsaW5lDQogIGV4Y0Vycjog
U3lzdGVtX1htbF9TY2hlbWEuWG1sU2NoZW1hRXhjZXB0aW9uO1xsaW5lDQpCRUdJTlxsaW5lDQog
IElOQyggdGhpcy5FcnJvckNvdW50ICk7XGxpbmUNCiAgZXhjRXJyIDo9IGFyZ3MuZ2V0X0V4Y2Vw
dGlvbigpO1xsaW5lDQogICgqIC0tLS0gQkVHSU4gdGhlIHVnbHkgYml0IC0tLS0gKilcbGluZQ0K
ICBDb25zb2xlLldyaXRlU3RyaW5nKCAiLSAtDQp7XCpcaHRtbHRhZzg0ICZndDt9XGh0bWxydGYg
PlxodG1scnRmMCAiICk7XGxpbmUNCiAgSUYgYXJncy5nZXRfU2V2ZXJpdHkoKSA9IFN5c3RlbV9Y
bWxfU2NoZW1hLlhtbFNldmVyaXR5VHlwZS5FcnJvclxsaW5lDQogVEhFTiBcbGluZQ0KICAgIENv
bnNvbGUuV3JpdGVTdHJpbmcoICJFcnJvciIgKVxsaW5lDQogIEVMU0VcbGluZQ0KICAgIENvbnNv
bGUuV3JpdGVTdHJpbmcoICJXYXJuaW5nIiApXGxpbmUNCiAgRU5EO1xsaW5lDQogIENvbnNvbGUu
V3JpdGVTdHJpbmcoICIgYXQgIiArIGV4Y0Vyci5nZXRfU291cmNlVXJpKCkgKyAiICgiICk7XGxp
bmUNCiAgQ29uc29sZS5Xcml0ZUludCggZXhjRXJyLmdldF9MaW5lTnVtYmVyKCksIC0xICk7XGxp
bmUNCiAgQ29uc29sZS5Xcml0ZVN0cmluZyggIiwiICk7XGxpbmUNCiAgQ29uc29sZS5Xcml0ZUlu
dCggZXhjRXJyLmdldF9MaW5lUG9zaXRpb24oKSwgLTEgKTtcbGluZQ0KICBDb25zb2xlLldyaXRl
U3RyaW5nKCAiKSIgKTsgIENvbnNvbGUuV3JpdGVMbigpO1xsaW5lDQogICgqIC0tLS0gRU5EICAg
dGhlIHVnbHkgYml0IC0tLS0gKilcbGluZQ0KICAoKiAqKVxsaW5lDQogIENvbnNvbGUuV3JpdGVT
dHJpbmcoICIgIC0NCntcKlxodG1sdGFnODQgJmd0O31caHRtbHJ0ZiA+XGh0bWxydGYwICIgKyBh
cmdzLmdldF9NZXNzYWdlKCkgICk7IFxsaW5lDQogQ29uc29sZS5Xcml0ZUxuKCk7XGxpbmUNCiAg
KCogKikgXGxpbmUNCiAgQ29uc29sZS5Xcml0ZVN0cmluZyggIi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0iICk7IFxsaW5lDQogQ29uc29sZS5Xcml0ZUxuKCk7XGxpbmUNCkVORCBIYW5k
bGVFcnJvcjtcbGluZQ0KKCogLS0tLS0tLS0gRU5EICBleGFtcGxlIDIgLS0tLS0tLS0tICopXGxp
bmUNClxsaW5lDQpBcGFydCBmcm9tIHRoZSBhZGRpdGlvbmFsIHNwYWNlICh3aGljaCBJIHdvdWxk
IG5vdCBtaW5kKSB0aGUgb3V0cHV0XGxpbmUNCiBmb3JtYXQgIi0gLQ0Ke1wqXGh0bWx0YWc4NCAm
Z3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgXHswXH0gYXQgXHsxXH0gKFx7Mlx9LFx7M1x9KSIgaGFz
IGhlcmUgYmVlbiBzcGxpdCBpbnRvIHNldmVyYWxcbGluZQ0KIGxpbmVzIG9mIGNvZGUsIHdoaWNo
IG1ha2VzIGl0IGEgbG90IGhhcmRlciB0byByZWFkIGluIG15IG9waW5pb24uXGxpbmUNClxsaW5l
DQpcbGluZQ0KRGlkIEkgbWlzcyBzb21ldGhpbmcgb2J2aW91cz9cbGluZQ0KQ2FuIHlvdSBwZXJo
YXBzIHRoaW5rIG9mIGEgc29sdXRpb24gbW9yZSBlbGVnYW50P1xsaW5lDQpcbGluZQ0KXGxpbmUN
CmtpbmQgcmVnYXJkc1xsaW5lDQpndW5uYXJcbGluZQ0KXGxpbmUNClxsaW5lDQotLS0tXGxpbmUN
ClRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tC
T1giIHRvIHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0
ZWQiIGhyZWY9Im1haWx0bzpMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0giPn1caHRtbHJ0ZiB7XGZp
ZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86TElTVFNFUlZATElTVFMuT0JFUk9OLkNI
In19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXGh0
bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc5MiA8L2E+
fVxsaW5lDQpccGFyXGh0bWxydGZ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwvcHJlPn1c
aHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAg
ICAgIH0NCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1s
cnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0
YWc1OCA8L2JvZHk+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNyA8L2h0bWw+
fQ0Ke1wqXGh0bWx0YWczIFxwYXIgfQ0Ke1wqXGh0bWx0YWc2NCA8cD59XGh0bWxydGYge1xodG1s
cnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0tLS0tDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy
dGYgIFxodG1scnRmMCBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJT
SUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0gNCntcKlxodG1sdGFn
NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFxodG1scnRmXHBhcn19AHh3WVhJTkNrOUw=
----boundary-LibPST-iamunique-1647280113_-_---
Received on Sat Oct 23 2010 - 00:02:00 UTC