Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » CreateViewAndElementRequest wont create anything
CreateViewAndElementRequest wont create anything [message #502294] Mon, 07 December 2009 15:59 Go to next message
Ugo Sangiorgi is currently offline Ugo SangiorgiFriend
Messages: 44
Registered: July 2009
Member
Hello,
I have a DragDropEditPolicy and i want to create a command inside getDropObjectsCommand to add a node into a compartment.

But i want to set some parameters of my model before inserting it (i mean, to create the EObject, set the properties, and then create the EditPart)

I have a getCreateElementAndViewCommand took from GMF itself, but this doesnt seems to work:

CreateViewAndElementRequest req = new CreateViewAndElementRequest(MolicElementTypes.Sketch_3001,ed itor.getDiagramEditPart().getDiagramPreferencesHint());
this.getCreateCommand(req); //this have canExecute() = false

Does anybody have a clue on how can i do that?

thanks
Re: CreateViewAndElementRequest wont create anything [message #502338 is a reply to message #502294] Mon, 07 December 2009 17:59 Go to previous messageGo to next message
Ugo Sangiorgi is currently offline Ugo SangiorgiFriend
Messages: 44
Registered: July 2009
Member
Still nothing.
First, i create a CreateElementRequestAdapter (Sketch is my model element):

CreateElementRequestAdapter elementReqAdapter = new CreateElementRequestAdapter(new CreateElementRequest(type));
Sketch sketch = MolicFactory.eINSTANCE.createSketch();
sketch.eSet(MolicPackage.Literals.SKETCH__IMAGE, "what i want to be able to set");

elementReqAdapter.setNewElement(sketch);

If i do this, a node is created, without the model element i've passed:

ViewAndElementDescriptor viewDescriptor = new ViewAndElementDescriptor(
new CreateElementRequestAdapter(new CreateElementRequest(type)),elementReqAdapter,
Node.class, ((IHintedType) type).getSemanticHint(), preferencesHint);

If i do this, then nothing happens:

ViewAndElementDescriptor viewDescriptor = new ViewAndElementDescriptor(
new CreateElementRequestAdapter(new CreateElementRequest(type)),
elementReqAdapter,
preferencesHint);

Either way, im lost =(

Does anybody have a clue?


Ugo Sangiorgi escreveu:
> Hello,
> I have a DragDropEditPolicy and i want to create a command inside
> getDropObjectsCommand to add a node into a compartment.
>
> But i want to set some parameters of my model before inserting it (i
> mean, to create the EObject, set the properties, and then create the
> EditPart)
>
> I have a getCreateElementAndViewCommand took from GMF itself, but this
> doesnt seems to work:
>
> CreateViewAndElementRequest req = new
> CreateViewAndElementRequest(MolicElementTypes.Sketch_3001,ed itor.getDiagramEditPart().getDiagramPreferencesHint());
>
> this.getCreateCommand(req); //this have canExecute() = false
>
> Does anybody have a clue on how can i do that?
>
> thanks
Re: CreateViewAndElementRequest wont create anything [message #502346 is a reply to message #502338] Mon, 07 December 2009 18:50 Go to previous messageGo to next message
Artur Kronenberg is currently offline Artur KronenbergFriend
Messages: 159
Registered: August 2009
Senior Member
Hi,

I had the same problem. I needed to create a view but have a modified eObject before. So I also ran into the problem that either nothing happened or I got an element that wasn't modified since my eObject was ignored completely.

This is how I solved that (and I think it is not the best way, but it works):

I use two different commands to create my view and eObject and then set the object on the parent:

I use a CreateViewRequest and pass it a CreateViewRequest.ViewDescriptor.

In the viewdescriptor I add my eObject as first argument:
CreateViewRequest.ViewDescriptor viewDescriptor = new CreateViewRequest.ViewDescriptor(
								new EObjectAdapter(myEobject), Node.class, ((IHintedType) ElementTypes
										.getElementType(ElementEditPart.VISUAL_ID)).getSemanticHint(), true,
								diagramEditPart.getDiagramPreferencesHint());


This way the passed eObject is created as a view. It will appear on the diagram the way you want it to be. Since you are in the DND policy, you might wanna set the location on the createViewRequest. You get that one by calling the getCommand on the host.

Now you have the view but it is not added to your parent editPart. You need to create a SetCommand with a SetRequest to set the new children on the parenteditpart.

If you wrap both of them into a CompoundCommand you can return it and the editPolicy will execute it right. The CompoundCommand will undo everything when an error occures so you won't have to worry about what happens if you can set a value but not create the view.

Hope that helps you.

Artur
Re: CreateViewAndElementRequest wont create anything [message #502388 is a reply to message #502346] Mon, 07 December 2009 22:48 Go to previous messageGo to next message
Ugo Sangiorgi is currently offline Ugo SangiorgiFriend
Messages: 44
Registered: July 2009
Member
Thank you Artur, i've tried that and although the editor gets to dirty, nothing appears.

i did:
CreateViewRequest.ViewDescriptor viewDescriptor = new CreateViewRequest.ViewDescriptor(
new EObjectAdapter(sketch), Node.class, ((IHintedType)MolicElementTypes.Sketch_3001).getSemanticHint (), true,
editor.getDiagramEditPart().getDiagramPreferencesHint());
viewDescriptor.setPersisted(true);

CreateViewRequest createRequest = new CreateViewRequest(viewDescriptor);
SetRequest reqSet = new SetRequest(
editor.getEditingDomain(),
(EObject)getHost().getParent().getModel(),
MolicPackage.eINSTANCE.getScene_Sketch(),
list);

SetValueCommand cmd= new SetValueCommand(reqSet);

command.add(getHost().getCommand(createRequest));
command.add(new ICommandProxy(cmd));

The idea you suggested is to chain the SetCommand on command? (its a CompoundCommand)
Maybe my SetRequest is wrong. My objects are inside a compartment (getHost()), but my containment is on getHost().getParent(), and 'list' is a list of EObjects, right?

thank you for answering this, im being facing this issue for a long time.

Artur Kronenberg escreveu:
> Hi,
>
> I had the same problem. I needed to create a view but have a modified
> eObject before. So I also ran into the problem that either nothing
> happened or I got an element that wasn't modified since my eObject was
> ignored completely.
>
> This is how I solved that (and I think it is not the best way, but it
> works):
>
> I use two different commands to create my view and eObject and then set
> the object on the parent:
>
> I use a CreateViewRequest and pass it a CreateViewRequest.ViewDescriptor.
> In the viewdescriptor I add my eObject as first argument:
> CreateViewRequest.ViewDescriptor viewDescriptor = new
> CreateViewRequest.ViewDescriptor(
> new EObjectAdapter(myEobject),
> Node.class, ((IHintedType) ElementTypes
>
> .getElementType(ElementEditPart.VISUAL_ID)).getSemanticHint( ), true,
>
> diagramEditPart.getDiagramPreferencesHint());
>
> This way the passed eObject is created as a view. It will appear on the
> diagram the way you want it to be. Since you are in the DND policy, you
> might wanna set the location on the createViewRequest. You get that one
> by calling the getCommand on the host.
>
> Now you have the view but it is not added to your parent editPart. You
> need to create a SetCommand with a SetRequest to set the new children on
> the parenteditpart.
> If you wrap both of them into a CompoundCommand you can return it and
> the editPolicy will execute it right. The CompoundCommand will undo
> everything when an error occures so you won't have to worry about what
> happens if you can set a value but not create the view.
>
> Hope that helps you.
>
> Artur
>
Re: CreateViewAndElementRequest wont create anything [message #502504 is a reply to message #502388] Tue, 08 December 2009 15:14 Go to previous messageGo to next message
Artur Kronenberg is currently offline Artur KronenbergFriend
Messages: 159
Registered: August 2009
Senior Member
Hi,

your SetRequest seems to be right I think.

How big is the diagram you are dropping on? You didn't set the Location on your ViewCommand what could mean that your element is appearing somewhere in the diagram you can't see it?

Best regards,
Artur
Re: CreateViewAndElementRequest wont create anything [message #502532 is a reply to message #502504] Tue, 08 December 2009 17:29 Go to previous messageGo to next message
Ugo Sangiorgi is currently offline Ugo SangiorgiFriend
Messages: 44
Registered: July 2009
Member
This is a multi-part message in MIME format.
--------------070406060309090300090602
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Artur,
I saw another suggestion you made on other thread about doing an AbstractEMFOperation. I did, wrapped inside a Command, and now it works.
See attached. I put together the Nebula Gallery view, displaying pictures inside a folder (at the right), you can drag them and create nodes with that picture.
Its at google code, if somebody is interested --> http://code.google.com/p/molic-designer/

here is how i did the AbstractEMFOperation:
Command c = new Command(){
@Override
public void execute() {
AbstractEMFOperation emfOp = new AbstractEMFOperation(editor.getEditingDomain(), "Location setting") {

@Override
protected IStatus doExecute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
NodeImpl n = (NodeImpl)getHost().getParent().getModel();
Scene s = (Scene) n.basicGetElement();
s.getSketch().add(sketch);

return Status.OK_STATUS;
}
};

try {
OperationHistoryFactory.getOperationHistory().execute(emfOp, null, null);
} catch (ExecutionException e) {}
}
};

Then i add it before the command that creates the view:
command.add(c);
command.add(getHost().getCommand(createRequest));

In fact im getting an ExecutionException claiming that "this is a read-only context", but my node is persisted fine.

thank you so much, Artur!!


Artur Kronenberg escreveu:
> Hi,
>
> your SetRequest seems to be right I think.
>
> How big is the diagram you are dropping on? You didn't set the Location
> on your ViewCommand what could mean that your element is appearing
> somewhere in the diagram you can't see it?
> Best regards,
> Artur


--------------070406060309090300090602
Content-Type: image/jpeg;
name="molic_designer-rich.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="molic_designer-rich.jpg"

/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBD AAIBAQEBAQIB
AQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoK BggLDAsKDAkK
Cgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoK
CgoKCgoKCgoKCgoKCgoKCgr/wAARCAKJA5wDASIAAhEBAxEB/8QAHgABAAID AAMBAQAAAAAA
AAAAAAcIBQYJAwQKAgH/xACIEAAABQIDAgMLDxQKCwsJBAsBAgMEBQAGBwgR EhMJFCEVFhgi
MVFXltPU1RcZNkFSVVZYdpGUlZe0tgojMjU3OFRZYXR3eIGTmKGytdHSGjNC U2JxgoSS5CQ0
OXN1hqOks8HWJSZHZWhyprG3xeJDREVGZKXCxPAnZoWiw8bxKGOHSIOZp+H/ xAAbAQEAAwEB
AQEAAAAAAAAAAAAAAQIDBAUGB//EAEgRAAEDAgMEBwYCCAQFAwUAAAEAAhED IRIxUQQTQWEi
MnGBkaHwBRQzscHRQlIGFSNDYpKi8XKC0uEHFlNUsjSTwkRjg7Pj/9oADAMB AAIRAxEAPwCZ
uGF4UW/8I7/Xy94LTp49Vm2KW4H7NQyTk6yyIn4sVQyeqRCIqN1DKImKqYXB ATVRMioB6f4I
YucJXmYCSVwBtbEe8CxApBKKwNz3G4K1FTa3YKGK/wBCibYPoA8o7I9asBwy ksr44PfbExuQ
irBQNR8s0a0D/wCAKvJ8S64b25iJh5jC8nZO4UDNpqHImEJd0jGlEBRdCO0V oukBx6wmARDy
q52NBWriQq7nw24bMhROOXHGXQA1HSXuUR9YH/LUCOM/+Z5oudq6xAuNJVI4 kUTUvqfKYhgH
QQEBkNQEB8qvpY6HLD70Q357qc/37Xye4krlaYiz7RNQwlSmnRCiooJzaAsY OUxhERH6ojqN
Wc0NUBxKmfxwfMv2R7h7fJ/whXqDnmx4GbTuUbrleaSTZRulIc+c5vyIqGIZ RMFOP7QFMZJM
RLroIpkEfkQ0v1wK2IGFtp8FliZC43tCK2jeeLjW0bgWOcC8VQlGrVlxjaHk LuzrEOI+UBRH
qgFSJjVhrYWAnBK428HPZE6ydSGGKVoJXpc6ACVN1Ny8wi4XEddOkTRBsUBH QdnpR+Rq76Dw
5wZeMAHNzgwkcg0VGdLIlwGsUo1RVwzaSZ5AOc0HmSWutwAJnKeZnjg+Zfsj 3D2+T/hCnjg+
Zfsj3D2+T/hCr4XnwbnB+O8cMUODttjL7csPdmHGD/PU2xxeXo6U5oOyoIq6 KsTBxUjcTLAU
TEAB+NqFDZENoIO4XhdY2RjJMoltCU2EjoRANdP2uO0rne8NAIvLgAeBBFW+ udIiCBr26MxO
cAbdEnmI3ZjS4qAyCdOyAPHB8y/ZHuHt8n/CFPHB8y/ZHuHt8n/CFXPwpsaw 8WOCfyeYa4pO
AJbdwZnxYTYGWFMFG6i8gU6YmAQ2QNrs6+VrrWpcKln4zw4V5kcTciFiWbD2 zhPHxq8XC4fM
cPWRmx4kWnyxIpuBWKbZEyoKJnKRMShydKNaVgaT3MzIJA0MMpvM6fEAFjkT ZVoONZuPIcde
u9ggceoScokC5VXfHB8y/ZHuHt8n/CFPHB8y/ZHuHt8n/CFbdwHTsVOFPwjI Jtf91nn5vc1e
q38a8XM/6GcfBrOva8ZcOHuGDC43Nj3s9tlu1Wtx4zcuCtUEXSKZNsd2ntDq InEEhAxjFOID
FYbqkHi5wvfpanhm+pxWFgTackpONXaN3ldje95cBbQYbmeOS5z+OD5l+yPc Pb5P+EK/DjP7
mOdp7p1f86qXXXZUvmeMGv3ZCr4wPBycFnhBhLhbZOZm6LVZSuI+HDedf33L YlyjOcbO3aW0
iEbFoNTsXKBFBAmqygHHUR2R0AD6Jkyyg8H/AI1Ze7fs3DewbDxYxkdOJglx 2/deM0nasspu
VlQbDDtkkTN3ZBQJvhMpyBoO0b5ICXrU30Xvablk5XkgkEDsIvMC4uopvFRj X5B0Z2gESCeR
GknUBVmeZq87VsWDG4nP0L6jrWmnKiERcK1xXIjHv1kxEFCIri9BNU5RKIGA phENkdepWF8c
HzL9ke4e3yf8IVZuEyj2njBkfye4e3XPXFFOr6xvlbenyrXY/XaskuOrpnBs yWWM0braAJd4
mkUxjDqYTajrumMGUfg75vCHN+TC/JnOWlP5e0UIuDn5K+5J4jIOAVVIZ6CJ zFKmofdibdmM
qmJDJmKUgiOtK37JtV9iGSbZkNbTcTp+8aB26Ala02uqOYzIuIF9S97ANfwE m3DWAqYeOD5l
+yPcPb5P+EK/inCB5k1SCkriHPmKYNDFNfc8ICHthV8cHckPBpP7mysYEXxl Sk5S4cecJ1JS
bulviBItiRzpNjv+NJtwOYqipzgYNnUiJAAB3ZupWNwd4OTg5MDMtlkYlZtp K05RS+7smWMh
PXniVKQRopmyeqtdI1Bg2VTduQKQFDEcnIXa6UB0ERLo+k5jiDFiWzwLmuLS B3jMwI4rJj94
0ETcNdHEBzS4HwHCTPDiqL9HXj76L5ft0nO/69ovCCZlSFAhMRbgAoBoABfc 9oAe2FWitTLL
wb2BWTbGvMpiHg+/xjb2BjnzuWY7a3k9hxlo85GwopLnR6UhQBU5znKjvBMX QolAeTnVdFwR
Exc8lL27b5YeOdSCy0fEldnXBkgZQwpob04AZTYKIF2x5Taaj1awDwXAAcAT bLE1rgDzhwym
IM8J1wkNJJ4kduFzmkjlLe+RHGJz8cHzL9ke4e3yf8IU8cHzL9ke4e3yf8IV X3j4+aCnHx80
FWVZKsF44PmX7I9w9vk/4Qp44PmX7I9w9vk/4QqvvHx80FOPj5oKJJVgvHB8 y/ZHuHt8n/CF
eBfPnmEdKCs5vaZUOPVOe9p0RH7ov6gTj4+aCnHx80FEkqeOjrx99F8v26Tn f9Ojrx99F8v2
6Tnf9QPx8fNBTj4+aCiSVPHR14++i+X7dJzv+nR14++i+X7dJzv+oH4+Pmgp x8fNBRJKnjo6
8ffRfL9uk53/AE6OvH30Xy/bpOd/1A/Hx80FOPj5oKJJU8dHXj76L5ft0nO/ 6/aGfPMI1UBZ
te0ymcOodO9p0B9cH9QJx8fNBTj4+aCiSVYLxwfMv2R7h7fJ/wAIVjnOdbGl 5PDdLudfqyYt
iNxkVLumzLiiQxzET3gvtrZKZRQQLroAnMIfJDUHcfHzQU4+PmgoklWCLwgu ZUoAUuItwAAd
QAvue8IU8cHzL9ke4e3yf8IVX3j4+aCnHx80FEkqwXjg+Zfsj3D2+T/hCnjg +Zfsj3D2+T/h
Cq+8fHzQU4+PmgoklWC8cHzL9ke4e3yf8IU8cHzL9ke4e3yf8IVX3j4+aCnH x80FEkqwXjg+
Zfsj3D2+T/hCnjg+Zfsj3D2+T/hCq+8fHzQU4+PmgoklWC8cHzL9ke4e3yf8 IU8cHzL9ke4e
3yf8IVX3j4+aCnHx80FEkqwXjg+Zfsj3D2+T/hCnjg+Zfsj3D2+T/hCq+8fH zQU4+PmgoklW
C8cHzL9ke4e3yf8ACFPHB8y/ZHuHt8n/AAhVfePj5oKcfHzQUSSp/cZ/cxzt IUHd/wA6qQeq
RS+Z4wD9wZCsI6zY4jPrP8Tx8Uy0Bvmq3MNW5JgzPeNhRFsfci92NpIW7cUx 01IKCezpsF0h
vj4+aCnHx80FEkqUS4/S5DioS0o4DG+SMErKaj/nlfrohJz0LsPbeU78qLOP j5oKcfHzQVN1
CmWzs2uJWHck+mcPxPBPJNBBGSdw1yzDVV2miKpkSKmTfFFQpBWWEoGEQKKp xDTaHXYPHDsz
3ZNuPt+n/CFV64+Pmgpx8fNBS6SVYXxw7M92Tbj7fp/whTxw7M92Tbj7fp/w hVeuPj5oKcfH
zQUupkqwvjh2Z7sm3H2/T/hCnjh2Z7sm3H2/T/hCq9cfHzQU4+PmgpdJKsL4 4dme7Jtx9v0/
4Qp44dme7Jtx9v0/4QqvXHx80FOPj5oKXSSrC+OHZnuybcfb9P8AhCnjh2Z7 sm3H2/T/AIQq
vXHx80FOPj5oKXSSrC+OHZnuybcfb9P+EKeOHZnuybcfb9P+EKr1x8fNBTj4 +aCl0kqwvjh2
Z7sm3H2/T/hCnjh2Z7sm3H2/T/hCq9cfHzQU4+PmgpdJKsL44dme7Jtx9v0/ 4Qp44dme7Jtx
9v0/4QqvXHx80FOPj5oKXSSrC+OHZnuybcfb9P8AhCnjh2Z7sm3H2/T/AIQq vXHx80FOPj5o
KXSSrC+OHZnuybcfb9P+EKeOHZnuybcfb9P+EKr1x8fNBTj4+aCl0kqwvjh2 Z7sm3H2/T/hC
njh2Z7sm3H2/T/hCq9cfHzQU4+PmgpdJKsL44dme7Jtx9v0/4Qp44dme7Jtx 9v0/4QqvXHx8
0FOPj5oKXSSrC+OHZnuybcfb9P8AhCnjh2Z7sm3H2/T/AIQqvXHx80FOPj5o KXSSrC+OHZnu
ybcfb9P+EKeOHZnuybcfb9P+EKr1x8fNBTj4+aCl0kqwvjh2Z7sm3H2/T/hC v4ThC8zaZCpJ
4lXEUpCgUhS37PgBQANAAP8AdDkDSq98fHzQU4+PmgpdJKsL44dme7Jtx9v0 /wCEK8CmfvMY
q/JKq37OGdJoHRTcmvmeFQqZzEMYgG5oagUTJkEQ6giQoj1AqAePj5oKcfHz QUSSpzZ53ccI
4qhY+45JAFVjrKgjeE2XbUOYTHOOj/lMYwiYR6oiIiPVrzdHdmA9GMx26zvf 9QNx8fNBTj4+
aCogaJJU89HdmA9GMx26zvf9OjuzAejGY7dZ3v8AqBuPj5oKcfHzQUgJJU89 HdmA9GMx26zv
f9OjuzAejGY7dZ3v+oG4+Pmgpx8fNBSAklTz0d2YD0YzHbrO9/1+Vs82PDnd 8YuuVU3S6ayW
3ec4OwomcDpnDV/yGKcpTAPVASgIcoVBHHx80FOPj5oKQEkqcLbzqYz2dHpR NoTj6Kat0ypo
No27ptBNMhQ0ApSkfAAAAAAAAdSsl44PmX7I9w9vk/4QqvvHx80FOPj5oKJJ VgvHB8y/ZHuH
t8n/AAhTxwfMv2R7h7fJ/wAIVX3j4+aCnHx80FEkqwXjg+Zfsj3D2+T/AIQp 44PmX7I9w9vk
/wCEKr7x8fNBTj4+aCiSVYLxwfMv2R7h7fJ/whTxwfMv2R7h7fJ/whVfePj5 oKcfHzQUSSrB
eOD5l+yPcPb5P+EKeOD5l+yPcPb5P+EKr7x8fNBTj4+aCiSVYLxwfMv2R7h7 fJ/whX8NwhOZ
coa+KNcPb5P+EKr9x8fNBX5VfjsfJBRJKntThF8y6f8Awg3CP+P0/wB/166n CTZlyf8Ar5cI
/wD8wJ/v+o6wmhsMMQoyXsG6ptCBuNwmDi059/IFQYnWIUwmYujKGBNEioab C4iAEUKUDiBD
iYmGx4JhNakuxsbCyUGYUh2gpXBc5VxFCVfCbVQWpOoVsnyJpnENpXZMoOgH KQtoUSVLB+Ey
zLE/9eLhH/8AmDP9/wBeM3CcZlg/9drh90Kf7/qsi8obUenrbsEI3DCWuRzc ONFzC0tyDaC8
eRrNYCvZk4GAE2Lbq7JlDCAGVEBKkQDnHUQKUyEkqbPHOcy/o1uH3Qp/v6vY juErzLSC5kAv
q4SbKCqmvigT4/IJmPp/b/l7On3ahbGQMHZ224jFTCFVtCHkDGa3BYgu1VTx DtMoDvW51jHU
WaLF6YonMY6ZwOmcRDYOfSrdlTJv1BE4f2i5Dq9dA4VOFJKs0ThM8yx//Xi4 fdBn+/686fCU
ZllOpflw9v8AP9/1VlCROA8p6vPixbOAcVgRcNywLHDUuMJrIjxu+3GbgRaR bY5jlWcsSiQG
3HhTK2E5UziBRW1S1MPT1sM0krVbS4TfNDbk6hOssRbhTUQE2ycLvkXWmpRL +1P1nLc3V/8A
KIn06pdkwFMXrjkvz+jmAwNaXlKmbJyjV2oyl02pFCpb4pSHIoQFOUpVEVEV gJtHFPe7sxjG
IYa+fRpID1doK6W8ExNOXmXSaV2x5LyVJ1fMsGJQ/EFVcFYEqufDNvCG4R3E FJI2ophGFOHL
yDzNbD/1CFe7wbPC843cGbDXZA4WYb2vcDa7nLRw854SuNpA7cqpS7Aoqk5B BUdQEB+RDTTl
17YZOVtm98cy69TF5L4LwFbHj1nDwPy2XBAWlihIXIeWuhF2tBxVq2BM3A6c pNdzxhTdRTRw
dMhN+jqY4FDpw0EeWqiphICtgLrrmQPxV3nA0HZy34agOnII80O+K5fz1wvb inXtwPyEKu/d
qOFgSAQKBzmEw6AIjoGo19OMPnUwDl4BC5V5W5Ylq5fxbJItzYfTUQsLiRfH YM0xRes0lCmU
cJiXlKGwUxFD7KahDmlPjA9cPXqxe6LjIx32JHbBBjmNVUNE2Pr1K+W2EzS4 7W3l6m8qkHfQ
t7BuObRl5qACNam4y8S3e7V35khXJpuidKRQpR2eUB1HX82Vmix0w6wWvLLz Zl8mZWfiAuzW
u+JCObKjIHaqAqgIrKJGVS2TgA/Gzk16g6hyV9SnGB64evWo45Y9YZ5cMNH2 L2L825j4GOWb
IuXDGHdSCwquHCbdFNNu0SVXVOdZVMgFIQw6mDk0qpq9afxQDziAAdcmgdgj IKW0iC2OFxyN
ySNLknvK+eG7eFg4RC+sDFMt11Zpp53Z68aWOcsBbNCuXDQAEu4VelRB0qmJ REolOqIGKIgO
oDpWyYX8Nxwn+C+G8JhHhjmeNF27bsYlHw0aFlwi3F2yZQKQm8WZHUPoAAGp jCI+WNd58Es0
WGeYJzINMP4e+Wp4xNM7obwwun7dKYDiYC7o0sxbAuPSjqCYmEvJtabQa+2z zHYSyN6PsPo6
4nTiWi7jGBkkEIV4cjV+EcSS3SioI7sheKKJnBQTAmJjgmBhUHYqz6rpcXcR JniBaTqBiiTr
zVW02QAI6Nhym5A0sAe7kvmturOBmMvbAmEyz3PiSo5sm3bhWnIeGLGNExby Coqiovv00Srm
ERXVHZFQShtchQ0DSSbm4YLhKLywUeZebpzYTr+05CLPHP2btgxUcuWpyCQ6 Sj0yAujgYoiU
dVREQEQGvoiwxxRsvGPDuDxYw3muaNv3JFoSMK/4uojxhssQDpqbCpSnJqUw DsmKBg15QAaz
vGB64evUOcQHMcM8xrAi45AAX4CFYNOIPBuJg9pk35kydTdfK5gZj1irlsxU iMbMFLo5iXPA
qnViZTiSDncHOmZMw7twQ6ZtSHMHTFEOXXq6VK+ZHhXuELzcWIphhmAzNy81 by5ymdw7SNYx
qDrZMBigsVigjvigYAMBVNoNQAdNQCu6iXCZ5OzXyvYLq/59ms3utW2VpqSw 5nmsIWWTcC1O
05rLMSsBPvyikGi+hj6FKIiIAMx27fUDdUhMRkMq5MtBSXEJIHEeugUq+5SW 0TMqQpVibCxP
jiYmJrtF2topgAXuqUwCJbmNOFx4tvzGoUBgp1TFnZHXjY8eDrcjzXzmYUcL Rwh2CGF7DBvD
HMvJR9vRKB0Yhq4h494tHpmDQSN3Lluou3LpyAVM5QKHU0r8YU8K/wAIJgdh a1wZwpzFu4eA
Yt3CDBJKAjVXTQi5zqKgi7VbGcJbRznNqRQBATCIaV9JfGB64evTjA9cPXo6 s584rznz7dcy
jaQYAG2jLkvmCZZxcdpKxrBwWvLEyVUsnD66DTUCwi0Gzd4xcqriquuk7KkC 5lhExzFFRQwF
MICABpV2c3nDf4f4nZS75y9YY3ZjTfMviC0aRruZxdbwTJCDj0VNsxWyMQUo OV1A1IdZUCnM
AEER6QCj2k4wPXD16cYHrh69RUqb2iabhY3POwF+4AaxbKytTY6nVFRpuMuV y7/yJPbfNfM1
E8IznKg72w4xEi8YxSmMJIE0Nh4753443MhkZIUhS2BbiVfpBENpYFDeXrry 1l8GeFWz/wCX
+CkbYwpzFvWEdKzK8s5Yu4OOfIpvVjmUVXQI7bKFbGMcxjDuQIGoiOlfSdxg euHr1ruKOL1g
4MWqW9sSp/mbGHlWEaVzxVVbV09dpM2yeykQxunXXSJtabJdrUwlKAiFt64u 5me8uIJ/mdBO
pg5qu6AHIR4NBA/lBIGgkCy+aG5s6+aC88K7pwWuvFdzIW5et4jdV1MnUc0M pIy4iURdGXFL
fFHUodIQ5ScnyNRhxg/W/HX1WOcYLAZ4sM8D3E/s3S/t9xNtIviqo7xgguig qtvAJuw2VF0i
7ImAw7eoAIAIh5MRcV7HwmhmdwYgTnM9o/m2EQ0W4sqrtvHrlNq2S0TKYQ21 lUybQgBS7Wph
KACIUa4Q0tHWgDmQcAA1gjABqMPCFZzXXBOUk8p6RPfOI6zPFfKfxg/W/HTj B+t+OvrP4wPX
D16cYHrh69TvOSjAV8mHGD9b8dOMH6346+s/jA9cPXpxgeuHr03nJMBXyYcY P1vx04wfrfjr
6jMdc1uCmXBWIY4p3DJFkJ86xYSEt215GbknwIlKZY6TKNbruDppgYgnUBPY Jtl2hDaDXP4S
4yYc464fx+KWE91oTMFJlPxR8gQ5OmIcyaiZyKFKdJQihDkOmcpTkOQxTAAg IUDy4EgWCFkE
A8V8qnGD9b8dOMH6346+s/jA9cPXpxgeuHr03nJMBXyYcYP1vx04wfrfjr6s H2KtjxuJkbg8
9nNi45aFdy0fHcWUHes2qrdJdXeAXdl2TukA2TGAw7eoAIFMIZ/jA9cPXpjl oMWP0JB8CCO0
EJgMx61+S+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD16bzkmAr5MOMH6346cYP 1vx19Z/GB64e
vTjA9cPXpvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1w9em85JgK+TDjB+t +OnGD9b8dfWf
xgeuHr04wPXD16bzkmAr5MOMH6346cYP1vx19Z/GB64evTjA9cPXpvOSYCvk w4wfrfjpxg/W
/HX1n8YHrh69OMD1w9em85JgK+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD16bz kmAr5MOMH634
6cYP1vx19Z/GB64evTjA9cPXpvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1 w9em85JgK+TD
jB+t+OnGD9b8dfWfxgeuHr04wPXD16bzkmAr5MOMH6346cYP1vx19Z/GB64e vTjA9cPXpvOS
YCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1w9em85JgK+TDjB+t+OnGD9b8dfWf xgeuHr04wPXD
16bzkmAr5MOMH6346cYP1vx19Z/GB64evTjA9cPXpvOSYCvkw4wfrfjpxg/W /HX1n8YHrh69
OMD1w9em85JgK+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD16bzkmAr5MOMH634 6cYP1vx19Z/G
B64evTjA9cPXpvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1w9em85JgK+TD jB+t+OnGD9b8
dfWfxgeuHr04wPXD16bzkmAr5MOMH6346cYP1vx19Z/GB64evTjA9cPXpvOS YCvkw4wfrfjp
xg/W/HX1n8YHrh69OMD1w9em85JgK+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD 16bzkmAr5MOM
H6346cYP1vx19Z/GB64evTjA9cPXpvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69 OMD1w9em85Jg
K+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD16bzkmAr5MOMH6346cYP1vx19Z/G B64evTjA9cPX
pvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1w9em85JgK+TDjB+t+OnGD9b8 dfWfxgeuHr04
wPXD16bzkmAr5MOMH6346cYP1vx19Z/GB64evTjA9cPXpvOSYCvkw4wfrfjp xg/W/HX1n8YH
rh69OMD1w9em85JgK+TDjB+t+OnGD9b8dfWfxgeuHr04wPXD16bzkmAr5MOM H6346cYP1vx1
9Z/GB64evTjA9cPXpvOSYCvkw4wfrfjpxg/W/HX1n8YHrh69OMD1w9em85Jg K+TDjB+t+OnG
D9b8dfWfxgeuHr04wPXD16bzkmAr5MOMH6346cYP1vx19Z/GB64evTjA9cPX pvOSYCvkw4wf
rfjpxg/W/HX1n8YHrh69OMD1w9em85JgK+TDjB+t+OnGD9b8dfWfxgeuHr04 wPXD16bzkmAr
5MOMH6346/h1lDhoAgH8YjX1ocYHrh69OMD1w9em85JgK+SVZk6W+Rctw/5x j/6i16qtuP1v
kZRgX/nHV/1J19cnGB64evTjA9cPXqd5yTAV8ih7Mk1B+XcWH8ai/ca/A2LJ iHy/ifvjjuFf
XdxgeuHr04wPXD16b3km7K+RDnDlPP8AifvrjuFeVrZkq1UFQs9EiIkMX9tc fuiiH7x9Wvrq
4wPXD16cYHrh69N6dE3ZXyLEs2QTHlm4wf4lF+415krcepfJSbEf+aor/rTr 64+MD1w9enGB
64evTe8kwFfJKixcoj0zpuP/ADTH/wBZQrpRwQJxUy1Tgj6OXPvNlXbLjA9c PXqgeKZ9vNpj
SP8A99474MQlMWJThIW68DrBQFo4S4m27bNtRcMxbYrm3EbDYcPbSbo7UBCm HZiXxzOGoiYw
mNvTCZUxjK8gKAFZjN/gtjHi5nbwXlML8TrzsRrE2fd5JS9bSgY95xUyp4nd NVTSLN02T3u7
UEoCQDm3JtkeQ1bNlQlCs8R8dkRZvVP/ALXkR2m8esqUP961v8mpCiAD9Tq1 n8X8rGULMJcq
F54+ZRbMviYasSsm0teGFyMm5SbFOdQqBVXLU5ypgdRQwEAdkDKGHTUw65F7 RVDtJ8wR9Vdr
Tu49ZquGNmB2NjXG+cTXb3hewkksHANdzy3kwUlOI3Q+Xerm4k3Sb6opHIor ukyFSIYpjAUB
1HQspOAWO8LnhhbqvyAkI+84/EG53193SzwQk2ikzDrcdBog8udeVFlJMzFU ZGQbINzqIGRT
LukATUNV98NrOwywastlhthBhS3tS3Y3eczoC27QOxZNd4oZVTdoIIlTJtKH Oc2yAamOYw8o
iNZzm8TzrlPaZz3OlKtu3SNXH+YMEaR0BaLzCPph7C08Q0fy4h2z0jBmQYKy +/DzVVx4WC37
wu7JDPxNhsLlcSSdy206INn2+eVk26aE8wWVcN2iaK5lzpJpnV2N0oAgmOpD BqFTvzeJ51yn
tM57nWqYv4T4G5hLaQszHzAeIviHavivW0TeFi802yTkpDplXKk5QOQqgEUU KBwDaAqhg10M
OtMQkGciD4EFXjX15FU5xMkLuxfwVd21J4iZj8ZLbZXrb8hiDa+IOAa9uLu7 dTcn423ZpIwU
YMmBjCios1LvzqJIGIUnTiU+v5c8vUe5xYTSw/ym3TbOGUjmOmH8db1y2O6Z NiQi+H4st6Zm
5TDirJRwJ0SJKFIUgnBESEMG7C5WEGVjKFl7uVe88A8otmWPMOmJmTmWs/C5 GMcqtjHIoZAy
rZqQ5kxOmmYSCOyJkyjpqUNJH5vE865T2mc9zqS5m7qMH4wQcuO7+W7EaFzj eREYXEtJOWXg
7z6Zk8QGi0GYb4Lu0UMN+D3wlsAuHTu0nMNZzdnK2+/t1WKWbSCYmK8E7dVN MwCdyCym82dF
tvelMcqgHNPe/DzVYjm8TzrlPaZz3OnN4nnXKe0znudWqVt7ULzmTPijWBoA GQXPmXnrxncp
uOGRaHy54ovL7xBxQvRpBKucL5dtCoISUy5O3lDy67YjEG6aahXAHKsYwgQA IUxhAK9nMLhd
ey0jels3zl5XuS2JvMWV88kLhwymbrjSNk7SYIou1YSNOmpLIHcpnRAxjGQR WLvD9MkGljPG
4uDT+lw4Q+4bH95VMdsNrXsi2o6zLMspaIh4hiiyiYmLttZu2ZNkiAmkgikm kBE0yEKUpSFA
ClKUAAAAKqHMAHE4Qw9jTTIjQ/s/E6ABCHF7jq57u9+Ke0dLwHMlcyLDsAGe FNg23nEy0YgX
Vb1uWDd8VbVsFw+fnWgJ4k4qZo7BmXeCxILAW6bWR2xbtSkMUHRNoDDlsB8A Zqay/r47Hy7z
d4TUTkxshjYae9eIb54qwlknqbNdASmF0CCyZTGQHfgRUCkMXehtXox4y1YD ZlHLF/i1Y1zO
HUczcskHsJITcQudm42OMNFVY9RA67ZTdpiduoJkjiQoiUdArfYI0HbEIztu 3bYeso+Paptm
LJrBOCJoIplApEyFBPQpSlAAAA6gBVt6HUKjXZuPdnVJJyud7H+EBsmJLCW1 WubkPpu4Azt+
zv8AxEnjA5kYdZeJ+Rh8QMH4PL/LtbKuO9sLZNjF2xgTNWXDOUEZwCSyqbB0 dVVI5UiJi5Oq
cipyE3pibvQ4ybg/knt/BvHW3L/w0y2uYB1D5ppdvGyMfbyyIRlorQjwdwgI FAG8SZ0cDAmT
ZbCscBANsQGr6c3iedcp7TOe505vE865T2mc9zq7NowVC8cf/wCX/wAaWHse 7WFm6iHUTT4f
dtQfOpi7Wt0WX34eaqvnCe2JfmKWUteycNCTYTDm/bQUburdjSO3jEiVxxyq rsiR0lSG3KZD
rCKiZ0ylTETgJQNU2c3iedcp7TOe51qmL+E+BuYS2kLMx8wHiL4h2r4r1tE3 hYvNNsk5KQ6Z
VypOUDkKoBFFCgcA2gKoYNdDDriHNxtOhB8CD9FoWmCNQfNU1zOZWc7EPi5e Diwsf8R8SZmT
y0XJGW/ck7b8SyCOfHko04MkFolmwTBwskRUSFUOCmpNSHIACYNPwWy+39HW 5LyGGWGctG2u
5xLwzVTtaCwBlrIjyOmc8ms/kE46QkHbk6hUBT4y73aSJwQIfbVEhzhdDDbJ jkdwavVliThB
kjw+tS4o3eczp+28I2rF613iZklN2ug0KoTaTOchtkQ1KcxR5BEKlXm8Tzrl PaZz3Or0q253
cfgIOkxVdVg8pdGuTplVq096HA/i/wBDWW4/hHKCRELmtkXsO2pjFDDm6cGc u94ROIMfjXeb
rEbEtxbLpCPf2zx6ZSBqeUOXcPUjKmZlSZEOc6KiInFNPZE5uoG/DzVaThnZ 1h4PWinYmHNo
SkdFJPXbtNrzPfLaLOnKrpc20qUxumWWUPproG1oAAAAAZ/m8TzrlPaZz3Oq h4bSbTHD7AW0
FpgWkkjOFJZNVz9fuTfU3idA0cJOX34eapvw81WI5vE865T2mc9zpzeJ51yn tM57nUYwrYVX
TPi3YRuLdiYhydlYuxvMyHlWrHFXBWOXmJSCWWO1MLBzEosnnGmrgEgPvDt1 iJqNSAJS7YGq
pmLuHGZzFSGsi68xWDIylklbXcmwYTOXCQuJy7fLSKR2Es/gYZ6zNHSbhsCp iuzFAqJzKCYG
p1uTp9zeJ51yntM57nTm8TzrlPaZz3OqtLQ0A3if6pkxqJ6JECQC5rnXUukm 1su23CdDx45g
FoMLljm5wTx9kLBi4G6MDriuW/LQwPtwlrXrIYQS9xzj2SQFVZyLJ40eqMbd fImITen213Do
TFAhltlMoylizlkVuWbxlzASeAN0zaE1jjb57iaEgHhpGbsYsbCHetWjQxQU XQMultOG6RBO
vxVRExTmKCdWnxJyY5HcZb1e4k4v5I8PrruKS3fNGfuTCNq+eut2mVJPeLrt DKH2UyEIXaEd
CkKUOQACpHthta9kW1HWZZllLREPEMUWUTExdtrN2zJskQE0kEUk0gImmQhS lKQoAUpSgAAA
BW52iau8tMk8pdUY8yOIOANIkSC7W2QpQ3DwgDnAYWCDwIklpvBg8FRO1snW BGOWL1usiZJL
ijcJGNkX4a3LWvi2XKTBBdd7Ci3MSOcJl5mlUMR0q2ZqkIonuzKkTIIBsXBy Rt7yism+FMXi
M0lG0+2w7hkppvNpqEeJOiskgVKuVXpwVA4CBgP02oDry1vPN4nnXKe0znud ObxPOuU9pnPc
6q2tgo7oZW8jUM9p3kHLIQALKTTmpjOd/PDbs6PnckrL78PNU34earEc3ied cp7TOe505vE8
65T2mc9zqmMK+FZffh5qm/DzVYjm8TzrlPaZz3OnN4nnXKe0znudMYTCsvvw 81Tfh5qsRzeJ
51yntM57nTm8TzrlPaZz3OmMJhWX34eapvw81WI5vE865T2mc9zpzeJ51ynt M57nTGEwrL78
PNU34earEc3iedcp7TOe505vE865T2mc9zpjCYVl9+Hmqb8PNViObxPOuU9p nPc6c3iedcp7
TOe50xhMKy+/DzVN+HmqxHN4nnXKe0znudObxPOuU9pnPc6YwmFZffh5qm/D zVYjm8TzrlPa
Zz3OnN4nnXKe0znudMYTCsvvw81Tfh5qsRzeJ51yntM57nTm8TzrlPaZz3Om MJhWX34eapvw
81WI5vE865T2mc9zpzeJ51yntM57nTGEwrL78PNU34earEc3iedcp7TOe505 vE865T2mc9zp
jCYVl9+Hmqb8PNViObxPOuU9pnPc6c3iedcp7TOe50xhMKy+/DzVN+HmqxHN 4nnXKe0znudO
bxPOuU9pnPc6YwmFZffh5qm/DzVYjm8TzrlPaZz3OnN4nnXKe0znudMYTCsv vw81Tfh5qsRz
eJ51yntM57nTm8TzrlPaZz3OmMJhWX34eapvw81WI5vE865T2mc9zpzeJ51y ntM57nTGEwrL
78PNU34earEc3iedcp7TOe505vE865T2mc9zpjCYVl9+Hmqb8PNViObxPOuU 9pnPc6c3iedc
p7TOe50xhMKy+/DzVN+HmqxHN4nnXKe0znudObxPOuU9pnPc6YwmFZffh5qm /DzVYjm8Tzrl
PaZz3OnN4nnXKe0znudMYTCsvvw81Tfh5qsRzeJ51yntM57nTm8TzrlPaZz3 OmMJhWX34eap
vw81WI5vE865T2mc9zpzeJ51yntM57nTGEwrL78PNU34earEc3iedcp7TOe5 05vE865T2mc9
zpjCYVl9+Hmqb8PNViObxPOuU9pnPc6c3iedcp7TOe50xhMKy+/DzVN+Hmqx HN4nnXKe0znu
dObxPOuU9pnPc6YwmFZffh5qm/DzVYjm8TzrlPaZz3OnN4nnXKe0znudMYTC svvw81Tfh5qs
RzeJ51yntM57nTm8TzrlPaZz3OmMJhWX34eapvw81WI5vE865T2mc9zpzeJ5 1yntM57nTGEw
rL78PNU34earEc3iedcp7TOe505vE865T2mc9zpjCYVl9+Hmqb8PNViObxPO uU9pnPc6c3ie
dcp7TOe50xhMKy+/DzVN+HmqxHN4nnXKe0znudObxPOuU9pnPc6YwmFZffh5 qm/DzVYjm8Tz
rlPaZz3OnN4nnXKe0znudMYTCsvvw81Tfh5qsRzeJ51yntM57nTm8TzrlPaZ z3OmMJhWX34e
apvw81WI5vE865T2mc9zpzeJ51yntM57nTGEwrL78PNU34earEc3iedcp7TO e505vE865T2m
c9zpjCYVl9+Hmqb8PNViObxPOuU9pnPc6c3iedcp7TOe50xhMKy+/DzVN+Hm qxHN4nnXKe0z
nudObxPOuU9pnPc6YwmFZffh5qm/DzVYjm8TzrlPaZz3OnN4nnXKe0znudMY TCsvvw81Tfh5
qsRzeJ51yntM57nTm8TzrlPaZz3OmMJhWX34eapvw81WI5vE865T2mc9zpze J51yntM57nTG
EwrL78PNU34earEc3iedcp7TOe505vE865T2mc9zpjCYVl9+Hmqb8PNViObx POuU9pnPc6c3
iedcp7TOe50xhMKy+/DzVUKxIPt5scax1/8AXmO+DEJV3ubxPOuU9pnPc6o1 ezkHeanGtYEl
Sa33HdKsiZMwf72IPqlMACH3Qq7HAlVcICspkdbJM7yx5aonUMUmMqQAKyxl DeRW3h5TGERH
q+WNTgtKKFv17aqaRQQawUc8BQR1OZRwZxth1tkASJoGmvyWojqABCOSUdb8 x+DrYzo/BO3a
mRb5scv6k4T8p7Q2j1wVBxWXpXqTzlVnBvXaBxKdJoochg8oQKIgNeCNJEEd vUl1nA7twUiY
HkVh0LuyG8s/XMb/AOgqQJVSYWSpWERWRRmgKycLiU0mKOh3aigCTiwqCGhj CHyfLqHU6nUr
N0IhAZSlanfuIVuw8wwshwrJmevpGPKqEfHOzkQQWdbOqzhEgkalOCSxCmUO TbMXZKImEAHR
1swloKXeu4suQk0WscxRXk4XmmxnFHSfGk0DCiizfOXu9/skogUiJimFMpPk zlKbUbJt7246
dIubbQGDxAMSOy+gKzNfZ2uwueAfVrZd6mSvSu2UUt6w7iupskVReIgnDxsm cekMoQvSgbTl
Euo8oAICPXDq1/LcuOIuyIJOQa6ijc6iifx5soioRRNQyahDpqFKchinIYol MACAlEBCvWxN
+Y5e3qTefkhWT2uYSHCCJWrSHQRkVl6UrX8QsT7RwyjyPrndOBUWKoLVkxZq OXC+wACbZTTK
I7ICJQE46EKJyAYwbQa0e9tNpc42Cs1rnuDRmtgpVf7pm76v9iS9bevEVHsz CqEtGJgp54iK
EgKg7KSyZBIlso7vRc6xFTCZRQuy3BuIL7Hifnryt4I3bcljYy4ptbVlLZiU ZNVpPInbnlGi
odIpHAYNZEd5qiJG4KHBbRMSgY5AN5Psn2zQ9rmpumkYImecxOhiCRMiQHAG y7Nt2GpsQaXG
cU+UTGomRORgxIupdpXo2zOpXRbcfcyEa+ZkkWKTojOTaGbuUAUIBwTVSP0y ahddDEHlKICA
9Sver2FwpSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoi UpSiJSlKIlKU
oiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUp SiJSlKIlKUoi
UpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSiJSlKIlKUoiUpSi JSlKIlKUoiUp
SiJSlKIlKUoiUpSiJSlKIlc7sW4xs+zh44qrKuCiW+4wuiLxRMPIrBD1CmAP L6tdEa564mjr
nBx1DrX9GfBSBqzUVjckQ639mBDrY0o/BK3KmZb5scv6k4T8p7UMZIQ0v/MF 9mpH4JW5Uxtm
89z7TN5TjFqg2Ui2TNmkycqOFDkbC4HeGLui7JjAqXpC7eggIajya1dw9cFI 4r3LqKoe2JIi
RDGMLBYClKGoiOwOgAFaZLXFbr54sq4kGpiItinKdJZDaUNqfUvTpqbWgFLo AaD03l6hptB7
/ttMwkOZ8UQ6oDEOQEP8nTxQbY/fH3tQ57nQVGjioLHHgsDas6yfPolgk5bb 0j5baSbnJ1Cp
LABhAugcoaDqAAA68mmulbxWF8UG2P3x97UOe508UG2P3x97UOe51Be08VIY 4cFAubfG5hgV
iku5vW05ZzBXLbcYk2fsXBEEwdMnjxYSb4yyQkULvkTlAo6iGo9QBqLk8/OD ZHKDlSHuhYW7
lJdJN1eBVibxM4HIYSHkBKbQxSjoICGoVcvxQbY/fH3tQ57nTxQbY/fH3tQ5 7nX0uyfpBsWz
7M2nUoYiBBIfE8MsJ4LyK/sraatYvbUgHhhnzkLWssEhNTWDDC5Z+DeRriYk 5STKykEthZNJ
1IuXCW2XUdkRTUIbTXk1raMTfmOXt6k3n5IV+PFBtj98fe1DnudeG/130/h/ L2zbBo1RabjF
WRjyEgZAqBFC/tnSpnExgEA6QQLrqPTBpoPz+0127RWqVQIxEmNJ4L1KNI0m NYeEDwWwVGGN
2B7dXCK4caG0pIr34eK443iYxdZ2mqmikYxIsrfUfkum0UKUpwWOY+glMdA0 k80o76PQ++h+
mnNKO+j0Pvofprztq2Q7Q9j21C0tmIyk2kjiQJABteSCQI6KVU0gREgxPYOH fx7FFOUnAiYw
kteRuK+m6BbjuOQ467RIYFDR6QooplaioAiUxgBEDnEnS7ZtkBUKmVQ2631g thHifcltXhiL
hrCTkrZsoaStSRlI1NdaJdmTFMVkDHARTPsj1Q8sCj1SlENh5pR30eh99D9N OaUd9HoffQ/T
XTTp06U4ABJJPCSTJPaTmq1alSs6XmeHYBkO5ealeHmlHfR6H30P005pR30e h99D9NXkKkFe
aleHmlHfR6H30P005pR30eh99D9NJCQV5qV4eaUd9HoffQ/TTmlHfR6H30P0 0kJBXmpXh5pR
30eh99D9NOaUd9HoffQ/TSQkFealeHmlHfR6H30P005pR30ej99D9NJCQV5q V+DuG6SYKqLk
KUeoYxgABr8c0o76PQ++h+mpUQV5qV4eaUd9HoffQ/TTmlHfR6H30P01EhTB XmpXh5pR30eh
99D9NOaUd9HoffQ/TSQkFealflJZFcu2gqU4dchtQr9VKhKUpREpSlESlK/i iiaKZlVTgUpQ
ETGMOgAAdURGiL+0r+nKYhhIcogYB0EBDlAa/lESlKURKUpREpSlESlKURKU pREpSlESlKUR
KUpREpX82i7ZU9Q2jCIFL5Y6AIjp9wBH+IBr+0RKUpREpX8UUTRTMqqcClKA iYxh0AADqiI1
+jlMQwkOUQMA6CAhygNEX8pSlESlKURKUpREpSlESlKURKUpREpSv4UxTkBQ ggJREQAwdQdB
EB9YQEP4wGiL+0pSiJSlfwDFMYxSiAiQAEwB5Wuumv8AHoPrD1qIv7SlKIlK UoiUpSiJSlKI
lKUoiUpX82i7ZU9Q2jCIFL5Y6AIjp9wBH+IBoi/tK8artq3NsruUyCPUA5wC vzzSjvo9D76H
6aSEgrzUrw80o76PQ++h+mnNKO+j0PvofpqJCmCvNSvDzSjvo9D76H6ac0o7 6PQ++h+mkhIK
81K8PNKO+j0PvofppzSjvo9D76H6aSEgrzUrw80o76PQ++h+mnNKO+j0Pvof ppISCvNSvDzS
jvo9D76H6ac0o76PQ++h+mkhIK81K8PNKO+j0PvofppzSjvo9D76H6aSEgrz Urw80o76PQ++
h+mnNKO+j0PvofppISCvNSvDzSjvo9D76H6ac0o76PQ++h+mkhIK81K8PNKO +j0PvofppzSj
vo9D76H6aSEgrzUr8IuWzjXi7gh9OrsHAdPWr91KhK554lDrnDx4DrYgRnwT gK6GVzyxIDTO
Jjz9kGM+CcBVmorJ5J4iWgsQMwMXOSbd46SxoR3rlozM3TPraVuCGiZlFBLo AgHyY6iAjya6
BMUu+dkxHmWBFzFQb2lFKoolHQhVDi8E5wAOTaNsl1N1R2SgPUDSBeDmWnXj nG2WuV+s5eSG
L6L1RVc4mMBV7Vt5UhNRER0KU5SgHlAUA8qp1mPmpT/qMh//AJ2qumLiOWls lYRJgz/dang1
gXg1deD9p3hd2D1qzMvNWywkZaVmLdbO3Lpyu2TWVOdRYhjDqY46BroUNAAA AACtk6G7Lz6X
mwu0ph3GorzUMQDgcL5+NgOmWl4Gg9QdLfNVbYLBbE/K5l4hcTsFsjeAOXq8 bilrKtqMxGw2
Vazcg8aSkzHtnZHKKsGxApTJnA4hvVNTgHKAlA9XoUxUdgi8sA5l5LRnAzAm 83sDEGKz92Gu
nPGewMwk5ST1tIEXN1ebobsvPpebC7SmHcadDdl59LzYXaUw7jVKHua/PRB5 k5e2426brlIm
wsYbesFyhLksZjCTrVwlHg5ePjrO28qWSXB2s4QIyQI3HYSTKgqAnEPPl4zo 5ysRse7fui8F
rmaWjdmIF229K2/JhZ6UVFsowsgCR4orZ6aecSCQs0hXTXRUKcFVTFSRKVMR YW7oVBEEEgmw
jCxwmcsQe2JiL4ohQXOa5zTMgwYveXAgRnGAzEzaJV0Ohuy8+l5sLtKYdxp0 N2Xn0vNhdpTD
uNc+MtFs4HZU5HBDG6Rt+wrhQux65RhMwuGVxOELhvEVox44OpcsS5biu8SE iZlldHS50F0y
Du0QIIB5oXPXnOgLExCl1MYbrkFH2VuVxIs6Vvm2LWag3epLIFau49lFHVWS j1COdSoyZlHA
7oAE2oHCtNxLywC4xTaILWOeW3uDhYSA4AmNLqMZkXscMcw5wYDpAcRJBMTr ZdAehuy8+l5s
LtKYdxp0N2Xn0vNhdpTDuNVLxTxczr4SSuI2BkRmmG4ptNvYUhb83NR1vRck kaYfvm76NjBV
bpR51zEY/wBhlfFU0Opsqqq8g1Yvg/sUJ7GLAJR7eV+z9xT0BdMrBzrm6rcY Rko1ctnJi8Vd
pxqqjFVdIgkIddoIIKiG0UpNRKBtEOxRHR+mGY5AuAJykjUTU1oDSfxR5gke IBIGdjoY2nob
svPpebC7SmHcadDdl59LzYXaUw7jUjcQDzI04gHmRqmAaK+MqOehuy8+l5sL tKYdxp0N2Xn0
vNhdpTDuNSNxAPMjTiAeZGmAaJjKjnobsvPpebC7SmHcadDdl59LzYXaUw7j UjcQDzI04gHm
RpgGiYyo56G7Lz6Xmwu0ph3GnQ3ZefS82F2lMO41I3EA8yNOIB5kaYBomMqO ehuy8+l5sLtK
Ydxp0N2Xn0vNhdpTDuNSNxAPMjTiAeZGmAaJjKjnobsvPpebC7SmHca8auXb Lym6bNhy72F/
ZChybXOWw6XZSOp+88vyGn3akriAeZGvSkmgJykV0vyT1QP81XoWAIHlaN0N 2Xn0vNhdpTDu
NfxTLXl5UIJBy+WKXUPkk7OYlMH8QgkAgP1QrRs0OWPGnMviS0i7QznzmGcT aUc2loiMsEiA
SLiaMquCLiUFcDlcxpSpbJWQFIVc2/3hx3ZALMWF43FLYbQEpeM3CSks4hmy knJ20UwRztwZ
IoqKtQOc5tyY2piamMOyIaiPVpuwmMqEMOLYhsQJy17Bv2IbzcLHRV2KIxcs kDhA5mU+kxaC
oQ+oK7tucxS7YDy6G6oANSP0N2Xn0vNhdpTDuNatgUz/APtQiSbPUh73/HdS A1S/heLYfwmI
2M2JL3CGPxAn4rCaIdYVXA3vONavsLpIqz0COitnDlN2id26BEUVmSSyjlRH i59khQGsqQBL
QRme/KbcJtxIHPKdSCZgx8rkC/jwB7FfnobsvPpebC7SmHca8Enl6y8x0a4k By62EfcIHU2O
cxgG1sgI6a7nk6lSDbzSSVgGKs0lsvDM0hdlAOQFdgNoPX1rx3WyAlrSRtnq R6w//kGtn0gw
kWssKdXeMa64mFpi+WrLyiudEMvdhDsHEuvOUw5dB/vNfjobsvPpebC7SmHc a8ObPDTEbF6z
GmEuHeOo4dhc8wLOdn44pebJo7cLKLoRRziJEXhwIAAsYigpJb5QpdshTB+M qmGWI2EliPsI
8RMdRxEC2ZXiUFPyJS82Sx24RUQQlTkECLPCAoICsUiYqpblQxds5jC3YVsZ Xp4b21CWLite
Nk2jDtoyGRiYR82i2KBUm6C655FNYyaZQApNorZHUCgAak101Ea3qtdZt9xj zeA6aa21bwf5
aX/TWeetEn7NViudUpFkjJnMisZM4AIaCJTkEDFHrGKICHVAQGsgALKSZPrR eSlcwMBsyePt
yZUsKLthsa7p8UOexkJFLzlzyb0IVeO1U227lVxqzNqAE2Uyf2SYQHdgOhwr p/Xqe1PZdX2X
UwPcDdw/lMT2Hge1efsG3s29mJoiwPiJ8RxSlKiDPvfbjDnKHfNxxbmSSlDx IMoE0PJLtHXN
JyqRu0FJRAxVAEF1ExECiG0ACA9KI1w7PRdtO0MpNzcQPEwuutVFGi6ocgCf BS/XqXB8oX31
mr+QNYLBjD55hbhfCWNK3TKzb5hHIpyUvMzDh8u8cgQoKrCq4OY+hjgYwF1A pddClKHJWduD
5QvvrNX8gazqBrXENMjXVXYXFoJEFZKU+WTj+/n/AChrwV55T5ZOP7+f8oah 7OTiYSx8K0rO
jcSmNpTV7yJIGIuF8+TbliwUKY7l6B1FCAB0Gqa6hA2g2lSpEAQE4DWlCi7a K4pt4nw1PdmV
nVqNo0i88PUd6lqlQhwe2OktjrlqjnV3TCEhc1qP3FsXW+avSuUnL9kIJmXK sURKsCqYpLbZ
R2TCqIhyaVi8xWb3HHL5iiGHjPKBct8o3YVJvhhLWasVVs4kt0IrM5hRQChF EKJTKg6HepmQ
BQf2xPdnnadmqbLtD6L82kjwShWZXotqtyIlWDpXo2ye5FLbjz3kgxSlzMUh lUoxU52xHOwG
9BIxylMZMD7WyJgARDTUAHkr2H79nFs1H8g4KkikGpzm8rygD6oiPIAByiI6 BWC1XmpUZSIX
Bbc0W6DtlWpnCLtw2MCKYArtLAciTkdraN0giUA/c6FEvyJxDarevh5eNoLT 9tw5BeIqCTiT
hfZKY5dkRKBwDyyjyCIdUeXkqSCBKgGVsdKwtp3PLXWZR+a13cawIUUyDJk3 bhVYDaG2Uw10
TLoIbYj0xvkQEAEazVVBkKSISlKqBfWOGIWN2bCy8KbTxDUh7TutMrloWHkV 0H4xiKSjtY6w
IKEFIXhUUyJqbe9QSOQdEVTLJG7Nl2KtteMsFmgknQAE/Qrnr7TS2ctDjdxg duX1Vv6VXzMV
m9xxy+Yohh4zygXLfKN2FSb4YS1mrFVbOJLdCKzOYUUAoRRCiUyoOh3qZkAU H9sT3Z51tk9y
KW3HnvJBilLmYpDKpRipztiOdgN6CRjlKYyYH2tkTAAiGmoAPJXLC6F71Kx9 0TMjb8EvLxNq
SE44R2d3Fxajci6+pgKOyLlVJINAETDtHLyFHTUdAHUfFixE9Klf/tjb3hWt GUX1BII7yB8y
FRzw0wZ8Ct+pUP2TjZjziRlaVxZsnBVspeJETnibfmpUjJpPlSUD48gsmZfc JuEgMKInExQM
Yo7aiOyup6OVXNTiNmpnJO5G2Wq6bDsiLQOyB3iG24hMPplNbYXRRZFE4A1Q 2TkM4MpoqrqC
ZTEIJzKtF9Go5jswYPFGPbUYHNyN1NRvlox/vq3vVav2c5EyCoocClKGpjGH QADr1+DfLRj/
AH1b3qtXgnz7uCeqeZaKD/8AlGshl65LRfsktFKHBNOTbmMYdClKsUREet1a /TGRj5NEXEa+
RcJlOJBOgqBwAwdUNQ8sOtWvy90syqncJSSaxS7IlTK81Aw8aAwAAb43Ls+X scgeWUOkDzoM
pCMux3OKqm3bxJBJRqVMwJlMVQU9vbFENo3TBoAm1ENR5S7GzaFWVlLg+UL7 6zV/IGslKfLJ
x/fz/lDWNuD5QvvrNX8gayUp8snH9/P+UNVUrQrVzFYN3tgarmSti8eNWWjG vX6s1zPcE2W7
QypXB9ydMFR2BRU5NjU2z0oDqGq6sxWDdk4GpZkrnvHitlrRrN+lNcz3B9pu 7MkVufckTFUN
sVk+TY1LtdMAaDpAXNDFjELFaLtzEKybZw/vC7lgmCuhudpITFqoMV2KHE0F QaqJKqOUwO4S
II7swKugOQ26OCkqyGYa+Y2AuGybdsaJu/FC2Qb/AO9WMuFGObzaSipSi6QW XMcG+ie8UUbK
iZVE6ewIqEUQcr+1X9m06TmYOlNyMTbNmOtGHO2PK04YheZS217w7FaLCxuY nqzOV8OfCZUv
UqvmYrN7jjl8xRDDxnlAuW+UbsKk3wwlrNWKq2cSW6EVmcwooBQiiFEplQdD vUzIAoP7Ynuz
zrbJ7kUtuPPeSDFKXMxSGVSjFTnbEc7Ab0EjHKUxkwPtbImABENNQAeSvGhe mverGXPe1mWQ
2SeXpd0ZEIrH2EVZR+m3KobTXZKKhgAR05dArVsfL9LYEPCPX96GtyMfToNZ eeIVD+w0eKOV
CjtOCHSJtLJop7RyjrvNkNDGKIRkjiddkq7Lifh1e8ZdzWHln1vRjmRFTeSa blrGvDGSGMZr
AsdI6DgogREA2CmExgFM216mx+y6m0sbUceiZ1nlwi55zxhcG07c2i4sA6Q9 azkrAxUtFT0c
jMQcm3etHBAO3dNFiqJqlHqGKYoiBg+qFexUQ2pcOLEPlymZbC214i474Yyc g952pB26jEFn
C7070zIVXDciiJxQcAUiiiJSiYyZhACG1DH5Vc1OI2amck7kbZarpsOyItA7 IHeIbbiEw+mU
1thdFFkUTgDVDZOQzgymiquoJlMQgnNw7RR3Nd9McCQuujU3tJrtQpurAscS 7RkZ0lvNXD3f
KvFmiC6kO6I2WcI7zepJuDJgiocu6V1KU4j8bP5kdM9VeVpu4IDGCJUsjCPE u8YBKQuKWRJD
zFvmjY6VTfLMl09s66ZxMcXTxTdquQMTbAoJCdJYjXzdoZ7VfVpDY2tLcXTx GIbxIkgTAOt4
suhr9lYxxrEgxaBN+cA8YVhqVCaeaaWUxCQsyagS23ILTTJkS0pxBFWSOksK ICvvWjxVHZAF
DnDY3gAVMQMJTbQExGYrN7jjl8xRDDxnlAuW+UbsKk3wwlrNWKq2cSW6EVmc wooBQiiFEplQ
dDvUzIAoP7Ynuz9TXBznNH4TB7eWo5iRzXHR2mlXLg3hb14cYPJWDrxx/wAq 0P76599LV6ts
nuRS24895IMUpczFIZVKMVOdsRzsBvQSMcpTGTA+1siYAEQ01AB5K9qP+VaH 99c++lqnj65L
p4LyUqFs27h5FSNrTidkxFyoC5LGHhbhaq8T3z+SjGSDkVuLrJEUTUXKGwYA UMkquZPa3Ryj
i4DJNNJS9l3Zc2Pcy8f2/JtZCcZnt+FOhJKJNkkxR3wMCODE3rVgYDrqKn0Y NzAILooOEfQb
sdD3VtZ9UCZtBOXZ3ZwL8bxxO2mrv3U205iLyOPo+Cn2vG1/tx//AHpp/wBb mtfwbZczcIbV
juIcU4vbbFPivFOL7nZbkDY3XFmu70002OLN9nTTcpabsuwNf7cf/wB6af8A W5rhe3A8t0XW
04mAryUpWqL4nbl+qx5h67t88bbXGeruEAW2tNn91rpp5XV5epVYlStl5oMO P8y+Oo8a3O94
tvA3m71029nq7OvJr1Na81YOwY1gjBJT6ILHcy6Sbt45dKAdVQxigIFEwFKG hQHZKAABQAOQ
A1Gs5REr8OHDdo3O7drkSSSIJ1VVDAUpCgGoiIjyAAB5da5iU4lY5GMlIB8o k+CSTbt0zrGB
utveQSLEDXUoiAdOAbZB6YuobRD+hHT8XirINYx7GuU2zVM68gxOuUSA4IYm yisUCjtl0MCh
RA2wcNB6cNBCY4otybuEHSBHTVYiiShAOmomYBKYohqAgIdUBDy6/dK0PG5K 0V5GyUr8geac
Qa7h46y5jqP94Xma/wBPjCZDmU0NobkKOmm1yaahpQpb6sGTErOtU3VIviYW +UrSOY2S7sH/
AP8Ap+R7xrWm0jN2xZeJctlWwyjn75lcSS1v2rKpqwSLwxY2OMqh8cRAzY6g b3YMdPZ2zFMb
pBE1de0bDuKWOT3tjzlcuz7Zv6mGB3Gfopcrxm+WjH++re9VqhXKrmpxGzUz kncjbLVdNh2R
FoHZA7xDbcQmH0ymtsLoosiicAaobJyGcGU0VV1BMpiEE5pqN8tGP99W96rV 58QQu4LSsH8F
sJccMQsSZfGTDiFuhaHuxCNieb0cm7IzahFsl9hMqgCUmqrhUwiAAI7QaiOg aSB0FeUD0r1g
dqTTudYDLgzlnb/GJpASqbF8vehSsnqrbfFbqjCRwEUFPaLvAKbQdnaDXTTU OrVWoTFDMgGQ
9Wy75zGXHJXFcWbV1YE7iExVGPfN4pW8DslOKCmYeI6ty8XS3RgFHeFEhgMU DV0bO0VHNpgD
E7CBPEuqNpi94u8SdMpVazjTZvCbAmY4AMe8nnZhga6K4nQV5QPSvWB2pNO5 06CvKB6V6wO1
Jp3OqUxsxidL4+IcHU8x/wASOcJvmNkYQLlSv6RTuBeJSstCeTiDTRVgfjsv HBg3u+34ooAm
Kghta/20YjOHiHgPB43dFU9b2zhNc11wkvcs1fMmwdJs4S53SBJdZuySOlcS yscz4sZs9EiY
nEVgMKhxrUCkcLiIa4NdMZNLQ6TzGINgTe84eks3Gq0GLmSIHF2JwAHc0uvF oABccKur0FeU
D0r1gdqTTudOgrygelesDtSadzqP8mWaCyr6uGVw4vbEOWWxJm5F7Myduv45 +DGIAm5IaIZO
lUgZrqskTNk3STVU5iuDKqKFKKg1Y2rGk0AEjMA+jxg2kWMWUCoSSAciR60n ODfUKMugryge
lesDtSadzp0FeUD0r1gdqTTudSbSowM0U4naqMugrygelesDtSadzp0FeUD0 r1gdqTTudSbS
mBmiYnaqMugrygelesDtSadzp0FeUD0r1gdqTTudSbSmBmiYnaqMugrygele sDtSadzp0FeU
D0r1gdqTTudSbSmBmiYnaqMugrygelesDtSadzp0FeUD0r1gdqTTudSbSmBm iYnaqMugryge
lesDtSadzp0FeUD0r1gdqTTudSbSmBmiYnaqMugrygelesDtSadzp0FeUD0r 1gdqTTudSbSm
BmiYnaqumA2HVhWDasmFlWREQ4r3hcKCx4yNSQMqkhOSCSCZzEKAmKmmAEIA 6gQoaF0Ct3rE
Yfpbq1XQ6fJXpdA/+/n4/wCuqWZyODQxjzCZg8XcYrPsjCfmFeWE7e1VLFnJ iRTY4mSO0AoS
d0ii1NxXmT8kwNHl5oHMQAGRapbKKfEAMlsSZV6q574jWjdk9nBx3eQVzxzJ EuIEYQyTuHUc
GEwWnADtAYrhMADQQDTQeoPLy6Bc7LHhPe2BOXyz8HcSMcJ3EqdtyCQYyl9X MkmR9MLELoKy
gJh/JKJzKKiUpRVWXVE6ylWJgNM1ePA9fEaO+Cdv1pSaHOgqriQJU75TWDSL xQx+jWCAJIIY
vtU0Uy9QpC2jbgAH3ACpNmPmpT/qMh//AJ2olyVEs8l7Y8BYIMAifFiS4pzM 2Nx5Fre2tnY6
X5La108vWpFG6sM4m6ZiTnsY49Z88STZOG7+VZp8TTQMrsolKQpBDZFU4Dt7 RuQNR1Csqrpd
J4lXpiBAW3YTWXbd55Y7Vs68bdYy0TKWDHs5OLk2hF27xuoxTIoiqmcBKoQx REpimAQEBEBD
StmmMN7IuGFaW5P2ZEvo6PctXLBg8jklUWyzZQijdRMhiiUh0lCEOmYAASGI US6CADUVWxiz
HWVANLTtjMRYwRscgVvHpybAjhZJEoaETFROQSA+yUAKA7ADoAa6jy17/RAu /TDYbe0g+Fa0
ZXY1o7tOGXHhwUOY4nx88/HitqlctOX6dxbZY/TeBVmvL7jW/F469XVsNFJd qloIbtN4ZMVi
F0MYNkpwDQw9ekFlpy/WvitJY72zgVZsdfEyhuZe8mNsNEZV8n0vSLOyJgsq XpS8hjCHSh1g
rVeiBd+mGw29pB8K06IF36YbDb2kHwrUivTbEcJ0458ePHVQabnZ8vLLw4aL M2dk7yp4d4kS
GMmH+WPDyCu+W3vNS6oay2LWSebz9s3rlNIqqm1+62jDr5etehA5EMldqpro 2xk/wtjSOkHq
DkjDD+NRBZJ4UpXZDARENoq4EICoDyKAQoG10CvV6IF36YbDb2kHwrTogXfp hsNvaQfCtBXp
tiOAjhlpnlyQ03EydZ79e3mtvvbLzgbiWwmYvEfBe0rga3FHt2FwNpu3WztO TaNznOg3cFVI
YFkkzqKGIQ+pSCoYSgAmHXI4d4T4c4QWcyw6wmw/g7Xt+NTEkdBW7FIsmbUo iJhKmiiUpCAI
iI6FAOURGo/6IF36YbDb2kHwrTogXfphsNvaQfCtSNoYJjj2fdN24x60Ut8R +oFOI/UCok6I
F36YbDb2kHwrTogXfphsNvaQfCtRv6fqPum7cpb4j9QKcR+oFRJ0QLv0w2G3 tIPhWnRAu/TD
Ybe0g+Fab+n6j7pu3KW+I/UCnEfqBUSdEC79MNht7SD4Vp0QLv0w2G3tIPhW m/p+o+6btylv
iP1ApxH6gVEnRAu/TDYbe0g+FadEC79MNht7SD4Vpv6fqPum7cpb4j9QKcR+ oFRJ0QLv0w2G
3tIPhWnRAu/TDYbe0g+Fab+n6j7pu3KW+I/UCsbOtdiUhuQOWSOH+ar1G3RA u/TDYbe0g+Fa
dEC79MNht7SD4Voa9M+h90DHLD5ruDvwTzdXJDXjeE7dltS0emDGXk7EuZeI cXFCGMJ1oSRU
QEDOWChh2hTEQMQRMKZybZ9qZbYsq27JtthZ1nW+yioiKZpNIyMjmxUW7Rum UCJpJpkACkIU
oAUCgAAAAABUZdEC79MNht7SD4Vr+GzAOzAJeiIw3DXyywo6h/FrKj/1U94Z 6j7pu3LFYFtN
cWY4unUiby/HcyQ1IV65b8BMSr7gsUsRsD7Pn7mtc+3bNxzdtNXb+INrtatX CqZlG468upDF
5ajaJubDS2HUbM2pjtbraTjkXaR3j503cJugdL8YcbxIqyYhtLaHDZOGzsgH KGuud6IF36Yb
Db2kHwrWdKq1kajLJXe0ukcCpb4j9QKxt5s9mz5Y2gckauP+TNUbdEC79MNh t7SD4Vp0QLv0
w2G3tIPhWtDXpkR9vuqhjpWbzL5XsN81mGC+GuIoSDQSuCPYG4oF8ZnK2/Ip gO4kGDonTtnK
YmHZOXkEBMQwGIc5TfzLRlcw3yq4YI4Z4dA/didwd7PXFPPjPJW4JFQA38g/ dH6dy5UEobRz
cgABSFApCEKXC9EC79MNht7SD4Vp0QLv0w2G3tIPhWp94p+o+6jduWQdIbnH O6x06tuQIf5a
V/TWQekeKM1SR66STgUjAgqskKhCH06UTFAxRMADpqAGDXqah1a1ONxIw6Tm ZG57hxptl/Jy
ZG6bhZs8QbIkSQBTdJkTFdQQ0FVUwiJzCIn8oAAK9/xXcJ+yfbvt0h+vWGNs zKsWuVW7c4J9
43ytRWTy8cwhH9nNLoNMyisbaHFJB7020VAqyjtYiJQERETAmYw6F5QADAa4 ta94ruE/ZPt3
26Q/Xp4ruE/ZPt326Q/Xrs2v2ltO3ma75uTkBd0SbAXMDwXNs+xUNkEUmxYD ibDIXnKVsNRX
mSwDv3HaVs0YLE6Kg4u07uY3Eqwd2yq9UkHTQxjIkMoR4iBEgMYD7OwYdtMg 7WgCUdz8V3Cf
sn277dIfr08V3Cfsn277dIfr1hQ2l2zVRUpkAjsPzla1aDazCx4se0fJbDXq XB8oX31mr+QN
YnxXcJ+yfbvt0h+vXrymKeFb2McMksULcAyyByFE02hoAiUQDXpqxLmxmtQ1 05LcJT5ZOP7+
f8oa0J7hNKyOPjDGl/eJVWsXb7iLjoA8aAkb79RNRZyVXb1BYwopkEdnQEy7 IAAmMYcy8xjw
lcO1XBMTreAp1DGABmkNdBHXzdePxXcJ+yfbvt0h+vWjK+7JLSLgjhkc1m6l jADhlfwWm4cZ
bXuGuYm98d4fEIRa36LY8zbBYkhG5VW6IJJLpqbYmKqJQHbN8ioJhESgIFEs p1r3iu4T9k+3
fbpD9eniu4T9k+3fbpD9eprbS7aHB1R0kADhkBAy0EBRToNotIYIEk8cyZPm thr8rIouETt3
CRVE1CiU5Dl1AwDyCAgPVCsB4ruE/ZPt326Q/Xp4ruE/ZPt326Q/XrLG3VaY XaLxOMPRk7jB
/OSqjxgiQot2i4iYxjeZUMPyZQ0Dq8puobXQdrNxEKwhCOCMUxDjTtRyuYw6 iZQ46iP/AFAH
1ACsT4ruE/ZPt326Q/Xp4ruE/ZPt326Q/XqTUaeKYTothpWveK7hP2T7d9uk P16eK7hP2T7d
9ukP16jE3VMLtFH8hgNmHm8EpTDC581RZeWml91IT76x26RCx5iiVVqig1WR FMygDsmWFQxg
KJtjdm2Tk9vLZlRtXL6pKXW9nFbkvG4FTHnrrfNipKLFE21uUUwEQQRAem2A ERE2gmMOyQC7
r4ruE/ZPt326Q/Xp4ruE/ZPt326Q/Xruf7U2l9F1LEA1xkgBrZy/KBawtlyX K3YKDajamElz
RAJJMeJN755rYaVr3iu4T9k+3fbpD9eniu4T9k+3fbpD9euHE3VdWF2i2Gla 94ruE/ZPt326
Q/Xp4ruE/ZPt326Q/XpibqmF2i2Gla94ruE/ZPt326Q/Xp4ruE/ZPt326Q/X pibqmF2izpvl
ox/vq3vVavJWtjizhSL1s48U+3dlE6gmDm2hqO0ioQNOn65w+5rX78V3Cfsn 277dIfr0xNjN
Thdov04ty5U3LhtHTiAxrhF0JmzhARUKqroIaHAfkQMJx6nIAiGhtQEn7NCz Sz4js7Rmn05d
sxVgEQKC4KjpoiUw8oCGm1p5Y6jy14vFdwn7J9u+3SH69PFdwn7J9u+3SH69 TvG6quA6LLXB
8oX31mr+QNZKU+WTj+/n/KGtPlMU8K3sY4ZJYoW4BlkDkKJptDQBEogGvTV7 jzGPCVw7VcEx
Ot4CnUMYAGaQ10EdfN1GJuqnC7RQpJYa5jMTML5q+ritsbakZxwWZk8LG8uV R6o9Zbojds3m
2zhJNqDgrFsO+BMTIiscdoBKAlNMNcxmGuGcFfdp22NxPoNwMywwreS5SviP XpVSOWy844cK
JuAb8ecm3xktpbcF1MJjCY0z+K7hP2T7d9ukP16eK7hP2T7d9ukP169X9dbR gwdHDpFoiMOc
5WmccfiXB+raWLFfFrxnOcozvEYf4VsNK17xXcJ+yfbvt0h+vTxXcJ+yfbvt 0h+vXlYm6rvw
u0Ww1q+KViXBezOKcWndqMNKQsrx5k7cxwu0RMLdduYh0iqpGMAkcHENDl0M BR5QAQHz+K7h
P2T7d9ukP16eK7hP2T7d9ukP160pVzRqB7Dcdh+arUpCqwtcLFethVYdy2Q1 mHF4XghNSc1L
8edOmkYZokQQbINykImZVUQACNyiIicdRMPUDQK2qte8V3Cfsn277dIfr08V 3Cfsn277dIfr
0q1zXqF7yJPYPlZKdIU2BrRYLYah/EXD7Nqk9ULhBi/bLWJNDzZl2EpBO3Dt Z+4eb9pu11Xp
hSAiJjpFNrukjAIg3OmdJFrLjN40kGiT9g6TXQXTKoisicDEUIYNQMUQ5BAQ EBAQ6tYLxXcJ
+yfbvt0h+vV6O0HZ3hwg8iAR4HtVKlEVmwZ7iQfJazgYzxBbzc2vctm3BBRB 2rIsaxuS5Cya
5nIGccYUKcHTkSEEgtgAonANSGEChyiaR617xXcJ+yfbvt0h+vTxXcJ+yfbv t0h+vTadpG01
jUMCYyysI4knzzU0aBo0wwSY1Ww144/5Vof31z76WrBeK7hP2T7d9ukP16/D XFnClBkm3Pif
bomIdYREJtDTp1lDh+76xg+7rWGJs5rXC7RalmLy9tceZK3iyaLkGsQ5TXOv HXQrEuSGLJRr
nQqqDY6xibDVU+wVZIoqJojoCoIOme2spTF5Ti/NGxrbS2tzxrcXU4U3evFN 7sasS7eztvtn
XZ2+LN9djjKnFv34ruE/ZPt326Q/Xp4ruE/ZPt326Q/Xrf3qababoIExc8c+ Kx3EPLxYnPu7
l5sNLddWhhxb9pPmrZBaLhGjRZBkKQopmTRKQSp7pBunsAJdA2EES6abKSYa EDLtf7cf/wB6
af8AW5rBeK7hP2T7d9ukP16/COLOFKa7lU2J9u6LEQAuk2hybAq669P/APxA 9YaydUa5xcTm
tGsLWwAs3LmlixqwwSbYzzY0bg7OYqYG65hKAjoHV0Dq6aahrqHit6HXhI0G jyXcv1zHFRw6
cnEROceUdkvUTL1iF5AD7ojjPFdwn7J9u+3SH69PFdwn7J9u+3SH69Vxt1U4 XaLYaVr3iu4T
9k+3fbpD9eniu4T9k+3fbpD9emJuqYXaL23cTOydyJuncnxeMZ7J27ZmsYqj pXTlFYQANCF8
pMBEDDymHqFryPrYYPJ9rcySyzZ62KKZ1m5gDjCPKO5VAQEDkAw7Qfuijrsi G0YDeh4ruE/Z
Pt326Q/Xp4ruE/ZPt326Q/XqcbdUwu0Ww1r19RF0PJO27htNhHu3EDPC+UaS T87YiyYs3LcS
goRFUSm1XAfkBAQKPUp4ruE/ZPt326Q/Xp4ruE/ZPt326Q/Xq1Otunh7TcKr 6W8YWuFisp4p
GMnYhtXt6c+DKx1mxtzpS9x3JdcbHsnE7NkeJs42QO6IimRk1bAAqHRSETCL cxvkAAAMAajX
48V3Cfsn277dIfr08V3Cfsn277dIfr1tU2x1RuEkeu9Z09lZTdLQthrxm+Wj H++re9VqwXiu
4T9k+3fbpD9evwOLOFIvWzjxT7d2UTqCYObaGo7SKhA06frnD7mtc2Jsi63D XaLN5WibNy4n
m81fKQ/+6Y8P9VZSUyhZdZrCO4sC5TDgi1r3VPvJyajjSboDqSTp6L5V2muC u+bqg6HfEOic
gonKUU9jZLpHcNiNbdlzkvM4d5gLMYknXJHMk0mEU3xBXKmVLeJim9biTVMi ZRAdoOkAQ01H
XJ9ERcXpksL+1w/hitqdak1kHs4ZSD8wD2gKrmPc6RqDxziJ7YJE6E6rJLcH xlNWweb4Hjh9
KEiGlxmuFvJo3rLpzhJg20B5HmyV2EkLsxTnIZwLjeGTMKYmEg7NbZD5ZMC7 ewehcAYTD9Br
Z9vuGi8ZBoulyplUbOSukjKG29tcd+QFT70x96bUVNvaNroPREXF6ZLC/tcP 4Yp0RFxemSwv
7XD+GK1G1MHHiDwzEAHPMACNIss9wT5+Zk+JJJ1JK3Gz8o2X+wsaZLMFatlO G90SguTLrqT7
5Zmgo5MmZ0s2YqLmatFVzJJisqgkmdYSgKhjDUk1AvREXF6ZLC/tcP4Yp0RF xemSwv7XD+GK
gbTTDQ0ZCwysNBdSaTy4uOZuc7nUqeqVAvREXF6ZLC/tcP4Yp0RFxemSwv7X D+GKe80/UfdN
071KnqlQL0RFxemSwv7XD+GKdERcXpksL+1w/hinvNP1H3TdO9Sp6pUC9ERc XpksL+1w/hin
REXF6ZLC/tcP4Yp7zT9R903TvUqeqVAvREXF6ZLC/tcP4Yp0RFxemSwv7XD+ GKe80/UfdN07
1KnqlQL0RFxemSwv7XD+GKdERcXpksL+1w/hinvNP1H3TdO9Sp6pUC9ERcXp ksL+1w/hinRE
XF6ZLC/tcP4Yp7zT9R903TvUqeqVAvREXF6ZLC/tcP4Yp0RFxemSwv7XD+GK e80/UfdN071K
zFnpbq0lR0+SvG5h/wDfbwf9de9Wl2piVZsJFqRc/jlZ8iU0i8epGZimzEij pyq5WAdp2ttF
21RAodKJShoInEdQyfiu4T9k+3fbpD9euYvaeK0wuWw1R+bDTNTjqPXxEjvg pAVc+Bu+07q3
vOvc8dJbjZ3/ABB6mtu9rXZ2tgR010HTXq6D1qplPBpmnxzHr4hR3wVga2oE F1lR9gpRwMvW
CuVhmavfD27Wkg0UxDWVj5eGflVTMYloQRdpNVIwgIlOUQ1AeQxR8sKkpziN b9pwwLPJFnGR
zNMiZTKqFRRQJyFKXUdClDqFAP4gCqfcDfp0BOMogOut9THL/wDgEZUuL4gI ITVvLunIAkne
UGdQwAI6FCTbCI6B1eSs6lV1KnVqNzAkTlxWraYe9rOcfJS1FY+2BOP04qEx Ah3jpXXdNmso
koofQBEdClMIjoACP8QDWY5+w+iB9eoYYYm27nJzVtohvKXS0s1/aTl23ZqT KhSKum7oqaT9
BETmI2MJAAA0KU4DtG0AxhEdOcY+qWpgUfFWf3j08baQyr1NEoAdcU2u+OBQ ANAE2g6AAaaj
WdLbK7HOFcDCASHCRIbGKWySIkEXMzwi/VtXs/c1W0mdY4ZBixcJF8tQdIvy sxz9h9ED69Of
sPogfXrlhc2ejNfhXdsNjtjNI2zJxS2A09dETaVlA/QRF0ZzEbhu6KdZcHZk gWApXaaZBEFV
gKiX9148U84GbXFjBW6cOXNxmt1+lcFoJt76j8NLntYjhrIy6bRyxTSfOW7s iqWhRM4QcfHE
lhAoInHaJ6eF4cGkdKYjQ4ywjuLSTwjIm0+YCwtxz0ddQQCD34hbPWIMdU+f sPogfXpz9h9E
D69c4LO4Q/GVbHhhYbp/bE1bMvIT8bHKw9mzaRWR45u4VSUGYdKcUkjqcWOV RFAgCkYRDeqb
AmNjccs9+L9y5Xmzhk/ZwsjdeWeUvJ1IwSjhs6YSaZI8CcVUBYTJJgLtUQ12 jgJSaHDQdYac
Z6Ok+LXuHlTd5KwaZhwi8ebR83BdMefsPogfXpz9h9ED69UWy2Yu4xBilj64 vjEZtMxkTeDQ
ttRwsnBBjycwY9cUwMo6ULux3hREpCJgKu+V/wDK7BIea8IRn3Xw7SvpY+EZ OMYIlxIIiW3J
Q26TTKAqRY/2eG2dTaKYrrpQS0EooLch6gOBMcgeyWuf5Na4nsgSSATGF7ZA 4x23a0eLnNHf
e0ldSufsPogfXpz9h9ED69c8XefzHxxLP8VYmKtBPDyExFibQkIJw0dGm3J3 Z2aJ3qboFwRT
BNZ6TZbi3OKiaZjb0gmKAR/bueDErCSJNeknJP7kWZQeIjls1lp92Ka7hG7k GbFNTVQUwSTK
sUgHFMx0kiiVMSl2imkYi5ojOfJm882kEdsZghVBaWyNQPElvkQQftddTufs PogfXpz9h9ED
69VUwOxQx843N2tmAnbIkn7A7ZaPkbMbrsyqoKpiIlWZuHDhRExDkOUD70Sq l0MBSCBih6OL
cUxvzMBhWrcV6X8nHSco5tRnBYcXc7jpFOWk1WZmc8m2SOLeWCMKycrrsnqS zUrFZ+6VIqVm
LZwJgwguJhW55+w+iB9evSPcvNO/LWBFXRQ0k4SOco6GMkLJwcyYj5ZROmkY S9QTJkHqlDSr
mMuD17YQ5scPbQxCxtuaUvaMi3V13DcTJ3IQNq3DEnRexaUDFwAPl264tl1m 8i9euVHDpusr
HEKcUH6CLCYMLbl5s4s2013gDsvXBtNf/YnIf66yrH9mR2fNXYLyrDUpSuVX SlKURKUpREpS
lESlKURKUpREpSlESlKURKUpREpSlESlKURKUpREpSlESlKURKUpREpSlESl KURKUpREpSlE
SlKURKUpREpSlESlKURKUpREpSlEUFeOi8Gb9MTwK91yG75qWMNMUcM8aLJZ Yl4O4iwV2W5J
bzmdcFsy6L9i63ahklN2ugYyZ9lQhyG2RHQxDFHlAQqHMJ8leNeB2FltYKYW 8J3jrF2xZ9vs
oS3IzmFYi/FGDRAiDdHeLWwdRTYSTIXaOYxjaamERERqSMu2Bsbl1wwLhrH3 zO3MdS4Jqbkb
gubigPpB/KyjqUeLKAzbt25dpy8WEpUkUylLslAOTUbODIsVAnitfxLz55Gs F72e4aYxZzsJ
7TuON3fNG37mxFjGD5rvEyqp7xBdcqhNpM5Dl2gDUpymDkEBrPYK5oss2ZPm n0OmYqxL+5i7
nmxzlXcyleIb7ebrfcVVPutvdK7O1ptbs+muyOkU5a8omFOP2Y3NBeN9XZig wdtscI5kmjZW
N91W01FMth2kcDHaxEk2QUV1UMArGIKglAhRMJSEAvt4NYHWXgDwkmL9nWLN Xg/aOcD8O3qi
164hTNyugUNMXqQSkdS7tyumlomUQRKcEwMJzAUDHOJtDTAp4lUOl0KQpnpY +54kvI1NfcW3
M2D9rFJcY0V09nqbKgrLCcvUOKp9ddodctiLjZYeF0zGW5c5Z1xIS7Vy5j2F v2lJS6x0W5kC
rKmIxbrGTIUzlAomOABqqUA1rEzX/rL9kOD/AO6a1HNeSIt+/rQxHVzW2Thj IMoeXjWpb1bJ
qpyaLlWPVVFIDPmggZMzRHUQE4aLBqAcmvR7H2bZdr9oNpbQSGGZLQSbBxFg 1xzieibeK5Pb
G0bVsns91XZwC8RAJAFy0G5c0ZTHSF9clK2HeIlqYqWolellu3SzBZ05bAL2 McM1k1m7hRuu
kog4IRVI5FklCCU5QEBKNZuqWwELGLXta+G7GAvfFKKl2EtLrYmYW3/PwsQ5 cOX09Iqt0k2L
nmaCibhIjUTuXyaonfNg6YhD7uYM3eLV55beD8vDFzDaHfRk3a+H4rxaFyuu aDiLUKgUoKO1
N8sDk6Gu2qcVVQOKRhFQ+u0O/tfYdn2B53Ti4EmAcIOGSB+KZMXxNZHEBY+x 9s2n2i1oqtDT
DQYLiMRAJHViBNi1z5GRKnKlUhx5sG68htuYeZgcK80uJd2zUre8PBXHE33f juZj7tQkFNyq
omzWOKLFVIDC7ILEiBQI3OUSiQR0w2ZLO9mHvPJgi7s6ag7YnbzydzuIjqaj WjsF42SQQjR0
ZiR2Q6Jdl642DiYx01CpH2jAQxD+YBiDsNy0lp7Qx1S0xbC0mbGbEBerTGN7 G5B4BHYXhl44
4jwkaEq+9KoNhbjrjrAY3IW9fOIrifdjjy8jHShHsg2ZAklhwi/FNFrxw4Eb i6KZUEFTrEKZ
Qxw+OaKB+IThOM1mG2CUbjtmBs2w5hrdWXh1iNb8FZcRItl492geOTBkuqo4 ci7TVGRSPtpJ
JmS2Dk2VuQ4yWwYB/C1381N1QDtwtd4akKlN28a0gZ/6gz5kePJX8rXsMPI2 59UUv+cnNQdk
YzS49423rd2HeN9onUCDjI2RiruaYSXJZ7R5xkXBFmXFJ4BWOqgZAoismoYi hFyDsJmAxawH
CUZoL9yacFzjDmOwtDZuOAGTShHG43vFXLucMzI42eoO6FwCvLqX43ygIahV XU3NqAHiPXrw
spa9rmmOH2n5H6GDZTpfmarK/hZd6OH2J2ZCwrcn3AgDeDnrwZM3ioiG0Gyi qqU5tQEBDQOo
Otb2isi5RI4bqlUTUKBiHIbUDAPKAgIdUK+fe/7A4M3JDfeBOVLNVkZnMf7/ AMwNtQ1wYg4w
y94PePA5mHAo/wBgFJtC4ORUBHpDpnMUSanOc46Xs4EyTvvLdmrzLcFNJYhy t22VgpMw7/DW
UllxcLxsZJNjL8zVFddNEgFEClAChtguIAUBApbFkCVAMro9SqP3jHXrmUxA x2vW6LwxukFM
Mr3b2tZ2G2CmIIW86ao8z2LkZI4GeskHiqp3h1dHip0QRRKUqYm2gPqdgcJN mZvHL9O4vYNP
belrfwZwwYz1+OMS4Dczt3KhxwXCSIxj8WcaoCTFQQWDjaSiqmhSEKURqrAH UhUNgQ0/5Xtx
A+ETaxIFzIFy128LGiTJH+YENI8TAM3gnK66GUqlmIvCK4wW7mijLRtFW15W yl8RYC1H8Sys
CedPGoySbcDLuZ4piRbJwkq5J/ueKaqpiAURUIKgAXQ087GbnCfByMk7UfR6 8Sa6MQXE7fV7
2nO3Qg1FlcztBlHOAileMRbUUAOHNBRNZBuRuBd0IAAVIaS1rjYEkd4a1x/p cCM5Jwjp9FVB
DurewPjiA82kHTrHo3V/nuwpfdmtHBAOgrcZxWROGpDimweLJiIDyDsqppqF 16h0ymDlKAhI
c7iZY9rPCx9zXtExzg6YKEQfySSJzEERADAU5gEQ1AQ1+oPWqKY+ea3DK4d3 MyeNHCL+UFyk
4YOd8gqVSJemAyamgbZBAdSm0DUBAdA1qP8AOrdbeClF3LjEa6rYD/e8Tj9o xgO3Km26kg3R
iicmhB2dfkh2jlTJsLbe5UsN5SxDIgmeUCdRpGa4dv2ynsuwnaYxAAGJAmTq bDNWJ8XDCXsq
237eIfr1sfHx80FUvxDvdzG4surfTxOctWisBehDWelCpqIOx30qoDk64uim TEgsygTRufZ6
Yu0G9ESb5wjuLd/YaZeGaGHN7LWs9uy/bctVzd7YiZlYFpJyjdmu8T3pTEKq VNUxUzHKYpVD
kMIDppW+KHMY14e52BsAEYXvIAYSdJaSRYArrFHaGNx16ZptILmkkHEwT0xH DouAGZI7FZTj
4+aCnHx80Fc5b1xc8bszDyFrw9442Ixsjh/OOIx9jjiInP2jPSLFmk8K8Tdu JN1Lxu71MkoR
JoVFQVdCpgYEzGx5c+eZPFG3pmwL6uIGkpauLeFwt7ltvD+fsg0lHy86kk4a nj5ddR0KejdZ
IygnBNwmqIbsoagOjP2j2NaesWDsx1N2PO94tobKjhgaS4ZYv6W4vrFpvyEr pVx8fNBTj4+a
CuYkBwiuY+w7dgsGcPZBzJXHKTmIs09uW4sM7pvnZZsLsdsWccVtB6roFEDl IDhQ+6bpokKV
NQTFIG7P+EJz6X8yuG7cJMGbNgGtoYAQWIU3aN5wskrNLSD1KTOrDplKu3BI Siw0BRRPaAR0
FM23qnm2q00d7MN1OVsU+BY4HjbKHNm5pu3xpAdKYjtLQPHE0jhBzsY6C8fH zQU4+PmgqvmU
PNbI5r5S+76tgsUrh7FzrSLseVZpqb+UErBBd64OoKgkMmVdwLcoFKUQM2V1 E2obOq56LPk5
XFvB++D4uYgRUepPOLSbWzhzejyLkV5eWXYmZTqTVI4tprmUVg6cLsHyKzQI 9aSdqkVIyM1c
6OD2EB1iQD3EAjyKzY5j24mmR9rHwNla3j4+aCtBxtWIMvZztMpSrGuFZuZY oaHFE0e7UMkI
9XYE6KRhL1BMkQeqUNK7tcNMZC5+LDisVcx9wvLutqBc3bcbmJfyVv2nc8Qq 3fxCUFFW5x9w
3c8Ucrt5N+/dqunbZdaLTKcUJBujHTzi2430rZxf/vOoPV/4sfVjWPQjs+a0 YBK8tKUrmWiU
qD2d9xLvDq2MSXeI0w2ui4Y5vKgEewk5UoAcqaqiRYxqsKPFSFUI3FQUdoCn IYVQcHKsPv2T
mWBO8lrbxDVkeIuxjW8HMlwzmIpFZ65XWRM2OLjegUQEG2hzCQoivoAjsm0+ Y2P9K/Zm1Vm0
ycJdlJEZSJvY8IuJIAJXsVvYu2U2FzQTGdjrFrQR3gxNgpWuD5QvvrNX8gay Up8snH9/P+UN
Y24PlC++s1fyBrJSnyycf38/5Q19OvHWMnrit+1YxSauidZxrNINVXb90RFI nl8pjiAB1OvW
OsnFHDPEtsd5hxiLBXAimIgorCS6LspfK5RSMYArQ5fDW4swM3iVzLv5nb0r aEgwirXlJWFR
kEofaZNnrt+kgqIE36iboUCrH2t3uREA+SAYww4dXdc2BOJea9jPTsrbdsFJ K4NXhdjRoncE
qzbJmNIIrGQSIKrNyolsIEVIB9k4DoXQmnqU/ZwqUcWK9vOI9TwNrX4n7WW1 Ii1/L18laisF
iXijhngvZL3EvGLEWCtO3I3d80bguaXRYMWu8UKknvF1zFTJtKHIQu0IamOU ocogFZ2vQum1
rZvi2ZGyr1t1hMQ0wwWYy8RKMyOGr5qqQU1UFklAEiqZyGMUxDAJTFMICAgN eWu1Qz46LwZv
0xPAr3XIbvmp1qKIXL1fz+Wirdxkx1f3tYVmv0X1hWrLsVDOyukjgo2Xmn6j hQ86oyOUnEjq
JpGTMQjl2L9+i3foyvVnYeCgTxUbYxZy8oGXe5kLKzAZrMNrFmXTAr5tEXjf MfGOlmpjnTKu
VJysQ5kxOkoUDgGyJkzBrqUdGDucvKBmIuZeysv+azDa+plqwM+cxFnXzHyb pFqU5EzLmSbL
HOVMDqplE4hsgZQoa6mDXGX/AJXLtuDHOTzAYU5usScM5mctOKt6cbWcwtxy 1ftY51IuWpzF
mIh8cihTyrsBFM5CmKYupREoDSwMrl22/jnGZgMVs3WJOJkzB2nK29BtrxYW 42asGsi6jnLo
5Sw8QxOdQx4poACoc5SlKbQoCYRpDMOd0vK3DGLHrAzLvbKF65gMZ7TsWGdP ysW0veNxtYxq
s6MQ6hUCquTkIZQSJKGAgDtCVMw6aFHTRbW4Rzg874uaOsqys+ODMxMzD9Fj EREXihEuHT50
qcE0kEUk3AnVUOcxSlIUBMYxgAAERrC51MNLcxgxryxYdXZJXA0j5HHV/wAY cWtdkjBvybux
LtVLun0aug6Q1MQANu1S7ZRMQ20Q5ijic++R7BfB/BS2sRbTvXGB3IR2OuF/ F2905hbynGB9
5fcCkbesZKVXar6FOIl3iRtgwFOXZOQpg0ZTDmSql0GFOt4/GbrtNyj0iiky u3OoXkMZIzF0
oZMR8sonSSMJeoJkyD1ShpS+/r7se1s2GNzC5rziY5dS+45QiD6RSROYg2vB gBgA5gEQ1KIa
/UHrVdC9fJJaHqiV/Nr2qPYtBpm4xp+re0b8GISsqRLXEj1kruAIClHKHgha OXDCLMXgvYj2
QcRMLfj0Gi0osRRc29tWGXNtGIQhR6ZQwBoUOQA6vVqKJC4psqjF8xZIOlGE ywfcUcujIkcF
buklzJioUhxJtFTEu0BR0110qacuU2vcdg5kZxzLGfKOr3XOd0cUdTjzoQfI IIdIXTqbICIl
00ETCAiMXwWEWK90RSU7bWGFwyLJfa3DxjCrrJKbJhKOychBAdDAIDoPIICH lVcNFQvaciPu
rAloBm6w+GF7zWEeIjG/rPw9MkSOarNGkWe/AFErVRUVdwJuZW8EoHEvTbW0 IEABEQE2vp20
rIxlmR9sTAIri3jEmroodMmpspgQwcocpR0Hqh1B6lbh4geOnYWu3tcddzp4 geOnYWu3tcdd
zqzaDW53z04xPDkFpW2mrXfjeZNvLJQPaWTrLPZLx09hMMBU43b7mCOhKTr5 8gnFuDEMqxSR
crqJottUyiVFMpSE5dgC7RtcjbWWfA+1IJ7b8daL1wlIyEe8euZe5ZB+6VUY LEXZlFy5XUW3
SKhCmIjt7svTBs6GMAzP4geOnYWu3tcddzp4geOnYWu3tcddzrcEj1zn537b rA4Tn64fJQhF
ZVMA4S72V8xlnSCb+MlnMjFkG65IzZiu5BQHAINjOBRRTV3ym8RIQqSgm1MU RABD0oLJjlnt
1i/jY3Dp0ZCRttxb66by6ZJyCUUuYhjsUd64NxdABTKJE0tgqfLsAXaNrPni B46dha7e1x13
OniB46dha7e1x13OobLcuzyj5GOxDBMn1x+d1FKmCeGKl5v7+LDySUlKSLZ/ IcXuV+k3cOUG
pmiahm5FwREdwbYN0mhwImJ9oUyCXxEwEwcJb5LWJZIAwTsc1oEQ5pueSFEA AWu1vNeoAfHN
d5/DqW/EDx07C129rjrudPEDx07C129rjrudIj1yI+RI7CRkUBAMjl5EEeBA I5gFQ0tlqwLX
xEb4oq2KoMs2dNnZSBNPAZKOm6YJIOlWYLcWWcJkKUpV1EzKlAhdDBshp7AZ fMERarMV8O26
7dxHSzBw3dO11k1W0m6B2+TMQ5xAwKrlA/KGpdNCbJeSpd8QPHTsLXb2uOu5 08QPHTsLXb2u
Ou50NxB5+Yg+IsdRZBhbly8svDhoozwjwrsDA1m/aYcw7xE8ouRWReyk48kn bkxCAmmB3LxV
VYxSEACkIJ9kgchQAK810W5dsviNF4oWbjTd9mSjC2pW3XqtpO2rc8jEySzB Z21Muo3UXaiY
0c2Erlmo2cpCBjJrENoYJG8QPHTsLXb2uOu508QPHTsLXb2uOu51JLiZKgBo EBREwwdY2+va
EBZl6zMBYtj3KvcVu4WwyDBKAaSy0c8j1HSKYtRXagZB+4MLZuuk2MsodwZE VlVlVJ/yuyzp
/jxAIrDyAZ0Icv8A7It+mtd8QPHTsLXb2uOu51sWE9g46YYX+wvkcAbtfcR3 v9i8w3SW3tpH
T+S3RtNNvXqD1NKzqglis2AVcGlRJ4veOfpQbt+8Ou9a8TLMVjLJImcR2U26 HCZVlEjKIlcH
AFEziQ5BEGvyRTlMUQ6oCUQHlCueHaHwUwpgpUSeL3jn6UG7fvDrvWni945+ lBu37w671pDt
D4JClulRJ4veOfpQbt+8Ou9aeL3jn6UG7fvDrvWkO0PgkKW6VEni945+lBu3 7w671p4veOfp
Qbt+8Ou9aQ7Q+CQpbpUSeL3jn6UG7fvDrvWni945+lBu37w671pDtD4JClul RJ4veOfpQbt+
8Ou9aeL3jn6UG7fvDrvWkO0PgkKW6VEni945+lBu37w671p4veOfpQbt+8Ou 9aQ7Q+CQpbpU
SeL3jn6UG7fvDrvWni945+lBu37w671pDtD4JClulRJ4veOfpQbt+8Ou9aeL 3jn6UG7fvDrv
WkO0PgkKW6VEni945+lBu37w671p4veOfpQbt+8Ou9aQ7Q+CQpbpUSeL3jn6 UG7fvDrvWni9
45+lBu37w671pDtD4JClulRJ4veOfpQbt+8Ou9aeL3jn6UG7fvDrvWkO0Pgk KW6VEni945+l
Bu37w671p4veOfpQbt+8Ou9aQ7Q+CQpbpUSeL3jn6UG7fvDrvWni945+lBu3 7w671pDtD4JC
lulRJ4veOfpQbt+8Ou9aeL3jn6UG7fvDrvWkO0PgkKW6VEni945+lBu37w67 1p4veOfpQbt+
8Ou9aQ7Q+CQpbpUSeL3jn6UG7fvDrvWni945+lBu37w671pDtD4JClulRJ4v eOfpQbt+8Ou9
aeL3jn6UG7fvDrvWkO0PgkKW6VEni945+lBu37w671p4veOfpQbt+8Ou9aQ7 Q+CQpbpUSeL3
jn6UG7fvDrvWni945+lBu37w671pDtD4JClulRJ4veOfpQbt+8Ou9aeL3jn6 UG7fvDrvWkO0
PgkKW6VEni945+lBu37w671p4veOfpQbt+8Ou9aQ7Q+CQpbpUSeL3jn6UG7f vDrvWni945+l
Bu37w671pDtD4JClulRJ4veOfpQbt+8Ou9aeL3jn6UG7fvDrvWkO0PgkKW6V Eni945+lBu37
w671p4veOfpQbt+8Ou9aQ7Q+CQpbpUSeL3jn6UG7fvDrvWvwvmCxsbJCu5yj 3UmQvyRzpOQA
Pui1pDtD4JC82JeQzI1jRez3EvGLJjhPdlxyW75o3Bc2HUY/fOt2mVJPeLro GUPspkIQu0I6
FIUocgAFZ7BXK7lmy2c0+h0y62JYPNrc82Ocq0WUVx/c7zdb7iqRN7sb1XZ2 tdneH002h1i6
5uEBaWVLmt+8sMiRL8hCnOxk58EFilHqCJDoAYAHyh0r8wnCDx1yyKURbmG6 Mg7XNsoNWVwg
qoobrFKVEREf4qrj4KcDs1JU1/6y/ZDg/wDumsdjdZGPLnFe1cVMDG1suVYe 3pmKkWtxTjhh
qV4vGrEOmZFo42tBYmAQEC/JlEBHlrFWdiA7xMw1m78j4NNsu9v+KFBis8ES AcikYmAGUAmo
AIkARECDpr1B05ZRTQxwVIVVLDWHMUwAJTFuByICHXD+wa6Ng2yrsG1itTAJ E2IkXBBkdhXN
t+xUtv2U0KhIBjIwbEEQe0KJsOcteNjWyW6Fz5k7ktCVWlpl/JRdhGinceKr 6YevwOCslFKL
HOBHREzD0hfjQaEAdTGl5C1mjizSWVdjo9woHjAZSS803QOaTIKe7UMuRNMi RhUDUTlKmUg7
QgBShoAePimOfYyiPb913jTimOfYyiPb913jV9t26vt73GsMyTGGMzJ4ZX4r PYthobAxraM2
AElxOQAHHPsUUYW8HRk8wbvBhfNj4VuheQyCyFvN5q7JWUZQSapBTUJHM3rp VvHAZMxk9Gya
XSGEnyIiFerZvBm5KrEaSjCAwkeHQl7NfWk6Rk7xl3xUoF2JBWjEAcu1OKtd Uy7CKOwRLpt2
BNo2u8Yt40L4AW63u/HeUw/smJdvismspd2IAxrZZyYh1CoEUcNCFMoJElDA QB2hKmcdNCjp
H5eEZywHLtEzVZfxDrhjky7jXKXOOc5RxyMgjsIJB7TqV2AYTI1B7xke0WW1 Wnkly1WUsxdw
livjuY6bNMN3sldMk9cGfGiQhzOFFnDg51jixKCI7wxtR+OD8cET17SeTnLU W3Ya0F8K2jmK
gLAc2TFxz544cIkgXANyrMjkVUMCxTA0bgJ1NpT43yGDaNrpyfCI5Z1TAVLN HgEYRHQALjey
HUfvNe2lnzwDcF20MxWBpwAdBEmM7UQ1+4hRxLs54DI5AFoHc1xb2EjIlQ0B kYbRlyvPzAPb
dbfgLlWwQy0hKKYS25JIuprcBKSk9dEjMvnCaBTFQRF1IuF1gRSKY4JogcE0 9s2yUNodfRvH
AvDjM3lvvHL9i5Di/tu7nE9GS7Yh9g4pKSDkNshv3ChR0OU37kxSj5VYEmej A1QQKnmBwQMI
joABjI2H/wDQV4bVzW4UW9Gqx5Mc8G3G8kXjoThiwgXTfuVF9nTcD8jvNnXy 9NdA10qHPe54
cZ8+SBrWtgQqSWdkY4e/KVARGXTLrivl4xNsu1QO0wzv/FaEdluG02Qk2CJh uyGKXYL0hdOM
dKAB0pABMtreC74ONbINY923JibisviFizijPBO4oX65b7rmi7AD7tBImvSo IiqtsagAiKpx
2SFEqZJKSzXWItrucT8JT6dXZxTSHT/NqzEFjStdIgW2ZXD6RERDQGGIG+15 dP3DQfLDSrGo
SMvJA1YPF3InlexxxCPirf8AYD8J9yxTZSj+BuyUiOazVMR2G78jByiSQSLt GAE3JVSgBjBp
oIhWBe8GJkaeoRLBPAtNkxhmZWaETE3DIsmLtoV2o7I0eNW7giL9sRdZU5G7 kiqSe8MBClKO
lSYe+bzTOKakXZ5TFHQxRvJQBAfYdfzn8vDzus7tzU7zqGuLIwyIMixsb37b m/Mo4Ypm8iO6
1uyw8BotFvPg9cp1/X47xHuOwpgZJ7cTO4FU2F8zLNmSXaikKMimzbuyN0XQ AgmUVyJlUOQo
kOYxTGAfBenBxZPb9j2kZO4aSSCbM8toeFvaYjVXKUm8M9ftnCjR2kd01WcH MoZssJ0dR0Ag
AABUg8/l4ed1nduanedOfy8PO6zu3NTvOoBIaGgGBlY2sBbSwA7BGSm+Ium5 59/zJPeV7b6L
irYl7Eg4GORZsWEyZuzaNkwImgkSLelIQpQ5ClAoAAAHUAK0/MNZOLl23g5W w9lbuhUnLCJ0
m7QXZAqItl35lW6hXDxubZEHCRwEBMUTEADFOXaIbOqTU3OXHCPZte12TWLk VHSp2lzGcKH1
arogUCmbph1VgHXa6hR5Bra+e62vRIw9mE/TW1Kq9rnOImdZ49kFcu1bJQ2r Ztw+zeRj5ZKE
bjtbMrKupVSJh7mZQ76Luhqe0t1FnQerSTh0qg4VcBKBuzJgo3DQETiXZWAo jvNQnXEqw7Ax
jsKVwuxTtBhP29OMztZaHk24KoOkTdUpij9wQHqgIAICAgA16kJfVn3K6TY2 5d0ZILrCqCKL
J+mqZQU11G6gABTCI7KyKqRtOodI5R0EogGe5jz3nO79jn/RXVtm2VNta1tR ohoiwi3PXtN1
GybLT2NznUyZJm548tO5QE24LrImVuZKawcfzyoxzmPSf3ZfM1MO27JwgZBV qi5fPFVkEBIc
dEkzlIQ4FOUpTkKYMvbPB75SbUl3lwsrHn3kjIu4Z1JyE7iFOSTh84iXfG45 ZdR29UMuogt8
idQTGEgAkYRTACVM3Mee853fsc/6Kcx57znd+xz/AKK5w94cHAmREHsMjwNx obrfCwtLYt/b
7DwUPXlkDyk31bsfbExhzJNUYqQl3jF1A3nLxbwhpRyd1IpC7Zuklzt3CxxO o2MoKJtChsaE
KAZ9XA+08KIWfujLfhTbqF1OrKY29Fx0nKOGUWq0jyuAYM1N0muDZBMXKwCZ JAx9k+ggbZKA
SFzHnvOd37HP+inMee853fsc/wCis3NxUnU8gc/Aj6nxKuCMYcbkfcH5gHtu ouyLZaoTJblM
sjLTCCzONtRGxILx6JiIOHypzLulUym6YCGXUUMUB5QKIAPUryY7ZYWGOGKN rYsoY337Zcjb
dvTNvuSWPItGgzERKrxqz1msuq1Vctds0U12XLFZq7R6cyS6ZxKYsm8x57zn d+xz/oqPLtzP
5cLAu97h9feYSx4SfjVU0pGEl7sZtnjU6iRFkyqIqKgcgmSVTUKBgARKoQwc hgEdalV9SoXn
M3VGta1sLVoLIbhDZOJ9jXdhddE/aFoYe3C5uC3MH7ZQjW1qtpdeKfxarxJv xMXDTabSLgxm
zVwg0MuYzkyBl1l1VpLxHdb+ds8n/wB5FB/92vq1pLNVlmX/AGjMbYZ+X9xd 7If/ANLXgubF
Cw7sXiZOw8TbOkl4aVF0ugrdCRCCQ7VwjptpgoJR1V1DUvLsjy1k8uc1XbAK kClafz+Xh53W
d25qd517Le48SHenFLYtdXUu0G7uxY2odfkZdSs55HwKmFFliZScVsL44IKz MdIVZqggk0Zu
p6ylnL7iSACRsgoqlIopm3afJ0iSZTGMopsAdQ4m37DvB6Yg5kl2Yl3YzuGW aCYsSZlEHZNW
BTFEp1CInXXEVzAYxBVE/ImOwQpAOsKuUeXJiPHpAs/tm10CCbZA612LFAR6 2osuryDXr8/l
4ed1nduanedeBsn6L+wdh2kbRRoQ8ZGXGOwEkdlrcF6m0e2fae1UjTqVJBzs 0eYAK2W4PlC+
+s1fyBrJSnyycf38/wCUNaFIXleD9gux4jZxN8iYm1z5KDpqAhrpxOvZdYh3 g5cqOOZdnF3i
gm059FB01HX6Dr355HwK8uF612WNfcZc0hfWEkuwSdzceVjccPLrLptpFIhT gkoRZAd41XKC
hi70pTal0AS6lKIa1YmEeLbjDG3MEMRX8axtC3UG5F2LKfcy0hNGQOVRMXT5 ZBsGyZQu2chE
Q2vkQEpdS1tfP5eHndZ3bmp3nTn8vDzus7tzU7zrqbttdtPAPldYO2ak5+I/ NbhStP5/Lw87
rO7c1O86/KmIN2Il21WVmlLqAamvVQA1EdA/8z69cs8j4FbwtypWlt8R7mdy KkO0b2Uq7RBA
Vmqd7HMoQFhVBERKDPUNsW6+zr8luVNNdg2md4pjn2Moj2/dd40nkfApCy9K xHFMc+xlEe37
rvGnFMc+xlEe37rvGk8j4FIWKxiwFwMzEWyhZWYDBi076hmr8r5tEXjbjWTa ouikOmVcqTkh
yFUAiqhQOAbQFUMGuhh10W1uDj4POx7mjr1srIdgzDzMO/RfREvF4XxLd0xd JHBRJdFVNuB0
lCHKUxTlEDFMUBAQEK3S7cQLssCONMX2xs2EaEVBI7qXvRRsmU48gFEyjMAA R06nVrXE80No
K/tWImFRv+bigmP/AMtUbwC0qQwlbpevkktD1RK/m17VJ8T7DVujNnjVIEvO WjgJe8cnuGJG
okNpbEIO0O9QObXl05B05A5Orrbo1yXBc89ZsquygTRi82qdq/hp870qo8z3 oBpq3TKJfkum
Aw8oaacuoVluX56PG31fR/wXgq02cB7z60VaktClmwupmj9Xq3wOgqm7JM+3 OWO2U9epx336
vVecBLij7qtTM3NxkgLpFTEF4mC4gbpjJ2nCJmDpg15DFENfL05OSpuydvtz lyt1PXqcc9+L
1djml7nA2MfVHNOAAqXbrv217EteSvi+LmYQ0LDMFn0xMSrwjdqxaokFRVdZ VQQIkmQhTGMc
wgUpSiIiABWPwpxisbG7C628aMMJ7mnbV3wDOat2S4sqhxti6QIugtu1ilUT 2k1CG2TlKYNd
DAAgIVCOY6TYWvi9aOLGYIeP4L23svJJJEdhrbU8kuVVpcEymOvHI5vslEim pEotwUkg4SXI
Qj+E9Pgr5DY4MLLgTa6mA1nh/wC5WlbYhErLDdWSkrjaRMetJvlthFBMTqG6 vIAeUHlj9Ty6
iHEbNbI2K6nVJJgVinbrFu6dtFY4qxlSrKoJEAVzu0Em+hnBBMorokUCqiKm iKol26+lHkhb
KyTATCqksguBCBqY4JLEUEoB5YiBBDT6tVsLmOwywRPdMfizdl73Q9s+OSmF XCbPZTFFcyZC
FBw4WKkgntGKYzlZRJoUOMmBQpGTsGvn7Xs/t72htey7J7LIYarnBzyxtQA4 YZTDHPYcT3uk
OGIAUyDGIFbto0nbBtVZ0zSZigSIEw6oSARhZaWkicQjIq0+GuKRL/txjNLR izFV9Ftn6Ldc
olMZBdMDpn0EAEo6DoYohqUwCA68gjXt1wtVjRknKSs5lXxcZWJC4jrWVJ4p KNINSFbyKUlz
MFQ6SMqeQK3F0JSb0WgAAGAxgKXUQyWSu3bvg7VRnbjxeuO8U37ZR63kbpZO GztJN0RsdNud
JwcyqRygkZQ6ZtkCKOTlIkgmBEU4oy18GZYTqTuy+szsJejp87xxuG6oi1Xe KssrbqqRppZ5
GvDQ6D4Y8xtN0tsqI7QHADHKBw5O3ZRtdN1Nu3MwPDf2jTEhwcwEWJEkFxAD oGpAK8nYq9ba
vZLKzmYajiBEgwC15kkSIxBsm+cZlWubZustkniBO4QW9j5ZsteltMlXc5ZU VdLNeYZJJlAx
hVZlV3qegCXlOUA6YOXlrCWhnyyv3FYeG98XLjLbtnq4sQjKTse3r0uFlHyc kRykmomikgdY
RWVAFCFMVIVNDDoAjyCNHrPy3Z3eiZsy9LwwPuFOMt2/71cyiMU8tBlbjdCW aSSTd9HItjFk
nG8Ms3O5O+U329OYxETgImJolycHPnGLYUbYj2zb6kGt55eLPsadjbSuKzEG sI7jm6yTpvIu
Jhk7cptynX3xF4rfH3hTiCe0VNSrUXB7QXcd3yzFUu7IhgkzBPOF6L2Br3AZ DFzyLAO3Nxi0
xwF1d5/wwGSCLzFHytv8XotK7k8TkrFOxUn4wohIqRXNAq2wLre8X2v7C2tj b458Z2P3VTPh
vmXwCxkn5y1cIccrPuqUtl1xa5I227mavnEStqIbpymgoYyB9SmDZOBR1KPW qi2KeWPNKtmB
nH1qYSzzuKWxzjriY3aynokDDHr2ApbirspFniSu9aPNlVUhkyGOkYDIAsbV MP3wZuT/ADC4
M4rWbO422rfcYXDXCVazW724Z2zzRrw6i7MxiRyMFHpO12mrQVSqyKqaxBU0 3JzKKqBaiWv6
LjEAXyk7vEbcIcIg54rGWEHOqHNAcBmBbOJeRnx6MGRlFx0pHRbml/CpzS/h Vr/NL+FTml/C
qmMK+FbBzS/hU5pfwq1/ml/CpzS/hUxhMK2JGQ21iE2uqYArWcvXzNP8Ypr8 6u69qOkNuQQJ
tdVYofjCucmH+TLMVwjeZjHpS7eEyx3wrsLC3E8bWsqzsEbtJb4gopGspZ25 drkSOZ0J1ZQQ
KBg1KBBDa02SgaZqjsP0QiGeua6j0rnx4wNLfTtc+/4Qhu9KeMDS307XPv8A hCG70rdZroPS
ufHjA0t9O1z7/hCG70p4wNLfTtc+/wCEIbvSiLoPSufHjA0t9O1z7/hCG70p 4wNLfTtc+/4Q
hu9KIug9K58eMDS307XPv+EIbvSnjA0t9O1z7/hCG70oi6D0rnx4wNLfTtc+ /wCEIbvSnjA0
t9O1z7/hCG70oi6D0rnx4wNLfTtc+/4Qhu9KeMDS307XPv8AhCG70oi6D0rn x4wNLfTtc+/4
Qhu9KeMDS307XPv+EIbvSiLoPSufHjA0t9O1z7/hCG70p4wNLfTtc+/4Qhu9 KIug9K58eMDS
307XPv8AhCG70p4wNLfTtc+/4Qhu9KIug9K58eMDS307XPv+EIbvSnjA0t9O 1z7/AIQhu9KI
ug9K58eMDS307XPv+EIbvSnjA0t9O1z7/hCG70oi6D0rnx4wNLfTtc+/4Qhu 9KeMDS307XPv
+EIbvSiLoPSufHjA0t9O1z7/AIQhu9KeMDS307XPv+EIbvSiLoPSufHjA0t9 O1z7/hCG70p4
wNLfTtc+/wCEIbvSiLoPSufHjA0t9O1z7/hCG70p4wNLfTtc+/4Qhu9KIug9 K58eMDS307XP
v+EIbvSnjA0t9O1z7/hCG70oi6D0rnx4wNLfTtc+/wCEIbvSnjA0t9O1z7/h CG70oi6D0rnx
4wNLfTtc+/4Qhu9KeMDS307XPv8AhCG70oi6D0rnsrwBVyJJmVjOG7z4JuSg ItzucexWTKf9
yJ0+Khtl101LqGocmoVvHAb5mcf8wGWzEPDzM5fZbuvHA/HS5cMJG9OJlbqX CSLMgKb1VMnS
lUMRwUg6cpt2BjCJhMYSK6NKUoiUpSiJSlKIlKUoiUpSiJWKvbyMOv5H5Zay tYq9vIw6/kfl
lqr+oVIzVdMIbja2dYcjPKLLlWf3xcW+BqBjLvVizj5uimUA6ZQ27RSTKXyg IAcgBWWxUu1p
f2XC9lnqDpB7G2y9XWj3wiVdg6TbnVSN1eQQMUpynDkHQBAa1LCO87xjoN6y icE7ilEW153M
CUkzk4dJJbanpEREhXD9JUADbEg7RC6iU2moaCObxive9XWBl6NnWAdzsk17 SkSLPF5OFMRE
otlA2zglIHOJSgIiIFKY2mugCPIPnScHdouyBiC0DLX8wFf7Icb76j6ujBfK Nn9aJ/khVLst
fzAV/shxvvqPq6MF8o2f1on+SFdFD4jvXErKt1R64Be1SlK61zpUezVi48u5 l27h8bOKNFXK
h2rXmS1NuUxMIlJqZARHQNA1ERHk6o1IVKIo08T3MX2fP/czTvevEvhdj66O CjnG9JQwBoBl
IJkI6dblb1KFKIooWwdxscAJXGMDM4CGgge3WI6h1uVtXoKZc8RVtN7fsIbT qbVoxw6f5rUz
UpkihJ1levF7s8cuu3VtnXZ3tlxhtNetq1rXbmyAWveqe5vK2sO5YnL0knhh CrhyhoPIdkPl
clT9M3haVuysVBXBdEcwfTrs7WEZvHqaSsguRE6xkkCGEBVOCSSiglKAiBEz mENCiIZGpkpA
VRluCNy1uDidfLzgicxjamE+CFuCIj1+WPr8+NC5ZPS5YHe4dbfg6rd0pJRV E8aFyyelywO9
w62/B1PGhcsnpcsDvcOtvwdVu6UkoqieNC5ZPS5YHe4dbfg6v4bggssJ/ksu GBw/x4G234Oq
3lKSUVfMMMlI4M3Zb89YCkBGxlvteJMragYFrFsG7YzhVwcEm7RFNIgisuso YQLqJjibl5Sn
sHSlQiUpSiJSlKIlaHipl7w1xHZyEgfDy1Rn3+625ySthm7WNs7BenFZI+38 bLsBtAOgaaaa
BpvlKSQirqOQ+FENBh7AEB6oeJrDd5VjJTg2sNJvY5s4dYWu91ruuNYTQSmx rprptMR010D1
qs7Spkoqo+NU4DdhHBv3GLe7wrwq8Ezl3X/b8A8Fj6jqO3gnbo8vX+V9W0pS SkBVEHgiMsxh
ExsumB4iPVEcDrb8H08aGyy+lzwP9w62/B9W7pSSip8vwPeWZYdtPAPB1sfT TeMcH4FuYP4j
JMSiH6eWvAPA3ZcBKYg4WYfaGDQf94sfr9weL8n3KuRWOta8LSviKNO2VdEd MMSu3DUzyLep
uEgXQWOiukJ0xENtNVM6Zy66lOQxRABAQqFEBVHa8Dbl0ZKAq0w2sZMwAIAY lnMgHQfq7ivY
W4IbA1ZHcGs60Sl5P2u12hBD7pUQEKuDSilU7JwP2BaZQBO1LXLp1DFt9uA+ vuta8S3A54Fr
KCqeBgwEeqBI4pQ9YCaVcmlEVWsNODfhMDnaknhM9jIwXEg1eSTdqwITj52x VyIgocCAY2wV
y4ApRNs/HTdQdk5bRpioKZRWIUpxKG0UptQAfLAB0DX1gr9UoiUpSiKvOJSR Fs0UAdYu1xO1
7jdtgNygmuD6HRBUA82Ca6xQN1QBQ2nVqNML+E7wbxAx7Lg00a3UhAyT0Yq0 cUX0ecls3PMp
mUBxFsXojsqrE3ZgKPIRY6axEjHMkIG3TMJdr6xswEFcDaypWcItbtwMhQiF GpVEznfRCpTG
4yukXZ0QOHIIjqIcmmoh6cRjbHM41tDKZaroI0aGTM1agWF3aJkzAZMSFB/o USiACXQOQQAQ
6ledvGteQV1hpLAvZZNG8divIRzJIE0EsUTGSRKPSkFS2SKn0DytpRQ5x08s 4j5dVyuX56PG
31fR/wAF4Kp/s64j3ffbi5zwL2MB5ibtEZSBkRWTAtskT6bcqKE5RIIhoYeQ Q10HUArLiQ6d
IZsMaiIOVCAN8RwiBDiHLzsQlX2UgvMKlWwCk/K9bR7PwszC24uiKaza7DA6 IIaCCxrNgjK6
/V2xNUq5W7uRi8CYJia3rhXEnGvjrG1n7lI2rpUelUSRMQ3V0HQR0HUB5QEK j7BZVNaAzOHS
OBgC/nJREOuFowYCHrgNbHl9jST1h2PBvJGRSamhptc6TCVXa7ahJBApTGFE 5BNoChwABEQ6
Yah7gHOLcrfVWaOiMSl7n9b+hO7e0mU73r0LWlLRsa2I2ybJwwnoeGh2CLGI iIrD2RbtWLVI
gJpIIpJtgIkmQhSlKQoAUpSgAAABWk4gzFk4b33C2tONbpNHSUPIyEjOpXlI bqIRaqskt6uQ
V9QQEzwu2qGoIgXbOAJAoqluniYW3553F23SXfFUD3m1k6CyPP639Cd29pMp 3vWEeI2S/fqS
Tiwbx3qy29U3drTRCmPsgXXZKiBeXQBENNBERHqiIjn7NsqFgpVV20cyixjM lyiWQnHbogfG
xMAgRZU5QMAlDQwBqHX5Rr1LuvKOtFshv2y7t48V3UdGMiAZd2ppqIEARAAA AARMYwgUodUQ
1DXVlatSGIOjslUeyk+zhPav5FXTEwkajExlmXamg3TAiRBsuVMOgeWJjNxE wj1RERERHURE
RGvY5/W/oTu3tJlO96wSt24qxSQys9hKiLEobRyxE8Dp4mXyxFEyKZR06xFD j1gGtkhpqKuK
KQnIN+m6aOkwUQXSHkMUf4+UB8oQHQQEBAQAQEKyFc1XE8eYI+asA1ogLwc/ rf0J3b2kyne9
Of1v6E7t7SZTvevdXcINUDunS5EkkyCdRVU4FKQoBqIiI8gAAeWNam1vu+7p S5qYeYdIu4we
VB/NS4seNE8o6KYIqnEo+UJwT16vU5aPq4BfyBPySyz/AD+t/QndvaTKd705 /W/oTu3tJlO9
69S1b2RuB44gpSJXipdmUDuYt4Yom3YjoCqZiiJVUxEBDaKPIIaGAoiAVm6l ry4SEssfz+t/
QndvaTKd705/W/oTu3tJlO96yFKtLkssfz+t/QndvaTKd705/W/oTu3tJlO9 6yFKS5LLx25e
yDu4WDULYudMVXqRAUcWhIpJl1OAamOdACkL1zGEAAOURAKhrgrvmp5t/tml PgnbdTpBfLxn
9dp/lBUF8Fd81PNv9s0p8E7brSiSagnQ/RUf1fXNW9pSldaxSlKURKUpREpS lESlKURKUpRE
rm3cma3HXLxlnx+yVBiRNSuMcHiklZ+EE3NSyzmReM7sX3sG9FdUxlFeJkcO yCcREQLEH5eS
uklQTiXwd+X3FbO7Y2fq6FJ0t6WFEKsI1g1kCEi3upHJEHDpAUxMqu3K8eAi cDl2OMqagbUN
K4Wuqhr7sdZw/hkOMfxENwA/hDyeCvjcymXM67SHN/xCQAf4RixEcS0BVnuH NqXIAnmQdw2H
CNyz1ivsObWipxzzVkJe65KQjmjJs5lDpmcuHhyKLFMINkd8oUpigVRUwCP5 bcKLnPsawr7u
rEfCRGWi7GTtycdX4vgHeVkxq0QvLJtZlmDS4BKqLxq0MZymumsomco6nSLs GKNm8R+Dwy94
tnxdLiCM6/RxmWh17jRJJggMc5i0E02TlgoiQirdZMySSwHE5xBUgGDQOlrw w+Qtq9wkvzBf
GzNbizijD4gWmvbsgF9ScVtMGSqKiRxbFYR7VMFRKoIisqRVQRKXUw6aDc1K he6q8YnWMZAw
0dHl0wSYABaYmLGgp0wxlNphtgTmQJEnn0ZF5veJgitlvcL7jtduLN3YSQ+H 9oJu5LG6BtrB
pc7Z0oEvby8y/jZN85KDgu8WRCElliCmJCAQW4mKbptqQOG4vO+7RwKwsZ2L IYjFGex+tqJl
4vCm7VYSbmWK4uAWYN3abtpsCqAAHTLpF1ABEwaaht2G3BI5WsLr+wGxJgJO 615PL1ar2CtA
76TQOWUI6RMkd1IgCAC4cgKjhQpyCkAHdLDsjtAAS5mGyz2JmWTspO+5aXaB YmIMZeMRzJXS
T3z5iY5kU1t4mfaRETjtFLsmHQNDlo1lMCi1xnDVYXGM2NewZHMuawvcDm55 bkEY94fVfEB1
N4A0e5j+Ogc4Nacw1oOa5s4JcIbjrlkt7EKzoFPEZZ1cGPrOycObDxsRmr3u ixQCDGRfOZFC
LF2/kW6hETrNkG7hcDFUAeMETA4py1I8J5niicFH0rNYJ8ynMVia0gpLF2by +Xqwg0oJeOVd
c2Od11upTRNwmDFQoLiimdQiplwIOyE+5h+C1y+Zi8b3+YmXvC9bZu14wiSt 5SzphBmdjIxi
rgzGXREyBx44mk7cthE4nRUbrGTUSOGmmZDJNiAWwAtQvCG49BNc3QkhvXmn ADICXc7rinFx
iOZ/F9Om2AabW30+1ry1UOe6kS/rdEdzd2M5mXYXuOUB8YnEANFobVAZ1el4 uxnT8OJrRmCW
ThAJnScF88d/31ingFh81xMwvxBiMUbYu+Rm71w+j3SLJdWKUZlbgzIq8XFv /bJyLpKnWMVR
MSgYuyIDDcNmCxOzMZ5cGrilCQUVMQF7Y2WrBuG0cso2IlGnSZtF10hcAdU+ ykQygEUTA47W
zu9Q0nqN4LTCK1bNs2Lw1xpxHte6rKuOanGOJMXIxy80+ezBzqSpnQPGK7JY rk5wMYnFilIZ
NMUgT2A09zATgxcC8vVy2bdlrX3fEq9smfuyZYLXDMIOTPHVxKgq/FycG5Tq gBw1TEDFMGo7
YqVchrnunLA8f5nEQRAFgCWgwDxwiVQY2tbGeMH/AChrxBmbk4HESRwkxJqf lxzdcIlgpwYu
FONl54qWxeqV3zhGEhfMphVcUwrZceB5Ey0jLEayy7qWKZVFs3IZPiZEN8Bl DGKXUL55QsW3
WOeXu38T3uMFiX6rJEWE11YatlkId7sLHIAoorOHCiJigUCKJnVOYihTlEeT QIwsbg1V8JsP
DYU4M57McrRt9nNHf2xGw763lCW+kdRwooybi5h1RXbGM4Edl4LkxN0nsHJo O1K2V7LPYWU3
CkuFNgS0zJprTD+Yl5u4nhF38rJPXKjp27XOmRNPeKLKHMIJkIQuoAUhQAAq Q4ONQm0kEaiw
tpa8mc/zAyLVBDm4OEg6HrX1k9ERlF7EQ6RKUpVFKUpSiJSlKIlKUoiUpSiJ SlKIlc+fifb5
V5y/t+MRPyY6ug1c+fifb5V5y/t+MRPyY6iLoNSlKIlKUoiUpSiJSlKIlKUo iVir28jDr+R+
WWsrWKvbyMOv5H5Zaq/qFSM1X/AvyHLerC5/hFJVsmN/zvd9+ouU96K1reBf kOW9WFz/AAik
q2TG/wCd7vv1FynvRWvP/d9y6ndYKFctfzAV/shxvvqPq6MF8o2f1on+SFUu y1/MBX+yHG++
o+rowXyjZ/Wif5IVvQ+I71xKpW6o9cAvapUD39wnWQzDaYSg7izKwbldVsVc p4BFxKogQTGK
AGWZJKplPqUdSCYDAAlEQ0MURwfjvfB2+mF/6JS/eldUhY4HaKylKrX473wd vphf+iUv3pTx
3vg7fTC/9EpfvSkhMD9FZQddOSuTNjZir4dY7YVmtbNVf0rj3L4hXy2xUwhe 3q+VjGKraHnV
IxmtEmU4vHoEOi0FsJCJg7IG/EVzEBQl
Re: CreateViewAndElementRequest wont create anything [message #502538 is a reply to message #502532] Tue, 08 December 2009 18:22 Go to previous messageGo to next message
Artur Kronenberg is currently offline Artur KronenbergFriend
Messages: 159
Registered: August 2009
Senior Member
Hi,

didn't quite get your post - does it work now? Or do you need any more help?

Normally, if you are working within the DND policy, you shouldn't need an AbstractEMFOperation, since the Command itself should take care of that (it is after all an GMF command).

If you don't have writing permissions that means that at least your code is working, you would just have to figure out, how to get that writing permission.

Re: CreateViewAndElementRequest wont create anything [message #502551 is a reply to message #502538] Tue, 08 December 2009 19:20 Go to previous messageGo to next message
Ugo Sangiorgi is currently offline Ugo SangiorgiFriend
Messages: 44
Registered: July 2009
Member
Hi Artur, sorry, it IS working now. :)
Altough i must agree with you that it should be a GMF command, if i just create a Command to set the model objects on my model, it doesnt work (editor gets dirty, nothing is added nor showed up).
It only works within a AbstractEMFOperation (which cannot be converted to a Command).

Even though it throws an exception, this surprisingly does not keep me from changing the model (?)

There should be a less complicated way of doing this.
But its working anyway.

Thank you so much!

Artur Kronenberg escreveu:
> Hi,
>
> didn't quite get your post - does it work now? Or do you need any more
> help?
> Normally, if you are working within the DND policy, you shouldn't need
> an AbstractEMFOperation, since the Command itself should take care of
> that (it is after all an GMF command).
> If you don't have writing permissions that means that at least your code
> is working, you would just have to figure out, how to get that writing
> permission.
>
Re: CreateViewAndElementRequest wont create anything [message #502734 is a reply to message #502294] Wed, 09 December 2009 14:42 Go to previous messageGo to next message
Ali Koudri is currently offline Ali KoudriFriend
Messages: 118
Registered: July 2009
Senior Member
Hi Ugo,

I have asked quite the same question just before you and nobody answered
me. Actually I had the same problem and after extensive debugging I have
resolved my problem in a different manner. I noticed that the Drop
request was processed twice: by my XXXDragDropEditPolicy which returns
an executable command and by my XXXCanonicalEditPolicy which return an
UnexecutableCommand. Since the two commands were chained, this resulted
in an unexecutable command. Then I have overriden the
undertandRequest(req) method of my XXXCanonicalEditPolicy this way:

@Override
public boolean understandsRequest(Request req) {
if (RequestConstants.REQ_DROP_OBJECTS.equals(req.getType())
|| req instanceof DropObjectsRequest)
return false;
if (RequestConstants.REQ_CREATE
.equals(req.getType())) return true;
return super.understandsRequest(req);
}

And it worked !

Cheers.

Ugo Sangiorgi a écrit :
> Hello,
> I have a DragDropEditPolicy and i want to create a command inside
> getDropObjectsCommand to add a node into a compartment.
>
> But i want to set some parameters of my model before inserting it (i
> mean, to create the EObject, set the properties, and then create the
> EditPart)
>
> I have a getCreateElementAndViewCommand took from GMF itself, but this
> doesnt seems to work:
>
> CreateViewAndElementRequest req = new
> CreateViewAndElementRequest(MolicElementTypes.Sketch_3001,ed itor.getDiagramEditPart().getDiagramPreferencesHint());
>
> this.getCreateCommand(req); //this have canExecute() = false
>
> Does anybody have a clue on how can i do that?
>
> thanks
Re: CreateViewAndElementRequest wont create anything [message #502795 is a reply to message #502734] Wed, 09 December 2009 17:39 Go to previous message
Ali Koudri is currently offline Ali KoudriFriend
Messages: 118
Registered: July 2009
Senior Member
Forget it,
doing so disable moving view parts in the diagram. Instead, I have
overriden the preventDropElement() method in the same class. It works
better,
Cheers.
exquisitus a écrit :
> Hi Ugo,
>
> I have asked quite the same question just before you and nobody answered
> me. Actually I had the same problem and after extensive debugging I have
> resolved my problem in a different manner. I noticed that the Drop
> request was processed twice: by my XXXDragDropEditPolicy which returns
> an executable command and by my XXXCanonicalEditPolicy which return an
> UnexecutableCommand. Since the two commands were chained, this resulted
> in an unexecutable command. Then I have overriden the
> undertandRequest(req) method of my XXXCanonicalEditPolicy this way:
>
> @Override
> public boolean understandsRequest(Request req) {
> if (RequestConstants.REQ_DROP_OBJECTS.equals(req.getType())
> || req instanceof DropObjectsRequest)
> return false;
> if (RequestConstants.REQ_CREATE
> .equals(req.getType())) return true;
> return super.understandsRequest(req);
> }
>
> And it worked !
>
> Cheers.
>
> Ugo Sangiorgi a écrit :
>> Hello,
>> I have a DragDropEditPolicy and i want to create a command inside
>> getDropObjectsCommand to add a node into a compartment.
>>
>> But i want to set some parameters of my model before inserting it (i
>> mean, to create the EObject, set the properties, and then create the
>> EditPart)
>>
>> I have a getCreateElementAndViewCommand took from GMF itself, but this
>> doesnt seems to work:
>>
>> CreateViewAndElementRequest req = new
>> CreateViewAndElementRequest(MolicElementTypes.Sketch_3001,ed itor.getDiagramEditPart().getDiagramPreferencesHint());
>>
>> this.getCreateCommand(req); //this have canExecute() = false
>>
>> Does anybody have a clue on how can i do that?
>>
>> thanks
Previous Topic:Dragging non contained element
Next Topic:Re: Error in closing generated GMF editor
Goto Forum:
  


Current Time: Thu Mar 28 16:48:06 GMT 2024

Powered by FUDForum. Page generated in 0.05941 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top