Re: [BLACKBOX] AW: [BLACKBOX] limiting integer values in interactor field

From: [at]} <Rene>
Date: Tue, 12 Jan 2010 21:17:57 +0100

----boundary-LibPST-iamunique-302424972_-_-
Content-type: text/plain

Bernhardt,

I think you did understand correctly. To make sure:

Compile the source, then create a new form from dialog. Add NotifierA as
notifier to dialog.a, NotifierB to dialog.b and NotifierC to dialog.c.

You enter a value in a (between 7 and 14 is valid), then switch to b and
enter a value. If the value of a was valid, b will display your change.
But if a was invalid, then b will not be changeable.

Anyhow, I do believe the wrapper to be the most simple. And it does
exactly what you want.

Rene

> Folks,
>
> thank you for the feedback on this one!
>
> {([at]})nowhere.xy
>
> {([at]})nowhere.xy
> -> Instead of checking a changed field for correctness (and doing computations based on it) just remember that it has been changed. It will be checked when any other field is changed.
> Apart from the additional complexity this looks promising. Yet the last input will always be unnoticed and unchecked.
> Perhaps the wrapper view may be the most elegant solution, but it sounds pretty sophisticated for my tastes.
>
> {([at]})nowhere.xy
>
>
> Thank's again for the inspiring pointers.
> gunnar
>
>
> -----Ursprüngliche Nachricht-----
> Von: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
> Gesendet: Dienstag, 12. Januar 2010 10:57
> An: BLACKBOX{([at]})nowhere.xy
> Betreff: Re: [BLACKBOX] limiting integer values in interactor field
>
> You could also do a Wrapper view that has the following in the HandleCtrlMsg:
>
> IF msg IS Controllers.MarkMsg THEN
> WITH msg:Controllers.MarkMsg DO
> IF msg.show=FALSE THEN
> StdLog.String("Lost focus");StdLog.Ln();
> ELSE
> StdLog.String("Got focus");StdLog.Ln();
> END;
> END;
> END;
>
> Where
>
> StdLog.String("Lost focus");StdLog.Ln();
>
> would do the checking.
>
> Lastly, you could probably change Controls.Field.HandleCtrlMsg2, so that a new op is given for MarkMsg.show=FALSE, or that the op:=Dialog.changed is used for a change, when msg.show=FALSE.
>
> Rene
>
> -------- Original-Nachricht --------
>
>> Datum: Tue, 12 Jan 2010 10:09:52 +0100
>> Von: "Rene A. Krywult" <rene.krywult{([at]})nowhere.xy
>> An: BLACKBOX{([at]})nowhere.xy
>> Betreff: Re: [BLACKBOX] limiting integer values in interactor field
>>
>

