Re: [BLACKBOX] Opening an embedded form view

From: [at]} <Robert>
Date: Sun, 13 Dec 2009 17:52:37 +0000

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

Folks

I tried to put together a SIMPLE example.

Turns out, one seems to need quite a few (individually simple) Methods!
It would be shorter if the View did not have a Model.

Anyway, this is as simple as I can make it. Further
simplifications welcome. I hope this works!!!

The TWO codings below are a Form already populated with a View,
and the source code with formatting.

I also enclose the source code as ascii.

Cheers

Robert




MODULE DemoViewInForm; (* Date : 13 December 2009 *)
        (* Author : Robert D Campbell *)


IMPORT Containers, Dialog, Models, Ports, Properties, StdApi, Stores, Views;


CONST
   minVersion = 0;
   maxVersion = 0;


TYPE
   Model = POINTER TO RECORD (Models.Model)
               col : INTEGER
             END;

   View = POINTER TO RECORD (Views.View)
               m : Model
             END;


VAR
   dlg* : RECORD col* : INTEGER END;
   myV : View;

(** ***** ***** ***** ***** View Methods ***** ***** ***** ***** **)

PROCEDURE (v : View) CopyFromModelView (source : Views.View; model : Models.Model);
   BEGIN
     v.m := model(Model)
   END CopyFromModelView;


PROCEDURE (v : View) Externalize (VAR wr : Stores.Writer);
   BEGIN
     wr.WriteVersion (maxVersion);
     wr.WriteStore (v.m)
   END Externalize;


PROCEDURE (v : View) Internalize (VAR rd : Stores.Reader);
   VAR
     thisV : INTEGER;
     st : Stores.Store;
   BEGIN
     rd.ReadVersion (minVersion, maxVersion, thisV);
     IF ~rd.cancelled THEN
       rd.ReadStore (st); v.m := st(Model)
     END
   END Internalize;


PROCEDURE (v : View) HandlePropMsg (VAR msg : Properties.Message);
   BEGIN
     WITH msg : Properties.SizePref DO
       IF (msg.w = Views.undefined) OR (msg.h = Views.undefined) THEN
         msg.w := Ports.mm * 50;
         msg.h := Ports.mm * 30 END
    | msg : Properties.ResizePref DO
         msg.horFitToWin := TRUE;
         msg.verFitToWin := TRUE
     ELSE
     END
   END HandlePropMsg;


PROCEDURE (v : View) HandleModelMsg (VAR msg : Models.Message);
   BEGIN
     IF msg IS Models.UpdateMsg THEN Views.Update (v, Views.keepFrames) END
   END HandleModelMsg;


PROCEDURE (v : View) Restore (f : Views.Frame; l, t, r, b : INTEGER);
   BEGIN
     f.DrawRect (l, t, r, b, Ports.fill, v.m.col)
   END Restore;


PROCEDURE (v : View) ThisModel () : Models.Model;
   BEGIN
     RETURN v.m
   END ThisModel;

(** ***** ***** ***** ***** Model Methods ***** ***** ***** ***** **)

PROCEDURE (m : Model) CopyFrom (source : Stores.Store);
   BEGIN
     m.col := source(Model).col
   END CopyFrom;


PROCEDURE (m : Model) Externalize (VAR wr : Stores.Writer);
   BEGIN
     wr.WriteVersion (maxVersion);
     wr.WriteInt (m.col)
   END Externalize;


PROCEDURE (m : Model) Internalize (VAR rd : Stores.Reader);
   VAR
     thisV : INTEGER;
   BEGIN
     rd.ReadVersion (minVersion, maxVersion, thisV);
     IF ~rd.cancelled THEN
       rd.ReadInt (m.col)
     END
   END Internalize;


PROCEDURE (m : Model) Update, NEW, EXTENSIBLE;
   VAR
     msg : Models.UpdateMsg;
   BEGIN
     Models.Broadcast (m, msg)
   END Update;

(** ***** ***** ***** ***** Procedures ***** ***** ***** ***** **)

PROCEDURE Notify* (op, from, to : INTEGER);
   VAR
     red, blue : INTEGER;
   BEGIN
     IF op = Dialog.changed THEN
       dlg.col := MAX (0, MIN (10, dlg.col));
       red := 255 * dlg.col DIV 10;
       blue := 255 - red;
       myV.m.col := Ports.RGBColor (red, 0, blue);
       myV.m.Update;
       Dialog.Update (dlg)
     END
   END Notify;


