Re: Something is missing in Component Pascal

From: [at]} <Wojtek>
Date: Fri, 4 Jul 2003 11:46:38 -0400 (EDT)

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

> Wolfgang wrote:

> Having read your recent contributions to the BlackBox mailinglist I would
> like to emphasize some important points:
>
> 1) Turning stack-allocated record objects into pointers that can be stored
> in heap objects is outright live-threatening. Next time the garbage
> collector runs, BlackBox will most likely vanish from your screen, because
> stack objects are collected upon return of the containing procedure.
> That's why the language does not support this.

I stand corrected concerning the GC. But I am still not sure concerning
the other side of it, being able to pass the record to a procedure which
expects a pointer. You are doing just that with VAR parameters, do not
you? I want to ask, what is the difference between the following two
declarations, and why does #1 not allow being called with a VAR record?

   1. PROCEDURE proc1 (p: POINTER TO r);
   2. PROCEDURE proc2 (VAR vr: r);

I think in case #2 internally you are using the address, same with #1.
Why cannot I just use both the same way? I mean, having your Stores.Join
which expects a pointer, I would pass it something like ^r or just
plain r, and the compiler would know that I mean VAR r, which is allowed
by the language. What is wrong with this idea?

> 2) Your question indicates that you keep walking deeper and deeper
> into a maze that has no exit and that you should not have entered
> in the first place.

I just sent you a finished application yesterday. I agree it was a maze,
but I have no choice. I have to do it. I entered the maze partly because
one has to start from somewhere, and the place I choose to enter quickly
lead me into a mess. In retrospect, I started there because of my desire
to use the supplied Dialog/Control automation, which is great for rapid
development. But it only works with static records, the way it is presented
in the docu and in the examples. I know Gerard has chosen a different
starting point, and he succeded, what to me looks like magic. I am not
expert enough to accomplish what he did.

> To store the data you are displaying in your dialog the example
> posted by Marc Matin is absolutely the right approach here,

I have not seen his posting. I am subscribed to weekly digests. I now
want to change this to immediate response, but not sure how to tell
the list server I want to change my subscription. Perhaps a human
operator has to administer the change. In any case, I finished
the application before I saw his posting. What was it?

> 3) To store data you can use Stores.Writer and Reader
> (i.e. the Rider concept) without having to create a Stores.Store.
> Just process the record field by field and call the appropriate rider
> methods. On a first glimpse, this field-wise writing may seem
> inconvenient, but when using a Stores.Store you'll have to do exactly
> the same thing just at a different place: in the Externalize method.

I sort of did this, but partially. In fact I am using Stores because
my objects are stores, and rewriting the entire Gr to do what you
say is not practical. Not to mention my plans to use Lib in future.
So I am reusing the Stores mechanism by asking the object to write
itself to the file. It works. Otherwise the file is just what you say.
It is a data file, and it will not load itself into BB when clicked on.
(It would be interesting to know why exactly, and how to change this.)
So I changed the extension from .odc to .pom just to let the user know
this is not a regular BlackBox document.

Using Stores has of course opened the Pandora box of Domains, and
this is where the maze has started. I solved it somehow, but this is
the most messy part of my application, and I am not happy with what
I did. Quite likely the .pom data file has duplicate objects in it
because of domains. I am not sure what to do with this. I will have
to live with the fact for the time being.

The application will be posted to the CPC as soon as we use it to do
something practical. I can send the pre-release version on request
to anybody interested. The abstract is attached below. The application
is important to us to develop data acquisition systems. I have written
it such it is also a practical illustration of how to do such things.
BlackBox is badly lacking such nontrivial examples. The examples
supplied with the environment are too small to be good starting points
to get development done quickly. I recall, that Turbo Pascal had
several valuable nontrivial examples: the MicroCalc spreadsheet,
the Turbo Database Toolbox example database, and the Turbo Editor
Toolbox had two practical editors built using it, and so on. These
were extremely useful as templates, or just by themselves. I am
hoping that my POM can be useful as a starting point for some other
(un)related development.

Thank you for all your help and comments.

