Re: Something is missing in Component Pascal

From: [at]} <René>
Date: Thu, 03 Jul 2003 21:01:44 -0400

----boundary-LibPST-iamunique-1303109147_-_- Content-type: text/plain Wojtek Skulski wrote: I have been struggling with BlackBox during the last few days, and I have come to the conclusion that something is missing in Component Pascal... This something is well known in C as an address operator... The problem Wojtek is struggling with, is that of storing records which contains linked structures onto disk. I advise him that an address operator would not help there!. 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. What you can find in C++ or some other languages is an already implemented method for doing this task, but not a magic operator. The difficulty of this problem is due to the nature of POINTERs. They are RAM addresses. You can not just store them into a file and later on read those pointers back, the RAM addresses they represent may now been in use. You need to allocate fresh heap space in a node-by-node basis. Actually, your declaration: TYPE PersistentTree* = POINTER TO EXTENSIBLE RECORD (Stores.Store) tree*: Dialog.Tree END; is a good starting point. All what is left is to implement this: PROCEDURE (t: PersistentTree) Externalize- (VAR wr: Stores.Writer); PROCEDURE (t: PersistentTree) Internalize- (VAR rd: Stores.Reader); As I can remember in MODULA-3 there are nice algorithms for storing/recovering linked structures. I urge someone to accept its implementation in Component Pascal, and prevent Wojtek's desertion. It is really urgent: he is threatening to switch to C++! René Dorta. -------------------------------------------- To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to: blackbox-request{([at]})nowhere.xy ----boundary-LibPST-iamunique-1303109147_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O1xyZWQyNTVcZ3JlZW4wXGJsdWUwO30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZz MjQgDQp7XCpcaHRtbHRhZzI0MyA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhU TUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRt bHRhZzE5IDxodG1sPn0NCntcKlxodG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMzQgPGhlYWQ+ fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDEgICB9DQp7XCpcaHRtbHRhZzI0 MSA8REVGQU5HRURfbWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQv aHRtbDtjaGFyc2V0PUlTTy04ODU5LTEiPn0NCntcKlxodG1sdGFnMSBccGFyIH0NCntcKlxodG1s dGFnMjQxICAgfQ0Ke1wqXGh0bWx0YWcxNzcgPHRpdGxlPn0NCntcKlxodG1sdGFnMjQxIH0NCntc KlxodG1sdGFnMTg1IDwvdGl0bGU+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIgfQ0Ke1wqXGh0bWx0YWc0 MSA8L2hlYWQ+fQ0Ke1wqXGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWc1MCA8Ym9keT59DQp7 XCpcaHRtbHRhZzAgXHBhciB9e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIFdvanRl ayBTa3Vsc2tpIHdyb3RlOg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAg e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJs b2NrcXVvdGUgdHlwZT0iY2l0ZSJccGFyICBjaXRlPSJtaWRQaW5lLkdTTy40LjQwLjAzMDcwMzAx Mzc1NTAuMTUzMTYtMTAwMDAwQHBob2J0b2YiPn1caHRtbHJ0ZiBccGFyDQp7XGh0bWxydGYwIA0K e1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNDAgICB9DQp7XCpcaHRtbHRhZzEyOCA8 cHJlIHdyYXA9IiI+fVxodG1scnRmIHtccGFyZFxwbGFpblxmMVxmczIwIFxodG1scnRmMCBcaHRt bHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCAgIEkgaGF2ZSBiZWVuIHN0cnVnZ2xpbmcgd2l0aCBCbGFj a0JveCBkdXJpbmcgdGhlIGxhc3QgZmV3IGRheXMsXGxpbmUNCmFuZCBJIGhhdmUgY29tZSB0byB0 aGUgY29uY2x1c2lvbiB0aGF0IHNvbWV0aGluZyBpcyBtaXNzaW5nIGluXGxpbmUNCkNvbXBvbmVu dCBQYXNjYWwuLi4gVGhpcyBzb21ldGhpbmcgaXMgd2VsbCBrbm93biBpbiBDIGFzIGFuIGFkZHJl c3Mgb3BlcmF0b3IuLi5caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwv cHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0 YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBUaGUgcHJvYmxlbSBX b2p0ZWsgaXMgc3RydWdnbGluZyB3aXRoLCBpcyB0aGF0IG9mIHN0b3JpbmcgcmVjb3JkcyB3aGlj aCBjb250YWlucw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgbGlua2Vk IHN0cnVjdHVyZXMgb250byBkaXNrLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUkgYWR2aXNlIGhpbSB0aGF0IGFuIGFk ZHJlc3Mgb3BlcmF0b3Igd291bGQgbm90IGhlbHAgdGhlcmUhLiANCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH17XCpcaHRt bHRhZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc5NiA8YmxvY2txdW90 ZSB0eXBlPSJjaXRlIlxwYXIgIGNpdGU9Im1pZFBpbmUuR1NPLjQuNDAuMDMwNzAzMDEzNzU1MC4x NTMxNi0xMDAwMDBAcGhvYnRvZiI+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzI0MCAgIH0NCntcKlxodG1sdGFnMTI4IDxwcmUgd3Jh cD0iIj59XGh0bWxydGYge1xwYXJkXHBsYWluXGYxXGZzMjAgXGh0bWxydGYwIFxodG1scnRmIHtc aHRtbHJ0ZjAgXGxpMzYwIEluIGNhc2UgdGhlcmUgaXMgbm8gdHJpdmlhbCBzb2x1dGlvbiwgSSB3 aWxsIHRlbXBvcmFyaWx5IGR1bXAgQkIgYW5kIHN0YXJ0XGxpbmUNCnVzaW5nIEMrKyBmb3IgdGhl IHRpbWUgYmVpbmcsIHdoZXJlIHN1Y2ggc3R1cGlkIHRyYXBzIGRvIG5vdCBoYXBwZW4uXGxpbmUN CiAgXGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRtbHRhZzEzNiA8L3ByZT59XGh0bWxy dGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMTA0IDwvYmxv Y2txdW90ZT59XGh0bWxydGYgfVxwYXINClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH17 XCpcaHRtbHRhZzY0fVxodG1scnRmIHtcaHRtbHJ0ZjAgV2hhdCB5b3UgY2FuIGZpbmQgaW4gQysr IG9yIHNvbWUgb3RoZXIgbGFuZ3VhZ2VzIGlzIGFuIGFscmVhZHkgaW1wbGVtZW50ZWQNCntcKlxo dG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIG1ldGhvZCBmb3IgZG9pbmcgdGhpcyB0 YXNrLCBidXQgbm90IGEgbWFnaWMgb3BlcmF0b3IuIFRoZSBkaWZmaWN1bHR5IG9mIHRoaXMNCntc KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHByb2JsZW0gaXMgZHVlIHRvIHRo ZSBuYXR1cmUgb2YgUE9JTlRFUnMuIFRoZXkgYXJlIFJBTSBhZGRyZXNzZXMuIFlvdSBjYW4NCntc KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIG5vdCBqdXN0IHN0b3JlIHRoZW0g aW50byBhIGZpbGUgYW5kIGxhdGVyIG9uIHJlYWQgdGhvc2UgcG9pbnRlcnMgYmFjaywgdGhlDQp7 XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBSQU0gYWRkcmVzc2VzIHRoZXkg cmVwcmVzZW50IG1heSBub3cgYmVlbiBpbiB1c2UuIFlvdSBuZWVkIHRvIGFsbG9jYXRlIGZyZXNo DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBoZWFwIHNwYWNlIGluIGEg bm9kZS1ieS1ub2RlIGJhc2lzLg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0K XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUFjdHVhbGx5LCB5b3Vy IGRlY2xhcmF0aW9uOg0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1s cnRmMA0KDQp7XCpcaHRtbHRhZzk2IDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiXHBhciAgY2l0ZT0i bWlkUGluZS5HU08uNC40MC4wMzA3MDIwMjQxNDQwLjEzMDc4LTEwMDAwMEBwaG9idG9mIj59XGh0 bWxydGYgXHBhcg0Ke1xodG1scnRmMCANCntcKlxodG1sdGFnMjQwICAgIH0NCntcKlxodG1sdGFn MCBccGFyIH0NCntcKlxodG1sdGFnMjQwICAgfQ0Ke1wqXGh0bWx0YWcxMjggPHByZSB3cmFwPSIi Pn1caHRtbHJ0ZiB7XHBhcmRccGxhaW5cZjFcZnMyMCBcaHRtbHJ0ZjAgXGh0bWxydGYge1xodG1s cnRmMCBcbGkzNjAgVFlQRVxsaW5lDQpQZXJzaXN0ZW50VHJlZSogPSANCntcKlxodG1sdGFnMTQ4 IDxmb250IGNvbG9yPSIjZmYwMDAwIj59XGh0bWxydGYge1xjZjIgXGh0bWxydGYwIFBPSU5URVIg VE8gDQp7XCpcaHRtbHRhZzE1NiA8L2ZvbnQ+fVxodG1scnRmIH1caHRtbHJ0ZjAgRVhURU5TSUJM RSBSRUNPUkQgKFN0b3Jlcy5TdG9yZSlcbGluZQ0KICAgdHJlZSo6IERpYWxvZy5UcmVlXGxpbmUN CkVORDtcbGluZQ0KICBcaHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTM2IDwv cHJlPn1caHRtbHJ0ZiB9XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcwIFxwYXIgfQ0Ke1wqXGh0bWx0 YWcxMDQgPC9ibG9ja3F1b3RlPn1caHRtbHJ0ZiB9XHBhcg0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWcwIFxwYXIgfXtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBpcyBhIGdvb2Qgc3Rh cnRpbmcgcG9pbnQuIEFsbCB3aGF0IGlzIGxlZnQgaXMgdG8gaW1wbGVtZW50IHRoaXM6DQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0bWxydGYwDQoNCntcKlxodG1sdGFn OTYgPGJsb2NrcXVvdGU+fVxodG1scnRmIFxwYXINCntcaHRtbHJ0ZjAge1wqXGh0bWx0YWc2NH1c aHRtbHJ0ZiB7XGh0bWxydGYwIFxsaTM2MCBQUk9DRURVUkUgKHQ6IFBlcnNpc3RlbnRUcmVlKSBF eHRlcm5hbGl6ZS0gKFZBUiB3cjogU3RvcmVzLldyaXRlcik7DQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRt bHRhZzQgIH1QUk9DRURVUkUgKHQ6IFBlcnNpc3RlbnRUcmVlKSBJbnRlcm5hbGl6ZS0gKFZBUiBy ZDogU3RvcmVzLlJlYWRlcik7DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpc aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9e1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9 XGh0bWxydGYwDQoNCntcKlxodG1sdGFnMTA0IDwvYmxvY2txdW90ZT59XGh0bWxydGYgfVxwYXIN ClxodG1scnRmMCANCntcKlxodG1sdGFnMCBccGFyIH0NCntcKlxodG1sdGFnMCAgfXtcKlxodG1s dGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBBcyBJIGNhbiByZW1lbWJlciBpbiBNT0RVTEEtMyB0 aGVyZSBhcmUgbmljZSBhbGdvcml0aG1zIGZvciBzdG9yaW5nL3JlY292ZXJpbmcNCntcKlxodG1s dGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIGxpbmtlZCBzdHJ1Y3R1cmVzLiBJIHVyZ2Ug c29tZW9uZSB0byBhY2NlcHQgaXRzIGltcGxlbWVudGF0aW9uIGluIENvbXBvbmVudA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgUGFzY2FsLCBhbmQgcHJldmVudCBXb2p0 ZWsncyBkZXNlcnRpb24uIEl0IGlzIHJlYWxseSB1cmdlbnQ6IGhlIGlzIHRocmVhdGVuaW5nDQp7 XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCB0byBzd2l0Y2ggdG8gQysrIQ0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVJlbg0Ke1wqXGh0bWx0YWc4NCAmZWFjdXRlO31caHRtbHJ0 ZiBcJ2U5XGh0bWxydGYwICBEb3J0YS4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH17XCpcaHRtbHRh ZzcyfVxodG1scnRmXHBhcn1caHRtbHJ0ZjANCg0Ke1wqXGh0bWx0YWc1OCA8L2JvZHk+fQ0Ke1wq XGh0bWx0YWcyIFxwYXIgfQ0Ke1wqXGh0bWx0YWcyNyA8L2h0bWw+fQ0Ke1wqXGh0bWx0YWczIFxw YXIgfQ0Ke1wqXGh0bWx0YWczIFxwYXIgfQ0Ke1wqXGh0bWx0YWczIFxwYXIgfXtcKlxodG1sdGFn NjR9XGh0bWxydGYge1xodG1scnRmMCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzQgXHBhciB9VG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwgc2Vu ZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZCAidW5zdWJzY3JpYmUiIHRvOg0Ke1wqXGh0 bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgIH1ibGFj a2JveC1yZXF1ZXN0QG9iZXJvbi5jaA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VG8gZ2V0IGEgbGlzdCBvZiB2YWxpZCBlLW1haWwg Y29tbWFuZHMgYW5kIGluc3RydWN0aW9ucyBvbiB0aGVpciB1c2FnZSwgc2VuZCBhIG1lc3NhZ2Ug Y29udGFpbmluZyB0aGUgd29yZCAiaGVscCIgdG8gdGhlIGFib3ZlIGFkZHJlc3MuDQp7XCpcaHRt bHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1TZW5k IGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFpbCBs aXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo dG1scnRmMCANCntcKlxodG1sdGFnODQgICAgfW93bmVyLWJsYWNrYm94QG9iZXJvbi5jaA0Ke1wq XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9 Q3VycmVudCBwb3N0aW5nIHBvbGljeToNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhl IHNhbWUgYWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQgdG8gdGhlIG1haWxpbmcg bGlzdC4gVGhhdCB3YXksIHRoZSBsaXN0IHNlcnZlciB3aWxsIHJlY29nbml6ZSB5b3UgYXMgc3Vi c2NyaWJlciBhbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdpdGhvdXQgY3Jl YXRpbmcgYW55IG92ZXJoZWFkLg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9YikgSWYsIGZvciBzb21lIHJlYXNvbiwgeW91IGNhbm5v dCBwb3N0IGZyb20gdGhlIGFkZHJlc3MsIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCwgeW91 ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0 YW5kIHRoYXQgbW9kZXJhdGlvbiB3aWxsIG9mdGVuIGNhdXNlIHNvbWUgZGVsYXksIGluIHBhcnRp Y3VsYXIgb3ZlciB3ZWVrZW5kcyBvciBob2x5ZGF5cy4NCntcKlxodG1sdGFnNCBccGFyIH1caHRt bHJ0ZiAgXGh0bWxydGYwIHtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KfQ== ----boundary-LibPST-iamunique-1303109147_-_--- Received on Fri Jul 04 2003 - 03:01:44 UTC

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