>
>> What about a solution like this?
>>
>> Rene
>>
>> MODULE PrivTestLeave;
>> IMPORT Dialog,StdLog;
>>
>> VAR
>> dialog*:RECORD;
>> a*,b*,c*:INTEGER;
>> END;
>>
>> oldDialog*:RECORD;
>> a*,b*,c*:INTEGER;
>> END;
>>
>> aChanged,bChanged,cChanged:BOOLEAN;
>>
>> PROCEDURE IsValid(i:INTEGER):BOOLEAN;
>> BEGIN
>> IF ((i > 6) & (i < 15)) THEN
>> RETURN TRUE;
>> ELSE
>> RETURN FALSE;
>> END
>> END IsValid;
>>
>> PROCEDURE NotifierA* (op, from, to: INTEGER); BEGIN
>> IF op=Dialog.changed THEN
>> IF ~aChanged THEN
>> IF bChanged THEN
>> IF ~IsValid(dialog.b) THEN
>> dialog.a:=oldDialog.a;
>> ELSE
>> bChanged:=FALSE;
>> aChanged:=TRUE;
>> oldDialog.b:=dialog.b;
>> END;
>> ELSIF cChanged THEN
>> IF ~IsValid(dialog.c) THEN
>> dialog.a:=oldDialog.a;
>> ELSE
>> cChanged:=FALSE;
>> aChanged:=TRUE;
>> oldDialog.c:=dialog.c;
>> END;
>> ELSE aChanged:=TRUE
>> END;
>> ELSE
>> aChanged:=TRUE;
>> END;
>> END;
>> Dialog.Update(dialog);
>> END NotifierA;
>>
>> PROCEDURE NotifierB* (op, from, to: INTEGER); BEGIN
>> IF op=Dialog.changed THEN
>> IF ~bChanged THEN
>> IF aChanged THEN
>> IF ~IsValid(dialog.a) THEN
>> dialog.b:=oldDialog.b;
>> ELSE
>> aChanged:=FALSE;
>> bChanged:=TRUE;
>> oldDialog.a:=dialog.a;
>> END;
>> ELSIF cChanged THEN
>> IF ~IsValid(dialog.c) THEN
>> dialog.b:=oldDialog.b;
>> ELSE
>> cChanged:=FALSE;
>> bChanged:=TRUE;
>> oldDialog.c:=dialog.c;
>> END;
>> ELSE bChanged:=TRUE
>> END;
>> END;
>> END;
>> Dialog.Update(dialog);
>> END NotifierB;
>>
>> PROCEDURE NotifierC* (op, from, to: INTEGER); BEGIN
>> IF op=Dialog.changed THEN
>> IF ~cChanged THEN
>> IF aChanged THEN
>> IF ~IsValid(dialog.a) THEN
>> dialog.c:=oldDialog.c;
>> ELSE
>> aChanged:=FALSE;
>> cChanged:=TRUE;
>> oldDialog.a:=dialog.a;
>> END;
>> ELSIF bChanged THEN
>> IF ~IsValid(dialog.b) THEN
>> dialog.c:=oldDialog.c;
>> ELSE
>> cChanged:=FALSE;
>> cChanged:=TRUE;
>> oldDialog.b:=dialog.b;
>> END;
>> ELSE cChanged:=TRUE
>> END;
>> END;
>> END;
>> Dialog.Update(dialog);
>> END NotifierC;
>> END PrivTestLeave.
>>
>> -------- Original-Nachricht --------
>>
> [...]
>
>
> ------------------------------------------------------------------------
>


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-302424972_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBCZXJuaGFyZHQsXHBhcg0KXHBh
cg0KSSB0aGluayB5b3UgZGlkIHVuZGVyc3RhbmQgY29ycmVjdGx5LiBUbyBtYWtlIHN1cmU6XHBh
cg0KXHBhcg0KQ29tcGlsZSB0aGUgc291cmNlLCB0aGVuIGNyZWF0ZSBhIG5ldyBmb3JtIGZyb20g
ZGlhbG9nLiBBZGQgTm90aWZpZXJBIGFzIFxwYXINCm5vdGlmaWVyIHRvIGRpYWxvZy5hLCBOb3Rp
ZmllckIgdG8gZGlhbG9nLmIgYW5kIE5vdGlmaWVyQyB0byBkaWFsb2cuYy5ccGFyDQpccGFyDQpZ
b3UgZW50ZXIgYSB2YWx1ZSBpbiBhIChiZXR3ZWVuIDcgYW5kIDE0IGlzIHZhbGlkKSwgdGhlbiBz
d2l0Y2ggdG8gYiBhbmQgXHBhcg0KZW50ZXIgYSB2YWx1ZS4gSWYgdGhlIHZhbHVlIG9mIGEgd2Fz
IHZhbGlkLCBiIHdpbGwgZGlzcGxheSB5b3VyIGNoYW5nZS4gXHBhcg0KQnV0IGlmIGEgd2FzIGlu
dmFsaWQsIHRoZW4gIGIgd2lsbCBub3QgYmUgY2hhbmdlYWJsZS5ccGFyDQpccGFyDQpBbnlob3cs
IEkgZG8gYmVsaWV2ZSB0aGUgd3JhcHBlciB0byBiZSB0aGUgbW9zdCBzaW1wbGUuIEFuZCBpdCBk
b2VzIFxwYXINCmV4YWN0bHkgd2hhdCB5b3Ugd2FudC5ccGFyDQpccGFyDQpSZW5lXHBhcg0KXHBh
cg0KPiBGb2xrcyxccGFyDQo+XHBhcg0KPiB0aGFuayB5b3UgZm9yIHRoZSBmZWVkYmFjayBvbiB0
aGlzIG9uZSEgXHBhcg0KPlxwYXINCj4gQEJvYjogRGlzcGxheWluZyBvYnZpb3VzbHkgaW52YWxp
ZCB2YWx1ZXMgZm9yIHRoZSBkZXJpdmVkIGZpZWxkcyBhcyBsb25nIGFzIHRoZSBmaWVsZCBmb3Ig
ZGF0YSBlbnRyeSBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlIG1pZ2h0IGp1c3Qgd29yayAoLTEgYmVp
bmcgYSBwcm9taW5lbnQgZXhhbXBsZSkuIE15IHByb2JsZW1zIHdpdGggdGhpcyBhcHByb2FjaCBh
cmUgbW9yZSBvZiBhbiBlbW90aW9uYWwgdGhhbiBpbnRlbGxlY3R1YWwgbmF0dXJlOiBJIGRvIG5v
dCBsaWtlIHVzaW5nIEd1YXJkcyBvbiB0aGUgb25lIGhhbmQgYnV0ICBhbGxveWluZyBteSBzeXN0
ZW0gdG8gYmUgaW4gYW4gaW52YWxpZCBzdGF0ZSBvbiB0aGUgb3RoZXIsIGV2ZW4gaWYgaXQgaXMg
aW52YWxpZCBpbiBhbiBjb250cm9sbGVkIGFuZCBvYnZpb3VzIHdheS5ccGFyDQo+XHBhcg0KPiBA
UmVuZTogVGhlIG1vbWVudCByZWFkIHlvdXIgbGluZSAiIEVORCBOb3RpZmllckE7IiBteSBoZWFk
IHdlbnQgQk9PTS4gUHJvYmFibHkgbXkgZXllcyBkaWQgc2hvdyBhICJkb2VzIG5vdCBjb21wdXRl
IiBtZXNzYWdlIGF0IHRoaXMgbW9tZW50IGR1ZSB0byBpbnRlbGxlY3R1YWwgb3ZlcmxvYWQuIEl0
IHRvb2sgbWUgcXVpdGUgYSB3aGlsZSB0byBmaWd1cmUgb3V0IHdoYXQgeW91IHByb2JhYmx5IHdh
bnRlZCB0byBzYXkgKHNlZSB0aGUgYXR0YWNoZWQgZmlsZSBpZiB5b3UncmUgaW50ZXJlc3RlZCBp
biBob3cgc2VyaW91cyBteSBkaWZmaWN1bHRpZXMgd2VyZSkuIEhlcmUgaXMgd2hhdCBJIGJlbGll
dmUgdG8gaGF2ZSB1bmRlcnN0b29kIGFuZCB3b3VsZCBsaWtlIHRvIGtub3cgaWYgdGhhdCdzIGNv
cnJlY3Q6XHBhcg0KPiAtPiBJbnN0ZWFkIG9mIGNoZWNraW5nIGEgY2hhbmdlZCBmaWVsZCBmb3Ig
Y29ycmVjdG5lc3MgKGFuZCBkb2luZyBjb21wdXRhdGlvbnMgYmFzZWQgb24gaXQpIGp1c3QgcmVt
ZW1iZXIgdGhhdCBpdCBoYXMgYmVlbiBjaGFuZ2VkLiBJdCB3aWxsIGJlIGNoZWNrZWQgd2hlbiBh
bnkgb3RoZXIgZmllbGQgaXMgY2hhbmdlZC5ccGFyDQo+IEFwYXJ0IGZyb20gdGhlIGFkZGl0aW9u
YWwgY29tcGxleGl0eSB0aGlzIGxvb2tzIHByb21pc2luZy4gWWV0IHRoZSBsYXN0IGlucHV0IHdp
bGwgYWx3YXlzIGJlIHVubm90aWNlZCBhbmQgdW5jaGVja2VkLlxwYXINCj4gUGVyaGFwcyB0aGUg
d3JhcHBlciB2aWV3IG1heSBiZSB0aGUgbW9zdCBlbGVnYW50IHNvbHV0aW9uLCBidXQgaXQgc291
bmRzIHByZXR0eSBzb3BoaXN0aWNhdGVkIGZvciBteSB0YXN0ZXMuXHBhcg0KPlxwYXINCj4gQFJv
YmVydDogRGVsYXlpbmcgdGhlIHZhbGlkaXR5IGNoZWNrIChhbmQgdGhlIHN1YnNlcXVlbnQgY2Fs
Y3VsYXRpb25zKSB3aXRoIFNlcnZpY2VzLkFjdGlvbiBtaWdodCBqdXN0IGJlIGVhc3kgZW5vdWdo
IGZvciBtZSB0byBnaXZlIGl0IGEgdHJ5LiA6LSlccGFyDQo+XHBhcg0KPlxwYXINCj4gVGhhbmsn
cyBhZ2FpbiBmb3IgdGhlIGluc3BpcmluZyBwb2ludGVycy5ccGFyDQo+IGd1bm5hclxwYXINCj5c
cGFyDQo+XHBhcg0KPiAtLS0tLVVyc3ByXCdmY25nbGljaGUgTmFjaHJpY2h0LS0tLS1ccGFyDQo+
IFZvbjogQmxhY2tCb3ggW21haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hdIEltIEF1ZnRy
YWcgdm9uIFJlbmUgQS4gS3J5d3VsdFxwYXINCj4gR2VzZW5kZXQ6IERpZW5zdGFnLCAxMi4gSmFu
dWFyIDIwMTAgMTA6NTdccGFyDQo+IEFuOiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQo+
IEJldHJlZmY6IFJlOiBbQkxBQ0tCT1hdIGxpbWl0aW5nIGludGVnZXIgdmFsdWVzIGluIGludGVy
YWN0b3IgZmllbGRccGFyDQo+XHBhcg0KPiBZb3UgY291bGQgYWxzbyBkbyBhIFdyYXBwZXIgdmll
dyB0aGF0IGhhcyB0aGUgZm9sbG93aW5nIGluIHRoZSBIYW5kbGVDdHJsTXNnOlxwYXINCj5ccGFy
DQo+IElGIG1zZyBJUyBDb250cm9sbGVycy5NYXJrTXNnIFRIRU5ccGFyDQo+ICAgIFdJVEggbXNn
OkNvbnRyb2xsZXJzLk1hcmtNc2cgRE9ccGFyDQo+ICAgICAgIElGIG1zZy5zaG93PUZBTFNFIFRI
RU5ccGFyDQo+ICAgICAgICAgIFN0ZExvZy5TdHJpbmcoIkxvc3QgZm9jdXMiKTtTdGRMb2cuTG4o
KTtccGFyDQo+ICAgICAgIEVMU0VcdGFiIFxwYXINCj4gICAgICAgICAgU3RkTG9nLlN0cmluZygi
R290IGZvY3VzIik7U3RkTG9nLkxuKCk7XHBhcg0KPiAgICAgICBFTkQ7XHBhcg0KPiAgICBFTkQ7
XHBhcg0KPiBFTkQ7XHBhcg0KPlxwYXINCj4gV2hlcmUgXHBhcg0KPlxwYXINCj4gU3RkTG9nLlN0
cmluZygiTG9zdCBmb2N1cyIpO1N0ZExvZy5MbigpO1xwYXINCj5ccGFyDQo+IHdvdWxkIGRvIHRo
ZSBjaGVja2luZy5ccGFyDQo+XHBhcg0KPiBMYXN0bHksIHlvdSBjb3VsZCBwcm9iYWJseSBjaGFu
Z2UgQ29udHJvbHMuRmllbGQuSGFuZGxlQ3RybE1zZzIsIHNvIHRoYXQgYSBuZXcgb3AgaXMgZ2l2
ZW4gZm9yIE1hcmtNc2cuc2hvdz1GQUxTRSwgb3IgdGhhdCB0aGUgb3A6PURpYWxvZy5jaGFuZ2Vk
IGlzIHVzZWQgZm9yIGEgY2hhbmdlLCB3aGVuIG1zZy5zaG93PUZBTFNFLlxwYXINCj5ccGFyDQo+
IFJlbmUgXHBhcg0KPlxwYXINCj4gLS0tLS0tLS0gT3JpZ2luYWwtTmFjaHJpY2h0IC0tLS0tLS0t
XHBhcg0KPiAgIFxwYXINCj4+IERhdHVtOiBUdWUsIDEyIEphbiAyMDEwIDEwOjA5OjUyICswMTAw
XHBhcg0KPj4gVm9uOiAiUmVuZSBBLiBLcnl3dWx0IiA8cmVuZS5rcnl3dWx0QEdNWC5BVD5ccGFy
DQo+PiBBbjogQkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIXHBhcg0KPj4gQmV0cmVmZjogUmU6IFtC
TEFDS0JPWF0gbGltaXRpbmcgaW50ZWdlciB2YWx1ZXMgaW4gaW50ZXJhY3RvciBmaWVsZFxwYXIN
Cj4+ICAgICBccGFyDQo+XHBhcg0KPiAgIFxwYXINCj4+IFdoYXQgYWJvdXQgYSBzb2x1dGlvbiBs
aWtlIHRoaXM/XHBhcg0KPj5ccGFyDQo+PiBSZW5lXHBhcg0KPj5ccGFyDQo+PiBNT0RVTEUgUHJp
dlRlc3RMZWF2ZTtccGFyDQo+PiBJTVBPUlQgRGlhbG9nLFN0ZExvZztccGFyDQo+PlxwYXINCj4+
IFZBUlxwYXINCj4+IGRpYWxvZyo6UkVDT1JEO1xwYXINCj4+IFx0YWIgYSosYiosYyo6SU5URUdF
UjtccGFyDQo+PiBFTkQ7XHBhcg0KPj5ccGFyDQo+PiBvbGREaWFsb2cqOlJFQ09SRDtccGFyDQo+
PiBcdGFiIGEqLGIqLGMqOklOVEVHRVI7XHBhcg0KPj4gRU5EO1xwYXINCj4+XHBhcg0KPj4gYUNo
YW5nZWQsYkNoYW5nZWQsY0NoYW5nZWQ6Qk9PTEVBTjtccGFyDQo+PlxwYXINCj4+IFBST0NFRFVS
RSBJc1ZhbGlkKGk6SU5URUdFUik6Qk9PTEVBTjtccGFyDQo+PiBCRUdJTlxwYXINCj4+IFx0YWIg
SUYgKChpID4gNikgJiAoaSA8IDE1KSkgVEhFTlxwYXINCj4+IFx0YWIgXHRhYiBSRVRVUk4gVFJV
RTtccGFyDQo+PiBcdGFiIEVMU0VccGFyDQo+PiBcdGFiIFx0YWIgUkVUVVJOIEZBTFNFO1xwYXIN
Cj4+IFx0YWIgRU5EXHBhcg0KPj4gRU5EIElzVmFsaWQ7XHBhcg0KPj5ccGFyDQo+PiBQUk9DRURV
UkUgTm90aWZpZXJBKiAob3AsIGZyb20sIHRvOiBJTlRFR0VSKTsgQkVHSU5ccGFyDQo+PiBcdGFi
IElGIG9wPURpYWxvZy5jaGFuZ2VkIFRIRU4gXHBhcg0KPj4gXHRhYiBcdGFiIElGIH5hQ2hhbmdl
ZCBUSEVOXHBhcg0KPj4gXHRhYiBcdGFiICAgSUYgYkNoYW5nZWQgVEhFTlxwYXINCj4+IFx0YWIg
XHRhYiBcdGFiICBJRiB+SXNWYWxpZChkaWFsb2cuYikgVEhFTlxwYXINCj4+IFx0YWIgXHRhYiBc
dGFiIFx0YWIgIGRpYWxvZy5hOj1vbGREaWFsb2cuYTtccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiAg
RUxTRVxwYXINCj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIgIGJDaGFuZ2VkOj1GQUxTRTtccGFyDQo+
PiBcdGFiIFx0YWIgXHRhYiBcdGFiICBhQ2hhbmdlZDo9VFJVRTtccGFyDQo+PiBcdGFiIFx0YWIg
XHRhYiBcdGFiICBvbGREaWFsb2cuYjo9ZGlhbG9nLmI7XHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIg
IEVORDtccGFyDQo+PiBcdGFiIFx0YWIgICBFTFNJRiBjQ2hhbmdlZCBUSEVOXHBhcg0KPj4gXHRh
YiBcdGFiIFx0YWIgIElGIH5Jc1ZhbGlkKGRpYWxvZy5jKSBUSEVOXHBhcg0KPj4gXHRhYiBcdGFi
IFx0YWIgXHRhYiAgZGlhbG9nLmE6PW9sZERpYWxvZy5hO1xwYXINCj4+IFx0YWIgXHRhYiBcdGFi
ICBFTFNFXHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgY0NoYW5nZWQ6PUZBTFNFO1xwYXIN
Cj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIgIGFDaGFuZ2VkOj1UUlVFO1xwYXINCj4+IFx0YWIgXHRh
YiBcdGFiIFx0YWIgIG9sZERpYWxvZy5jOj1kaWFsb2cuYztccGFyDQo+PiBcdGFiIFx0YWIgXHRh
YiAgRU5EO1xwYXINCj4+IFx0YWIgXHRhYiAgIEVMU0UgYUNoYW5nZWQ6PVRSVUVccGFyDQo+PiBc
dGFiIFx0YWIgICBFTkQ7XHBhcg0KPj4gXHRhYiBFTFNFXHBhcg0KPj4gXHRhYiBcdGFiIGFDaGFu
Z2VkOj1UUlVFO1xwYXINCj4+IFx0YWIgXHRhYiBFTkQ7XHBhcg0KPj4gXHRhYiBFTkQ7XHBhcg0K
Pj4gXHRhYiBEaWFsb2cuVXBkYXRlKGRpYWxvZyk7XHBhcg0KPj4gRU5EIE5vdGlmaWVyQTtccGFy
DQo+PlxwYXINCj4+IFBST0NFRFVSRSBOb3RpZmllckIqIChvcCwgZnJvbSwgdG86IElOVEVHRVIp
OyBCRUdJTlxwYXINCj4+IFx0YWIgSUYgb3A9RGlhbG9nLmNoYW5nZWQgVEhFTiBccGFyDQo+PiBc
dGFiIFx0YWIgSUYgfmJDaGFuZ2VkIFRIRU5ccGFyDQo+PiBcdGFiIFx0YWIgICBJRiBhQ2hhbmdl
ZCBUSEVOXHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgIElGIH5Jc1ZhbGlkKGRpYWxvZy5hKSBUSEVO
XHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgZGlhbG9nLmI6PW9sZERpYWxvZy5iO1xwYXIN
Cj4+IFx0YWIgXHRhYiBcdGFiICBFTFNFXHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgYUNo
YW5nZWQ6PUZBTFNFO1xwYXINCj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIgIGJDaGFuZ2VkOj1UUlVF
O1xwYXINCj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIgIG9sZERpYWxvZy5hOj1kaWFsb2cuYTtccGFy
DQo+PiBcdGFiIFx0YWIgXHRhYiAgRU5EO1xwYXINCj4+IFx0YWIgXHRhYiAgIEVMU0lGIGNDaGFu
Z2VkIFRIRU5ccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiAgSUYgfklzVmFsaWQoZGlhbG9nLmMpIFRI
RU5ccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiBcdGFiICBkaWFsb2cuYjo9b2xkRGlhbG9nLmI7XHBh
cg0KPj4gXHRhYiBcdGFiIFx0YWIgIEVMU0VccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiBcdGFiICBj
Q2hhbmdlZDo9RkFMU0U7XHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgYkNoYW5nZWQ6PVRS
VUU7XHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgb2xkRGlhbG9nLmM6PWRpYWxvZy5jO1xw
YXINCj4+IFx0YWIgXHRhYiBcdGFiICBFTkQ7XHBhcg0KPj4gXHRhYiBcdGFiICAgRUxTRSBiQ2hh
bmdlZDo9VFJVRVxwYXINCj4+IFx0YWIgXHRhYiAgIEVORDtccGFyDQo+PiBcdGFiIFx0YWIgRU5E
O1xwYXINCj4+IFx0YWIgRU5EO1xwYXINCj4+IFx0YWIgRGlhbG9nLlVwZGF0ZShkaWFsb2cpO1xw
YXINCj4+IEVORCBOb3RpZmllckI7XHBhcg0KPj5ccGFyDQo+PiBQUk9DRURVUkUgTm90aWZpZXJD
KiAob3AsIGZyb20sIHRvOiBJTlRFR0VSKTsgQkVHSU5ccGFyDQo+PiBcdGFiIElGIG9wPURpYWxv
Zy5jaGFuZ2VkIFRIRU4gXHBhcg0KPj4gXHRhYiBcdGFiIElGIH5jQ2hhbmdlZCBUSEVOXHBhcg0K
Pj4gXHRhYiBcdGFiICAgSUYgYUNoYW5nZWQgVEhFTlxwYXINCj4+IFx0YWIgXHRhYiBcdGFiICBJ
RiB+SXNWYWxpZChkaWFsb2cuYSkgVEhFTlxwYXINCj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIgIGRp
YWxvZy5jOj1vbGREaWFsb2cuYztccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiAgRUxTRVxwYXINCj4+
IFx0YWIgXHRhYiBcdGFiIFx0YWIgIGFDaGFuZ2VkOj1GQUxTRTtccGFyDQo+PiBcdGFiIFx0YWIg
XHRhYiBcdGFiICBjQ2hhbmdlZDo9VFJVRTtccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiBcdGFiICBv
bGREaWFsb2cuYTo9ZGlhbG9nLmE7XHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgIEVORDtccGFyDQo+
PiBcdGFiIFx0YWIgICBFTFNJRiBiQ2hhbmdlZCBUSEVOXHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIg
IElGIH5Jc1ZhbGlkKGRpYWxvZy5iKSBUSEVOXHBhcg0KPj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAg
ZGlhbG9nLmM6PW9sZERpYWxvZy5jO1xwYXINCj4+IFx0YWIgXHRhYiBcdGFiICBFTFNFXHBhcg0K
Pj4gXHRhYiBcdGFiIFx0YWIgXHRhYiAgY0NoYW5nZWQ6PUZBTFNFO1xwYXINCj4+IFx0YWIgXHRh
YiBcdGFiIFx0YWIgIGNDaGFuZ2VkOj1UUlVFO1xwYXINCj4+IFx0YWIgXHRhYiBcdGFiIFx0YWIg
IG9sZERpYWxvZy5iOj1kaWFsb2cuYjtccGFyDQo+PiBcdGFiIFx0YWIgXHRhYiAgRU5EO1xwYXIN
Cj4+IFx0YWIgXHRhYiAgIEVMU0UgY0NoYW5nZWQ6PVRSVUVccGFyDQo+PiBcdGFiIFx0YWIgICBF
TkQ7XHBhcg0KPj4gXHRhYiBcdGFiIEVORDtccGFyDQo+PiBcdGFiIEVORDtccGFyDQo+PiBcdGFi
IERpYWxvZy5VcGRhdGUoZGlhbG9nKTtccGFyDQo+PiBFTkQgTm90aWZpZXJDO1xwYXINCj4+IEVO
RCBQcml2VGVzdExlYXZlLlxwYXINCj4+XHBhcg0KPj4gLS0tLS0tLS0gT3JpZ2luYWwtTmFjaHJp
Y2h0IC0tLS0tLS0tXHBhcg0KPj4gICAgIFxwYXINCj4gWy4uLl1ccGFyDQo+ICAgXHBhcg0KPlxw
YXINCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KPlxwYXINClxwYXINClxwYXINCi0tLS1ccGFyDQpU
byB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9Y
IiB0byBMSVNUU0VSVkBMSVNUUy5PQkVST04uQ0hcfX0AviEh
----boundary-LibPST-iamunique-302424972_-_---
Received on Tue Jan 12 2010 - 21:17:57 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:37 UTC