Wojtek
--------------------------------------------------------------------
Summary:
The Persistent Object Manager (POM) is a tool to organize several
objects such as histograms into a tree structure, which is presented
on-screen to the user in the form of a tree window similar to the Windows
Explorer. The user can open graphical views of collected data by
double-clicking on the object icons. The entire tree can be saved to disk
as a binary file with an extension ".pom". The data file can be read back
into the POM at a later time. Arbitrary objects can be managed by POM, but
only so-called "persistent objects" can be written to disk and read back.
Examples of such persistent objects include the Gr histograms which are
provided by the Gr subsystem. The interface of the POM to the Gr, as well
as a demo program, are both provided. Other types of objects can be
managed as well, provided that a very simple interface code is written by
the user. POM is optimized for the ease of use by the application
programmer. The projected application of POM are data acquisition and data
analysis, where several dozens histograms and other graphical objects will
be used to collect data and present the results to the user.





--------------------------------------------

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-1721964359_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwID4gV29sZmdhbmcgd3JvdGU6XHBhcg0KXHBhcg0K
PiBIYXZpbmcgcmVhZCB5b3VyIHJlY2VudCBjb250cmlidXRpb25zIHRvIHRoZSBCbGFja0JveCBt
YWlsaW5nbGlzdCBJIHdvdWxkXHBhcg0KPiBsaWtlIHRvIGVtcGhhc2l6ZSBzb21lIGltcG9ydGFu
dCBwb2ludHM6XHBhcg0KPlxwYXINCj4gMSkgVHVybmluZyBzdGFjay1hbGxvY2F0ZWQgcmVjb3Jk
IG9iamVjdHMgaW50byBwb2ludGVycyB0aGF0IGNhbiBiZSBzdG9yZWRccGFyDQo+IGluIGhlYXAg
b2JqZWN0cyBpcyBvdXRyaWdodCBsaXZlLXRocmVhdGVuaW5nLiBOZXh0IHRpbWUgdGhlIGdhcmJh
Z2VccGFyDQo+IGNvbGxlY3RvciBydW5zLCBCbGFja0JveCB3aWxsIG1vc3QgbGlrZWx5IHZhbmlz
aCBmcm9tIHlvdXIgc2NyZWVuLCBiZWNhdXNlXHBhcg0KPiBzdGFjayBvYmplY3RzIGFyZSBjb2xs
ZWN0ZWQgdXBvbiByZXR1cm4gb2YgdGhlIGNvbnRhaW5pbmcgcHJvY2VkdXJlLlxwYXINCj4gVGhh
dCdzIHdoeSB0aGUgbGFuZ3VhZ2UgZG9lcyBub3Qgc3VwcG9ydCB0aGlzLlxwYXINClxwYXINCkkg
c3RhbmQgY29ycmVjdGVkIGNvbmNlcm5pbmcgdGhlIEdDLiBCdXQgSSBhbSBzdGlsbCBub3Qgc3Vy
ZSBjb25jZXJuaW5nXHBhcg0KdGhlIG90aGVyIHNpZGUgb2YgaXQsIGJlaW5nIGFibGUgdG8gcGFz
cyB0aGUgcmVjb3JkIHRvIGEgcHJvY2VkdXJlIHdoaWNoXHBhcg0KZXhwZWN0cyBhIHBvaW50ZXIu
IFlvdSBhcmUgZG9pbmcganVzdCB0aGF0IHdpdGggVkFSIHBhcmFtZXRlcnMsIGRvIG5vdFxwYXIN
CnlvdT8gSSB3YW50IHRvIGFzaywgd2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBm
b2xsb3dpbmcgdHdvXHBhcg0KZGVjbGFyYXRpb25zLCBhbmQgd2h5IGRvZXMgIzEgbm90IGFsbG93
IGJlaW5nIGNhbGxlZCB3aXRoIGEgVkFSIHJlY29yZD9ccGFyDQpccGFyDQogICAxLiBQUk9DRURV
UkUgcHJvYzEgKHA6IFBPSU5URVIgVE8gcik7XHBhcg0KICAgMi4gUFJPQ0VEVVJFIHByb2MyIChW
QVIgdnI6IHIpO1xwYXINClxwYXINCkkgdGhpbmsgaW4gY2FzZSAjMiBpbnRlcm5hbGx5IHlvdSBh
cmUgdXNpbmcgdGhlIGFkZHJlc3MsIHNhbWUgd2l0aCAjMS5ccGFyDQpXaHkgY2Fubm90IEkganVz
dCB1c2UgYm90aCB0aGUgc2FtZSB3YXk/IEkgbWVhbiwgaGF2aW5nIHlvdXIgU3RvcmVzLkpvaW5c
cGFyDQp3aGljaCBleHBlY3RzIGEgcG9pbnRlciwgSSB3b3VsZCBwYXNzIGl0IHNvbWV0aGluZyBs
aWtlIF5yIG9yIGp1c3RccGFyDQpwbGFpbiByLCBhbmQgdGhlIGNvbXBpbGVyIHdvdWxkIGtub3cg
dGhhdCBJIG1lYW4gVkFSIHIsIHdoaWNoIGlzIGFsbG93ZWRccGFyDQpieSB0aGUgbGFuZ3VhZ2Uu
IFdoYXQgaXMgd3Jvbmcgd2l0aCB0aGlzIGlkZWE/XHBhcg0KXHBhcg0KPiAyKSBZb3VyIHF1ZXN0
aW9uIGluZGljYXRlcyB0aGF0IHlvdSBrZWVwIHdhbGtpbmcgZGVlcGVyIGFuZCBkZWVwZXJccGFy
DQo+IGludG8gYSBtYXplIHRoYXQgaGFzIG5vIGV4aXQgYW5kIHRoYXQgeW91IHNob3VsZCBub3Qg
aGF2ZSBlbnRlcmVkXHBhcg0KPiBpbiB0aGUgZmlyc3QgcGxhY2UuXHBhcg0KXHBhcg0KSSBqdXN0
IHNlbnQgeW91IGEgZmluaXNoZWQgYXBwbGljYXRpb24geWVzdGVyZGF5LiBJIGFncmVlIGl0IHdh
cyBhIG1hemUsXHBhcg0KYnV0IEkgaGF2ZSBubyBjaG9pY2UuIEkgaGF2ZSB0byBkbyBpdC4gSSBl
bnRlcmVkIHRoZSBtYXplIHBhcnRseSBiZWNhdXNlXHBhcg0Kb25lIGhhcyB0byBzdGFydCBmcm9t
IHNvbWV3aGVyZSwgYW5kIHRoZSBwbGFjZSBJIGNob29zZSB0byBlbnRlciBxdWlja2x5XHBhcg0K
bGVhZCBtZSBpbnRvIGEgbWVzcy4gSW4gcmV0cm9zcGVjdCwgSSBzdGFydGVkIHRoZXJlIGJlY2F1
c2Ugb2YgbXkgZGVzaXJlXHBhcg0KdG8gdXNlIHRoZSBzdXBwbGllZCBEaWFsb2cvQ29udHJvbCBh
dXRvbWF0aW9uLCB3aGljaCBpcyBncmVhdCBmb3IgcmFwaWRccGFyDQpkZXZlbG9wbWVudC4gQnV0
IGl0IG9ubHkgd29ya3Mgd2l0aCBzdGF0aWMgcmVjb3JkcywgdGhlIHdheSBpdCBpcyBwcmVzZW50
ZWRccGFyDQppbiB0aGUgZG9jdSBhbmQgaW4gdGhlIGV4YW1wbGVzLiBJIGtub3cgR2VyYXJkIGhh
cyBjaG9zZW4gYSBkaWZmZXJlbnRccGFyDQpzdGFydGluZyBwb2ludCwgYW5kIGhlIHN1Y2NlZGVk
LCB3aGF0IHRvIG1lIGxvb2tzIGxpa2UgbWFnaWMuIEkgYW0gbm90XHBhcg0KZXhwZXJ0IGVub3Vn
aCB0byBhY2NvbXBsaXNoIHdoYXQgaGUgZGlkLlxwYXINClxwYXINCj4gVG8gc3RvcmUgdGhlIGRh
dGEgeW91IGFyZSBkaXNwbGF5aW5nIGluIHlvdXIgZGlhbG9nIHRoZSBleGFtcGxlXHBhcg0KPiBw
b3N0ZWQgYnkgTWFyYyBNYXRpbiBpcyBhYnNvbHV0ZWx5IHRoZSByaWdodCBhcHByb2FjaCBoZXJl
LFxwYXINClxwYXINCkkgaGF2ZSBub3Qgc2VlbiBoaXMgcG9zdGluZy4gSSBhbSBzdWJzY3JpYmVk
IHRvIHdlZWtseSBkaWdlc3RzLiBJIG5vd1xwYXINCndhbnQgdG8gY2hhbmdlIHRoaXMgdG8gaW1t
ZWRpYXRlIHJlc3BvbnNlLCBidXQgbm90IHN1cmUgaG93IHRvIHRlbGxccGFyDQp0aGUgbGlzdCBz
ZXJ2ZXIgSSB3YW50IHRvIGNoYW5nZSBteSBzdWJzY3JpcHRpb24uIFBlcmhhcHMgYSBodW1hblxw
YXINCm9wZXJhdG9yIGhhcyB0byBhZG1pbmlzdGVyIHRoZSBjaGFuZ2UuIEluIGFueSBjYXNlLCBJ
IGZpbmlzaGVkXHBhcg0KdGhlIGFwcGxpY2F0aW9uIGJlZm9yZSBJIHNhdyBoaXMgcG9zdGluZy4g
V2hhdCB3YXMgaXQ/XHBhcg0KXHBhcg0KPiAzKSBUbyBzdG9yZSBkYXRhIHlvdSBjYW4gdXNlIFN0
b3Jlcy5Xcml0ZXIgYW5kIFJlYWRlclxwYXINCj4gKGkuZS4gdGhlIFJpZGVyIGNvbmNlcHQpIHdp
dGhvdXQgaGF2aW5nIHRvIGNyZWF0ZSBhIFN0b3Jlcy5TdG9yZS5ccGFyDQo+IEp1c3QgcHJvY2Vz
cyB0aGUgcmVjb3JkIGZpZWxkIGJ5IGZpZWxkIGFuZCBjYWxsIHRoZSBhcHByb3ByaWF0ZSByaWRl
clxwYXINCj4gbWV0aG9kcy4gT24gYSBmaXJzdCBnbGltcHNlLCB0aGlzIGZpZWxkLXdpc2Ugd3Jp
dGluZyBtYXkgc2VlbVxwYXINCj4gaW5jb252ZW5pZW50LCBidXQgd2hlbiB1c2luZyBhIFN0b3Jl
cy5TdG9yZSB5b3UnbGwgaGF2ZSB0byBkbyBleGFjdGx5XHBhcg0KPiB0aGUgc2FtZSB0aGluZyBq
dXN0IGF0IGEgZGlmZmVyZW50IHBsYWNlOiBpbiB0aGUgRXh0ZXJuYWxpemUgbWV0aG9kLlxwYXIN
ClxwYXINCkkgc29ydCBvZiBkaWQgdGhpcywgYnV0IHBhcnRpYWxseS4gSW4gZmFjdCBJIGFtIHVz
aW5nIFN0b3JlcyBiZWNhdXNlXHBhcg0KbXkgb2JqZWN0cyBhcmUgc3RvcmVzLCBhbmQgcmV3cml0
aW5nIHRoZSBlbnRpcmUgR3IgdG8gZG8gd2hhdCB5b3VccGFyDQpzYXkgaXMgbm90IHByYWN0aWNh
bC4gTm90IHRvIG1lbnRpb24gbXkgcGxhbnMgdG8gdXNlIExpYiBpbiBmdXR1cmUuXHBhcg0KU28g
SSBhbSByZXVzaW5nIHRoZSBTdG9yZXMgbWVjaGFuaXNtIGJ5IGFza2luZyB0aGUgb2JqZWN0IHRv
IHdyaXRlXHBhcg0KaXRzZWxmIHRvIHRoZSBmaWxlLiBJdCB3b3Jrcy4gT3RoZXJ3aXNlIHRoZSBm
aWxlIGlzIGp1c3Qgd2hhdCB5b3Ugc2F5LlxwYXINCkl0IGlzIGEgZGF0YSBmaWxlLCBhbmQgaXQg
d2lsbCBub3QgbG9hZCBpdHNlbGYgaW50byBCQiB3aGVuIGNsaWNrZWQgb24uXHBhcg0KKEl0IHdv
dWxkIGJlIGludGVyZXN0aW5nIHRvIGtub3cgd2h5IGV4YWN0bHksIGFuZCBob3cgdG8gY2hhbmdl
IHRoaXMuKVxwYXINClNvIEkgY2hhbmdlZCB0aGUgZXh0ZW5zaW9uIGZyb20gLm9kYyB0byAucG9t
IGp1c3QgdG8gbGV0IHRoZSB1c2VyIGtub3dccGFyDQp0aGlzIGlzIG5vdCBhIHJlZ3VsYXIgQmxh
Y2tCb3ggZG9jdW1lbnQuXHBhcg0KXHBhcg0KVXNpbmcgU3RvcmVzIGhhcyBvZiBjb3Vyc2Ugb3Bl
bmVkIHRoZSBQYW5kb3JhIGJveCBvZiBEb21haW5zLCBhbmRccGFyDQp0aGlzIGlzIHdoZXJlIHRo
ZSBtYXplIGhhcyBzdGFydGVkLiBJIHNvbHZlZCBpdCBzb21laG93LCBidXQgdGhpcyBpc1xwYXIN
CnRoZSBtb3N0IG1lc3N5IHBhcnQgb2YgbXkgYXBwbGljYXRpb24sIGFuZCBJIGFtIG5vdCBoYXBw
eSB3aXRoIHdoYXRccGFyDQpJIGRpZC4gUXVpdGUgbGlrZWx5IHRoZSAucG9tIGRhdGEgZmlsZSBo
YXMgZHVwbGljYXRlIG9iamVjdHMgaW4gaXRccGFyDQpiZWNhdXNlIG9mIGRvbWFpbnMuIEkgYW0g
bm90IHN1cmUgd2hhdCB0byBkbyB3aXRoIHRoaXMuIEkgd2lsbCBoYXZlXHBhcg0KdG8gbGl2ZSB3
aXRoIHRoZSBmYWN0IGZvciB0aGUgdGltZSBiZWluZy5ccGFyDQpccGFyDQpUaGUgYXBwbGljYXRp
b24gd2lsbCBiZSBwb3N0ZWQgdG8gdGhlIENQQyBhcyBzb29uIGFzIHdlIHVzZSBpdCB0byBkb1xw
YXINCnNvbWV0aGluZyBwcmFjdGljYWwuIEkgY2FuIHNlbmQgdGhlIHByZS1yZWxlYXNlIHZlcnNp
b24gb24gcmVxdWVzdFxwYXINCnRvIGFueWJvZHkgaW50ZXJlc3RlZC4gVGhlIGFic3RyYWN0IGlz
IGF0dGFjaGVkIGJlbG93LiBUaGUgYXBwbGljYXRpb25ccGFyDQppcyBpbXBvcnRhbnQgdG8gdXMg
dG8gZGV2ZWxvcCBkYXRhIGFjcXVpc2l0aW9uIHN5c3RlbXMuIEkgaGF2ZSB3cml0dGVuXHBhcg0K
aXQgc3VjaCBpdCBpcyBhbHNvIGEgcHJhY3RpY2FsIGlsbHVzdHJhdGlvbiBvZiBob3cgdG8gZG8g
c3VjaCB0aGluZ3MuXHBhcg0KQmxhY2tCb3ggaXMgYmFkbHkgbGFja2luZyBzdWNoIG5vbnRyaXZp
YWwgZXhhbXBsZXMuIFRoZSBleGFtcGxlc1xwYXINCnN1cHBsaWVkIHdpdGggdGhlIGVudmlyb25t
ZW50IGFyZSB0b28gc21hbGwgdG8gYmUgZ29vZCBzdGFydGluZyBwb2ludHNccGFyDQp0byBnZXQg
ZGV2ZWxvcG1lbnQgZG9uZSBxdWlja2x5LiBJIHJlY2FsbCwgdGhhdCBUdXJibyBQYXNjYWwgaGFk
XHBhcg0Kc2V2ZXJhbCB2YWx1YWJsZSBub250cml2aWFsIGV4YW1wbGVzOiB0aGUgTWljcm9DYWxj
IHNwcmVhZHNoZWV0LFxwYXINCnRoZSBUdXJibyBEYXRhYmFzZSBUb29sYm94IGV4YW1wbGUgZGF0
YWJhc2UsIGFuZCB0aGUgVHVyYm8gRWRpdG9yXHBhcg0KVG9vbGJveCBoYWQgdHdvIHByYWN0aWNh
bCBlZGl0b3JzIGJ1aWx0IHVzaW5nIGl0LCBhbmQgc28gb24uIFRoZXNlXHBhcg0Kd2VyZSBleHRy
ZW1lbHkgdXNlZnVsIGFzIHRlbXBsYXRlcywgb3IganVzdCBieSB0aGVtc2VsdmVzLiBJIGFtXHBh
cg0KaG9waW5nIHRoYXQgbXkgUE9NIGNhbiBiZSB1c2VmdWwgYXMgYSBzdGFydGluZyBwb2ludCBm
b3Igc29tZSBvdGhlclxwYXINCih1bilyZWxhdGVkIGRldmVsb3BtZW50LlxwYXINClxwYXINClRo
YW5rIHlvdSBmb3IgYWxsIHlvdXIgaGVscCBhbmQgY29tbWVudHMuXHBhcg0KXHBhcg0KV29qdGVr
XHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpTdW1tYXJ5OlxwYXINClRoZSBQZXJzaXN0ZW50IE9iamVj
dCBNYW5hZ2VyIChQT00pIGlzIGEgdG9vbCB0byBvcmdhbml6ZSBzZXZlcmFsXHBhcg0Kb2JqZWN0
cyBzdWNoIGFzIGhpc3RvZ3JhbXMgaW50byBhIHRyZWUgc3RydWN0dXJlLCB3aGljaCBpcyBwcmVz
ZW50ZWRccGFyDQpvbi1zY3JlZW4gdG8gdGhlIHVzZXIgaW4gdGhlIGZvcm0gb2YgYSB0cmVlIHdp
bmRvdyBzaW1pbGFyIHRvIHRoZSBXaW5kb3dzXHBhcg0KRXhwbG9yZXIuIFRoZSB1c2VyIGNhbiBv
cGVuIGdyYXBoaWNhbCB2aWV3cyBvZiBjb2xsZWN0ZWQgZGF0YSBieVxwYXINCmRvdWJsZS1jbGlj
a2luZyBvbiB0aGUgb2JqZWN0IGljb25zLiBUaGUgZW50aXJlIHRyZWUgY2FuIGJlIHNhdmVkIHRv
IGRpc2tccGFyDQphcyBhIGJpbmFyeSBmaWxlIHdpdGggYW4gZXh0ZW5zaW9uICIucG9tIi4gVGhl
IGRhdGEgZmlsZSBjYW4gYmUgcmVhZCBiYWNrXHBhcg0KaW50byB0aGUgUE9NIGF0IGEgbGF0ZXIg
dGltZS4gQXJiaXRyYXJ5IG9iamVjdHMgY2FuIGJlIG1hbmFnZWQgYnkgUE9NLCBidXRccGFyDQpv
bmx5IHNvLWNhbGxlZCAicGVyc2lzdGVudCBvYmplY3RzIiBjYW4gYmUgd3JpdHRlbiB0byBkaXNr
IGFuZCByZWFkIGJhY2suXHBhcg0KRXhhbXBsZXMgb2Ygc3VjaCBwZXJzaXN0ZW50IG9iamVjdHMg
aW5jbHVkZSB0aGUgR3IgaGlzdG9ncmFtcyB3aGljaCBhcmVccGFyDQpwcm92aWRlZCBieSB0aGUg
R3Igc3Vic3lzdGVtLiBUaGUgaW50ZXJmYWNlIG9mIHRoZSBQT00gdG8gdGhlIEdyLCBhcyB3ZWxs
XHBhcg0KYXMgYSBkZW1vIHByb2dyYW0sIGFyZSBib3RoIHByb3ZpZGVkLiBPdGhlciB0eXBlcyBv
ZiBvYmplY3RzIGNhbiBiZVxwYXINCm1hbmFnZWQgYXMgd2VsbCwgcHJvdmlkZWQgdGhhdCBhIHZl
cnkgc2ltcGxlIGludGVyZmFjZSBjb2RlIGlzIHdyaXR0ZW4gYnlccGFyDQp0aGUgdXNlci4gUE9N
IGlzIG9wdGltaXplZCBmb3IgdGhlIGVhc2Ugb2YgdXNlIGJ5IHRoZSBhcHBsaWNhdGlvblxwYXIN
CnByb2dyYW1tZXIuIFRoZSBwcm9qZWN0ZWQgYXBwbGljYXRpb24gb2YgUE9NIGFyZSBkYXRhIGFj
cXVpc2l0aW9uIGFuZCBkYXRhXHBhcg0KYW5hbHlzaXMsIHdoZXJlIHNldmVyYWwgZG96ZW5zIGhp
c3RvZ3JhbXMgYW5kIG90aGVyIGdyYXBoaWNhbCBvYmplY3RzIHdpbGxccGFyDQpiZSB1c2VkIHRv
IGNvbGxlY3QgZGF0YSBhbmQgcHJlc2VudCB0aGUgcmVzdWx0cyB0byB0aGUgdXNlci5ccGFyDQpc
cGFyDQpccGFyDQpccGFyDQpccGFyDQpccGFyDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLVxwYXINClxwYXINClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBtYWls
aW5nIGxpc3QsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgInVuc3Vic2NyaWJl
IiB0bzpccGFyDQogICBibGFja2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxwYXINClxwYXINClRvIGdl
dCBhIGxpc3Qgb2YgdmFsaWQgZS1tYWlsIGNvbW1hbmRzIGFuZCBpbnN0cnVjdGlvbnMgb24gdGhl
aXIgdXNhZ2UsIHNlbmQgYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRo
ZSBhYm92ZSBhZGRyZXNzLlxwYXINClxwYXINClNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBx
dWVzdGlvbnMgcmVsYXRlZCB0byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhlIGxpc3Qgb3duZXIgYXRc
cGFyDQogICBvd25lci1ibGFja2JveEBvYmVyb24uY2hccGFyDQpccGFyDQpDdXJyZW50IHBvc3Rp
bmcgcG9saWN5OlxwYXINClxwYXINCmEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUg
YWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcgbGlzdC4g
VGhhdCB3YXksIHRoZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vic2NyaWJl
ciBhbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3JlYXRpbmcg
YW55IG92ZXJoZWFkLlxwYXINClxwYXINCmIpIElmLCBmb3Igc29tZSByZWFzb24sIHlvdSBjYW5u
b3QgcG9zdCBmcm9tIHRoZSBhZGRyZXNzLCBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlv
dXIgbWVzc2FnZSB3aWxsIGJlIG1vZGVyYXRlZCB0byBhdm9pZCBzcGFtLiBQbGVhc2UgdW5kZXJz
dGFuZCB0aGF0IG1vZGVyYXRpb24gd2lsbCBvZnRlbiBjYXVzZSBzb21lIGRlbGF5LCBpbiBwYXJ0
aWN1bGFyIG92ZXIgd2Vla2VuZHMgb3IgaG9seWRheXMuXHBhcg0KfQ==


----boundary-LibPST-iamunique-1721964359_-_---
Received on Fri Jul 04 2003 - 17:46:38 UTC

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