Re: [BLACKBOX] How to 'embed'

From: Campbell, Robert (SELEX GALILEO, UK) <robert.d.campbell{([at]})nowhere.xy>
Date: Wed, 5 Oct 2011 09:30:56 +0100

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

Doug

Having read your question again ...

Maybe the following extracts from Escher/Mod/ViewFigs might also be
helpful ...


 
TYPE
        Context = POINTER TO RECORD (Models.Context)
                view: Views.View; (* contained view *)
                w, h: INTEGER (* size of contained view *)
        END;

        Panel = POINTER TO RECORD (Views.View)
                c: Context
        END;


PROCEDURE AttachView (panel: Panel; view: Views.View; w, h: INTEGER);
        VAR c: Context;
        BEGIN
                ASSERT(view # NIL, 65);
                NEW(c); panel.c := c;
                c.w := MAX(w, minSiz);
                c.h := MAX(h, minSiz);
                c.view := view; c.view.InitContext(c);
Stores.Join(panel, view);
                panel.context.SetSize(c.w, c.h);
                Views.Update(panel, TRUE)
        END AttachView;



In the above Panel is 'simple', and holds view directly without using an
intervening Model.


Robert

________________________________

        From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
Josef Templ
        Sent: 05 October 2011 08:07
        To: BLACKBOX{([at]})nowhere.xy
        Subject: Re: [BLACKBOX] How to 'embed'
        
        
                            *** WARNING ***
        
        This message has originated outside your organisation,
          either from an external partner or the Global Internet.
              Keep this in mind if you answer this message.
        
        I have not done this myself, but from the docu and interafces it
seems that
        the embedding mechanism is embodied in the module 'Containers'.
        TextModels.Model extends Containers.Model and TextViews.View
extends Containers.View,
        for example.
        So I guess your own model and corresponding view would need to
be subclassed
        in the same way in order to support embedding.
        Good luck.
         
        - Josef
        

                ----- Original Message -----
                From: Douglas G. Danforth
<mailto:danforth{([at]})nowhere.xy
                To: BLACKBOX{([at]})nowhere.xy
                Sent: Tuesday, October 04, 2011 11:47 PM
                Subject: Re: [BLACKBOX] How to 'embed'

                Wojtek,
                I used that language because in the documentation for
Models it says
                
                "A model may be a container, i.e., contain embedded
views. An embedded view can communicate with the model in which it is
embedded via a Context.
                A container model provides a context for each embedded
view. Using its context, a view can inquire its current size, or it can
try to change its size."
                
                Josef,
                You said "You can do this also with your own model but
the view used for displaying your model must be aware of
                embedded views and render everything accordingly."
                
                From that I infer that there is no general mechanism for
ebbedding. Each model must handle it specifically.
                Now I am up a creek since I do not know how to put a
view, v(small v) at a specific place within its container
                view, V(big v). I know how to do this for FormViews
(again a specific case) by using a FormControllers
                and using its Insert procedure which takes l, t, r, b
coordinates. I tried tracking the logic of that through the
                code and got lost after descending many modules.
                
                I'll take a look at TextModels and hopefully find a way
to generalize embedding in a bland view which does
                not have a model (or at list a model that is extremely
primitive).
                
                Thank you.
                
                -Doug
                
                On 10/4/2011 1:21 AM, Josef Templ wrote:

                        Actually, it depends on the capabilities of the
model.
                        A TextModels.Model, for example, provides means
for
                        embedding an arbitray Views.View into the
character stream (see TextModels.Writer.WriteView).
                        You can do this also with your own model but the
view used for displaying your model must be aware of
                        embedded views and render everything
accordingly.
                        Rendering the embedded views will typically be
delegated to the embedded views, though.
                        
                        - JT
                        
                        
                        
                        
                        ----- Original Message ----- From: "Wojtek
Skulski" <skulski{([at]})nowhere.xy

                        To: <BLACKBOX{([at]})nowhere.xy
<mailto:BLACKBOX{([at]})nowhere.xy
                        Sent: Tuesday, October 04, 2011 6:42 AM
                        Subject: Re: [BLACKBOX] How to 'embed'
                        
                        
                        "embedding of one view into a model" is a self
contradiction.
                        
                        The model provides data "1, 2, 3, 4...". The
data makes no assumptions how
                        it will be displayed, or whether it will be
displayed at all.
                        
                        The view imports the model. So it knows the
details of the model (array,
                        record, list, double-linked-list, DAG, or any
other fancy structure).
                        However, there is a firm assumption that no
details about the display go
                        into the model. The model can only provide the
numbers, but no details
                        about the display.
                        
                        The Model-View separayion means the separation
of concerns. The model can
                        calculate. The view can display the results of
calculations.
                        
                        Your question is breaking the separation. You
are trying to put the
                        imported concerns back into the importee. This
has to lead to circular
                        data structures. Hence, it is not implementable.

                        
                        W.
                        
                        
                        

                                                    Folks,
                                
                                     I am old and tired of poking
through documentation and code.
                                     So if you can please help me out it
would be greatly appreciated.
                                
                                     If you search the BB documentation
for the word 'embed' you find
                                     many hits. But no where does it
explicitly state the steps needed
                                     to do an embedding of one view into
a model.
                                
                                     What are the least number of steps
to embed a view into a model?
                                
                                     =
                                     My paltry efforts center around
                                
                                     Views.InstallFrame(f, view, l, t,
level, focus);
                                
                                     That is, given the frame (f) of the
view in which one wants to embed
                                     the view 'view' one does the above.
BUT BB complains that view
                                     does not have a context nor a
domain. Well that is what I was
                                hoping
                                     the InstallFrame procedure would
provide to view.
                                
                                     So I can start and assign a context
to view taken from the context
                                 of
                                     f.view.context BUT I believe that
is wrong.
                                
                                     Given a bare extension of
Views.View with no additional structure
                                     TYPE View = POINTER TO
RECORD(Views.View) END;
                                     as the container view I wish to
embed arbitrary other Views.View
                                     as the contained view AND when the
container view is restored
                                     (which unto itself does nothing)
how do I get all of the contained
                                 views
                                     to restore themselves (or does that
happen automatically OR do I
                                     need to forward a message)?
                                
                                     Doug
                                
                                
                                 ---- 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
                        
                        

                ---- 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

SELEX Galileo Ltd
Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL
A company registered in England & Wales. Company no. 02426132
********************************************************************
This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender.
You should not copy it or use it for any purpose nor disclose or
distribute its contents to any other person.
********************************************************************


----
To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy----boundary-LibPST-iamunique-566849098_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIERvdWdccGFyDQpccGFyDQpIYXZpbmcgcmVhZCB5
b3VyIHF1ZXN0aW9uIGFnYWluIC4uLlxwYXINClxwYXINCk1heWJlIHRoZSBmb2xsb3dpbmcgZXh0
cmFjdHMgZnJvbSBFc2NoZXIvTW9kL1ZpZXdGaWdzIG1pZ2h0IGFsc28gYmVccGFyDQpoZWxwZnVs
IC4uLlxwYXINClxwYXINClxwYXINCiBccGFyDQpUWVBFXHBhcg0KXHRhYiBDb250ZXh0ID0gUE9J
TlRFUiBUTyBSRUNPUkQgKE1vZGVscy5Db250ZXh0KVxwYXINClx0YWIgXHRhYiB2aWV3OiBWaWV3
cy5WaWV3OyAgKCogY29udGFpbmVkIHZpZXcgKilccGFyDQpcdGFiIFx0YWIgdywgaDogSU5URUdF
UiAgKCogc2l6ZSBvZiBjb250YWluZWQgdmlldyAqKVxwYXINClx0YWIgRU5EO1xwYXINClxwYXIN
Clx0YWIgUGFuZWwgID0gUE9JTlRFUiBUTyBSRUNPUkQgKFZpZXdzLlZpZXcpXHBhcg0KXHRhYiBc
dGFiIGM6IENvbnRleHRccGFyDQpcdGFiIEVORDtccGFyDQpccGFyDQpccGFyDQpQUk9DRURVUkUg
QXR0YWNoVmlldyAocGFuZWw6IFBhbmVsOyAgdmlldzogVmlld3MuVmlldzsgdywgaDogSU5URUdF
Uik7XHBhcg0KXHRhYiBWQVIgYzogQ29udGV4dDtccGFyDQpcdGFiIEJFR0lOXHBhcg0KXHRhYiBc
dGFiIEFTU0VSVCh2aWV3ICAjICBOSUwsIDY1KTtccGFyDQpcdGFiIFx0YWIgTkVXKGMpOyAgcGFu
ZWwuYyA6PSBjO1xwYXINClx0YWIgXHRhYiBjLncgOj0gTUFYKHcsIG1pblNpeik7XHBhcg0KXHRh
YiBcdGFiIGMuaCA6PSBNQVgoaCwgbWluU2l6KTtccGFyDQpcdGFiIFx0YWIgYy52aWV3IDo9IHZp
ZXc7IGMudmlldy5Jbml0Q29udGV4dChjKTtccGFyDQpTdG9yZXMuSm9pbihwYW5lbCwgdmlldyk7
XHBhcg0KXHRhYiBcdGFiIHBhbmVsLmNvbnRleHQuU2V0U2l6ZShjLncsIGMuaCk7XHBhcg0KXHRh
YiBcdGFiIFZpZXdzLlVwZGF0ZShwYW5lbCwgVFJVRSlccGFyDQpcdGFiIEVORCBBdHRhY2hWaWV3
O1xwYXINClxwYXINClxwYXINClxwYXINCkluIHRoZSBhYm92ZSBQYW5lbCBpcyAnc2ltcGxlJywg
YW5kIGhvbGRzIHZpZXcgZGlyZWN0bHkgd2l0aG91dCB1c2luZyBhblxwYXINCmludGVydmVuaW5n
IE1vZGVsLlxwYXINClxwYXINClxwYXINClJvYmVydFxwYXINClxwYXINCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXHBhcg0KXHBhcg0KXHRhYiBGcm9tOiBCbGFja0JveCBbbWFpbHRv
OkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSF0gT24gQmVoYWxmIE9mXHBhcg0KSm9zZWYgVGVtcGxc
cGFyDQpcdGFiIFNlbnQ6IDA1IE9jdG9iZXIgMjAxMSAwODowN1xwYXINClx0YWIgVG86IEJMQUNL
Qk9YQExJU1RTLk9CRVJPTi5DSFxwYXINClx0YWIgU3ViamVjdDogUmU6IFtCTEFDS0JPWF0gSG93
IHRvICdlbWJlZCdccGFyDQpcdGFiIFxwYXINClx0YWIgXHBhcg0KXHRhYiAgICAgICAgICAgICAg
ICAgICAgICoqKiBXQVJOSU5HICoqKlxwYXINClx0YWIgXHBhcg0KXHRhYiBUaGlzIG1lc3NhZ2Ug
aGFzIG9yaWdpbmF0ZWQgb3V0c2lkZSB5b3VyIG9yZ2FuaXNhdGlvbiwgXHBhcg0KXHRhYiAgIGVp
dGhlciBmcm9tIGFuIGV4dGVybmFsIHBhcnRuZXIgb3IgdGhlIEdsb2JhbCBJbnRlcm5ldC4gXHBh
cg0KXHRhYiAgICAgICBLZWVwIHRoaXMgaW4gbWluZCBpZiB5b3UgYW5zd2VyIHRoaXMgbWVzc2Fn
ZS5ccGFyDQpcdGFiIFxwYXINClx0YWIgSSBoYXZlIG5vdCBkb25lIHRoaXMgbXlzZWxmLCBidXQg
ZnJvbSB0aGUgZG9jdSBhbmQgaW50ZXJhZmNlcyBpdFxwYXINCnNlZW1zIHRoYXRccGFyDQpcdGFi
IHRoZSBlbWJlZGRpbmcgbWVjaGFuaXNtIGlzIGVtYm9kaWVkIGluIHRoZSBtb2R1bGUgJ0NvbnRh
aW5lcnMnLlxwYXINClx0YWIgVGV4dE1vZGVscy5Nb2RlbCBleHRlbmRzIENvbnRhaW5lcnMuTW9k
ZWwgYW5kIFRleHRWaWV3cy5WaWV3XHBhcg0KZXh0ZW5kcyBDb250YWluZXJzLlZpZXcsXHBhcg0K
XHRhYiBmb3IgZXhhbXBsZS5ccGFyDQpcdGFiIFNvIEkgZ3Vlc3MgeW91ciBvd24gbW9kZWwgYW5k
IGNvcnJlc3BvbmRpbmcgdmlldyB3b3VsZCBuZWVkIHRvXHBhcg0KYmUgc3ViY2xhc3NlZFxwYXIN
Clx0YWIgaW4gdGhlIHNhbWUgd2F5IGluIG9yZGVyIHRvIHN1cHBvcnQgZW1iZWRkaW5nLlxwYXIN
Clx0YWIgR29vZCBsdWNrLlxwYXINClx0YWIgIFxwYXINClx0YWIgLSBKb3NlZlxwYXINClx0YWIg
XHBhcg0KXHBhcg0KXHRhYiBcdGFiIC0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0gXHBhcg0K
XHRhYiBcdGFiIEZyb206IERvdWdsYXMgRy4gRGFuZm9ydGhccGFyDQo8bWFpbHRvOmRhbmZvcnRo
QEdSRUVOV09PREZBUk0uQ09NPiAgXHBhcg0KXHRhYiBcdGFiIFRvOiBCTEFDS0JPWEBMSVNUUy5P
QkVST04uQ0ggXHBhcg0KXHRhYiBcdGFiIFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMDQsIDIwMTEg
MTE6NDcgUE1ccGFyDQpcdGFiIFx0YWIgU3ViamVjdDogUmU6IFtCTEFDS0JPWF0gSG93IHRvICdl
bWJlZCdccGFyDQpccGFyDQpcdGFiIFx0YWIgV29qdGVrLFxwYXINClx0YWIgXHRhYiBJIHVzZWQg
dGhhdCBsYW5ndWFnZSBiZWNhdXNlIGluIHRoZSBkb2N1bWVudGF0aW9uIGZvclxwYXINCk1vZGVs
cyBpdCBzYXlzXHBhcg0KXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiAiQSBtb2RlbCBtYXkgYmUg
YSBjb250YWluZXIsIGkuZS4sIGNvbnRhaW4gZW1iZWRkZWRccGFyDQp2aWV3cy4gQW4gZW1iZWRk
ZWQgdmlldyBjYW4gY29tbXVuaWNhdGUgd2l0aCB0aGUgbW9kZWwgaW4gd2hpY2ggaXQgaXNccGFy
DQplbWJlZGRlZCB2aWEgYSBDb250ZXh0LiBccGFyDQpcdGFiIFx0YWIgQSBjb250YWluZXIgbW9k
ZWwgcHJvdmlkZXMgYSBjb250ZXh0IGZvciBlYWNoIGVtYmVkZGVkXHBhcg0Kdmlldy4gVXNpbmcg
aXRzIGNvbnRleHQsIGEgdmlldyBjYW4gaW5xdWlyZSBpdHMgY3VycmVudCBzaXplLCBvciBpdCBj
YW5ccGFyDQp0cnkgdG8gY2hhbmdlIGl0cyBzaXplLiJccGFyDQpcdGFiIFx0YWIgXHBhcg0KXHRh
YiBcdGFiIEpvc2VmLFxwYXINClx0YWIgXHRhYiBZb3Ugc2FpZCAiWW91IGNhbiBkbyB0aGlzIGFs
c28gd2l0aCB5b3VyIG93biBtb2RlbCBidXRccGFyDQp0aGUgdmlldyB1c2VkIGZvciBkaXNwbGF5
aW5nIHlvdXIgbW9kZWwgbXVzdCBiZSBhd2FyZSBvZiBccGFyDQpcdGFiIFx0YWIgZW1iZWRkZWQg
dmlld3MgYW5kIHJlbmRlciBldmVyeXRoaW5nIGFjY29yZGluZ2x5LiJccGFyDQpcdGFiIFx0YWIg
XHBhcg0KXHRhYiBcdGFiIEZyb20gdGhhdCBJIGluZmVyIHRoYXQgdGhlcmUgaXMgbm8gZ2VuZXJh
bCBtZWNoYW5pc20gZm9yXHBhcg0KZWJiZWRkaW5nLiAgRWFjaCBtb2RlbCBtdXN0IGhhbmRsZSBp
dCBzcGVjaWZpY2FsbHkuXHBhcg0KXHRhYiBcdGFiIE5vdyBJIGFtIHVwIGEgY3JlZWsgc2luY2Ug
SSBkbyBub3Qga25vdyBob3cgdG8gcHV0IGFccGFyDQp2aWV3LCB2KHNtYWxsIHYpIGF0IGEgc3Bl
Y2lmaWMgcGxhY2Ugd2l0aGluIGl0cyBjb250YWluZXJccGFyDQpcdGFiIFx0YWIgdmlldywgVihi
aWcgdikuICBJIGtub3cgaG93IHRvIGRvIHRoaXMgZm9yIEZvcm1WaWV3c1xwYXINCihhZ2FpbiBh
IHNwZWNpZmljIGNhc2UpIGJ5IHVzaW5nIGEgRm9ybUNvbnRyb2xsZXJzXHBhcg0KXHRhYiBcdGFi
IGFuZCB1c2luZyBpdHMgSW5zZXJ0ICBwcm9jZWR1cmUgd2hpY2ggdGFrZXMgbCwgdCwgciwgYlxw
YXINCmNvb3JkaW5hdGVzLiAgSSB0cmllZCB0cmFja2luZyB0aGUgbG9naWMgb2YgdGhhdCB0aHJv
dWdoIHRoZVxwYXINClx0YWIgXHRhYiBjb2RlIGFuZCBnb3QgbG9zdCBhZnRlciBkZXNjZW5kaW5n
IG1hbnkgbW9kdWxlcy5ccGFyDQpcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIEknbGwgdGFrZSBh
IGxvb2sgYXQgVGV4dE1vZGVscyBhbmQgaG9wZWZ1bGx5IGZpbmQgYSB3YXlccGFyDQp0byBnZW5l
cmFsaXplIGVtYmVkZGluZyBpbiBhIGJsYW5kIHZpZXcgd2hpY2ggZG9lc1xwYXINClx0YWIgXHRh
YiBub3QgaGF2ZSBhIG1vZGVsIChvciBhdCBsaXN0IGEgbW9kZWwgdGhhdCBpcyBleHRyZW1lbHlc
cGFyDQpwcmltaXRpdmUpLlxwYXINClx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgVGhhbmsgeW91
LlxwYXINClx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgLURvdWdccGFyDQpcdGFiIFx0YWIgXHBh
cg0KXHRhYiBcdGFiIE9uIDEwLzQvMjAxMSAxOjIxIEFNLCBKb3NlZiBUZW1wbCB3cm90ZTogXHBh
cg0KXHBhcg0KXHRhYiBcdGFiIFx0YWIgQWN0dWFsbHksIGl0IGRlcGVuZHMgb24gdGhlIGNhcGFi
aWxpdGllcyBvZiB0aGVccGFyDQptb2RlbC4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgQSBUZXh0TW9k
ZWxzLk1vZGVsLCBmb3IgZXhhbXBsZSwgcHJvdmlkZXMgbWVhbnNccGFyDQpmb3IgXHBhcg0KXHRh
YiBcdGFiIFx0YWIgZW1iZWRkaW5nIGFuIGFyYml0cmF5IFZpZXdzLlZpZXcgaW50byB0aGVccGFy
DQpjaGFyYWN0ZXIgc3RyZWFtIChzZWUgVGV4dE1vZGVscy5Xcml0ZXIuV3JpdGVWaWV3KS4gXHBh
cg0KXHRhYiBcdGFiIFx0YWIgWW91IGNhbiBkbyB0aGlzIGFsc28gd2l0aCB5b3VyIG93biBtb2Rl
bCBidXQgdGhlXHBhcg0KdmlldyB1c2VkIGZvciBkaXNwbGF5aW5nIHlvdXIgbW9kZWwgbXVzdCBi
ZSBhd2FyZSBvZiBccGFyDQpcdGFiIFx0YWIgXHRhYiBlbWJlZGRlZCB2aWV3cyBhbmQgcmVuZGVy
IGV2ZXJ5dGhpbmdccGFyDQphY2NvcmRpbmdseS4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgUmVuZGVy
aW5nIHRoZSBlbWJlZGRlZCB2aWV3cyB3aWxsIHR5cGljYWxseSBiZVxwYXINCmRlbGVnYXRlZCB0
byB0aGUgZW1iZWRkZWQgdmlld3MsIHRob3VnaC4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHBhcg0K
XHRhYiBcdGFiIFx0YWIgLSBKVCBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIg
XHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFi
IFx0YWIgXHRhYiAtLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tIEZyb206ICJXb2p0ZWtccGFy
DQpTa3Vsc2tpIiA8c2t1bHNraUBQQVMuUk9DSEVTVEVSLkVEVT4gPG1haWx0bzpza3Vsc2tpQFBB
Uy5ST0NIRVNURVIuRURVPlxwYXINClxwYXINClx0YWIgXHRhYiBcdGFiIFRvOiA8QkxBQ0tCT1hA
TElTVFMuT0JFUk9OLkNIPlxwYXINCjxtYWlsdG86QkxBQ0tCT1hATElTVFMuT0JFUk9OLkNIPiAg
XHBhcg0KXHRhYiBcdGFiIFx0YWIgU2VudDogVHVlc2RheSwgT2N0b2JlciAwNCwgMjAxMSA2OjQy
IEFNIFxwYXINClx0YWIgXHRhYiBcdGFiIFN1YmplY3Q6IFJlOiBbQkxBQ0tCT1hdIEhvdyB0byAn
ZW1iZWQnIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0
YWIgXHRhYiBcdGFiICJlbWJlZGRpbmcgb2Ygb25lIHZpZXcgaW50byBhIG1vZGVsIiBpcyBhIHNl
bGZccGFyDQpjb250cmFkaWN0aW9uLiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0
YWIgXHRhYiBUaGUgbW9kZWwgcHJvdmlkZXMgZGF0YSAiMSwgMiwgMywgNC4uLiIuIFRoZVxwYXIN
CmRhdGEgbWFrZXMgbm8gYXNzdW1wdGlvbnMgaG93IFxwYXINClx0YWIgXHRhYiBcdGFiIGl0IHdp
bGwgYmUgZGlzcGxheWVkLCBvciB3aGV0aGVyIGl0IHdpbGwgYmVccGFyDQpkaXNwbGF5ZWQgYXQg
YWxsLiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBUaGUgdmlldyBp
bXBvcnRzIHRoZSBtb2RlbC4gU28gaXQga25vd3MgdGhlXHBhcg0KZGV0YWlscyBvZiB0aGUgbW9k
ZWwgKGFycmF5LCBccGFyDQpcdGFiIFx0YWIgXHRhYiByZWNvcmQsIGxpc3QsIGRvdWJsZS1saW5r
ZWQtbGlzdCwgREFHLCBvciBhbnlccGFyDQpvdGhlciBmYW5jeSBzdHJ1Y3R1cmUpLiBccGFyDQpc
dGFiIFx0YWIgXHRhYiBIb3dldmVyLCB0aGVyZSBpcyBhIGZpcm0gYXNzdW1wdGlvbiB0aGF0IG5v
XHBhcg0KZGV0YWlscyBhYm91dCB0aGUgZGlzcGxheSBnbyBccGFyDQpcdGFiIFx0YWIgXHRhYiBp
bnRvIHRoZSBtb2RlbC4gVGhlIG1vZGVsIGNhbiBvbmx5IHByb3ZpZGUgdGhlXHBhcg0KbnVtYmVy
cywgYnV0IG5vIGRldGFpbHMgXHBhcg0KXHRhYiBcdGFiIFx0YWIgYWJvdXQgdGhlIGRpc3BsYXku
IFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFRoZSBNb2RlbC1WaWV3
IHNlcGFyYXlpb24gbWVhbnMgdGhlIHNlcGFyYXRpb25ccGFyDQpvZiBjb25jZXJucy4gVGhlIG1v
ZGVsIGNhbiBccGFyDQpcdGFiIFx0YWIgXHRhYiBjYWxjdWxhdGUuIFRoZSB2aWV3IGNhbiBkaXNw
bGF5IHRoZSByZXN1bHRzIG9mXHBhcg0KY2FsY3VsYXRpb25zLiBccGFyDQpcdGFiIFx0YWIgXHRh
YiBccGFyDQpcdGFiIFx0YWIgXHRhYiBZb3VyIHF1ZXN0aW9uIGlzIGJyZWFraW5nIHRoZSBzZXBh
cmF0aW9uLiBZb3VccGFyDQphcmUgdHJ5aW5nIHRvIHB1dCB0aGUgXHBhcg0KXHRhYiBcdGFiIFx0
YWIgaW1wb3J0ZWQgY29uY2VybnMgYmFjayBpbnRvIHRoZSBpbXBvcnRlZS4gVGhpc1xwYXINCmhh
cyB0byBsZWFkIHRvIGNpcmN1bGFyIFxwYXINClx0YWIgXHRhYiBcdGFiIGRhdGEgc3RydWN0dXJl
cy4gSGVuY2UsIGl0IGlzIG5vdCBpbXBsZW1lbnRhYmxlLlxwYXINClxwYXINClx0YWIgXHRhYiBc
dGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFcuIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0
YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClxwYXINClx0YWIgXHRhYiBc
dGFiIFx0YWIgICAgICAgICAgICAgICAgICAgICBGb2xrcywgXHBhcg0KXHRhYiBcdGFiIFx0YWIg
XHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgSSBhbSBvbGQgYW5kIHRpcmVkIG9m
IHBva2luZ1xwYXINCnRocm91Z2ggZG9jdW1lbnRhdGlvbiBhbmQgY29kZS4gXHBhcg0KXHRhYiBc
dGFiIFx0YWIgXHRhYiAgICAgIFNvIGlmIHlvdSBjYW4gcGxlYXNlIGhlbHAgbWUgb3V0IGl0XHBh
cg0Kd291bGQgYmUgZ3JlYXRseSBhcHByZWNpYXRlZC4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRh
YiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgSWYgeW91IHNlYXJjaCB0aGUgQkIgZG9j
dW1lbnRhdGlvblxwYXINCmZvciB0aGUgd29yZCAnZW1iZWQnIHlvdSBmaW5kIFxwYXINClx0YWIg
XHRhYiBcdGFiIFx0YWIgICAgICBtYW55IGhpdHMuICBCdXQgbm8gd2hlcmUgZG9lcyBpdFxwYXIN
CmV4cGxpY2l0bHkgc3RhdGUgdGhlIHN0ZXBzIG5lZWRlZCBccGFyDQpcdGFiIFx0YWIgXHRhYiBc
dGFiICAgICAgdG8gZG8gYW4gZW1iZWRkaW5nIG9mIG9uZSB2aWV3IGludG9ccGFyDQphIG1vZGVs
LiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAg
ICBXaGF0IGFyZSB0aGUgbGVhc3QgbnVtYmVyIG9mIHN0ZXBzXHBhcg0KdG8gZW1iZWQgYSB2aWV3
IGludG8gYSBtb2RlbD8gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIg
XHRhYiBcdGFiICAgICAgPT0gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgICAgIE15IHBhbHRy
eSBlZmZvcnRzIGNlbnRlciBhcm91bmQgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBccGFyDQpc
dGFiIFx0YWIgXHRhYiBcdGFiICAgICAgVmlld3MuSW5zdGFsbEZyYW1lKGYsIHZpZXcsIGwsIHQs
XHBhcg0KbGV2ZWwsIGZvY3VzKTsgXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFi
IFx0YWIgXHRhYiBcdGFiICAgICAgVGhhdCBpcywgZ2l2ZW4gdGhlIGZyYW1lIChmKSBvZiB0aGVc
cGFyDQp2aWV3IGluIHdoaWNoIG9uZSB3YW50cyB0byBlbWJlZCBccGFyDQpcdGFiIFx0YWIgXHRh
YiBcdGFiICAgICAgdGhlIHZpZXcgJ3ZpZXcnIG9uZSBkb2VzIHRoZSBhYm92ZS5ccGFyDQpCVVQg
QkIgY29tcGxhaW5zIHRoYXQgdmlldyBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgZG9l
cyBub3QgaGF2ZSBhIGNvbnRleHQgbm9yIGFccGFyDQpkb21haW4uICBXZWxsIHRoYXQgaXMgd2hh
dCBJIHdhcyBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIGhvcGluZyBccGFyDQpcdGFiIFx0YWIg
XHRhYiBcdGFiICAgICAgdGhlIEluc3RhbGxGcmFtZSBwcm9jZWR1cmUgd291bGRccGFyDQpwcm92
aWRlIHRvIHZpZXcuIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBhcg0KXHRhYiBcdGFiIFx0
YWIgXHRhYiAgICAgIFNvIEkgY2FuIHN0YXJ0IGFuZCBhc3NpZ24gYSBjb250ZXh0XHBhcg0KdG8g
dmlldyB0YWtlbiBmcm9tIHRoZSBjb250ZXh0IFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgIG9m
IFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBmLnZpZXcuY29udGV4dCBCVVQgSSBiZWxp
ZXZlIHRoYXRccGFyDQppcyB3cm9uZy4gXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBccGFyDQpc
dGFiIFx0YWIgXHRhYiBcdGFiICAgICAgR2l2ZW4gYSBiYXJlIGV4dGVuc2lvbiBvZlxwYXINClZp
ZXdzLlZpZXcgd2l0aCBubyBhZGRpdGlvbmFsIHN0cnVjdHVyZSBccGFyDQpcdGFiIFx0YWIgXHRh
YiBcdGFiICAgICAgVFlQRSBWaWV3ID0gUE9JTlRFUiBUT1xwYXINClJFQ09SRChWaWV3cy5WaWV3
KSBFTkQ7IFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBhcyB0aGUgY29udGFpbmVyIHZp
ZXcgSSB3aXNoIHRvXHBhcg0KZW1iZWQgYXJiaXRyYXJ5IG90aGVyICAgICBWaWV3cy5WaWV3IFxw
YXINClx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBhcyB0aGUgY29udGFpbmVkIHZpZXcgQU5EIHdo
ZW4gdGhlXHBhcg0KY29udGFpbmVyIHZpZXcgaXMgICAgIHJlc3RvcmVkIFxwYXINClx0YWIgXHRh
YiBcdGFiIFx0YWIgICAgICAod2hpY2ggdW50byBpdHNlbGYgZG9lcyBub3RoaW5nKVxwYXINCmhv
dyBkbyBJIGdldCBhbGwgb2YgdGhlIGNvbnRhaW5lZCBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFi
ICB2aWV3cyBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgdG8gcmVzdG9yZSB0aGVtc2Vs
dmVzIChvciBkb2VzIHRoYXRccGFyDQpoYXBwZW4gYXV0b21hdGljYWxseSBPUiBkbyBJIFxwYXIN
Clx0YWIgXHRhYiBcdGFiIFx0YWIgICAgICBuZWVkIHRvIGZvcndhcmQgYSBtZXNzYWdlKT8gXHBh
cg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiICAgICAgRG91
ZyBccGFyDQpcdGFiIFx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0YWIgXHBh
cg0KXHRhYiBcdGFiIFx0YWIgXHRhYiAgLS0tLSBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3Nh
Z2VccGFyDQp3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIFxwYXINClx0YWIgXHRhYiBc
dGFiIFx0YWIgTElTVFNFUlZATElTVFMuT0JFUk9OLkNIIFxwYXINClx0YWIgXHRhYiBcdGFiIFx0
YWIgXHBhcg0KXHBhcg0KXHBhcg0KXHBhcg0KXHRhYiBcdGFiIFx0YWIgLS0tLSBccGFyDQpcdGFi
IFx0YWIgXHRhYiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBib2R5XHBhcg0K
IlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCBccGFyDQpcdGFi
IFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiBccGFyDQpcdGFiIFx0YWIgXHRhYiAtLS0t
IFxwYXINClx0YWIgXHRhYiBcdGFiIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRo
IGJvZHlccGFyDQoiU0lHTk9GRiBCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNI
IFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClx0YWIgXHRhYiBcdGFiIFxwYXINClxwYXINClx0
YWIgXHRhYiAtLS0tIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJ
R05PRkZccGFyDQpCTEFDS0JPWCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIXHBhcg0KXHBh
cg0KXHRhYiAtLS0tIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJ
R05PRkYgQkxBQ0tCT1giXHBhcg0KdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkNIIFxwYXINClxw
YXINClNFTEVYIEdhbGlsZW8gTHRkXHBhcg0KUmVnaXN0ZXJlZCBPZmZpY2U6IFNpZ21hIEhvdXNl
LCBDaHJpc3RvcGhlciBNYXJ0aW4gUm9hZCwgQmFzaWxkb24sIEVzc2V4IFNTMTQgM0VMXHBhcg0K
QSBjb21wYW55IHJlZ2lzdGVyZWQgaW4gRW5nbGFuZCAmIFdhbGVzLiAgQ29tcGFueSBuby4gMDI0
MjYxMzJccGFyDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKlxwYXINClRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50
cyBhcmUgY29uZmlkZW50aWFsIHRvIHRoZSBpbnRlbmRlZFxwYXINCnJlY2lwaWVudCBhbmQgbWF5
IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkXHBhcg0KcmVj
aXBpZW50IHBsZWFzZSBkZWxldGUgaXQgZnJvbSB5b3VyIHN5c3RlbSBhbmQgbm90aWZ5IHRoZSBz
ZW5kZXIuXHBhcg0KWW91IHNob3VsZCBub3QgY29weSBpdCBvciB1c2UgaXQgZm9yIGFueSBwdXJw
b3NlIG5vciBkaXNjbG9zZSBvclxwYXINCmRpc3RyaWJ1dGUgaXRzIGNvbnRlbnRzIHRvIGFueSBv
dGhlciBwZXJzb24uXHBhcg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKipccGFyDQpccGFyDQpccGFyDQotLS0tXHBhcg0K
VG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFDS0JP
WCIgdG8gTElTVFNFUlZATElTVFMuT0JFUk9OLkN9fQAiIHNpeg=
----boundary-LibPST-iamunique-566849098_-_---
Received on Wed Oct 05 2011 - 10:30:56 UTC

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