PROCEDURE OpenForm*;
   VAR
     v : Views.View;
     c : Containers.Controller;
   BEGIN
     StdApi.OpenToolDialog ('Demo/Rsrc/ViewInForm', 'View Form', v);

     IF v # NIL THEN
       c := v(Containers.View).ThisController ();
       ASSERT (c # NIL, 45);
       c.GetFirstView (Containers.any, v);
       myV := NIL;
       WHILE (v # NIL) & (myV = NIL) DO
         WITH v : View DO myV := v ELSE END;
         c.GetNextView (Containers.any, v)
       END;
       ASSERT (myV # NIL, 46)
     END
   END OpenForm;


PROCEDURE DepositView*;
   VAR
     m : Model;
     v : View;
   BEGIN
     NEW (m); m.col := Ports.green;
     NEW (v); v.m := m; Stores.Join (v, m);
     Views.OpenAux (v, 'My View')
   END DepositView;


END DemoViewInForm.

PacCoder.Decode
/I:.Pk/h.5..:k....7K.4Y.NE/r.2Y.PU/4.4w.QU/h.0s.Pk/Y.4:..../tabYHldwmU2C2F53
E/.CLO.j6j.G7/cI77I7u.cITG.F5P05c/u54rEXZbG47:VwJnTvGoadUon.pn:2tZ95459m:9lV
W:ENPvft4Qf41tf4PckrXrvsorViC.OZyVzX5l1g1WSuwGBd5506G426yN:2GB5ER26IEgw1vC4y
6esUXYj2zL524Ill0hBi7:/YO8ux.Ztb4x.Hu1ftXBlpRjEkpoyvPI.xmp5oPTe:fEK8euU4euUm
euUjhcUhO60WkozuoE9Jch0PO07.PEjg5eaoC9O6EkkkDuc/sC/d4G6v19q4QOyUCzm3xNS1BK2M
RSSOwedmwgZsZT9fmVLbWjDKRST0w8zLXcjCV5F0wsMJcj4qHHplO0wiptzRZtMfkhxeapS7Owb3
t5sz0wQpsvflfmHP/S4MkigKutrwqSESSwgvRSz3gn5VjmQDcmra4tLRPbGZiS/HKb.KS3DWZUkp
dQQkacTYdlqP1LcH66gQQO8MfaScWoT:3UfNCpNEdOjMPMj:1WyWBP/M7:.Sg4gTOEFXwOyGPgIq
ngMqGl4ukYg4lGFJuI0O/NRxDg/VWKgUHVC.aHQL9:v.DKw5Bh.95ucpwCfyIqi5/JhXSf8zZcWL
2I.uPrargbOub3s/yunSJNZIL.dSet8PNDTPDueN7fJO3kSiXuqCnIZm.U/0U.
AtEndOfEncoding


PacCoder.Decode
/I:.Pk/h.5..:k....7K.4Y.NE/r.2Y.PU/4.4w.QU/h.0s.Pk/Y.4:..../N0WbllhwmU4eQ8p1
E.E/.IEe//I/SE6M/aBgSmE//liF/5UMoj.WSkBHsE1tmkVZRYDsV3bzBuG7B7UmTBz23ZCg4zmE
2MW5/54F1e4wPgijtj7oqSy.tNXns9UQw5bdOocSD9UHsCRXgy07L6J6VHzK.2O.ErsUGfEFh/0t
UW3Rn02o65kVN0/8u21FMEK6EI4q24/i.NwT5TOukh9SqkjdrCq1HKPM7XUql4erYKlxUvMYqkkw
:uYlr1Ziw9bS0ql/hwsVokGjnH4:nH40a.r9xyIT3R0zzrai:YNLMmUn2ngluNVu4NeGeMCoPJdZ
dqi5qie.RqHvfdxW1hy5Uw0v3qvuXk8jL1kTswyipShDxh:MhOvlkBfRt.xDNFMBrDbY9bWSRunm
Onn2nmM4uF5VNtNjWKllezDww1DNPtHtMG9OTbD9pou8Sh45gz51u98z48zDtXY91nRnyz3emKaC
z3q0MsSies/kJ4z2Cz5PMhZ00D.plp.sYSBwZBLLRR/.5w0C6Cu9mihj5vLp0lCj1yrjrnqD/vPG
N8vwbtmDyFJMbzt5zwWJyEvxpyFez7Vxv3wt1l3gw3oFFyG28rMX/W1FPwYNpT/3KOPk8KDv4.h.
EO.le7RcTLaiz6dz/5OpwNhfTiGChm7fDsjnPyDojm23xvSUpjZlKz6uLByFnwpQiIOzLWWVDTYW
CDpGtUFa2dvwYL9mV98auxDRT:b/hjG309vmzLSYWfXgT2IbbyT2nGm9PtBLwQBgLku9YpjmiN:c
JzrlxKgtqfBQuR6T0pINYihywYyT2gTP7lEYovXBVwParYESoHJNTruwnKZjN4LVqjlp5rMuM/iG
q9vQvt:r:fvJMkVhY26xNbb9Q7fyCRTHfx0yPEoxZNV9yimTNrjlGDyz2P3FF8v35OcaOGBaeeLL
cGc8heyKn2VaKPIzsBqV0lDeZHm5zOGqtGqlzDBia5ymJsfy:mOzcQT3CKOIPC/FzbfsY.ZEuymm
9Lk3d8YUjNs:9xK4MUWdiRnowvjbXXDG7VO9ff7IT1:W:K:SVrgnOGcNIDjV7IL4LlYNYe2yux0S
5DvBhh6hBQ:RDx8WxmJ5gT5mGLbcQv9SUc6UxBzTbmXxQwd3x8/qJtd99zhtyaeT7SGWmy15Uwhh
48nsegJPiFLFtz9kYbmT7I72:aLuWEYv8YZvVfx2hImSN:KS6Xicv8UI0xIB6PagLuIJK5HKfYvy
cdSFWQ:46VXDL7VuMziw0x4xHoNTpFVytNkgjxt7OvQPxtMnj74n0hzUJErBzr5dPk5cqTjg59o3
FyY7NlK0KxTXeVn:ga7dTzitCV1esj5z9cO4L7yxiVxU5zNEU.WoTtwP3erHj5yyyLMTLl4BjUsR
7PS4ziynjrRlsYy5x.RjBJza/uitNz.pfi8lmofl72nm4rF9v7p.R0a4p8nKOLIsFiQzb5Y75m19
5qRVlL/.bQMXDjdfLfMVZaKrOkyh4hglrcrpMHpKFJvubgKcd0zIkqTaqR:ioaeOWcglKgYifdoG
Zyq.qTUtMr3NBWdwPMNVa6UYIK/gCZYYZRXqal.7KyHuEnRTBvocDVoHMWTEimBqYN:FjnE5pMPP
nn:hO3ZsGyKuYCkB0j1RUc4bdbp1Za1kYgfcU/qdoczjILPHHqDpeRwpWKv1KNINqUB/6r5i7dh9
r.N9Z752pgD:4DqXWJflPtajoY6mXHvH46jF88tW5v0sN/gc4QK4kqlgL1jkUWN7fRv/l4kQ6coP
E1Ngxh3vhW2j6yrUljTx9TXm:JYZSno9SZBvsOMuSZP/Xn9wpD:figlBToyaZHXbJScYHr0uSuRJ
DQFmocm3PB3uGmBI7T/6e7QsV3KXO9Ce8coK7ur.S8lhgvl6jdexSr:IzrzjChZ3WxhGmqF0oa9B
EZKiOV9IcxyLmEdDG8ZKu26ZShtYgiCbNDQFUc0TWSIbm5KkPN9K5ITc/5c0nDlt/nE:Dbv4c59u
YPzzzuJqaw1um1aYe:ZhzSyWgthMS5PkuabsqIVegTKawSVcop1lQYno6omlxZDvCDnNycP.1dPT
C8csm9N9wTk.DLg8ZHJPloqIsLwy0eRJXI2tmqwq6gVJ:Q:cS1QErdjxTrjLxkNB8P6D0x2xVmVF
HybCxzTzDoFI:vSKp.Ionumsk4EiY:PaltiVHpDTpBZGdQftfK3VdtRteBDPjP:FwNdg9p0yzzjt
30hzMKFbxSTWuY7ZSnvL70N4mBGpxGoq6EC.OTGD5YMpq4nZFhxJ.wPFG2atpU2xFiyj6ZPud81D
WgqWmyupFheEBWj11CSHc00yD3RUqbo5Q99ExJzNYhG0KZeS/3K6z6K5J4v8TwY2QOGoX0HuRx3N
8HTVc5u17s7cqDsHYUTN6o88ozGtYdyxzTTjEJZgSpRfqlhuhLBPZJxpyzvvnNzjYarg3ZhMl0ay
pwXKHNm0Eh7wc1iCR64rPaQgR/pCXpryaCspZbJ:Pe8gvroyRjQnYeGZEInb3ZvygIWMjIXxzu.k
sXUZ.q8K6ddW5cQb.2jLqxSjLtL6zLxjxP2bqLKEbuLK034qtaiLoKqCFWo0omkO60.JK.
AtEndOfEncoding


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-1082871958_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEZvbGtzXHBhcg0KXHBhcg0KSSB0cmllZCB0byBw
dXQgdG9nZXRoZXIgYSBTSU1QTEUgZXhhbXBsZS5ccGFyDQpccGFyDQpUdXJucyBvdXQsIG9uZSBz
ZWVtcyB0byBuZWVkIHF1aXRlIGEgZmV3IChpbmRpdmlkdWFsbHkgc2ltcGxlKSBNZXRob2RzIVxw
YXINCkl0IHdvdWxkIGJlIHNob3J0ZXIgaWYgdGhlIFZpZXcgZGlkIG5vdCBoYXZlIGEgTW9kZWwu
XHBhcg0KXHBhcg0KQW55d2F5LCB0aGlzIGlzIGFzIHNpbXBsZSBhcyBJIGNhbiBtYWtlIGl0LiBG
dXJ0aGVyXHBhcg0Kc2ltcGxpZmljYXRpb25zIHdlbGNvbWUuIEkgaG9wZSB0aGlzIHdvcmtzISEh
XHBhcg0KXHBhcg0KVGhlIFRXTyBjb2RpbmdzIGJlbG93IGFyZSBhIEZvcm0gYWxyZWFkeSBwb3B1
bGF0ZWQgd2l0aCBhIFZpZXcsXHBhcg0KYW5kIHRoZSBzb3VyY2UgY29kZSB3aXRoIGZvcm1hdHRp
bmcuXHBhcg0KXHBhcg0KSSBhbHNvIGVuY2xvc2UgdGhlIHNvdXJjZSBjb2RlIGFzIGFzY2lpLlxw
YXINClxwYXINCkNoZWVyc1xwYXINClxwYXINClJvYmVydFxwYXINClxwYXINClxwYXINClxwYXIN
ClxwYXINCk1PRFVMRSAgRGVtb1ZpZXdJbkZvcm07XHRhYiAoKiAgRGF0ZSAgICA6ICAxMyAgRGVj
ZW1iZXIgIDIwMDkgICopXHBhcg0KXHRhYiAoKiAgQXV0aG9yICA6ICBSb2JlcnQgRCBDYW1wYmVs
bCAgICopXHBhcg0KXHBhcg0KXHBhcg0KSU1QT1JUICBDb250YWluZXJzLCBEaWFsb2csIE1vZGVs
cywgUG9ydHMsIFByb3BlcnRpZXMsIFN0ZEFwaSwgU3RvcmVzLCBWaWV3cztccGFyDQpccGFyDQpc
cGFyDQpDT05TVFxwYXINCiAgIG1pblZlcnNpb24gID0gIDA7XHBhcg0KICAgbWF4VmVyc2lvbiAg
PSAgMDtccGFyDQpccGFyDQpccGFyDQpUWVBFXHBhcg0KICAgTW9kZWwgID0gIFBPSU5URVIgIFRP
ICBSRUNPUkQgKE1vZGVscy5Nb2RlbClccGFyDQogICAgICAgICAgICAgICBjb2wgIDogIElOVEVH
RVJccGFyDQogICAgICAgICAgICAgRU5EO1xwYXINClxwYXINCiAgIFZpZXcgICA9ICBQT0lOVEVS
ICBUTyAgUkVDT1JEIChWaWV3cy5WaWV3KVxwYXINCiAgICAgICAgICAgICAgIG0gIDogIE1vZGVs
XHBhcg0KICAgICAgICAgICAgIEVORDtccGFyDQpccGFyDQpccGFyDQpWQVJccGFyDQogICBkbGcq
ICA6ICBSRUNPUkQgIGNvbCogOiBJTlRFR0VSICBFTkQ7XHBhcg0KICAgbXlWICAgOiAgVmlldztc
cGFyDQpccGFyDQooKiogICoqKioqICAqKioqKiAgKioqKiogICoqKioqICBWaWV3ICBNZXRob2Rz
ICAqKioqKiAgKioqKiogICoqKioqICAqKioqKiAgKiopXHBhcg0KXHBhcg0KUFJPQ0VEVVJFICh2
IDogVmlldykgQ29weUZyb21Nb2RlbFZpZXcgKHNvdXJjZSA6IFZpZXdzLlZpZXc7IG1vZGVsIDog
TW9kZWxzLk1vZGVsKTtccGFyDQogICBCRUdJTlxwYXINCiAgICAgdi5tICA6PSAgbW9kZWwoTW9k
ZWwpXHBhcg0KICAgRU5EICBDb3B5RnJvbU1vZGVsVmlldztccGFyDQpccGFyDQpccGFyDQpQUk9D
RURVUkUgKHYgOiBWaWV3KSBFeHRlcm5hbGl6ZSAoVkFSIHdyIDogU3RvcmVzLldyaXRlcik7XHBh
cg0KICAgQkVHSU5ccGFyDQogICAgIHdyLldyaXRlVmVyc2lvbiAobWF4VmVyc2lvbik7XHBhcg0K
ICAgICB3ci5Xcml0ZVN0b3JlICh2Lm0pXHBhcg0KICAgRU5EICBFeHRlcm5hbGl6ZTtccGFyDQpc
cGFyDQpccGFyDQpQUk9DRURVUkUgKHYgOiBWaWV3KSBJbnRlcm5hbGl6ZSAoVkFSIHJkIDogU3Rv
cmVzLlJlYWRlcik7XHBhcg0KICAgVkFSXHBhcg0KICAgICB0aGlzViAgOiAgSU5URUdFUjtccGFy
DQogICAgIHN0ICAgICA6ICBTdG9yZXMuU3RvcmU7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIHJk
LlJlYWRWZXJzaW9uIChtaW5WZXJzaW9uLCBtYXhWZXJzaW9uLCB0aGlzVik7XHBhcg0KICAgICBJ
RiAgfnJkLmNhbmNlbGxlZCAgVEhFTlxwYXINCiAgICAgICByZC5SZWFkU3RvcmUgKHN0KTsgdi5t
ICA6PSAgc3QoTW9kZWwpXHBhcg0KICAgICBFTkRccGFyDQogICBFTkQgIEludGVybmFsaXplO1xw
YXINClxwYXINClxwYXINClBST0NFRFVSRSAodiA6IFZpZXcpIEhhbmRsZVByb3BNc2cgKFZBUiBt
c2cgOiBQcm9wZXJ0aWVzLk1lc3NhZ2UpO1xwYXINCiAgIEJFR0lOXHBhcg0KICAgICBXSVRIICBt
c2cgOiBQcm9wZXJ0aWVzLlNpemVQcmVmICBET1xwYXINCiAgICAgICBJRiAgKG1zZy53ID0gVmll
d3MudW5kZWZpbmVkKSAgT1IgIChtc2cuaCA9IFZpZXdzLnVuZGVmaW5lZCkgIFRIRU5ccGFyDQog
ICAgICAgICBtc2cudyAgIDo9ICBQb3J0cy5tbSAgKiAgNTA7XHBhcg0KICAgICAgICAgbXNnLmgg
ICA6PSAgUG9ydHMubW0gICogIDMwICBFTkRccGFyDQogICAgfCAgbXNnIDogUHJvcGVydGllcy5S
ZXNpemVQcmVmICBET1xwYXINCiAgICAgICAgIG1zZy5ob3JGaXRUb1dpbiAgOj0gIFRSVUU7XHBh
cg0KICAgICAgICAgbXNnLnZlckZpdFRvV2luICA6PSAgVFJVRVxwYXINCiAgICAgRUxTRVxwYXIN
CiAgICAgRU5EXHBhcg0KICAgRU5EIEhhbmRsZVByb3BNc2c7XHBhcg0KXHBhcg0KXHBhcg0KUFJP
Q0VEVVJFICh2IDogVmlldykgSGFuZGxlTW9kZWxNc2cgKFZBUiBtc2cgOiBNb2RlbHMuTWVzc2Fn
ZSk7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIElGICAgbXNnICBJUyAgTW9kZWxzLlVwZGF0ZU1z
ZyAgVEhFTiAgVmlld3MuVXBkYXRlICh2LCBWaWV3cy5rZWVwRnJhbWVzKSAgRU5EXHBhcg0KICAg
RU5EIEhhbmRsZU1vZGVsTXNnO1xwYXINClxwYXINClxwYXINClBST0NFRFVSRSAodiA6IFZpZXcp
IFJlc3RvcmUgKGYgOiBWaWV3cy5GcmFtZTsgbCwgdCwgciwgYiA6IElOVEVHRVIpO1xwYXINCiAg
IEJFR0lOXHBhcg0KICAgICBmLkRyYXdSZWN0IChsLCB0LCByLCBiLCBQb3J0cy5maWxsLCB2Lm0u
Y29sKVxwYXINCiAgIEVORCAgUmVzdG9yZTtccGFyDQpccGFyDQpccGFyDQpQUk9DRURVUkUgKHYg
OiBWaWV3KSBUaGlzTW9kZWwgKCkgOiBNb2RlbHMuTW9kZWw7XHBhcg0KICAgQkVHSU5ccGFyDQog
ICAgIFJFVFVSTiAgdi5tXHBhcg0KICAgRU5EICBUaGlzTW9kZWw7XHBhcg0KXHBhcg0KKCoqICAq
KioqKiAgKioqKiogICoqKioqICAqKioqKiAgTW9kZWwgIE1ldGhvZHMgICoqKioqICAqKioqKiAg
KioqKiogICoqKioqICAqKilccGFyDQpccGFyDQpQUk9DRURVUkUgKG0gOiBNb2RlbCkgQ29weUZy
b20gKHNvdXJjZSA6IFN0b3Jlcy5TdG9yZSk7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIG0uY29s
ICA6PSAgc291cmNlKE1vZGVsKS5jb2xccGFyDQogICBFTkQgIENvcHlGcm9tO1xwYXINClxwYXIN
ClxwYXINClBST0NFRFVSRSAobSA6IE1vZGVsKSBFeHRlcm5hbGl6ZSAoVkFSIHdyIDogU3RvcmVz
LldyaXRlcik7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIHdyLldyaXRlVmVyc2lvbiAobWF4VmVy
c2lvbik7XHBhcg0KICAgICB3ci5Xcml0ZUludCAobS5jb2wpXHBhcg0KICAgRU5EICBFeHRlcm5h
bGl6ZTtccGFyDQpccGFyDQpccGFyDQpQUk9DRURVUkUgKG0gOiBNb2RlbCkgSW50ZXJuYWxpemUg
KFZBUiByZCA6IFN0b3Jlcy5SZWFkZXIpO1xwYXINCiAgIFZBUlxwYXINCiAgICAgdGhpc1YgIDog
IElOVEVHRVI7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIHJkLlJlYWRWZXJzaW9uIChtaW5WZXJz
aW9uLCBtYXhWZXJzaW9uLCB0aGlzVik7XHBhcg0KICAgICBJRiAgfnJkLmNhbmNlbGxlZCAgVEhF
TlxwYXINCiAgICAgICByZC5SZWFkSW50IChtLmNvbClccGFyDQogICAgIEVORFxwYXINCiAgIEVO
RCAgSW50ZXJuYWxpemU7XHBhcg0KXHBhcg0KXHBhcg0KUFJPQ0VEVVJFIChtIDogTW9kZWwpIFVw
ZGF0ZSwgTkVXLCBFWFRFTlNJQkxFO1xwYXINCiAgIFZBUlxwYXINCiAgICAgbXNnICA6ICBNb2Rl
bHMuVXBkYXRlTXNnO1xwYXINCiAgIEJFR0lOXHBhcg0KICAgICBNb2RlbHMuQnJvYWRjYXN0ICht
LCBtc2cpXHBhcg0KICAgRU5EICBVcGRhdGU7XHBhcg0KXHBhcg0KKCoqICAqKioqKiAgKioqKiog
ICoqKioqICAqKioqKiAgUHJvY2VkdXJlcyAgKioqKiogICoqKioqICAqKioqKiAgKioqKiogICoq
KVxwYXINClxwYXINClBST0NFRFVSRSAgTm90aWZ5KiAob3AsIGZyb20sIHRvIDogSU5URUdFUik7
XHBhcg0KICAgVkFSXHBhcg0KICAgICByZWQsIGJsdWUgIDogIElOVEVHRVI7XHBhcg0KICAgQkVH
SU5ccGFyDQogICAgIElGICBvcCAgPSAgRGlhbG9nLmNoYW5nZWQgIFRIRU5ccGFyDQogICAgICAg
ZGxnLmNvbCAgICA6PSAgTUFYICgwLCBNSU4gKDEwLCBkbGcuY29sKSk7XHBhcg0KICAgICAgIHJl
ZCAgICAgICAgOj0gIDI1NSAqIGRsZy5jb2wgIERJViAgMTA7XHBhcg0KICAgICAgIGJsdWUgICAg
ICAgOj0gIDI1NSAtIHJlZDtccGFyDQogICAgICAgbXlWLm0uY29sICA6PSAgUG9ydHMuUkdCQ29s
b3IgKHJlZCwgMCwgYmx1ZSk7XHBhcg0KICAgICAgIG15Vi5tLlVwZGF0ZTtccGFyDQogICAgICAg
RGlhbG9nLlVwZGF0ZSAoZGxnKVxwYXINCiAgICAgRU5EXHBhcg0KICAgRU5EICBOb3RpZnk7XHBh
cg0KXHBhcg0KXHBhcg0KUFJPQ0VEVVJFICBPcGVuRm9ybSo7XHBhcg0KICAgVkFSXHBhcg0KICAg
ICB2ICA6ICBWaWV3cy5WaWV3O1xwYXINCiAgICAgYyAgOiAgQ29udGFpbmVycy5Db250cm9sbGVy
O1xwYXINCiAgIEJFR0lOXHBhcg0KICAgICBTdGRBcGkuT3BlblRvb2xEaWFsb2cgKCdEZW1vL1Jz
cmMvVmlld0luRm9ybScsICdWaWV3IEZvcm0nLCB2KTtccGFyDQpccGFyDQogICAgIElGICB2ICAj
ICBOSUwgIFRIRU5ccGFyDQogICAgICAgYyAgOj0gIHYoQ29udGFpbmVycy5WaWV3KS5UaGlzQ29u
dHJvbGxlciAoKTtccGFyDQogICAgICAgQVNTRVJUIChjICAjICBOSUwsIDQ1KTtccGFyDQogICAg
ICAgYy5HZXRGaXJzdFZpZXcgKENvbnRhaW5lcnMuYW55LCB2KTtccGFyDQogICAgICAgbXlWICA6
PSAgTklMO1xwYXINCiAgICAgICBXSElMRSAgKHYgICMgIE5JTCkgICYgIChteVYgID0gIE5JTCkg
IERPXHBhcg0KICAgICAgICAgV0lUSCAgdiAgOiAgVmlldyAgRE8gIG15ViAgOj0gIHYgIEVMU0Ug
IEVORDtccGFyDQogICAgICAgICBjLkdldE5leHRWaWV3IChDb250YWluZXJzLmFueSwgdilccGFy
DQogICAgICAgRU5EO1xwYXINCiAgICAgICBBU1NFUlQgKG15ViAgIyAgTklMLCA0NilccGFyDQog
ICAgIEVORFxwYXINCiAgIEVORCAgT3BlbkZvcm07XHBhcg0KXHBhcg0KXHBhcg0KUFJPQ0VEVVJF
ICBEZXBvc2l0Vmlldyo7XHBhcg0KICAgVkFSXHBhcg0KICAgICBtICA6ICBNb2RlbDtccGFyDQog
ICAgIHYgIDogIFZpZXc7XHBhcg0KICAgQkVHSU5ccGFyDQogICAgIE5FVyAobSk7IG0uY29sICA6
PSAgUG9ydHMuZ3JlZW47XHBhcg0KICAgICBORVcgKHYpOyB2Lm0gIDo9ICBtOyBTdG9yZXMuSm9p
biAodiwgbSk7XHBhcg0KICAgICBWaWV3cy5PcGVuQXV4ICh2LCAnTXkgVmlldycpXHBhcg0KICAg
RU5EICBEZXBvc2l0VmlldztccGFyDQpccGFyDQpccGFyDQpFTkQgIERlbW9WaWV3SW5Gb3JtLlxw
YXINClxwYXINClBhY0NvZGVyLkRlY29kZSBccGFyDQovSTouUGsvaC41Li46ay4uLi43Sy40WS5O
RS9yLjJZLlBVLzQuNHcuUVUvaC4wcy5Qay9ZLjQ6Li4uLi90YWJZSGxkd21VMkMyRjUzXHBhcg0K
RS8uQ0xPLmo2ai5HNy9jSTc3STd1LmNJVEcuRjVQMDVjL3U1NHJFWFpiRzQ3OlZ3Sm5UdkdvYWRV
b24ucG46MnRaOTU0NTltOjlsVlxwYXINClc6RU5QdmZ0NFFmNDF0ZjRQY2tyWHJ2c29yVmlDLk9a
eVZ6WDVsMWcxV1N1d0dCZDU1MDZHNDI2eU46MkdCNUVSMjZJRWd3MXZDNHlccGFyDQo2ZXNVWFlq
MnpMNTI0SWxsMGhCaTc6L1lPOHV4Llp0YjR4Lkh1MWZ0WEJscFJqRWtwb3l2UEkueG1wNW9QVGU6
ZkVLOGV1VTRldVVtXHBhcg0KZXVVamhjVWhPNjBXa296dW9FOUpjaDBQTzA3LlBFamc1ZWFvQzlP
NkVra2tEdWMvc0MvZDRHNnYxOXE0UU95VUN6bTN4TlMxQksyTVxwYXINClJTU093ZWRtd2dac1pU
OWZtVkxiV2pES1JTVDB3OHpMWGNqQ1Y1RjB3c01KY2o0cUhIcGxPMHdpcHR6Ulp0TWZraHhlYXBT
N093YjNccGFyDQp0NXN6MHdRcHN2ZmxmbUhQL1M0TWtpZ0t1dHJ3cVNFU1N3Z3ZSU3ozZ241Vmpt
UURjbXJhNHRMUlBiR1ppUy9IS2IuS1MzRFdaVWtwXHBhcg0KZFFRa2FjVFlkbHFQMUxjSDY2Z1FR
TzhNZmFTY1dvVDozVWZOQ3BORWRPak1QTWo6MVd5V0JQL003Oi5TZzRnVE9FRlh3T3lHUGdJcVxw
YXINCm5nTXFHbDR1a1lnNGxHRkp1STBPL05SeERnL1ZXS2dVSFZDLmFIUUw5OnYuREt3NUJoLjk1
dWNwd0NmeUlxaTUvSmhYU2Y4elpjV0xccGFyDQoySS51UHJhcmdiT3ViM3MveXVuU0pOWklMLmRT
ZXQ4UE5EVFBEdWVON2ZKTzNrU2lYdXFDbklabS5VLzBVLlxwYXINCkF0RW5kT2ZFbmNvZGluZ1xw
YXINClxwYXINClxwYXINClBhY0NvZGVyLkRlY29kZSBccGFyDQovSTouUGsvaC41Li46ay4uLi43
Sy40WS5ORS9yLjJZLlBVLzQuNHcuUVUvaC4wcy5Qay9ZLjQ6Li4uLi9OMFdibGxod21VNGVROHAx
XHBhcg0KRS5FLy5JRWUvL0kvU0U2TS9hQmdTbUUvL2xpRi81VU1vai5XU2tCSHNFMXRta1ZaUllE
c1YzYnpCdUc3QjdVbVRCejIzWkNnNHptRVxwYXINCjJNVzUvNTRGMWU0d1BnaWp0ajdvcVN5LnRO
WG5zOVVRdzViZE9vY1NEOVVIc0NSWGd5MDdMNko2Vkh6Sy4yTy5FcnNVR2ZFRmgvMHRccGFyDQpV
VzNSbjAybzY1a1ZOMC84dTIxRk1FSzZFSTRxMjQvaS5Od1Q1VE91a2g5U3FramRyQ3ExSEtQTTdY
VXFsNGVyWUtseFV2TVlxa2t3XHBhcg0KOnVZbHIxWml3OWJTMHFsL2h3c1Zva0dqbkg0Om5INDBh
LnI5eHlJVDNSMHp6cmFpOllOTE1tVW4ybmdsdU5WdTROZUdlTUNvUEpkWlxwYXINCmRxaTVxaWUu
UnFIdmZkeFcxaHk1VXcwdjNxdnVYazhqTDFrVHN3eWlwU2hEeGg6TWhPdmxrQmZSdC54RE5GTUJy
RGJZOWJXU1J1bm1ccGFyDQpPbm4ybm1NNHVGNVZOdE5qV0tsbGV6RHd3MUROUHRIdE1HOU9UYkQ5
cG91OFNoNDVnejUxdTk4ejQ4ekR0WFk5MW5Sbnl6M2VtS2FDXHBhcg0KejNxME1zU2llcy9rSjR6
MkN6NVBNaFowMEQucGxwLnNZU0J3WkJMTFJSLy41dzBDNkN1OW1paGo1dkxwMGxDajF5cmpybnFE
L3ZQR1xwYXINCk44dndidG1EeUZKTWJ6dDV6d1dKeUV2eHB5RmV6N1Z4djN3dDFsM2d3M29GRnlH
MjhyTVgvVzFGUHdZTnBULzNLT1BrOEtEdjQuaC5ccGFyDQpFTy5sZTdSY1RMYWl6NmR6LzVPcHdO
aGZUaUdDaG03ZkRzam5QeURvam0yM3h2U1VwalpsS3o2dUxCeUZud3BRaUlPekxXV1ZEVFlXXHBh
cg0KQ0RwR3RVRmEyZHZ3WUw5bVY5OGF1eERSVDpiL2hqRzMwOXZtekxTWVdmWGdUMkliYnlUMm5H
bTlQdEJMd1FCZ0xrdTlZcGptaU46Y1xwYXINCkp6cmx4S2d0cWZCUXVSNlQwcElOWWloeXdZeVQy
Z1RQN2xFWW92WEJWd1BhcllFU29ISk5UcnV3bktaak40TFZxamxwNXJNdU0vaUdccGFyDQpxOXZR
dnQ6cjpmdkpNa1ZoWTI2eE5iYjlRN2Z5Q1JUSGZ4MHlQRW94Wk5WOXlpbVROcmpsR0R5ejJQM0ZG
OHYzNU9jYU9HQmFlZUxMXHBhcg0KY0djOGhleUtuMlZhS1BJenNCcVYwbERlWkhtNXpPR3F0R3Fs
ekRCaWE1eW1Kc2Z5Om1PemNRVDNDS09JUEMvRnpiZnNZLlpFdXltbVxwYXINCjlMazNkOFlVak5z
Ojl4SzRNVVdkaVJub3d2amJYWERHN1ZPOWZmN0lUMTpXOks6U1ZyZ25PR2NOSURqVjdJTDRMbFlO
WWUyeXV4MFNccGFyDQo1RHZCaGg2aEJROlJEeDhXeG1KNWdUNW1HTGJjUXY5U1VjNlV4QnpUYm1Y
eFF3ZDN4OC9xSnRkOTl6aHR5YWVUN1NHV215MTVVd2hoXHBhcg0KNDhuc2VnSlBpRkxGdHo5a1li
bVQ3STcyOmFMdVdFWXY4WVp2VmZ4MmhJbVNOOktTNlhpY3Y4VUkweElCNlBhZ0x1SUpLNUhLZll2
eVxwYXINCmNkU0ZXUTo0NlZYREw3VnVNeml3MHg0eEhvTlRwRlZ5dE5rZ2p4dDdPdlFQeHRNbmo3
NG4waHpVSkVyQnpyNWRQazVjcVRqZzU5bzNccGFyDQpGeVk3TmxLMEt4VFhlVm46Z2E3ZFR6aXRD
VjFlc2o1ejljTzRMN3l4aVZ4VTV6TkVVLldvVHR3UDNlckhqNXl5eUxNVExsNEJqVXNSXHBhcg0K
N1BTNHppeW5qclJsc1l5NXguUmpCSnphL3VpdE56LnBmaThsbW9mbDcybm00ckY5djdwLlIwYTRw
OG5LT0xJc0ZpUXpiNVk3NW0xOVxwYXINCjVxUlZsTC8uYlFNWERqZGZMZk1WWmFLck9reWg0aGds
cmNycE1IcEtGSnZ1YmdLY2QweklrcVRhcVI6aW9hZU9XY2dsS2dZaWZkb0dccGFyDQpaeXEucVRV
dE1yM05CV2R3UE1OVmE2VVlJSy9nQ1pZWVpSWHFhbC43S3lIdUVuUlRCdm9jRFZvSE1XVEVpbUJx
WU46RmpuRTVwTVBQXHBhcg0Kbm46aE8zWnNHeUt1WUNrQjBqMVJVYzRiZGJwMVphMWtZZ2ZjVS9x
ZG9jempJTFBISHFEcGVSd3BXS3YxS05JTnFVQi82cjVpN2RoOVxwYXINCnIuTjlaNzUycGdEOjRE
cVhXSmZsUHRham9ZNm1YSHZINDZqRjg4dFc1djBzTi9nYzRRSzRrcWxnTDFqa1VXTjdmUnYvbDRr
UTZjb1BccGFyDQpFMU5neGgzdmhXMmo2eXJVbGpUeDlUWG06SllaU25vOVNaQnZzT011U1pQL1hu
OXdwRDpmaWdsQlRveWFaSFhiSlNjWUhyMHVTdVJKXHBhcg0KRFFGbW9jbTNQQjN1R21CSTdULzZl
N1FzVjNLWE85Q2U4Y29LN3VyLlM4bGhndmw2amRleFNyOkl6cnpqQ2haM1d4aEdtcUYwb2E5Qlxw
YXINCkVaS2lPVjlJY3h5TG1FZERHOFpLdTI2WlNodFlnaUNiTkRRRlVjMFRXU0libTVLa1BOOUs1
SVRjLzVjMG5EbHQvbkU6RGJ2NGM1OXVccGFyDQpZUHp6enVKcWF3MXVtMWFZZTpaaHpTeVdndGhN
UzVQa3VhYnNxSVZlZ1RLYXdTVmNvcDFsUVlubzZvbWx4WkR2Q0RuTnljUC4xZFBUXHBhcg0KQzhj
c205Tjl3VGsuRExnOFpISlBsb3FJc0x3eTBlUkpYSTJ0bXF3cTZnVko6UTpjUzFRRXJkanhUcmpM
eGtOQjhQNkQweDJ4Vm1WRlxwYXINCkh5YkN4elR6RG9GSTp2U0twLklvbnVtc2s0RWlZOlBhbHRp
VkhwRFRwQlpHZFFmdGZLM1ZkdFJ0ZUJEUGpQOkZ3TmRnOXAweXp6anRccGFyDQozMGh6TUtGYnhT
VFd1WTdaU252TDcwTjRtQkdweEdvcTZFQy5PVEdENVlNcHE0blpGaHhKLndQRkcyYXRwVTJ4Rml5
ajZaUHVkODFEXHBhcg0KV2dxV215dXBGaGVFQldqMTFDU0hjMDB5RDNSVXFibzVROTlFeEp6Tllo
RzBLWmVTLzNLNno2SzVKNHY4VHdZMlFPR29YMEh1UngzTlxwYXINCjhIVFZjNXUxN3M3Y3FEc0hZ
VVRONm84OG96R3RZZHl4elRUakVKWmdTcFJmcWxodWhMQlBaSnhweXp2dm5OempZYXJnM1poTWww
YXlccGFyDQpwd1hLSE5tMEVoN3djMWlDUjY0clBhUWdSL3BDWHByeWFDc3BaYko6UGU4Z3Zyb3lS
alFuWWVHWkVJbmIzWnZ5Z0lXTWpJWHh6dS5rXHBhcg0Kc1hVWi5xOEs2ZGRXNWNRYi4yakxxeFNq
THRMNnpMeGp4UDJicUxLRWJ1TEswMzRxdGFpTG9LcUNGV28wb21rTzYwLkpLLlxwYXINCkF0RW5k
T2ZFbmNvZGluZ1xwYXINClxwYXINClxwYXINCi0tLS1ccGFyDQpUbyB1bnN1YnNjcmliZSwgc2Vu
ZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0byBMSVNUU0VSVkBMSVNU
Uy5PQkVST04uQ0h9fQB3T3lH
----boundary-LibPST-iamunique-1082871958_-_---
Received on Sun Dec 13 2009 - 18:52:37 UTC

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