Re: [BLACKBOX] More on ASCII text files

From: [at]} <Carl>
Date: Fri, 10 Aug 2012 08:29:48 -0700

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

Hello Bernhard, luowy, and Stephen:

I just emailed Mr. Arcaro using his 1996 email address.

I will give some time to see if he objects in an email to me.
If I do not hear from him I will just post the modified source on the List but of course credit him with creating the bulk of it.

OK, just received this message---->
"Sorry, we were unable to deliver your message to the following address.
<vfa{([at]})nowhere.xy
No MX or A records for turing.unicamp.br"
<-----

I guess it is safe to assume that anyone posting BB source on this List is giving permission to modify or use their source in accordance with any copyright or other restrictions they post along with the source.

I only modified WriteChar, WriteString and added a ReadLine, along with
deleting somethings I didn't need concerning numeric I/O.

Here it is in a text form since the ASCII coder on my BB system has been adding redundant blank lines.

You will need to swparate the "Filter.mod" test program
from the "Ascii0.mod" library and probably modify the module names to
account for the BB Subsystem you place them in and of course save them in the appropriately named files.

--------------------------------------------------------
MODULE Filter;
  IMPORT Ascii0;

(* assumes existing "input.txt" file is in "c:\" *)

VAR line : ARRAY 256 OF CHAR;
    inf, outf : Ascii0.Text;

  PROCEDURE Do*;
  BEGIN
    Ascii0.OpenOld(inf, "c:\", "input.txt");
    Ascii0.OpenNew(outf, "c:\", "output.txt");
    Ascii0.ReadLine(inf, line);
    WHILE ~Ascii0.Eot(inf) DO
      Ascii0.WriteString(outf, line$);
      Ascii0.WriteLn(outf);
      Ascii0.ReadLine(inf, line);
    END (* while *);
    Ascii0.Close(inf);
    Ascii0.Close(outf)
  END Do;

END Filter .

[commander] Filter.Do

--------------------------------------------------------------
MODULE Ascii0; (* formatted IO for ASCII text files *)

    (* modified by cmg from BlackBox list post:
    Re:   ASCII text file I/O module
    From: Vinicius Fernando Arcaro (vfa{([at]})nowhere.xy
    Date: Fri, 30 Aug 1996                     
    Time: 16:23:41 -0200
    *)
    (* cmg: modified WriteChar and WriteString; added ReadLine. *)
    (* cmg: deleted original posts numeric I/O to focus this on character and string I/O *)

   

    IMPORT Converters, Files, Stores, TextMappers, TextModels, TextViews;

    CONST
        ht = 9X;
        cr = 0DX;
        para = 0EX;
        sp = 20X;

    TYPE
        Text* = POINTER TO
        RECORD
            new: BOOLEAN;
            path, name: Files.Name;
            form: TextMappers.Formatter;
            scan: TextMappers.Scanner
        END;

    VAR conv: Converters.Converter;

    PROCEDURE OpenOld* (VAR t: Text; path, name: Files.Name);
        VAR loc: Files.Locator; sto: Stores.Store;

    BEGIN
        loc := Files.dir.This(path);
        Converters.Import(loc, name, conv, sto);

        NEW(t);
        t.new := FALSE; t.path := path; t.name := name;
        t.scan.ConnectTo(sto(TextViews.View).ThisModel())
    END OpenOld;


    PROCEDURE OpenNew* (VAR t: Text; path, name: Files.Name);
    BEGIN
        NEW(t);
        t.new := TRUE; t.path := path; t.name := name;
        t.form.ConnectTo(TextModels.dir.New())
    END OpenNew;


    PROCEDURE Close* (VAR t: Text);
        VAR loc: Files.Locator; v: TextViews.View;

    BEGIN
        IF t.new THEN
            loc := Files.dir.This(t.path);
            v := TextViews.dir.New(t.form.rider.Base());
            Converters.Export(loc, t.name, conv, v)
        END;
        t := NIL
    END Close;


    PROCEDURE Eot* (VAR t: Text): BOOLEAN;
    BEGIN
        RETURN t.scan.rider.eot
    END Eot;


    PROCEDURE ReadLine* (VAR t: Text; VAR line: ARRAY OF CHAR);
    (* does not skip leading white space; a line is terminated by cr, para, or eot. The eol character is not included in the line *)
   
        VAR c: CHAR; i: INTEGER;

    BEGIN
        i := 0;
        t.scan.rider.ReadChar(c);
        WHILE (i < LEN(line)-1) & (~t.scan.rider.eot) & (c # cr) & (c # para) DO
            line[i] := c;
            INC(i);
            t.scan.rider.ReadChar(c)
        END (* while *);
        line[i] := 0X
    END ReadLine;


    PROCEDURE ReadChar* (VAR t: Text; VAR ch: CHAR);
    BEGIN
        t.scan.rider.ReadChar(ch)
    END ReadChar;


    PROCEDURE WriteLn* (VAR t: Text);
    BEGIN
        t.form.WriteLn
    END WriteLn;


    PROCEDURE WriteChar* (VAR t: Text; x: CHAR);
    BEGIN
        IF x = ht THEN
            t.form.WriteTab
        ELSIF x = cr THEN
            t.form.WriteLn
        ELSIF x = para THEN
            t.form.WritePara
        ELSE
            t.form.WriteChar(x)
        END (* if *)
    END WriteChar;


    PROCEDURE WriteString* (VAR t: Text; x: ARRAY OF CHAR);
        VAR i: INTEGER;

    BEGIN
        i := 0;
        WHILE (i < LEN(x)) & (x[i] # 0X) DO
            WriteChar(t, x[i]);
            INC(i)
        END (* while *)
    END WriteString;


BEGIN
    conv := Converters.list;
    WHILE (conv # NIL) & (conv.fileType # "txt") DO
        conv := conv.next
    END
END Ascii0 .
-------------------------------------------


Carl Glassberg
----
--- On Fri, 8/10/12, Treutwein Bernhard <Bernhard.Treutwein{([at]})nowhere.xy> From: Treutwein Bernhard <Bernhard.Treutwein{([at]})nowhere.xy> Subject: Re: [BLACKBOX] More on ASCII text files
> To: BLACKBOX{([at]})nowhere.xy> Date: Friday, August 10, 2012, 12:45 AM
> Hi Carl,
> 
> thanks for digging that out :-)
> 
> Did you reach the original author?
> 
> For anybody also interested, the original might be found
> here:
> http://web.archive.org/web/20000312075314/http://www.math.tau.ac.il/~guy/oberonf-list/9604/0108.html
> 
> BTW: the whole thread is very interesting in retrospect :-)
> 
> regards
> --
>   Bernhard
> 
> >-----Original Message-----
> >From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy> On Behalf Of Carl
> >Glassberg
> >Sent: Friday, August 10, 2012 2:27 AM
> >To: BLACKBOX{([at]})nowhere.xy> >Subject: [BLACKBOX] More on ASCII text files
> >
> >Hello BB listers:
> >
> >I found an interesting archive post: (0108.html)
> >"Re: ASCII text file I/O module
> > Vinicius Fernando Arcaro (vfa{([at]})nowhere.xy> >Fri, 30 Aug 1996 16:23:41 -0200"
> >
> >I adapted Mr. Arcaro's Ascii module to accomodate line
> by line I/O.
> >
> >With his permission, or with no objection from the List,
> I would like
> >to share it here, along with a simple text filter using
> line-by line I/O.
> >
> >If anyone wants to see it, let me know.
> >
> >Carl Glassberg
> >
> >
> >----
> >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>
----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1070258298_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGZiaWRpcyBcZGVmZjB7XGZvbnR0YmwN
CntcZjBcZnN3aXNzXGZjaGFyc2V0MCBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7
fQ0Ke1xmMlxmbmlsXGZjaGFyc2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBD
b3VyaWVyIE5ldzt9fQ0Ke1xjb2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBc
Ymx1ZTI1NTt9DQpcdWMxXHBhcmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhlbGxvIEJlcm5o
YXJkLCBsdW93eSwgYW5kIFN0ZXBoZW46XHBhcg0KXHBhcg0KSSBqdXN0IGVtYWlsZWQgTXIuIEFy
Y2FybyB1c2luZyBoaXMgMTk5NiBlbWFpbCBhZGRyZXNzLlxwYXINClxwYXINCkkgd2lsbCBnaXZl
IHNvbWUgdGltZSB0byBzZWUgaWYgaGUgb2JqZWN0cyBpbiBhbiBlbWFpbCB0byBtZS5ccGFyDQpJ
ZiBJIGRvIG5vdCBoZWFyIGZyb20gaGltIEkgd2lsbCBqdXN0IHBvc3QgdGhlIG1vZGlmaWVkIHNv
dXJjZSBvbiB0aGUgTGlzdCBidXQgb2YgY291cnNlIGNyZWRpdCBoaW0gd2l0aCBjcmVhdGluZyB0
aGUgYnVsayBvZiBpdC5ccGFyDQpccGFyDQpPSywganVzdCByZWNlaXZlZCB0aGlzIG1lc3NhZ2Ut
LS0tPlxwYXINCiJTb3JyeSwgd2Ugd2VyZSB1bmFibGUgdG8gZGVsaXZlciB5b3VyIG1lc3NhZ2Ug
dG8gdGhlIGZvbGxvd2luZyBhZGRyZXNzLlxwYXINCjx2ZmFAdHVyaW5nLnVuaWNhbXAuYnI+Olxw
YXINCk5vIE1YIG9yIEEgcmVjb3JkcyBmb3IgdHVyaW5nLnVuaWNhbXAuYnIiXHBhcg0KPC0tLS0t
XHBhcg0KXHBhcg0KSSBndWVzcyBpdCBpcyBzYWZlIHRvIGFzc3VtZSB0aGF0IGFueW9uZSBwb3N0
aW5nIEJCIHNvdXJjZSBvbiB0aGlzIExpc3QgaXMgZ2l2aW5nIHBlcm1pc3Npb24gdG8gbW9kaWZ5
IG9yIHVzZSB0aGVpciBzb3VyY2UgaW4gYWNjb3JkYW5jZSB3aXRoIGFueSBjb3B5cmlnaHQgb3Ig
b3RoZXIgcmVzdHJpY3Rpb25zIHRoZXkgcG9zdCBhbG9uZyB3aXRoIHRoZSBzb3VyY2UuXHBhcg0K
XHBhcg0KSSBvbmx5IG1vZGlmaWVkIFdyaXRlQ2hhciwgV3JpdGVTdHJpbmcgYW5kIGFkZGVkIGEg
UmVhZExpbmUsIGFsb25nIHdpdGhccGFyDQpkZWxldGluZyBzb21ldGhpbmdzIEkgZGlkbid0IG5l
ZWQgY29uY2VybmluZyBudW1lcmljIEkvTy5ccGFyDQpccGFyDQpIZXJlIGl0IGlzIGluIGEgdGV4
dCBmb3JtIHNpbmNlIHRoZSBBU0NJSSBjb2RlciBvbiBteSBCQiBzeXN0ZW0gaGFzIGJlZW4gYWRk
aW5nIHJlZHVuZGFudCBibGFuayBsaW5lcy4gXHBhcg0KXHBhcg0KWW91IHdpbGwgbmVlZCB0byBz
d3BhcmF0ZSB0aGUgIkZpbHRlci5tb2QiIHRlc3QgcHJvZ3JhbVxwYXINCmZyb20gdGhlICJBc2Np
aTAubW9kIiBsaWJyYXJ5IGFuZCBwcm9iYWJseSBtb2RpZnkgdGhlIG1vZHVsZSBuYW1lcyB0b1xw
YXINCmFjY291bnQgZm9yIHRoZSBCQiBTdWJzeXN0ZW0geW91IHBsYWNlIHRoZW0gaW4gYW5kIG9m
IGNvdXJzZSBzYXZlIHRoZW0gaW4gdGhlIGFwcHJvcHJpYXRlbHkgbmFtZWQgZmlsZXMuXHBhcg0K
XHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS1ccGFyDQpNT0RVTEUgRmlsdGVyO1xwYXINClwnYTAgSU1QT1JUIEFzY2lpMDtccGFyDQpc
cGFyDQooKiBhc3N1bWVzIGV4aXN0aW5nICJpbnB1dC50eHQiIGZpbGUgaXMgaW4gImM6XFwiICop
XHBhcg0KXHBhcg0KVkFSIGxpbmUgOiBBUlJBWSAyNTYgT0YgQ0hBUjtccGFyDQpcJ2EwIFwnYTAg
aW5mLCBvdXRmIDogQXNjaWkwLlRleHQ7XHBhcg0KXHBhcg0KXCdhMCBQUk9DRURVUkUgRG8qO1xw
YXINClwnYTAgQkVHSU5ccGFyDQpcJ2EwIFwnYTAgQXNjaWkwLk9wZW5PbGQoaW5mLCAiYzpcXCIs
ICJpbnB1dC50eHQiKTtccGFyDQpcJ2EwIFwnYTAgQXNjaWkwLk9wZW5OZXcob3V0ZiwgImM6XFwi
LCAib3V0cHV0LnR4dCIpO1xwYXINClwnYTAgXCdhMCBBc2NpaTAuUmVhZExpbmUoaW5mLCBsaW5l
KTtccGFyDQpcJ2EwIFwnYTAgV0hJTEUgfkFzY2lpMC5Fb3QoaW5mKSBET1xwYXINClwnYTAgXCdh
MCBcJ2EwIEFzY2lpMC5Xcml0ZVN0cmluZyhvdXRmLCBsaW5lJCk7XHBhcg0KXCdhMCBcJ2EwIFwn
YTAgQXNjaWkwLldyaXRlTG4ob3V0Zik7XHBhcg0KXCdhMCBcJ2EwIFwnYTAgQXNjaWkwLlJlYWRM
aW5lKGluZiwgbGluZSk7XHBhcg0KXCdhMCBcJ2EwIEVORCAoKiB3aGlsZSAqKTtccGFyDQpcJ2Ew
IFwnYTAgQXNjaWkwLkNsb3NlKGluZik7XHBhcg0KXCdhMCBcJ2EwIEFzY2lpMC5DbG9zZShvdXRm
KVxwYXINClwnYTAgRU5EIERvO1xwYXINClxwYXINCkVORCBGaWx0ZXIgLlxwYXINClxwYXINCltj
b21tYW5kZXJdIEZpbHRlci5Eb1xwYXINClxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KTU9EVUxFIEFzY2lpMDsg
KCogZm9ybWF0dGVkIElPIGZvciBBU0NJSSB0ZXh0IGZpbGVzICopXHBhcg0KXHBhcg0KXCdhMFwn
YTBcJ2EwICgqIG1vZGlmaWVkIGJ5IGNtZyBmcm9tIEJsYWNrQm94IGxpc3QgcG9zdDpccGFyDQpc
J2EwXCdhMFwnYTAgUmU6XCdhMFwnYTBcJ2EwQVNDSUkgdGV4dCBmaWxlIEkvTyBtb2R1bGVccGFy
DQpcJ2EwXCdhMFwnYTAgRnJvbTogVmluaWNpdXMgRmVybmFuZG8gQXJjYXJvICh2ZmFAdHVyaW5n
LnVuaWNhbXAuYnIpXHBhcg0KXCdhMFwnYTBcJ2EwIERhdGU6IEZyaSwgMzAgQXVnIDE5OTZcJ2Ew
XCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdhMFwnYTBc
J2EwXCdhMFwnYTBccGFyDQpcJ2EwXCdhMFwnYTAgVGltZTogMTY6MjM6NDEgLTAyMDBccGFyDQpc
J2EwXCdhMFwnYTAgKilccGFyDQpcJ2EwXCdhMFwnYTAgKCogY21nOiBtb2RpZmllZCBXcml0ZUNo
YXIgYW5kIFdyaXRlU3RyaW5nOyBhZGRlZCBSZWFkTGluZS4gKilccGFyDQpcJ2EwXCdhMFwnYTAg
KCogY21nOiBkZWxldGVkIG9yaWdpbmFsIHBvc3RzIG51bWVyaWMgSS9PIHRvIGZvY3VzIHRoaXMg
b24gY2hhcmFjdGVyIGFuZCBzdHJpbmcgSS9PICopXHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFxw
YXINClxwYXINClwnYTBcJ2EwXCdhMCBJTVBPUlQgQ29udmVydGVycywgRmlsZXMsIFN0b3Jlcywg
VGV4dE1hcHBlcnMsIFRleHRNb2RlbHMsIFRleHRWaWV3cztccGFyDQpccGFyDQpcJ2EwXCdhMFwn
YTAgQ09OU1RccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIGh0ID0gOVg7XHBhcg0KXCdh
MFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBjciA9IDBEWDtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwn
YTBcJ2EwIHBhcmEgPSAwRVg7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBzcCA9IDIw
WDtccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgVFlQRVxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdh
MFwnYTAgVGV4dCogPSBQT0lOVEVSIFRPXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBS
RUNPUkRccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBuZXc6IEJP
T0xFQU47XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgcGF0aCwg
bmFtZTogRmlsZXMuTmFtZTtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2Ew
XCdhMCBmb3JtOiBUZXh0TWFwcGVycy5Gb3JtYXR0ZXI7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBc
J2EwXCdhMCBcJ2EwXCdhMFwnYTAgc2NhbjogVGV4dE1hcHBlcnMuU2Nhbm5lclxwYXINClwnYTBc
J2EwXCdhMCBcJ2EwXCdhMFwnYTAgRU5EO1xwYXINClxwYXINClwnYTBcJ2EwXCdhMCBWQVIgY29u
djogQ29udmVydGVycy5Db252ZXJ0ZXI7XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFBST0NFRFVS
RSBPcGVuT2xkKiAoVkFSIHQ6IFRleHQ7IHBhdGgsIG5hbWU6IEZpbGVzLk5hbWUpO1xwYXINClwn
YTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgVkFSIGxvYzogRmlsZXMuTG9jYXRvcjsgc3RvOiBTdG9y
ZXMuU3RvcmU7XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIEJFR0lOXHBhcg0KXCdhMFwnYTBcJ2Ew
IFwnYTBcJ2EwXCdhMCBsb2MgOj0gRmlsZXMuZGlyLlRoaXMocGF0aCk7XHBhcg0KXCdhMFwnYTBc
J2EwIFwnYTBcJ2EwXCdhMCBDb252ZXJ0ZXJzLkltcG9ydChsb2MsIG5hbWUsIGNvbnYsIHN0byk7
XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBORVcodCk7XHBhcg0KXCdhMFwn
YTBcJ2EwIFwnYTBcJ2EwXCdhMCB0Lm5ldyA6PSBGQUxTRTsgdC5wYXRoIDo9IHBhdGg7IHQubmFt
ZSA6PSBuYW1lO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgdC5zY2FuLkNvbm5lY3RU
byhzdG8oVGV4dFZpZXdzLlZpZXcpLlRoaXNNb2RlbCgpKVxwYXINClwnYTBcJ2EwXCdhMCBFTkQg
T3Blbk9sZDtccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgUFJPQ0VEVVJFIE9wZW5OZXcq
IChWQVIgdDogVGV4dDsgcGF0aCwgbmFtZTogRmlsZXMuTmFtZSk7XHBhcg0KXCdhMFwnYTBcJ2Ew
IEJFR0lOXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBORVcodCk7XHBhcg0KXCdhMFwn
YTBcJ2EwIFwnYTBcJ2EwXCdhMCB0Lm5ldyA6PSBUUlVFOyB0LnBhdGggOj0gcGF0aDsgdC5uYW1l
IDo9IG5hbWU7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCB0LmZvcm0uQ29ubmVjdFRv
KFRleHRNb2RlbHMuZGlyLk5ldygpKVxwYXINClwnYTBcJ2EwXCdhMCBFTkQgT3Blbk5ldztccGFy
DQpccGFyDQpccGFyDQpcJ2EwXCdhMFwnYTAgUFJPQ0VEVVJFIENsb3NlKiAoVkFSIHQ6IFRleHQp
O1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgVkFSIGxvYzogRmlsZXMuTG9jYXRvcjsg
djogVGV4dFZpZXdzLlZpZXc7XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIEJFR0lOXHBhcg0KXCdh
MFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBJRiB0Lm5ldyBUSEVOXHBhcg0KXCdhMFwnYTBcJ2EwIFwn
YTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgbG9jIDo9IEZpbGVzLmRpci5UaGlzKHQucGF0aCk7XHBh
cg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgdiA6PSBUZXh0Vmlld3Mu
ZGlyLk5ldyh0LmZvcm0ucmlkZXIuQmFzZSgpKTtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBc
J2EwIFwnYTBcJ2EwXCdhMCBDb252ZXJ0ZXJzLkV4cG9ydChsb2MsIHQubmFtZSwgY29udiwgdilc
cGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIEVORDtccGFyDQpcJ2EwXCdhMFwnYTAgXCdh
MFwnYTBcJ2EwIHQgOj0gTklMXHBhcg0KXCdhMFwnYTBcJ2EwIEVORCBDbG9zZTtccGFyDQpccGFy
DQpccGFyDQpcJ2EwXCdhMFwnYTAgUFJPQ0VEVVJFIEVvdCogKFZBUiB0OiBUZXh0KTogQk9PTEVB
TjtccGFyDQpcJ2EwXCdhMFwnYTAgQkVHSU5ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2Ew
IFJFVFVSTiB0LnNjYW4ucmlkZXIuZW90XHBhcg0KXCdhMFwnYTBcJ2EwIEVORCBFb3Q7XHBhcg0K
XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFBST0NFRFVSRSBSZWFkTGluZSogKFZBUiB0OiBUZXh0
OyBWQVIgbGluZTogQVJSQVkgT0YgQ0hBUik7XHBhcg0KXCdhMFwnYTBcJ2EwICgqIGRvZXMgbm90
IHNraXAgbGVhZGluZyB3aGl0ZSBzcGFjZTsgYSBsaW5lIGlzIHRlcm1pbmF0ZWQgYnkgY3IsIHBh
cmEsIG9yIGVvdC4gVGhlIGVvbCBjaGFyYWN0ZXIgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBsaW5l
ICopXHBhcg0KXCdhMFwnYTBcJ2EwIFxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgVkFS
IGM6IENIQVI7IGk6IElOVEVHRVI7XHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIEJFR0lOXHBhcg0K
XCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBpIDo9IDA7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBc
J2EwXCdhMCB0LnNjYW4ucmlkZXIuUmVhZENoYXIoYyk7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBc
J2EwXCdhMCBXSElMRSAoaSA8IExFTihsaW5lKS0xKSAmICh+dC5zY2FuLnJpZGVyLmVvdCkgJiAo
YyAjIGNyKSAmIChjICMgcGFyYSkgRE9ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwn
YTBcJ2EwXCdhMCBsaW5lW2ldIDo9IGM7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBc
J2EwXCdhMFwnYTAgSU5DKGkpO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdhMFwn
YTBcJ2EwIHQuc2Nhbi5yaWRlci5SZWFkQ2hhcihjKVxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdh
MFwnYTAgRU5EICgqIHdoaWxlICopO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgbGlu
ZVtpXSA6PSAwWFxwYXINClwnYTBcJ2EwXCdhMCBFTkQgUmVhZExpbmU7XHBhcg0KXHBhcg0KXHBh
cg0KXCdhMFwnYTBcJ2EwIFBST0NFRFVSRSBSZWFkQ2hhciogKFZBUiB0OiBUZXh0OyBWQVIgY2g6
IENIQVIpO1xwYXINClwnYTBcJ2EwXCdhMCBCRUdJTlxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdh
MFwnYTAgdC5zY2FuLnJpZGVyLlJlYWRDaGFyKGNoKVxwYXINClwnYTBcJ2EwXCdhMCBFTkQgUmVh
ZENoYXI7XHBhcg0KXHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFBST0NFRFVSRSBXcml0ZUxuKiAo
VkFSIHQ6IFRleHQpO1xwYXINClwnYTBcJ2EwXCdhMCBCRUdJTlxwYXINClwnYTBcJ2EwXCdhMCBc
J2EwXCdhMFwnYTAgdC5mb3JtLldyaXRlTG5ccGFyDQpcJ2EwXCdhMFwnYTAgRU5EIFdyaXRlTG47
XHBhcg0KXHBhcg0KXHBhcg0KXCdhMFwnYTBcJ2EwIFBST0NFRFVSRSBXcml0ZUNoYXIqIChWQVIg
dDogVGV4dDsgeDogQ0hBUik7XHBhcg0KXCdhMFwnYTBcJ2EwIEJFR0lOXHBhcg0KXCdhMFwnYTBc
J2EwIFwnYTBcJ2EwXCdhMCBJRiB4ID0gaHQgVEhFTlxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdh
MFwnYTAgXCdhMFwnYTBcJ2EwIHQuZm9ybS5Xcml0ZVRhYlxwYXINClwnYTBcJ2EwXCdhMCBcJ2Ew
XCdhMFwnYTAgRUxTSUYgeCA9IGNyIFRIRU5ccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2Ew
IFwnYTBcJ2EwXCdhMCB0LmZvcm0uV3JpdGVMblxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwn
YTAgRUxTSUYgeCA9IHBhcmEgVEhFTlxwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdh
MFwnYTBcJ2EwIHQuZm9ybS5Xcml0ZVBhcmFccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2Ew
IEVMU0VccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCB0LmZvcm0u
V3JpdGVDaGFyKHgpXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBFTkQgKCogaWYgKilc
cGFyDQpcJ2EwXCdhMFwnYTAgRU5EIFdyaXRlQ2hhcjtccGFyDQpccGFyDQpccGFyDQpcJ2EwXCdh
MFwnYTAgUFJPQ0VEVVJFIFdyaXRlU3RyaW5nKiAoVkFSIHQ6IFRleHQ7IHg6IEFSUkFZIE9GIENI
QVIpO1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgVkFSIGk6IElOVEVHRVI7XHBhcg0K
XHBhcg0KXCdhMFwnYTBcJ2EwIEJFR0lOXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBp
IDo9IDA7XHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBXSElMRSAoaSA8IExFTih4KSkg
JiAoeFtpXSAjIDBYKSBET1xwYXINClwnYTBcJ2EwXCdhMCBcJ2EwXCdhMFwnYTAgXCdhMFwnYTBc
J2EwIFdyaXRlQ2hhcih0LCB4W2ldKTtccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIFwn
YTBcJ2EwXCdhMCBJTkMoaSlccGFyDQpcJ2EwXCdhMFwnYTAgXCdhMFwnYTBcJ2EwIEVORCAoKiB3
aGlsZSAqKVxwYXINClwnYTBcJ2EwXCdhMCBFTkQgV3JpdGVTdHJpbmc7XHBhcg0KXHBhcg0KXHBh
cg0KQkVHSU5ccGFyDQpcJ2EwXCdhMFwnYTAgY29udiA6PSBDb252ZXJ0ZXJzLmxpc3Q7XHBhcg0K
XCdhMFwnYTBcJ2EwIFdISUxFIChjb252ICMgTklMKSAmIChjb252LmZpbGVUeXBlICMgInR4dCIp
IERPXHBhcg0KXCdhMFwnYTBcJ2EwIFwnYTBcJ2EwXCdhMCBjb252IDo9IGNvbnYubmV4dFxwYXIN
ClwnYTBcJ2EwXCdhMCBFTkRccGFyDQpFTkQgQXNjaWkwIC5ccGFyDQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHBhcg0KXHBhcg0KXHBhcg0KQ2FybCBHbGFzc2Jl
cmdccGFyDQotLS0tXHBhcg0KXHBhcg0KLS0tIE9uIEZyaSwgOC8xMC8xMiwgVHJldXR3ZWluIEJl
cm5oYXJkIDxCZXJuaGFyZC5UcmV1dHdlaW5AVkVSV0FMVFVORy5VTkktTVVFTkNIRU4uREU+IHdy
b3RlOlxwYXINClxwYXINCj4gRnJvbTogVHJldXR3ZWluIEJlcm5oYXJkIDxCZXJuaGFyZC5UcmV1
dHdlaW5AVkVSV0FMVFVORy5VTkktTVVFTkNIRU4uREU+XHBhcg0KPiBTdWJqZWN0OiBSZTogW0JM
QUNLQk9YXSBNb3JlIG9uIEFTQ0lJIHRleHQgZmlsZXNccGFyDQo+IFRvOiBCTEFDS0JPWEBMSVNU
Uy5PQkVST04uQ0hccGFyDQo+IERhdGU6IEZyaWRheSwgQXVndXN0IDEwLCAyMDEyLCAxMjo0NSBB
TVxwYXINCj4gSGkgQ2FybCxccGFyDQo+IFxwYXINCj4gdGhhbmtzIGZvciBkaWdnaW5nIHRoYXQg
b3V0IDotKVxwYXINCj4gXHBhcg0KPiBEaWQgeW91IHJlYWNoIHRoZSBvcmlnaW5hbCBhdXRob3I/
XHBhcg0KPiBccGFyDQo+IEZvciBhbnlib2R5IGFsc28gaW50ZXJlc3RlZCwgdGhlIG9yaWdpbmFs
IG1pZ2h0IGJlIGZvdW5kXHBhcg0KPiBoZXJlOlxwYXINCj4gaHR0cDovL3dlYi5hcmNoaXZlLm9y
Zy93ZWIvMjAwMDAzMTIwNzUzMTQvaHR0cDovL3d3dy5tYXRoLnRhdS5hYy5pbC9+Z3V5L29iZXJv
bmYtbGlzdC85NjA0LzAxMDguaHRtbFxwYXINCj4gXHBhcg0KPiBCVFc6IHRoZSB3aG9sZSB0aHJl
YWQgaXMgdmVyeSBpbnRlcmVzdGluZyBpbiByZXRyb3NwZWN0IDotKVxwYXINCj4gXHBhcg0KPiBy
ZWdhcmRzXHBhcg0KPiAtLVxwYXINCj4gXCdhMCBCZXJuaGFyZFxwYXINCj4gXHBhcg0KPiA+LS0t
LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS1ccGFyDQo+ID5Gcm9tOiBCbGFja0JveCBbbWFpbHRvOkJM
QUNLQk9YQExJU1RTLk9CRVJPTi5DSF1ccGFyDQo+IE9uIEJlaGFsZiBPZiBDYXJsXHBhcg0KPiA+
R2xhc3NiZXJnXHBhcg0KPiA+U2VudDogRnJpZGF5LCBBdWd1c3QgMTAsIDIwMTIgMjoyNyBBTVxw
YXINCj4gPlRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQo+ID5TdWJqZWN0OiBbQkxB
Q0tCT1hdIE1vcmUgb24gQVNDSUkgdGV4dCBmaWxlc1xwYXINCj4gPlxwYXINCj4gPkhlbGxvIEJC
IGxpc3RlcnM6XHBhcg0KPiA+XHBhcg0KPiA+SSBmb3VuZCBhbiBpbnRlcmVzdGluZyBhcmNoaXZl
IHBvc3Q6ICgwMTA4Lmh0bWwpXHBhcg0KPiA+IlJlOiBBU0NJSSB0ZXh0IGZpbGUgSS9PIG1vZHVs
ZVxwYXINCj4gPiBWaW5pY2l1cyBGZXJuYW5kbyBBcmNhcm8gKHZmYUB0dXJpbmcudW5pY2FtcC5i
cilccGFyDQo+ID5GcmksIDMwIEF1ZyAxOTk2IDE2OjIzOjQxIC0wMjAwIlxwYXINCj4gPlxwYXIN
Cj4gPkkgYWRhcHRlZCBNci4gQXJjYXJvJ3MgQXNjaWkgbW9kdWxlIHRvIGFjY29tb2RhdGUgbGlu
ZVxwYXINCj4gYnkgbGluZSBJL08uXHBhcg0KPiA+XHBhcg0KPiA+V2l0aCBoaXMgcGVybWlzc2lv
biwgb3Igd2l0aCBubyBvYmplY3Rpb24gZnJvbSB0aGUgTGlzdCxccGFyDQo+IEkgd291bGQgbGlr
ZVxwYXINCj4gPnRvIHNoYXJlIGl0IGhlcmUsIGFsb25nIHdpdGggYSBzaW1wbGUgdGV4dCBmaWx0
ZXIgdXNpbmdccGFyDQo+IGxpbmUtYnkgbGluZSBJL08uXHBhcg0KPiA+XHBhcg0KPiA+SWYgYW55
b25lIHdhbnRzIHRvIHNlZSBpdCwgbGV0IG1lIGtub3cuXHBhcg0KPiA+XHBhcg0KPiA+Q2FybCBH
bGFzc2JlcmdccGFyDQo+ID5ccGFyDQo+ID5ccGFyDQo+ID4tLS0tXHBhcg0KPiA+VG8gdW5zdWJz
Y3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRlxwYXINCj4gQkxBQ0tCT1gi
IHRvXHBhcg0KPiA+TElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KPiBccGFyDQo+IFxwYXIN
Cj4gLS0tLVxwYXINCj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAi
U0lHTk9GRiBCTEFDS0JPWCJccGFyDQo+IHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxwYXIN
Cj5ccGFyDQpccGFyDQpccGFyDQotLS0tXHBhcg0KVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNz
YWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT319AHhB
S2JXeThRMFpJRA=
----boundary-LibPST-iamunique-1070258298_-_---
BEGIN:VCARD
FN:(null)
N:;;;;
VERSION: 3.0
END:VCARD
Received on Fri Aug 10 2012 - 17:29:48 UTC

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