RE: Something is missing in Component Pascal

From: Treutwein Bernhard <EX:/O=ZUV/OU=FIRST>
Date: Thu, 03 Jul 2003 07:02:24 +0000

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

Hi Wojtek,

lastly I have a quick answer:

Check Module Services, there you find:

        PROCEDURE AdrOf (IN rec: ANYREC): INTEGER;

and later:

        PROCEDURE AdrOf (IN rec: ANYREC): INTEGER
        Returns the address of a record variable.

I think this serves your wishes ...

--
	Bernhard Treutwein, IuK, Ref. III A 3
	Bernhard.Treutwein(at)verwaltung uni-muenchen de
> -----Original Message-----
> From: Wojtek Skulski [mailto:skulski{([at]})nowhere.xy> Sent: Thursday, July 03, 2003 8:41 AM
> To: BlackBox
> Cc: gmeunier{([at]})nowhere.xy> Subject: Something is missing in Component Pascal
> 
> 
> Hello:
> 
>   I have been strugling with BlackBox during the last few days,
> and I have come to the conclusion that something is missing in
> Component Pascal. Really. Perhaps I am missing something in the
> language manual, in which case I apologise.
> 
> This something is well known in C as an address operator, which
> we also need in a type-safe version. I searched the language report
> for the word "address" and it is not there. I propose the following.
> 
> Imagine there is a function which only takes pointers. Imagine
> the name of the function is Join. (Now you can feel the blues,
> do not you?) Imagine that for some reason I am working with
> statically declared records. This has been possible for the last
> 50 years, and it should still be possible with CP. So OK, let's
> assume I have this fancy. So I declare the bunch of records,
> and now I want to write these to a file. This also used to be
> possible for the last 50 years. So I am writing to a file using
> Stores.Writer and I am getting what? You bet. TRAP 21. Everybody
> still with me?
> 
> OK, so I start reading Stores documentation and I find the following
> remedy which is supposed to help with TRAP 21.
> 
> IF ~Stores.Joined(s1, s2) THEN
>    IF ~Stores.Unattached(s2) THEN
>        s2 := Stores.CopyOf(s2)
>    END;
>    Stores.Join(s1, s2)
> END;
> 
> Wonderful. So I start using it and I get what? You bet. Compilation
> error. My stores are records, not pointers.
> 
> So now I have a question. How do I call the function Join 
> which expects
> a pointer, if I have a statically declared record, either 
> global variable
> or a stack variable?
> 
> In case this is trivial, I will really appreciate your telling me.
> We have an experiment next week and I do need this software to work
> without TRAP 21.
> 
> In case there is no trivial solution, I will temporarily dump 
> BB and start
> using C++ for the time being, where such stupid traps do not happen.
> I would also propose the following syntax to be added to the language:
> 
> (*declaration*)
> VAR r1, r2: RECORD (Stores.Store) (*some data*) END;
>     s: Stores.Store;
> 
> BEGIN
> IF ~Stores.Joined(POINTER TO r1, POINTER TO r2) THEN
>    IF ~Stores.Unattached  (POINTER TO r2) THEN
>        s := Stores.CopyOf (POINTER TO r2)
>    END;
>    Stores.Join(POINTER TO r1, s)
> END;
> 
> You feel the blues? The "POINTER TO r" is the opposite to 
> dereferencing,
> that is the "address of" operator. It should be possible 
> anywhere where
> the opposite could be used, that is
> 
> VAR p: POINTER TO r;
> 
> BEGIN NEW(p); (* now we can use p^ *)
> 
> If I can use p^ to fill it with data, and p to pass to a function,
> then it should be possible to use r to fill with data, and 
> "POINTER TO r"
> to be passed to functions.
> 
> In case you do not like my syntax, let it be ^r as the opposite to p^,
> or &r if you like C style, or POINTER(r), or whatever. I do not care.
> All that I want is to be able to use the framework, where functions
> are defined with pointers, and they do not want to be called 
> with records.
> 
> In case I am missing something obvious, I stand corrected and 
> I apologize.
> 
> I wish everybody a good 4-th July.
> 
> Wojtek Skulski skulski{([at]})nowhere.xy> 
> 
> PS1: I hope the proposed solution will not be as follows, but 
> I will use
>      this if nothing else helps, because we have the 
> experiment next week.
> 
>             SYSTEM.VAL(ptrType, SYSTEM.ADR(record))
> 
> 
> PS2: Gerard, I do not think you are there yet. The traps 
> happen when I am
>      dealing with histograms which are pointed to from the tree nodes.
>      Once I display such a histogram, it gets joined to some viev, and
>      thus its domain gets dirty. Now I cannot store these dirty histos
>      anymore. This problem is hidden deep in the dungeons of BlackBox.
>      You do not see it yet unless you have some pointers to stores
>      attached to your trees. The tree itself does not have 
> this problem.
>      The Dialog tree is not a store anyway. The collection of stores
>      develops the collective problem when some stores get 
> their domains
>      attached to something else than other stores. So it is all pretty
>      nonobvious.
> 
> 
> 
> --------------------------------------------
> 
> To unsubscribe from this mailing list, send a message 
> containing the word "unsubscribe" to:
>    blackbox-request{([at]})nowhere.xy> 
> To get a list of valid e-mail commands and instructions on 
> their usage, send a message containing the word "help" to the 
> above address.
> 
> Send any problem reports or questions related to this email 
> list to the list owner at
>    owner-blackbox{([at]})nowhere.xy> 
> Current posting policy:
> 
> a) To post you should use the same address by which you are 
> subscribed to the mailing list. That way, the list server 
> will recognize you as subscriber and forward your posting 
> immediately, without creating any overhead.
> 
> b) If, for some reason, you cannot post from the address, by 
> which you are subscribed, your message will be moderated to 
> avoid spam. Please understand that moderation will often 
> cause some delay, in particular over weekends or holydays.
> 
----boundary-LibPST-iamunique-1462842567_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhpIFdvanRlayxccGFyDQpccGFyDQpsYXN0bHkg
SSBoYXZlIGEgcXVpY2sgYW5zd2VyOlxwYXINClxwYXINCkNoZWNrIE1vZHVsZSBTZXJ2aWNlcywg
dGhlcmUgeW91IGZpbmQ6XHBhcg0KXHBhcg0KXHRhYiBQUk9DRURVUkUgQWRyT2YgKElOIHJlYzog
QU5ZUkVDKTogSU5URUdFUjtccGFyDQpccGFyDQphbmQgbGF0ZXI6XHBhcg0KXHBhcg0KXHRhYiBQ
Uk9DRURVUkUgQWRyT2YgKElOIHJlYzogQU5ZUkVDKTogSU5URUdFUlxwYXINClx0YWIgUmV0dXJu
cyB0aGUgYWRkcmVzcyBvZiBhIHJlY29yZCB2YXJpYWJsZS5ccGFyDQpccGFyDQpJIHRoaW5rIHRo
aXMgc2VydmVzIHlvdXIgd2lzaGVzIC4uLlxwYXINClxwYXINCi0tXHBhcg0KXHRhYiBCZXJuaGFy
ZCBUcmV1dHdlaW4sIEl1SywgUmVmLiBJSUkgQSAzXHBhcg0KXHRhYiBCZXJuaGFyZC5UcmV1dHdl
aW4oYXQpdmVyd2FsdHVuZyB1bmktbXVlbmNoZW4gZGVccGFyDQpccGFyDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tXHBhcg0KPiBGcm9tOiBXb2p0ZWsgU2t1bHNraSBbbWFpbHRvOnNrdWxz
a2lAcGFzLnJvY2hlc3Rlci5lZHVdIFxwYXINCj4gU2VudDogVGh1cnNkYXksIEp1bHkgMDMsIDIw
MDMgODo0MSBBTVxwYXINCj4gVG86IEJsYWNrQm94XHBhcg0KPiBDYzogZ21ldW5pZXJAY2x1Yi1p
bnRlcm5ldC5mcjsgV29qdGVrIFNrdWxza2lccGFyDQo+IFN1YmplY3Q6IFNvbWV0aGluZyBpcyBt
aXNzaW5nIGluIENvbXBvbmVudCBQYXNjYWxccGFyDQo+IFxwYXINCj4gXHBhcg0KPiBIZWxsbzpc
cGFyDQo+IFxwYXINCj4gICBJIGhhdmUgYmVlbiBzdHJ1Z2xpbmcgd2l0aCBCbGFja0JveCBkdXJp
bmcgdGhlIGxhc3QgZmV3IGRheXMsXHBhcg0KPiBhbmQgSSBoYXZlIGNvbWUgdG8gdGhlIGNvbmNs
dXNpb24gdGhhdCBzb21ldGhpbmcgaXMgbWlzc2luZyBpblxwYXINCj4gQ29tcG9uZW50IFBhc2Nh
bC4gUmVhbGx5LiBQZXJoYXBzIEkgYW0gbWlzc2luZyBzb21ldGhpbmcgaW4gdGhlXHBhcg0KPiBs
YW5ndWFnZSBtYW51YWwsIGluIHdoaWNoIGNhc2UgSSBhcG9sb2dpc2UuXHBhcg0KPiBccGFyDQo+
IFRoaXMgc29tZXRoaW5nIGlzIHdlbGwga25vd24gaW4gQyBhcyBhbiBhZGRyZXNzIG9wZXJhdG9y
LCB3aGljaFxwYXINCj4gd2UgYWxzbyBuZWVkIGluIGEgdHlwZS1zYWZlIHZlcnNpb24uIEkgc2Vh
cmNoZWQgdGhlIGxhbmd1YWdlIHJlcG9ydFxwYXINCj4gZm9yIHRoZSB3b3JkICJhZGRyZXNzIiBh
bmQgaXQgaXMgbm90IHRoZXJlLiBJIHByb3Bvc2UgdGhlIGZvbGxvd2luZy5ccGFyDQo+IFxwYXIN
Cj4gSW1hZ2luZSB0aGVyZSBpcyBhIGZ1bmN0aW9uIHdoaWNoIG9ubHkgdGFrZXMgcG9pbnRlcnMu
IEltYWdpbmVccGFyDQo+IHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBpcyBKb2luLiAoTm93IHlv
dSBjYW4gZmVlbCB0aGUgYmx1ZXMsXHBhcg0KPiBkbyBub3QgeW91PykgSW1hZ2luZSB0aGF0IGZv
ciBzb21lIHJlYXNvbiBJIGFtIHdvcmtpbmcgd2l0aFxwYXINCj4gc3RhdGljYWxseSBkZWNsYXJl
ZCByZWNvcmRzLiBUaGlzIGhhcyBiZWVuIHBvc3NpYmxlIGZvciB0aGUgbGFzdFxwYXINCj4gNTAg
eWVhcnMsIGFuZCBpdCBzaG91bGQgc3RpbGwgYmUgcG9zc2libGUgd2l0aCBDUC4gU28gT0ssIGxl
dCdzXHBhcg0KPiBhc3N1bWUgSSBoYXZlIHRoaXMgZmFuY3kuIFNvIEkgZGVjbGFyZSB0aGUgYnVu
Y2ggb2YgcmVjb3JkcyxccGFyDQo+IGFuZCBub3cgSSB3YW50IHRvIHdyaXRlIHRoZXNlIHRvIGEg
ZmlsZS4gVGhpcyBhbHNvIHVzZWQgdG8gYmVccGFyDQo+IHBvc3NpYmxlIGZvciB0aGUgbGFzdCA1
MCB5ZWFycy4gU28gSSBhbSB3cml0aW5nIHRvIGEgZmlsZSB1c2luZ1xwYXINCj4gU3RvcmVzLldy
aXRlciBhbmQgSSBhbSBnZXR0aW5nIHdoYXQ/IFlvdSBiZXQuIFRSQVAgMjEuIEV2ZXJ5Ym9keVxw
YXINCj4gc3RpbGwgd2l0aCBtZT9ccGFyDQo+IFxwYXINCj4gT0ssIHNvIEkgc3RhcnQgcmVhZGlu
ZyBTdG9yZXMgZG9jdW1lbnRhdGlvbiBhbmQgSSBmaW5kIHRoZSBmb2xsb3dpbmdccGFyDQo+IHJl
bWVkeSB3aGljaCBpcyBzdXBwb3NlZCB0byBoZWxwIHdpdGggVFJBUCAyMS5ccGFyDQo+IFxwYXIN
Cj4gSUYgflN0b3Jlcy5Kb2luZWQoczEsIHMyKSBUSEVOXHBhcg0KPiAgICBJRiB+U3RvcmVzLlVu
YXR0YWNoZWQoczIpIFRIRU5ccGFyDQo+ICAgICAgICBzMiA6PSBTdG9yZXMuQ29weU9mKHMyKVxw
YXINCj4gICAgRU5EO1xwYXINCj4gICAgU3RvcmVzLkpvaW4oczEsIHMyKVxwYXINCj4gRU5EO1xw
YXINCj4gXHBhcg0KPiBXb25kZXJmdWwuIFNvIEkgc3RhcnQgdXNpbmcgaXQgYW5kIEkgZ2V0IHdo
YXQ/IFlvdSBiZXQuIENvbXBpbGF0aW9uXHBhcg0KPiBlcnJvci4gTXkgc3RvcmVzIGFyZSByZWNv
cmRzLCBub3QgcG9pbnRlcnMuXHBhcg0KPiBccGFyDQo+IFNvIG5vdyBJIGhhdmUgYSBxdWVzdGlv
bi4gSG93IGRvIEkgY2FsbCB0aGUgZnVuY3Rpb24gSm9pbiBccGFyDQo+IHdoaWNoIGV4cGVjdHNc
cGFyDQo+IGEgcG9pbnRlciwgaWYgSSBoYXZlIGEgc3RhdGljYWxseSBkZWNsYXJlZCByZWNvcmQs
IGVpdGhlciBccGFyDQo+IGdsb2JhbCB2YXJpYWJsZVxwYXINCj4gb3IgYSBzdGFjayB2YXJpYWJs
ZT9ccGFyDQo+IFxwYXINCj4gSW4gY2FzZSB0aGlzIGlzIHRyaXZpYWwsIEkgd2lsbCByZWFsbHkg
YXBwcmVjaWF0ZSB5b3VyIHRlbGxpbmcgbWUuXHBhcg0KPiBXZSBoYXZlIGFuIGV4cGVyaW1lbnQg
bmV4dCB3ZWVrIGFuZCBJIGRvIG5lZWQgdGhpcyBzb2Z0d2FyZSB0byB3b3JrXHBhcg0KPiB3aXRo
b3V0IFRSQVAgMjEuXHBhcg0KPiBccGFyDQo+IEluIGNhc2UgdGhlcmUgaXMgbm8gdHJpdmlhbCBz
b2x1dGlvbiwgSSB3aWxsIHRlbXBvcmFyaWx5IGR1bXAgXHBhcg0KPiBCQiBhbmQgc3RhcnRccGFy
DQo+IHVzaW5nIEMrKyBmb3IgdGhlIHRpbWUgYmVpbmcsIHdoZXJlIHN1Y2ggc3R1cGlkIHRyYXBz
IGRvIG5vdCBoYXBwZW4uXHBhcg0KPiBJIHdvdWxkIGFsc28gcHJvcG9zZSB0aGUgZm9sbG93aW5n
IHN5bnRheCB0byBiZSBhZGRlZCB0byB0aGUgbGFuZ3VhZ2U6XHBhcg0KPiBccGFyDQo+ICgqZGVj
bGFyYXRpb24qKVxwYXINCj4gVkFSIHIxLCByMjogUkVDT1JEIChTdG9yZXMuU3RvcmUpICgqc29t
ZSBkYXRhKikgRU5EO1xwYXINCj4gICAgIHM6IFN0b3Jlcy5TdG9yZTtccGFyDQo+IFxwYXINCj4g
QkVHSU5ccGFyDQo+IElGIH5TdG9yZXMuSm9pbmVkKFBPSU5URVIgVE8gcjEsIFBPSU5URVIgVE8g
cjIpIFRIRU5ccGFyDQo+ICAgIElGIH5TdG9yZXMuVW5hdHRhY2hlZCAgKFBPSU5URVIgVE8gcjIp
IFRIRU5ccGFyDQo+ICAgICAgICBzIDo9IFN0b3Jlcy5Db3B5T2YgKFBPSU5URVIgVE8gcjIpXHBh
cg0KPiAgICBFTkQ7XHBhcg0KPiAgICBTdG9yZXMuSm9pbihQT0lOVEVSIFRPIHIxLCBzKVxwYXIN
Cj4gRU5EO1xwYXINCj4gXHBhcg0KPiBZb3UgZmVlbCB0aGUgYmx1ZXM/IFRoZSAiUE9JTlRFUiBU
TyByIiBpcyB0aGUgb3Bwb3NpdGUgdG8gXHBhcg0KPiBkZXJlZmVyZW5jaW5nLFxwYXINCj4gdGhh
dCBpcyB0aGUgImFkZHJlc3Mgb2YiIG9wZXJhdG9yLiBJdCBzaG91bGQgYmUgcG9zc2libGUgXHBh
cg0KPiBhbnl3aGVyZSB3aGVyZVxwYXINCj4gdGhlIG9wcG9zaXRlIGNvdWxkIGJlIHVzZWQsIHRo
YXQgaXNccGFyDQo+IFxwYXINCj4gVkFSIHA6IFBPSU5URVIgVE8gcjtccGFyDQo+IFxwYXINCj4g
QkVHSU4gTkVXKHApOyAoKiBub3cgd2UgY2FuIHVzZSBwXiAqKVxwYXINCj4gXHBhcg0KPiBJZiBJ
IGNhbiB1c2UgcF4gdG8gZmlsbCBpdCB3aXRoIGRhdGEsIGFuZCBwIHRvIHBhc3MgdG8gYSBmdW5j
dGlvbixccGFyDQo+IHRoZW4gaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHVzZSByIHRvIGZpbGwg
d2l0aCBkYXRhLCBhbmQgXHBhcg0KPiAiUE9JTlRFUiBUTyByIlxwYXINCj4gdG8gYmUgcGFzc2Vk
IHRvIGZ1bmN0aW9ucy5ccGFyDQo+IFxwYXINCj4gSW4gY2FzZSB5b3UgZG8gbm90IGxpa2UgbXkg
c3ludGF4LCBsZXQgaXQgYmUgXnIgYXMgdGhlIG9wcG9zaXRlIHRvIHBeLFxwYXINCj4gb3IgJnIg
aWYgeW91IGxpa2UgQyBzdHlsZSwgb3IgUE9JTlRFUihyKSwgb3Igd2hhdGV2ZXIuIEkgZG8gbm90
IGNhcmUuXHBhcg0KPiBBbGwgdGhhdCBJIHdhbnQgaXMgdG8gYmUgYWJsZSB0byB1c2UgdGhlIGZy
YW1ld29yaywgd2hlcmUgZnVuY3Rpb25zXHBhcg0KPiBhcmUgZGVmaW5lZCB3aXRoIHBvaW50ZXJz
LCBhbmQgdGhleSBkbyBub3Qgd2FudCB0byBiZSBjYWxsZWQgXHBhcg0KPiB3aXRoIHJlY29yZHMu
XHBhcg0KPiBccGFyDQo+IEluIGNhc2UgSSBhbSBtaXNzaW5nIHNvbWV0aGluZyBvYnZpb3VzLCBJ
IHN0YW5kIGNvcnJlY3RlZCBhbmQgXHBhcg0KPiBJIGFwb2xvZ2l6ZS5ccGFyDQo+IFxwYXINCj4g
SSB3aXNoIGV2ZXJ5Ym9keSBhIGdvb2QgNC10aCBKdWx5LlxwYXINCj4gXHBhcg0KPiBXb2p0ZWsg
U2t1bHNraSBza3Vsc2tpQHBhcy5yb2NoZXN0ZXIuZWR1XHBhcg0KPiBccGFyDQo+IFxwYXINCj4g
UFMxOiBJIGhvcGUgdGhlIHByb3Bvc2VkIHNvbHV0aW9uIHdpbGwgbm90IGJlIGFzIGZvbGxvd3Ms
IGJ1dCBccGFyDQo+IEkgd2lsbCB1c2VccGFyDQo+ICAgICAgdGhpcyBpZiBub3RoaW5nIGVsc2Ug
aGVscHMsIGJlY2F1c2Ugd2UgaGF2ZSB0aGUgXHBhcg0KPiBleHBlcmltZW50IG5leHQgd2Vlay5c
cGFyDQo+IFxwYXINCj4gICAgICAgICAgICAgU1lTVEVNLlZBTChwdHJUeXBlLCBTWVNURU0uQURS
KHJlY29yZCkpXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gUFMyOiBHZXJhcmQsIEkgZG8gbm90IHRo
aW5rIHlvdSBhcmUgdGhlcmUgeWV0LiBUaGUgdHJhcHMgXHBhcg0KPiBoYXBwZW4gd2hlbiBJIGFt
XHBhcg0KPiAgICAgIGRlYWxpbmcgd2l0aCBoaXN0b2dyYW1zIHdoaWNoIGFyZSBwb2ludGVkIHRv
IGZyb20gdGhlIHRyZWUgbm9kZXMuXHBhcg0KPiAgICAgIE9uY2UgSSBkaXNwbGF5IHN1Y2ggYSBo
aXN0b2dyYW0sIGl0IGdldHMgam9pbmVkIHRvIHNvbWUgdmlldiwgYW5kXHBhcg0KPiAgICAgIHRo
dXMgaXRzIGRvbWFpbiBnZXRzIGRpcnR5LiBOb3cgSSBjYW5ub3Qgc3RvcmUgdGhlc2UgZGlydHkg
aGlzdG9zXHBhcg0KPiAgICAgIGFueW1vcmUuIFRoaXMgcHJvYmxlbSBpcyBoaWRkZW4gZGVlcCBp
biB0aGUgZHVuZ2VvbnMgb2YgQmxhY2tCb3guXHBhcg0KPiAgICAgIFlvdSBkbyBub3Qgc2VlIGl0
IHlldCB1bmxlc3MgeW91IGhhdmUgc29tZSBwb2ludGVycyB0byBzdG9yZXNccGFyDQo+ICAgICAg
YXR0YWNoZWQgdG8geW91ciB0cmVlcy4gVGhlIHRyZWUgaXRzZWxmIGRvZXMgbm90IGhhdmUgXHBh
cg0KPiB0aGlzIHByb2JsZW0uXHBhcg0KPiAgICAgIFRoZSBEaWFsb2cgdHJlZSBpcyBub3QgYSBz
dG9yZSBhbnl3YXkuIFRoZSBjb2xsZWN0aW9uIG9mIHN0b3Jlc1xwYXINCj4gICAgICBkZXZlbG9w
cyB0aGUgY29sbGVjdGl2ZSBwcm9ibGVtIHdoZW4gc29tZSBzdG9yZXMgZ2V0IFxwYXINCj4gdGhl
aXIgZG9tYWluc1xwYXINCj4gICAgICBhdHRhY2hlZCB0byBzb21ldGhpbmcgZWxzZSB0aGFuIG90
aGVyIHN0b3Jlcy4gU28gaXQgaXMgYWxsIHByZXR0eVxwYXINCj4gICAgICBub25vYnZpb3VzLlxw
YXINCj4gXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS1ccGFyDQo+IFxwYXINCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlz
IG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgXHBhcg0KPiBjb250YWluaW5nIHRoZSB3b3Jk
ICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KPiAgICBibGFja2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxw
YXINCj4gXHBhcg0KPiBUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQg
aW5zdHJ1Y3Rpb25zIG9uIFxwYXINCj4gdGhlaXIgdXNhZ2UsIHNlbmQgYSBtZXNzYWdlIGNvbnRh
aW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBccGFyDQo+IGFib3ZlIGFkZHJlc3MuXHBhcg0K
PiBccGFyDQo+IFNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0
byB0aGlzIGVtYWlsIFxwYXINCj4gbGlzdCB0byB0aGUgbGlzdCBvd25lciBhdFxwYXINCj4gICAg
b3duZXItYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KPiBccGFyDQo+IEN1cnJlbnQgcG9zdGluZyBw
b2xpY3k6XHBhcg0KPiBccGFyDQo+IGEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUg
YWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIFxwYXINCj4gc3Vic2NyaWJlZCB0byB0aGUgbWFpbGlu
ZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIFxwYXINCj4gd2lsbCByZWNvZ25pemUg
eW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIFxwYXINCj4gaW1tZWRp
YXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXINCj4gXHBhcg0KPiBiKSBJ
ZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkg
XHBhcg0KPiB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIG1v
ZGVyYXRlZCB0byBccGFyDQo+IGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9k
ZXJhdGlvbiB3aWxsIG9mdGVuIFxwYXINCj4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxh
ciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlkYXl9fQCQQOFTA3DvFCAwITigMA==
----boundary-LibPST-iamunique-1462842567_-_---
Received on Thu Jul 03 2003 - 09:02:24 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:09 UTC