Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » Problem to visualize dojoTextField within RAP
Problem to visualize dojoTextField within RAP [message #135595] Tue, 09 June 2009 13:28 Go to next message
Eclipse UserFriend
Originally posted by: s0181013.mail.inf.tu-dresden.de

This is a multi-part message in MIME format.
--------------010101000907040809030705
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone,

I'm trying to put a dojo TextField into a RAP Applicaton and there seems
to be a problem in populating the dijit.form.Button class to Qooxdoo.
This is what I've done so far:

- I wrote a short example (single HTML file), to check if the dojo code
works for what I want to put into my RAP Application. The required dojo
API is referenced externally as it is with the GMAPs API in the GMAP
Tutorial (see dojoText.html).

- I've put the Dojo API Reference into an IResource and registered that
as resource extension point (DojoAPIResource.java). Same with the
clientsided dojo widget in DojoFormResource.java.

- Furthermore, I've written an DojoFormLCA and implemented the
renderInitialize and renderChanges Methods the same way as it is done in
the GMAPs Tutorial.

Here is the clientsided code for the dojo widget where I want to make my
problem clear:

//////////////////////////////////////////////////////////// ////////
qx.Class.define("org.eclipse.rap.dojowidget.DojoForm", {

/* Use the Qooxdoo Layout Manager as super class */
extend: qx.ui.layout.CanvasLayout,

construct : function(id) {
this.base( arguments );
// Populate the id to the browser
this.setHtmlAttribute( "id", id );
this._id = id;
this._dojoForm = null;
this.load();
},

members : {
load : function() {
alert("DojoForm.js: new dijit.form.TextBox");
if (this._dojoForm == null) {
alert("if1");
// dojo.require("dijit.form.Button");
this._dojoForm = new dijit.form.Button(/*{label:"Hallo",
onClick:alert("hallo du")}*/);
alert("if2");
}
}
}
});

//////////////////////////////////////////////////////////// /////////

the load Function is executet, the second alert with if1 is executet,too
but later on I get the error: Could not evaluate javascript
response:'dijit.form.Button' is Null oder no Object. As it can be seen
in the dojoTest.HTML a dojo.require("dijit.form.Button") has to be
written to use this class later on. Where or how can I put the
dojo.required state into the JavaScript File?

Thanks





--------------010101000907040809030705
Content-Type: text/html; charset=ISO_8859_1;
name="dojoTest.html"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="dojoTest.html"

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEv L0VOIiAiaHR0
cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCINCiAgICAgICAg ICAgICJodHRw
Oi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4NCjxodG1sPg0K PGhlYWQ+DQo8
bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQv aHRtbDsgY2hh
cnNldD1JU09fODg1OV8xIj4NCjx0aXRsZT5GbHVnc3VjaGU8L3RpdGxlPg0K ICAgIDxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJICANCgkgICBAaW1wb3J0ICJodHRwOi8v by5hb2xjZG4u
Y29tL2Rvam8vMS4yLjAvZGlqaXQvdGhlbWVzL3R1bmRyYS90dW5kcmEuY3Nz IjsNCiAgICAg
ICAgQGltcG9ydCAiaHR0cDovL28uYW9sY2RuLmNvbS9kb2pvLzEuMi4wL2Rv am8vcmVzb3Vy
Y2VzL2Rvam8uY3NzIg0KICAgIDwvc3R5bGU+DQogICAgPHNjcmlwdCB0eXBl PSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iaHR0cDovL28uYW9sY2RuLmNvbS9kb2pvLzEuMi4w L2Rvam8vZG9q
by54ZC5qcyINCg0KICAgICAgICBkakNvbmZpZz0icGFyc2VPbkxvYWQ6IHRy dWUiPg0KICAg
IDwvc2NyaXB0Pg0KICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQi
Pg0KICAJICAgCWRvam8ucmVxdWlyZSgiZGlqaXQuZm9ybS5UZXh0Qm94Iik7 DQogICAgCWRv
am8ucmVxdWlyZSgiZGlqaXQuZm9ybS5EYXRlVGV4dEJveCIpOw0KICAgIAlk b2pvLnJlcXVp
cmUoImRpaml0LmZvcm0uQnV0dG9uIik7DQo8L3NjcmlwdD4NCjwvaGVhZD4N Cg0KICA8Ym9k
eSBjbGFzcz0idHVuZHJhIj4NCg0KPGZvcm0+DQpBaXJwb3J0IG9mIERlcGFy dHVyZTogPGlu
cHV0IHR5cGU9InRleHQiIGxlbmd0aD0iMjAiIG5hbWU9ImZpcnN0IiAgZG9q b1R5cGU9ImRp
aml0LmZvcm0uVGV4dEJveCI+PGJyPjxicj4NCkRhdGUgb2YgRGVwYXJ0dXJl OjxpbnB1dCB0
eXBlPSJ0ZXh0IiBsZW5ndGg9IjEwIiBuYW1lPSJmaWxpbmdEYXRlIiBkb2pv VHlwZT0iZGlq
aXQuZm9ybS5EYXRlVGV4dEJveCI+DQo8YnV0dG9uIGRvam9UeXBlPSJkaWpp dC5mb3JtLkJ1
dHRvbiIgb25DbGljayJmb28iPkhlbGxvV29ybGQ8L2J1dHRvbj4NCjwvZm9y bT4NCg0KPC9i
b2R5Pg0KPC9odG1sPg==
--------------010101000907040809030705
Content-Type: text/plain;
name="DojoFormLCA.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="DojoFormLCA.java"

package org.eclipse.rap.internal.dojowidget.dojoformkit;

import java.io.IOException;

import org.eclipse.rap.dojowidget.DojoForm;
import org.eclipse.rwt.lifecycle.AbstractWidgetLCA;
import org.eclipse.rwt.lifecycle.ControlLCAUtil;
import org.eclipse.rwt.lifecycle.JSWriter;
import org.eclipse.rwt.lifecycle.WidgetLCAUtil;
import org.eclipse.rwt.lifecycle.WidgetUtil;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Widget;

public class DojoFormLCA extends AbstractWidgetLCA {

private static final String PROP_TXT = "text";
private static final String JS_PROP_TXT = "Text" ;
private static final String PROP_TEXT = null;

@Override
public void preserveValues(Widget widget) {
System.out.println("DojoFormLCA:preserveValues");

}

@Override
public void renderDispose(Widget widget) throws IOException {
System.out.println("DojoFormLCA:renderDispose");
}

@Override
public void renderInitialization(final Widget widget) throws IOException {
System.out.println("DojoForm LCA render Initialization");
JSWriter writer = JSWriter.getWriterFor( widget );
String id = WidgetUtil.getId( widget );
writer.newWidget( "org.eclipse.rap.dojowidget.DojoForm", new Object[]{id} );
ControlLCAUtil.writeStyleFlags( ( DojoForm )widget );
}

@Override
public void renderChanges(Widget widget) throws IOException {
System.out.println("DojoFormLCA: RenderChanges");
DojoForm dojoForm = ( DojoForm )widget;
ControlLCAUtil.writeChanges( (Control) dojoForm );
JSWriter writer = JSWriter.getWriterFor( widget );
}


@Override
public void readData(Widget widget) {
System.out.println("DojoFormLCA:ReadData");
}

}

--------------010101000907040809030705
Content-Type: application/x-javascript;
name="DojoForm.js"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="DojoForm.js"

LyoqDQoqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyB0aGUgY29kZSBmb3IgdGhl IGNsaWVudC1z
aWRlZCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZG9qb0Zvcm0gd2lkZ2V0IA0K Ki8NCg0KLyog
VGhlIEphdmEgQ2xhc3MgdGhhdCB3aWxsIGJlIGVzdGFibGlzaGVkLiAqLw0K cXguQ2xhc3Mu
ZGVmaW5lKCJvcmcuZWNsaXBzZS5yYXAuZG9qb3dpZGdldC5Eb2pvRm9ybSIs IHsNCgkNCgkv
KiBVc2UgdGhlIFFvb3hkb28gTGF5b3V0IE1hbmFnZXIgYXMgc3VwZXIgY2xh c3MgKi8NCgll
eHRlbmQ6IHF4LnVpLmxheW91dC5DYW52YXNMYXlvdXQsDQoJDQoJY29uc3Ry dWN0IDogZnVu
Y3Rpb24oaWQpIHsNCgkJdGhpcy5iYXNlKCBhcmd1bWVudHMgKTsNCgkJLy8g UG9wdWxhdGUg
dGhlIGlkIHRvIHRoZSBicm93c2VyDQoJCXRoaXMuc2V0SHRtbEF0dHJpYnV0 ZSggImlkIiwg
aWQgKTsNCgkJdGhpcy5faWQgPSBpZDsNCgkJdGhpcy5fZG9qb0Zvcm0gPSBu dWxsOw0KCQl0
aGlzLmxvYWQoKTsNCgl9LA0KICAgIA0KICAgIG1lbWJlcnMgOiB7DQogICAg CWxvYWQgOiBm
dW5jdGlvbigpIHsNCgkJIGFsZXJ0KCJEb2pvRm9ybS5qczogbmV3IGRpaml0 LmZvcm0uVGV4
dEJveCIpOw0KCQkgaWYgKHRoaXMuX2Rvam9Gb3JtID09IG51bGwpIHsNCgkJ CSAgIGFsZXJ0
KCJpZjEiKTsNCgkJCSAgLy8gZG9qby5yZXF1aXJlKCJkaWppdC5mb3JtLkJ1 dHRvbiIpOw0K
CQkJICAgdGhpcy5fZG9qb0Zvcm0gPSBuZXcgZGlqaXQuZm9ybS5CdXR0b24o Lyp7bGFiZWw6
IkhhbGxvIiwgb25DbGljazphbGVydCgiaGFsbG8gZHUiKX0qLyk7DQoJCQkg ICBhbGVydCgi
aWYyIik7DQoJCSAgIH0NCg0KCQl9DQogICAgfQ0KCQ0KfSk7
--------------010101000907040809030705
Content-Type: text/plain;
name="DojoAPIResource.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="DojoAPIResource.java"

package org.eclipse.rap.dojowidget;

import org.eclipse.rwt.internal.util.HTML;
import org.eclipse.rwt.resources.IResource;
import org.eclipse.rwt.resources.IResourceManager.RegisterOptions;

/**
* This class references the external JavaScript Dojo Library for the DojoForm Widget.
* Afterwards this class has to be registered as extension point by the org.eclipse.rap.ui.resources to make
* it available for the application and the dojo widget.
* @author Jessica Nierth
*
*/
public class DojoAPIResource implements IResource {

/** Stores the location of the JavaScript Library to be used.*/
private String location;

@Override
public String getCharset() {
return HTML.CHARSET_NAME_ISO_8859_1;
}

@Override
public ClassLoader getLoader() {
return this.getClass().getClassLoader();
}

@Override
public RegisterOptions getOptions() {
return RegisterOptions.VERSION;
}

@Override
public String getLocation() {
System.out.println("DojoAPIResource: Dojo API Referenz");
location = "http://o.aolcdn.com/dojo/1.2.0/dojo/dojo.xd.js";
return location;
}

@Override
public boolean isJSLibrary() {
return true;
}

@Override
public boolean isExternal() {
return true;
}
}

--------------010101000907040809030705
Content-Type: text/plain;
name="DojoFormResource.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="DojoFormResource.java"

package org.eclipse.rap.dojowidget;

import org.eclipse.rwt.internal.util.HTML;
import org.eclipse.rwt.resources.IResource;
import org.eclipse.rwt.resources.IResourceManager.RegisterOptions;

/**
* The main function of this class is to load and register an external or local resource. In this case
* the local resource, meaning the widget code for the client-sided representation of the dojoForm.
* @author Jessica Nierth
*/
public class DojoFormResource implements IResource {

@Override
public String getCharset() {
return HTML.CHARSET_NAME_ISO_8859_1;
}

@Override
public ClassLoader getLoader() {
return this.getClass().getClassLoader();
}

@Override
public String getLocation() {
System.out.println("DojoFormResource.java: getLocation org/eclipse/rap/dojowidget/DojoForm.js");
return "org/eclipse/rap/dojowidget/DojoForm.js";
}

/**
* The Compress Mode should remove all blank lines and comments
* from the javaScript file in order to save bandwidth and parse time.
*/
public RegisterOptions getOptions() {
return RegisterOptions.VERSION_AND_COMPRESS;
}

@Override
public boolean isExternal() {
return false;
}

/**
* This Resource is a JavaScript Library
*/
public boolean isJSLibrary() {
return true;
}

}

--------------010101000907040809030705--
Re: Problem to visualize dojoTextField within RAP [message #135950 is a reply to message #135595] Fri, 12 June 2009 13:10 Go to previous messageGo to next message
Ralf Sternberg is currently offline Ralf SternbergFriend
Messages: 1313
Registered: July 2009
Senior Member

Hi Jessica,

I do not understand every detail of your problem, but it seems that your
problem is registering required Javascript resources. The custom widget
tutorial explains how to do this in the section "Registering the
javascript files". Sure you registered all required resources? If there
is some dojo initialization code required, you can either add this code
to the registered resources, or add some lazy initialization code to
your custom widget.

Good luck, Ralf


Jessica Nierth wrote:
> Hello everyone,
>
> I'm trying to put a dojo TextField into a RAP Applicaton and there seems
> to be a problem in populating the dijit.form.Button class to Qooxdoo.
> This is what I've done so far:
>
> - I wrote a short example (single HTML file), to check if the dojo code
> works for what I want to put into my RAP Application. The required dojo
> API is referenced externally as it is with the GMAPs API in the GMAP
> Tutorial (see dojoText.html).
>
> - I've put the Dojo API Reference into an IResource and registered that
> as resource extension point (DojoAPIResource.java). Same with the
> clientsided dojo widget in DojoFormResource.java.
>
> - Furthermore, I've written an DojoFormLCA and implemented the
> renderInitialize and renderChanges Methods the same way as it is done in
> the GMAPs Tutorial.
>
> Here is the clientsided code for the dojo widget where I want to make my
> problem clear:
>
> //////////////////////////////////////////////////////////// ////////
> qx.Class.define("org.eclipse.rap.dojowidget.DojoForm", {
>
> /* Use the Qooxdoo Layout Manager as super class */
> extend: qx.ui.layout.CanvasLayout,
>
> construct : function(id) {
> this.base( arguments );
> // Populate the id to the browser
> this.setHtmlAttribute( "id", id );
> this._id = id;
> this._dojoForm = null;
> this.load();
> },
>
> members : {
> load : function() {
> alert("DojoForm.js: new dijit.form.TextBox");
> if (this._dojoForm == null) {
> alert("if1");
> // dojo.require("dijit.form.Button");
> this._dojoForm = new dijit.form.Button(/*{label:"Hallo",
> onClick:alert("hallo du")}*/);
> alert("if2");
> }
> }
> }
> });
>
> //////////////////////////////////////////////////////////// /////////
>
> the load Function is executet, the second alert with if1 is executet,too
> but later on I get the error: Could not evaluate javascript
> response:'dijit.form.Button' is Null oder no Object. As it can be seen
> in the dojoTest.HTML a dojo.require("dijit.form.Button") has to be
> written to use this class later on. Where or how can I put the
> dojo.required state into the JavaScript File?
>
> Thanks
>
>
>
>
Re: Problem to visualize dojoTextField within RAP [message #135997 is a reply to message #135950] Fri, 12 June 2009 14:34 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: s0181013.mail.inf.tu-dresden.de

Hello Ralf,

> I do not understand every detail of your problem, but it seems that your
> problem is registering required Javascript resources.
No, I've registered the Dojo-API and the clientsided Widget JavaScript
Code as IResource per org.eclipse.rap.ui.resource.

> If there is some dojo initialization code required, you can either add this code
> to the registered resources, or add some lazy initialization code to
> your custom widget.
O.k. here is the problem. How do I add the dojo specific initializations
- in my case 'dojo.require("dojo.form.Button");' - into my JavaScript
Code?

I've already tried to use an extra IResource but there's no external
path I can use to get to the dojo.form.Button. Anyway this would be a
real overload to wright an extra IResource for every dojo widget type
(TextFields, Labels, Buttons, etc.) there is.

I would try next is to extend the DOM Tree by the required script-Tag
element in addition to the attribute 'dojo.require("dojo.form.Button")'
but I'm not if this is the right way.

What do you mean by lazy loading?

Thank you for your support


> Jessica Nierth wrote:
>> Hello everyone,
>>
>> I'm trying to put a dojo TextField into a RAP Applicaton and there seems
>> to be a problem in populating the dijit.form.Button class to Qooxdoo.
>> This is what I've done so far:
>>
>> - I wrote a short example (single HTML file), to check if the dojo code
>> works for what I want to put into my RAP Application. The required dojo
>> API is referenced externally as it is with the GMAPs API in the GMAP
>> Tutorial (see dojoText.html).
>>
>> - I've put the Dojo API Reference into an IResource and registered that
>> as resource extension point (DojoAPIResource.java). Same with the
>> clientsided dojo widget in DojoFormResource.java.
>>
>> - Furthermore, I've written an DojoFormLCA and implemented the
>> renderInitialize and renderChanges Methods the same way as it is done in
>> the GMAPs Tutorial.
>>
>> Here is the clientsided code for the dojo widget where I want to make my
>> problem clear:
>>
>> //////////////////////////////////////////////////////////// ////////
>> qx.Class.define("org.eclipse.rap.dojowidget.DojoForm", {
>>
>> /* Use the Qooxdoo Layout Manager as super class */
>> extend: qx.ui.layout.CanvasLayout,
>>
>> construct : function(id) {
>> this.base( arguments );
>> // Populate the id to the browser
>> this.setHtmlAttribute( "id", id );
>> this._id = id;
>> this._dojoForm = null;
>> this.load();
>> },
>>
>> members : {
>> load : function() {
>> alert("DojoForm.js: new dijit.form.TextBox");
>> if (this._dojoForm == null) {
>> alert("if1");
>> // dojo.require("dijit.form.Button");
>> this._dojoForm = new dijit.form.Button(/*{label:"Hallo",
>> onClick:alert("hallo du")}*/);
>> alert("if2");
>> }
>> }
>> }
>> });
>>
>> //////////////////////////////////////////////////////////// /////////
>>
>> the load Function is executet, the second alert with if1 is executet,too
>> but later on I get the error: Could not evaluate javascript
>> response:'dijit.form.Button' is Null oder no Object. As it can be seen
>> in the dojoTest.HTML a dojo.require("dijit.form.Button") has to be
>> written to use this class later on. Where or how can I put the
>> dojo.required state into the JavaScript File?
>>
>> Thanks
>>
>>
>>
>>
Re: Problem to visualize dojoTextField within RAP [message #136010 is a reply to message #135997] Fri, 12 June 2009 17:11 Go to previous messageGo to next message
Ralf Sternberg is currently offline Ralf SternbergFriend
Messages: 1313
Registered: July 2009
Senior Member

Jessica Nierth wrote:
> Hello Ralf,
>
>> I do not understand every detail of your problem, but it seems that your
>> problem is registering required Javascript resources.
> No, I've registered the Dojo-API and the clientsided Widget JavaScript
> Code as IResource per org.eclipse.rap.ui.resource.
>
>> If there is some dojo initialization code required, you can either add
>> this code
>> to the registered resources, or add some lazy initialization code to
>> your custom widget.
> O.k. here is the problem. How do I add the dojo specific initializations
> - in my case 'dojo.require("dojo.form.Button");' - into my JavaScript
> Code?

I would suggest to write this into a Javascript file and include this
file in your registered Javascript resources.

> I've already tried to use an extra IResource but there's no external
> path I can use to get to the dojo.form.Button. Anyway this would be a
> real overload to wright an extra IResource for every dojo widget type
> (TextFields, Labels, Buttons, etc.) there is.

Couldn't you write them all into one single file?

> I would try next is to extend the DOM Tree by the required script-Tag
> element in addition to the attribute 'dojo.require("dojo.form.Button")'
> but I'm not if this is the right way.
>
> What do you mean by lazy loading?

http://en.wikipedia.org/wiki/Lazy_loading

The idea was that, assumed that the initialization of the dojo stuff is
expensive and the widget is not needed at the beginning of every user
session, you could defer initialization until the custom widget is
initialized. You'd need to check in your custom widget's init code
whether the dojo stuff is already initialized and initialize it if not.

Regards, Ralf

>> Jessica Nierth wrote:
>>> Hello everyone,
>>>
>>> I'm trying to put a dojo TextField into a RAP Applicaton and there seems
>>> to be a problem in populating the dijit.form.Button class to Qooxdoo.
>>> This is what I've done so far:
>>>
>>> - I wrote a short example (single HTML file), to check if the dojo code
>>> works for what I want to put into my RAP Application. The required dojo
>>> API is referenced externally as it is with the GMAPs API in the GMAP
>>> Tutorial (see dojoText.html).
>>>
>>> - I've put the Dojo API Reference into an IResource and registered that
>>> as resource extension point (DojoAPIResource.java). Same with the
>>> clientsided dojo widget in DojoFormResource.java.
>>>
>>> - Furthermore, I've written an DojoFormLCA and implemented the
>>> renderInitialize and renderChanges Methods the same way as it is done in
>>> the GMAPs Tutorial.
>>>
>>> Here is the clientsided code for the dojo widget where I want to make my
>>> problem clear:
>>>
>>> //////////////////////////////////////////////////////////// ////////
>>> qx.Class.define("org.eclipse.rap.dojowidget.DojoForm", {
>>> /* Use the Qooxdoo Layout Manager as super class */
>>> extend: qx.ui.layout.CanvasLayout,
>>> construct : function(id) {
>>> this.base( arguments );
>>> // Populate the id to the browser
>>> this.setHtmlAttribute( "id", id );
>>> this._id = id;
>>> this._dojoForm = null;
>>> this.load();
>>> },
>>>
>>> members : {
>>> load : function() {
>>> alert("DojoForm.js: new dijit.form.TextBox");
>>> if (this._dojoForm == null) {
>>> alert("if1");
>>> // dojo.require("dijit.form.Button");
>>> this._dojoForm = new dijit.form.Button(/*{label:"Hallo",
>>> onClick:alert("hallo du")}*/);
>>> alert("if2");
>>> }
>>> }
>>> }
>>> });
>>>
>>> //////////////////////////////////////////////////////////// /////////
>>>
>>> the load Function is executet, the second alert with if1 is executet,too
>>> but later on I get the error: Could not evaluate javascript
>>> response:'dijit.form.Button' is Null oder no Object. As it can be seen
>>> in the dojoTest.HTML a dojo.require("dijit.form.Button") has to be
>>> written to use this class later on. Where or how can I put the
>>> dojo.required state into the JavaScript File?
>>>
>>> Thanks
>>>
>>>
>>>
>>>
Re: Problem to visualize dojoTextField within RAP [message #137217 is a reply to message #136010] Mon, 22 June 2009 08:33 Go to previous message
Eclipse UserFriend
Originally posted by: s0181013.mail.inf.tu-dresden.de

This is a multi-part message in MIME format.
--------------060203060906060705010901
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Hello everyone,

I added dojospecific libraries by the following two strategies:

(1) adding required libraries by manipulating (adding) DOM nodes
(2) adding required libraries through script-Tags that were added by the
document.getElementById(this._id).innerHTML = [needed HTML and Script
Information]

both ways end up with showing the Elements on the screen as wanted but
although any errors were fired, the elements doesn't work. I attatched
two pictures to the email with the DojoHTML.jpg that shows how the Dojo
written in a simple HTML file looks like when it's working and my RAP
Applikation that does only show the Elements but when clicken in the
DateField the Calendar does not show up.

Does that mean that qooxdoo and dojo interfere somehow so that this
can't work? I would be very glad to get this working

Thank you very much

Jes

Ralf Sternberg schrieb:
> Jessica Nierth wrote:
>> Hello Ralf,
>>
>>> I do not understand every detail of your problem, but it seems that your
>>> problem is registering required Javascript resources.
>> No, I've registered the Dojo-API and the clientsided Widget JavaScript
>> Code as IResource per org.eclipse.rap.ui.resource.
>>
>>> If there is some dojo initialization code required, you can either add
>>> this code
>>> to the registered resources, or add some lazy initialization code to
>>> your custom widget.
>> O.k. here is the problem. How do I add the dojo specific initializations
>> - in my case 'dojo.require("dojo.form.Button");' - into my JavaScript
>> Code?
>
> I would suggest to write this into a Javascript file and include this
> file in your registered Javascript resources.
>
>> I've already tried to use an extra IResource but there's no external
>> path I can use to get to the dojo.form.Button. Anyway this would be a
>> real overload to wright an extra IResource for every dojo widget type
>> (TextFields, Labels, Buttons, etc.) there is.
>
> Couldn't you write them all into one single file?
>
>> I would try next is to extend the DOM Tree by the required script-Tag
>> element in addition to the attribute 'dojo.require("dojo.form.Button")'
>> but I'm not if this is the right way.
>>
>> What do you mean by lazy loading?
>
> http://en.wikipedia.org/wiki/Lazy_loading
>
> The idea was that, assumed that the initialization of the dojo stuff is
> expensive and the widget is not needed at the beginning of every user
> session, you could defer initialization until the custom widget is
> initialized. You'd need to check in your custom widget's init code
> whether the dojo stuff is already initialized and initialize it if not.
>
> Regards, Ralf
>
>>> Jessica Nierth wrote:
>>>> Hello everyone,
>>>>
>>>> I'm trying to put a dojo TextField into a RAP Applicaton and there seems
>>>> to be a problem in populating the dijit.form.Button class to Qooxdoo.
>>>> This is what I've done so far:
>>>>
>>>> - I wrote a short example (single HTML file), to check if the dojo code
>>>> works for what I want to put into my RAP Application. The required dojo
>>>> API is referenced externally as it is with the GMAPs API in the GMAP
>>>> Tutorial (see dojoText.html).
>>>>
>>>> - I've put the Dojo API Reference into an IResource and registered that
>>>> as resource extension point (DojoAPIResource.java). Same with the
>>>> clientsided dojo widget in DojoFormResource.java.
>>>>
>>>> - Furthermore, I've written an DojoFormLCA and implemented the
>>>> renderInitialize and renderChanges Methods the same way as it is done in
>>>> the GMAPs Tutorial.
>>>>
>>>> Here is the clientsided code for the dojo widget where I want to make my
>>>> problem clear:
>>>>
>>>> //////////////////////////////////////////////////////////// ////////
>>>> qx.Class.define("org.eclipse.rap.dojowidget.DojoForm", {
>>>> /* Use the Qooxdoo Layout Manager as super class */
>>>> extend: qx.ui.layout.CanvasLayout,
>>>> construct : function(id) {
>>>> this.base( arguments );
>>>> // Populate the id to the browser
>>>> this.setHtmlAttribute( "id", id );
>>>> this._id = id;
>>>> this._dojoForm = null;
>>>> this.load();
>>>> },
>>>>
>>>> members : {
>>>> load : function() {
>>>> alert("DojoForm.js: new dijit.form.TextBox");
>>>> if (this._dojoForm == null) {
>>>> alert("if1");
>>>> // dojo.require("dijit.form.Button");
>>>> this._dojoForm = new dijit.form.Button(/*{label:"Hallo",
>>>> onClick:alert("hallo du")}*/);
>>>> alert("if2");
>>>> }
>>>> }
>>>> }
>>>> });
>>>>
>>>> //////////////////////////////////////////////////////////// /////////
>>>>
>>>> the load Function is executet, the second alert with if1 is executet,too
>>>> but later on I get the error: Could not evaluate javascript
>>>> response:'dijit.form.Button' is Null oder no Object. As it can be seen
>>>> in the dojoTest.HTML a dojo.require("dijit.form.Button") has to be
>>>> written to use this class later on. Where or how can I put the
>>>> dojo.required state into the JavaScript File?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>


--------------060203060906060705010901
Content-Type: image/jpeg;
name="DojoHTML.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="DojoHTML.jpg"

/9j/4AAQSkZJRgABAgEASABIAAD/4RHRRXhpZgAATU0AKgAAAAgABwESAAMA AAABAAEAAAEa
AAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAA cgEyAAIAAAAU
AAAAjodpAAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhv dG9zaG9wIENT
MyBXaW5kb3dzADIwMDk6MDY6MjIgMTA6MjI6MjQAAAAAA6ABAAMAAAABAAEA AKACAAQAAAAB
AAABfaADAAQAAAABAAABMAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEA AAEeARsABQAA
AAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABCbAAAA AAAAAEgAAAAB
AAAASAAAAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4A DkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwR DAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwM DAwREQwMDAwM
DBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAgACgAwEiAAIR AQMRAf/dAAQA
Cv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEA AAAAAAAAAQAC
AwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIG FJGhsUIjJBVS
wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePz RieUpIW0lcTU
5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYH BwYFNQEAAhED
ITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcm NcLSRJNUoxdk
RVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dX Z3eHl6e3x//a
AAwDAQACEQMRAD8A7H7P1muhzrMGguBsedtddrtryX0UVsa/E/S0b/Q3v/R/ of5z9J66kzF6
1YWizCxaALajYWV1vJZ6tYurr32/Qdib3vte31d/q11VfzK26s/BvoORTkVW 0NBLrWPa5gAG
90vadvtZ7kV9lbGF73taxskuJAAjV2v8nakp55uJ1h7HvuxK6o9MCvGrx/Un e05D635LrKdj
a/0dfqbN9H6T+kJm09brIbZ0/Gf+k21ltbHbm7bXh17vUpbR7WU+tY1j9mV+ jopuo/SrerzM
O219NV9b7ao9Str2lzZ+jvaDubuRdzZiROv4cpKebbT1uG5Dum1QwWtOIK6N 74/o13rHJbWx
7vZ+h3+n/P8A6T+YVrCxc85FgzsPFbQASx9VbZMjc3l7/o/Qf/1r/SWelsss rsrbaxwfW8Bz
XtILS0iWua4fmqu7qOO3IsxgLH3UhrrGsrc6A/d6fuDdvu9N/wBFKlIa8DpB raTVTMCePBP9
g6P/AKKn8EX7bX/obv8Atp3/AJFL7bV/obv+2nf+RRoqtF9g6P8A6Kn8EvsH R/8ARU/gi/ba
v9Dd/wBtO/8AIpfbav8AQ3f9tO/8ilRVaL7B0f8A0VP4JfYOj/6Kn8EX7bV/ obv+2nf+RS+2
1f6G7/tp3/kUqKrRfYOj/wCip/BL7B0f/RU/gi/bav8AQ3f9tO/8il9tq/0N 3/bTv/IpUVWi
+wdH/wBFT+CevB6d60V00uG2SA1p7/NE+3UAtDq7WhzmtBdW4CXEMZJ2/vOV mAOEKVaH7Bg/
9x6v8xv9yX2DB/7j1f5jf7kdJJSD7Bg/9x6v8xv9yX2DB/7j1f5jf7kdJJT/ AP/Q7m/6qYmR
VXXdk3vDKxSSRT7mBrqa2WD7Ps9jLbfzf0nqfpd/p0elJ31U6a/GZjOfY6tg sBktJcLRWH7t
zD/oK/ofT/S+r/PWraSSU5OV9XcXLd+nutcxr3WVMBa0MNm712t2Ma57LN/+ G9X0/wDBfzda
Ez6q4gsrfZfY8MsNjqg2ttb5LvZbX6TnPY5jtlv6T9N/PW/p/wBIttJJThH6 odOdUKnW2uYx
rWUtioCsNLnu9L06WfzrrLPU3f8AF1+nUj042Th9Ryrqam202V01smza4ekL XO37m/8ADLWV
LJa97rGNaSJaeCWmNrtjo/NdtSClDKzCARitIPBFrf8AyKf7Rm/9xG/9ut/8 ihY1d9Nexwe9
2kuIJJgBm97trN1lm3fa7060Tdb+477ijfgj6r/aM3/uI3/t1v8A5FL7Rm/9 xG/9ut/8im3W
/uO+4rN6ph9byXl+BlfYyypzafa8n1Hmvc65v6Smyv06v0T/AEvUp9V//GJa dgp0/tOb/wBx
W/8Abrf/ACKX2jN/7iN/7db/AORWZiYn1grzfWyc31sX1LXfZxXBLHj9DW5/ pj+ad/6ssWlu
t/cd9xS07BS/2jN/7iN/7db/AORS+0Zv/cRv/brf/Ipt1v7jvuKZ/qvY5ux3 uEfRJHz/AJP7
yV+Cvqxsty72sb6DWsNlZLxaHQG2Me76Lf5K0Fm41d9Wlm47nMkkeDp1dsr/ AHvT+h/NV1rS
StKkkkkFKSSSSU//0fVUkkklKSSSSUpU8uq26q+mskF8AEOLNYb+e0Oc3/Me riq5GOchllYd
slwO6JIgN+jwkpjiV5NOPXVZDntBmCSNSXABz4+i32/Rr/4qr+bVbD6f1GjM tvtvNtTvU9Gr
e87RbZ9p94e7Z+j3vpq/0dHpVVq9j45pL/cXB9jrNe27Xag4/TvQ6pmdQFrn DMZSw0GdrHU+
qDY2XOb+mbcxr9jGfzKSlZWLbkGkkR6NrbD7iJAB3N/Rubu/N+n+jUsqvMtx 7GUkV3Fp9J54
a8e6pz2tI3V+oG+oz8+tD6j06zMycG5lwqGFd6zmw+X+11WwOqvoa3+c/wAK zI/4v6auWsL6
nsB2lzSA6AYkc7Xe1ySmng4uZjVurttdke79G9ziXCsBrKmvL3Hdb7d1tn+E epMxbWZl2UB/
OsY3buJgtL/UdtLvTbvmn6H+jT9I6eem9OqwnWm81bveQWj3OdZsYwus2V1b /TqZ6j/0ahj9
Ovq6xmdRfkmyrKqoprxiwAVCk3Oltjf5z1X5L3e5v/ov00pfJxb8i3HcXFrK Hl72A/T021t/
su9yLdXkWU2Vtljnsc0ODoIJBaHbm+5u3+ShdW6b+0qKqTaahVkU5BIG7d6L 23+ntcdnv2fn
+p/xauPbvY5slu4Ebm6ET3akppYdGTj4zaroJD59ri4AF4LW7nCvdt/k1Us/ 4NX1n9K6c7pf
Scbp773ZTscNYb3gNc73TueG/nLQSUpJJJJSkkkklP8A/9L1VJJJJSkkkklK VbJqqvx8mi4t
FdwNb94a5sPYGe9lu6t7fd9Cz6asrM63T0zI6fdi9UubRjZFtbN73NbL5qfS 1huDmep6rG7U
lNrp2Li4WFThYm0U4rRS0NgRsG07gyG7/wB9Ven9Pwun9QzshmSX3dWuFpqe 5mjqmNqcyhrQ
17tjGe9B6ZRgdKxM1+Be7OFubbbfuexxbfa8DJob6LGNZ6dv+Cd+kWRg5HQW 59WVh2C3IbZl
5VdbLqjuOQ5rM3RlfqelVbX+9/OfpLfVRAJVbv8AVOnYeZk4ORkXGl/TrvtN e12yfa6na/X+
ad6v6T/tr/CIvV8DH6l0vK6fkkNpyqnVPeQDt3Da2xu/2763e9n8tZPXsT6u 9QtbZ1LMGJk0
Ywe5rLWV2Npdfi5LL7Ja6z068vCpYyz+ZZ6lq0uvV9Lv6PlY/Vb2Y+Dk1mm2 57msDfV/RMc2
y7dU2ze79E53+EQUx6Hg4WDVlMw8h2S27LuvtLnizZZY7fZQ3b9D0/3HfpP8 JZ77FXq+rvTW
dVGfXZF7Mu7NDG7Pp247On5Feg3+m79Hk2f92P5xXemU4FP2pmG9ljzk2Py3 N2bvWs22uZd6
LWfpK6X0Vt3/AKX0PR9Xf9NZWLhfVj9uV9Rxsxr823IyhXTXZWWG91WPXnV+ lU3d6lVWBXbZ
7vp2vst/nKklNzr/AEXD6qys5FwofSzIax5DHDbfTZjXb2XAtfWxlnrbPoep VX6iPn9Nx8no
l/S8h+yi7HdjPs0G0OZ6PqN37m7m/SYqX1jw+gZxrp6tksosqpyXsBdWH+k+ p+Nl2Rcyz9HV
Xb6v/G1VWWfzSP1fD6Ufq/Zh5mQMTpra663X2GtwaxpZ6e9/UGZND9+1jN99 dn/bqSmeD0yn
BtzLq7Ta7MvbbYCGANcNjNv6JrPd+9u/8++pbbpLH6NR0fHPUW9Mu9Z1me+7 NaXbtmQ9zBdV
/wAHt2fza2ElKSSSSUpJJJJT/9P1VJJJJSkkkklKWd1Q9PFI/aFrqavtNIY5 j7K5tJrFDXOo
c1zmer/pP0P+lWiqeXiY+YDXkBxZXay5u1764fXssrcXUurc7Y9u7Z9BJSDD o6ZlYdzumPBq
yMl9ttgLng3Ns25Glp/0lOzY39H+4sDpXSejuzaWYnW7sm/08j08e0h25nql uW5zHta9zm5f
+F/nfZ7P0C6XptGDi4jWdPpbRjPLrWsa0t1sc617tjvc3c9yDg9O6Vj2h2LW XW4nq1te99lj
mG9wyMlrbL32fzlm3f8A9to2VU1erj6u0udX1fIfV6uK2l4dbdVU6n1GMP8A NvZRv9Z7GX7P
03ov/T/qy1MzEpy8c4tu/wBN20/o7H1u9pD2/pKXMs+k3973qn1LpfRsy5j+ oYgyH27aRua5
7dHeq3e1v6Nnvb/OP/M/R/za0HvABe7QNEk+Q1QU1emYnT8Vl9uA2G51z8q5 xe9++1+1lln6
Zz9n801vps/RsQ6endNblNewWPvxbX3jfba/a/IaWWfzjy11b2b9lX8zV/g9 itYxoNDHY/8A
MuG5kSNHHd+d7u6ao4/2i8Vk+sNhuEu00/Rw13s+j/o0lNfqnTemZ7f8osdZ XYx2Oa99grLb
S36ddThX6m9jPSv/AJymz+asYjZOFj5OC7p9gsbQ5orIrtfW/a2Ib69TmXfm +/8ASfpPz0su
zEY1n2rRoJe2Q4iWDf8Amf8AUfnoj7qmUuvc79E1peXAF3tjduhsud7UlMKG 44Y9+PJF12+x
xc5xLw9tT/5z9z0/Taz6DNn6NW1TobjV1mjGAYymwNcwAgBznMu/O/e9Xeri SlJJJJKUkkkk
p//U9VSSSSUpJJJJSkMBpdZPj/31qIqtlgba8ExqD+ASUmZVVWwMraGsboGj QBVvtnSasi2r
7RRXkhzBdXvYLN7x+hba2d++xn81uUvWHiFm53ScXPdc7IvsLb2uqLB6YDar GirKxq3+n6ra
srbvu9/q+r/hP0NHpJTp1ZXTsl7BTfVc8AvrDHtcYE1PsZtJ/edXuQMrqmLR dZRaydgBfLmA
bXQNxD3N9m53p/11Wxum4+PmOzfXstueSXl+wAuLGY/qba2M9zaKq6vasrrv 1bHVuoPyn2bW
FjWMDWVbpG3dYbn/AKZ+7b6fo2fovz60Qgu0zq2HWG1MpLQ0ljWNLNCyBYzY H/4Ld+l/0f56
tXZXTMW7ZffTRfa0v22Pax7m1j3Ph5DnMqb/AJi5PE+qFOJl1ZdReX02OsZu e0kgsNDK7Hzu
sbWx73P/AD8m79LaugzsKnNuZa+57PTgsY0Vloex4vpyP0tb3etTY39H/b/0 tqRpQbb8jpV2
1r7qbNzvTYC9pl1jA/026/TtotY/b/orFYdXU9hrc0FjgWuaeCCNu2FjjpGE HUuFlg9HZ3b7
hX9n2ts/R/nPwsZ79i0fWHiEEpTXWwEsaGl72FxHcgsYCf7LWtRlU9UEtEzL m/8AVBW0lKSS
SSUpJJJJT//V9VSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSk kkklKSSSSU//
1vVUkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklP /9n/7RawUGhv
dG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPt AAAAAAAQAEgA
AAABAAIASAAAAAEAAjhCSU0EJgAAAAAADgAAAAAAAAAAAAA/gAAAOEJJTQQN AAAAAAAEAAAA
eDhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTQQK AAAAAAABAAA4
QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgABAGxmZgAG AAAAAAABAC9m
ZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAG AAAAAAABOEJJ
TQP4AAAAAABwAAD/////////////////////////////A+gAAAAA//////// ////////////
/////////wPoAAAAAP////////////////////////////8D6AAAAAD///// ////////////
////////////A+gAADhCSU0EAAAAAAAAAgABOEJJTQQCAAAAAAAEAAAAADhC SU0EMAAAAAAA
AgEBOEJJTQQtAAAAAAAGAAEAAAACOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJA AAAAADhCSU0E
HgAAAAAABAAAAAA4QklNBBoAAAAAA0sAAAAGAAAAAAAAAAAAAAEwAAABfQAA AAsAVQBuAGIA
ZQBuAGEAbgBuAHQALQAyAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAAF9AAAB
MAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAA AAAAbnVsbAAA
AAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9u ZwAAAAAAAAAA
TGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAABMAAAAABSZ2h0bG9uZwAAAX0A AAAGc2xpY2Vz
VmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9u ZwAAAAAAAAAH
Z3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2lu AAAADWF1dG9H
ZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAA BmJvdW5kc09i
amMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRs b25nAAAAAAAA
AABCdG9tbG9uZwAAATAAAAAAUmdodGxvbmcAAAF9AAAAA3VybFRFWFQAAAAB AAAAAAAAbnVs
bFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAA AAEAAAAAAA5j
ZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlo b3J6QWxpZ25l
bnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGln bmVudW0AAAAP
RVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVt AAAAEUVTbGlj
ZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAK bGVmdE91dHNl
dGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0 c2V0bG9uZwAA
AAAAOEJJTQQoAAAAAAAMAAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAjhC SU0EDAAAAAAQ
twAAAAEAAACgAAAAgAAAAeAAAPAAAAAQmwAYAAH/2P/gABBKRklGAAECAABI AEgAAP/tAAxB
ZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsR FQ8MDA8VGBMT
FRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsN Dg0QDg4QFA4O
DhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwM DAwMDAwM/8AA
EQgAgACgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMA AQIEBQYHCAkK
CwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUD DDMBAAIRAwQh
EjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZE k1RkRcKjdDYX
0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3 h5ent8fX5/cR
AAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAz JGLhcoKSQ1MV
Y3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0 pbXF1eX1VmZ2
hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A7H7P1muhzrMGguBs edtddrtryX0U
Vsa/E/S0b/Q3v/R/of5z9J66kzF61YWizCxaALajYWV1vJZ6tYurr32/Qdib 3vte31d/q11V
fzK26s/BvoORTkVW0NBLrWPa5gAG90vadvtZ7kV9lbGF73taxskuJAAjV2v8 nakp55uJ1h7H
vuxK6o9MCvGrx/Une05D635LrKdja/0dfqbN9H6T+kJm09brIbZ0/Gf+k21l tbHbm7bXh17v
UpbR7WU+tY1j9mV+jopuo/SrerzMO219NV9b7ao9Str2lzZ+jvaDubuRdzZi ROv4cpKebbT1
uG5Dum1QwWtOIK6N74/o13rHJbWx7vZ+h3+n/P8A6T+YVrCxc85FgzsPFbQA Sx9VbZMjc3l7
/o/Qf/1r/SWelsssrsrbaxwfW8BzXtILS0iWua4fmqu7qOO3IsxgLH3UhrrG src6A/d6fuDd
vu9N/wBFKlIa8DpBraTVTMCePBP9g6P/AKKn8EX7bX/obv8Atp3/AJFL7bV/ obv+2nf+RRoq
tF9g6P8A6Kn8EvsHR/8ARU/gi/bav9Dd/wBtO/8AIpfbav8AQ3f9tO/8ilRV aL7B0f8A0VP4
JfYOj/6Kn8EX7bV/obv+2nf+RS+21f6G7/tp3/kUqKrRfYOj/wCip/BL7B0f /RU/gi/bav8A
Q3f9tO/8il9tq/0N3/bTv/IpUVWi+wdH/wBFT+CevB6d60V00uG2SA1p7/NE +3UAtDq7Whzm
tBdW4CXEMZJ2/vOVmAOEKVaH7Bg/9x6v8xv9yX2DB/7j1f5jf7kdJJSD7Bg/ 9x6v8xv9yX2D
B/7j1f5jf7kdJJT/AP/Q7m/6qYmRVXXdk3vDKxSSRT7mBrqa2WD7Ps9jLbfz f0nqfpd/p0el
J31U6a/GZjOfY6tgsBktJcLRWH7tzD/oK/ofT/S+r/PWraSSU5OV9XcXLd+n utcxr3WVMBa0
MNm712t2Ma57LN/+G9X0/wDBfzdaEz6q4gsrfZfY8MsNjqg2ttb5LvZbX6Tn PY5jtlv6T9N/
PW/p/wBIttJJThH6odOdUKnW2uYxrWUtioCsNLnu9L06WfzrrLPU3f8AF1+n Uj042Th9Ryrq
am202V01smza4ekLXO37m/8ADLWVLJa97rGNaSJaeCWmNrtjo/NdtSClDKzC ARitIPBFrf8A
yKf7Rm/9xG/9ut/8ihY1d9Nexwe92kuIJJgBm97trN1lm3fa7060Tdb+477i jfgj6r/aM3/u
I3/t1v8A5FL7Rm/9xG/9ut/8im3W/uO+4rN6ph9byXl+BlfYyypzafa8n1Hm vc65v6Smyv06
v0T/AEvUp9V//GJadgp0/tOb/wBxW/8Abrf/ACKX2jN/7iN/7db/AORWZiYn 1grzfWyc31sX
1LXfZxXBLHj9DW5/pj+ad/6ssWlut/cd9xS07BS/2jN/7iN/7db/AORS+0Zv /cRv/brf/Ipt
1v7jvuKZ/qvY5ux3uEfRJHz/AJP7yV+Cvqxsty72sb6DWsNlZLxaHQG2Me76 Lf5K0Fm41d9W
lm47nMkkeDp1dsr/AHvT+h/NV1rSStKkkkkFKSSSSU//0fVUkkklKSSSSUpU 8uq26q+mskF8
AEOLNYb+e0Oc3/Meriq5GOchllYdslwO6JIgN+jwkpjiV5NOPXVZDntBmCSN SXABz4+i32/R
r/4qr+bVbD6f1GjMtvtvNtTvU9Gre87RbZ9p94e7Z+j3vpq/0dHpVVq9j45p L/cXB9jrNe27
Xag4/TvQ6pmdQFrnDMZSw0GdrHU+qDY2XOb+mbcxr9jGfzKSlZWLbkGkkR6N rbD7iJAB3N/R
ubu/N+n+jUsqvMtx7GUkV3Fp9J54a8e6pz2tI3V+oG+oz8+tD6j06zMycG5l wqGFd6zmw+X+
11WwOqvoa3+c/wAKzI/4v6auWsL6nsB2lzSA6AYkc7Xe1ySmng4uZjVurttd ke79G9ziXCsB
rKmvL3Hdb7d1tn+EepMxbWZl2UB/OsY3buJgtL/UdtLvTbvmn6H+jT9I6eem 9OqwnWm81bve
QWj3OdZsYwus2V1b/TqZ6j/0ahj9Ovq6xmdRfkmyrKqoprxiwAVCk3Oltjf5 z1X5L3e5v/ov
00pfJxb8i3HcXFrKHl72A/T021t/su9yLdXkWU2Vtljnsc0ODoIJBaHbm+5u 3+ShdW6b+0qK
qTaahVkU5BIG7d6L23+ntcdnv2fn+p/xauPbvY5slu4Ebm6ET3akppYdGTj4 zaroJD59ri4A
F4LW7nCvdt/k1Us/4NX1n9K6c7pfScbp773ZTscNYb3gNc73TueG/nLQSUpJ JJJSkkkklP8A
/9L1VJJJJSkkkklKVbJqqvx8mi4tFdwNb94a5sPYGe9lu6t7fd9Cz6asrM63 T0zI6fdi9Uub
RjZFtbN73NbL5qfS1huDmep6rG7UlNrp2Li4WFThYm0U4rRS0NgRsG07gyG7 /wB9Ven9Pwun
9QzshmSX3dWuFpqe5mjqmNqcyhrQ17tjGe9B6ZRgdKxM1+Be7OFubbbfuexx bfa8DJob6LGN
Z6dv+Cd+kWRg5HQW59WVh2C3IbZl5VdbLqjuOQ5rM3RlfqelVbX+9/OfpLfV RAJVbv8AVOnY
eZk4ORkXGl/TrvtNe12yfa6na/X+ad6v6T/tr/CIvV8DH6l0vK6fkkNpyqnV PeQDt3Da2xu/
2763e9n8tZPXsT6u9QtbZ1LMGJk0Ywe5rLWV2Npdfi5LL7Ja6z068vCpYyz+ ZZ6lq0uvV9Lv
6PlY/Vb2Y+Dk1mm257msDfV/RMc2y7dU2ze79E53+EQUx6Hg4WDVlMw8h2S2 7LuvtLnizZZY
7fZQ3b9D0/3HfpP8JZ77FXq+rvTWdVGfXZF7Mu7NDG7Pp247On5Feg3+m79H k2f92P5xXemU
4FP2pmG9ljzk2Py3N2bvWs22uZd6LWfpK6X0Vt3/AKX0PR9Xf9NZWLhfVj9u V9Rxsxr823Iy
hXTXZWWG91WPXnV+lU3d6lVWBXbZ7vp2vst/nKklNzr/AEXD6qys5FwofSzI ax5DHDbfTZjX
b2XAtfWxlnrbPoepVX6iPn9Nx8nol/S8h+yi7HdjPs0G0OZ6PqN37m7m/SYq X1jw+gZxrp6t
ksosqpyXsBdWH+k+p+Nl2Rcyz9HVXb6v/G1VWWfzSP1fD6Ufq/Zh5mQMTpra 663X2GtwaxpZ
6e9/UGZND9+1jN99dn/bqSmeD0ynBtzLq7Ta7MvbbYCGANcNjNv6JrPd+9u/ 8++pbbpLH6NR
0fHPUW9Mu9Z1me+7NaXbtmQ9zBdV/wAHt2fza2ElKSSSSUpJJJJT/9P1VJJJ JSkkkklKWd1Q
9PFI/aFrqavtNIY5j7K5tJrFDXOoc1zmer/pP0P+lWiqeXiY+YDXkBxZXay5 u1764fXssrcX
Uurc7Y9u7Z9BJSDDo6ZlYdzumPBqyMl9ttgLng3Ns25Glp/0lOzY39H+4sDp XSejuzaWYnW7
sm/08j08e0h25nqluW5zHta9zm5f+F/nfZ7P0C6XptGDi4jWdPpbRjPLrWsa 0t1sc617tjvc
3c9yDg9O6Vj2h2LWXW4nq1te99ljmG9wyMlrbL32fzlm3f8A9to2VU1erj6u 0udX1fIfV6uK
2l4dbdVU6n1GMP8ANvZRv9Z7GX7P03ov/T/qy1MzEpy8c4tu/wBN20/o7H1u 9pD2/pKXMs+k
3973qn1LpfRsy5j+oYgyH27aRua57dHeq3e1v6Nnvb/OP/M/R/za0HvABe7Q NEk+Q1QU1emY
nT8Vl9uA2G51z8q5xe9++1+1lln6Zz9n801vps/RsQ6endNblNewWPvxbX3j fba/a/IaWWfz
jy11b2b9lX8zV/g9itYxoNDHY/8AMuG5kSNHHd+d7u6ao4/2i8Vk+sNhuEu0 0/Rw13s+j/o0
lNfqnTemZ7f8osdZXYx2Oa99grLbS36ddThX6m9jPSv/AJymz+asYjZOFj5O C7p9gsbQ5orI
rtfW/a2Ib69TmXfm+/8ASfpPz0suzEY1n2rRoJe2Q4iWDf8Amf8AUfnoj7qm Uuvc79E1peXA
F3tjduhsud7UlMKG44Y9+PJF12+xxc5xLw9tT/5z9z0/Taz6DNn6NW1TobjV 1mjGAYymwNcw
AgBznMu/O/e9XeriSlJJJJKUkkkkp//U9VSSSSUpJJJJSkMBpdZPj/31qIqt lgba8ExqD+AS
UmZVVWwMraGsboGjQBVvtnSasi2r7RRXkhzBdXvYLN7x+hba2d++xn81uUvW HiFm53ScXPdc
7IvsLb2uqLB6YDarGirKxq3+n6rasrbvu9/q+r/hP0NHpJTp1ZXTsl7BTfVc 8AvrDHtcYE1P
sZtJ/edXuQMrqmLRdZRaydgBfLmAbXQNxD3N9m53p/11Wxum4+PmOzfXstue SXl+wAuLGY/q
ba2M9zaKq6vasrrv1bHVuoPyn2bWFjWMDWVbpG3dYbn/AKZ+7b6fo2fovz60 Qgu0zq2HWG1M
pLQ0ljWNLNCyBYzYH/4Ld+l/0f56tXZXTMW7ZffTRfa0v22Pax7m1j3Ph5Dn Mqb/AJi5PE+q
FOJl1ZdReX02OsZue0kgsNDK7HzusbWx73P/AD8m79LaugzsKnNuZa+57PTg sY0Vloex4vpy
P0tb3etTY39H/b/0tqRpQbb8jpV21r7qbNzvTYC9pl1jA/026/TtotY/b/or FYdXU9hrc0Fj
gWuaeCCNu2FjjpGEHUuFlg9HZ3b7hX9n2ts/R/nPwsZ79i0fWHiEEpTXWwEs aGl72FxHcgsY
Cf7LWtRlU9UEtEzLm/8AVBW0lKSSSSUpJJJJT//V9VSSSSUpJJJJSkkkklKS SSSUpJJJJSkk
kklKSSSSUpJJJJSkkkklKSSSSU//1vVUkkklKSSSSUpJJJJSkkkklKSSSSUp JJJJSkkkklKS
SSSUpJJJJSkkkklP/9kAOEJJTQQhAAAAAABVAAAAAQEAAAAPAEEAZABvAGIA ZQAgAFAAaABv
AHQAbwBzAGgAbwBwAAAAEwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8A cAAgAEMAUwAz
AAAAAQA4QklNBAYAAAAAAAcACAAAAAEBAP/hD85odHRwOi8vbnMuYWRvYmUu Y29tL3hhcC8x
LjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVT ek5UY3prYzlk
Ij8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1w dGs9IkFkb2Jl
IFhNUCBDb3JlIDQuMS1jMDM2IDQ2LjI3NjcyMCwgTW9uIEZlYiAxOSAyMDA3 IDIyOjQwOjA4
ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMu b3JnLzE5OTkv
MDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjph Ym91dD0iIiB4
bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHht bG5zOnhhcD0i
aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eGFwTU09Imh0 dHA6Ly9ucy5h
ZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMu YWRvYmUuY29t
L3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9 Imh0dHA6Ly9u
cy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6 Ly9ucy5hZG9i
ZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUu Y29tL2V4aWYv
MS4wLyIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiB4YXA6Q3JlYXRvclRvb2w9 IkFkb2JlIFBo
b3Rvc2hvcCBDUzMgV2luZG93cyIgeGFwOkNyZWF0ZURhdGU9IjIwMDktMDYt MjJUMTA6MjI6
MjQrMDI6MDAiIHhhcDpNb2RpZnlEYXRlPSIyMDA5LTA2LTIyVDEwOjIyOjI0 KzAyOjAwIiB4
YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA2LTIyVDEwOjIyOjI0KzAyOjAwIiB4 YXBNTTpEb2N1
bWVudElEPSJ1dWlkOjQxQkM1RkMzMDU1RkRFMTFBMjlBRjQ4MEY2REVDQzRD IiB4YXBNTTpJ
bnN0YW5jZUlEPSJ1dWlkOjQyQkM1RkMzMDU1RkRFMTFBMjlBRjQ4MEY2REVD QzRDIiBwaG90
b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JH QiBJRUM2MTk2
Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHRpZmY6T3JpZW50YXRpb249 IjEiIHRpZmY6
WFJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpZUmVzb2x1dGlvbj0i NzIwMDAwLzEw
MDAwIiB0aWZmOlJlc29sdXRpb25Vbml0PSIyIiB0aWZmOk5hdGl2ZURpZ2Vz dD0iMjU2LDI1
NywyNTgsMjU5LDI2MiwyNzQsMjc3LDI4NCw1MzAsNTMxLDI4MiwyODMsMjk2 LDMwMSwzMTgs
MzE5LDUyOSw1MzIsMzA2LDI3MCwyNzEsMjcyLDMwNSwzMTUsMzM0MzI7QTlC RTIwMTYzODZC
Q0I2NkYwNDhERDYyRkEyREI4MDQiIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSIz ODEiIGV4aWY6
UGl4ZWxZRGltZW5zaW9uPSIzMDQiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhp ZjpOYXRpdmVE
aWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQw OTYzLDM3NTEw
LDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0 ODU1LDM0ODU2
LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3 Mzg0LDM3Mzg1
LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQx NDkyLDQxNDkz
LDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQx OTg4LDQxOTg5
LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQy MDE2LDAsMiw0
LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwy MywyNCwyNSwy
NiwyNywyOCwzMDs0MEQxMTQ0OTlFNDY2MjZFRTYyNzA1QTJFQjRGMUJGMCI+ IDx4YXBNTTpE
ZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOjQwQkM1RkMzMDU1 RkRFMTFBMjlB
RjQ4MEY2REVDQzRDIiBzdFJlZjpkb2N1bWVudElEPSJ1dWlkOjQwQkM1RkMz MDU1RkRFMTFB
MjlBRjQ4MEY2REVDQzRDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpS REY+IDwveDp4
bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg
ICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxI TGlubwIQAABt
bnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAA AAAAAAAAAAAA
AQAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
AAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAA ABRia3B0AAAC
BAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5k AAACVAAAAHBk
bWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAA ABRtZWFzAAAE
DAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJD AAAEPAAACAx0
ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29t cGFueQAAZGVz
YwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElF QzYxOTY2LTIu
MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAWFla
IAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA AABvogAAOPUA
AAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rl c2MAAAAAAAAA
FklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8v d3d3LmllYy5j
aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABkZXNjAAAA
AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAt IHNSR0IAAAAA
AAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFj ZSAtIHNSR0IA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZp ZXdpbmcgQ29u
ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBW aWV3aW5nIENv
bmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHZpZXcA
AAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQ AAAAVx/nbWVh
cwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQg Y3VydgAAAAAA
AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBj AGgAbQByAHcA
fACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDr APAA9gD7AQEB
BwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGa AaEBqQGxAbkB
wQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKE Ao4CmAKiAqwC
tgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOu A7oDxwPTA+AD
7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc BSsFOgVJBVgF
ZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbR BuMG9QcHBxkH
Kwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjS COcI+wkQCSUJ
OglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsi CzkLUQtpC4AL
mAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3D Dd4N+A4TDi4O
SQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5 ENcQ9RETETER
TxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQG FCcUSRRqFIsU
rRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReu F9IX9xgbGEAY
ZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2Mbihuy G9ocAhwqHFIc
exyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAV IEEgbCCYIMQg
8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa JQklOCVoJZcl
xyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoC KjUqaCqbKs8r
Ais2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+R L8cv/jA1MGww
pDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWH NcI1/TY3NnI2
rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvo PCc8ZTykPOM9
Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 QvdDOkN9Q8BE
A0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnw SjdKfUrESwxL
U0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGb UeZSMVJ8UsdT
E1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4 WgdaVlqmWvVb
RVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJ Ypxi8GNDY5dj
62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tP a6dr/2xXbK9t
CG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTM dSh1hXXhdj52
m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7C fyN/hH/lgEeA
qIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokz iZmJ/opkisqL
MIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQg lIqU9JVflcmW
NJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L n/qgaaDYoUeh
tqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1 q+msXKzQrUSt
uK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfg uFm40blKucK6
O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTO xUvFyMZGxsPH
Qce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/ 0sHTRNPG1EnU
y9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2 4L3hROHM4lPi
2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO60 70DvzPBY8OXx
cvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26 /kv+3P9t////
7gAOQWRvYmUAZEAAAAAB/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEB
AQEBAQEBAQEBAgICAgICAgICAgIDAwMDAwMDAwMDAQEBAQEBAQEBAQECAgEC AgMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP/wAAR CAEwAX0DAREA
AhEBAxEB/90ABAAw/8QBogAAAAYCAwEAAAAAAAAAAAAABwgGBQQJAwoCAQAL AQAABgMBAQEA
AAAAAAAAAAAGBQQDBwIIAQkACgsQAAIBAwQBAwMCAwMDAgYJdQECAwQRBRIG IQcTIgAIMRRB
MiMVCVFCFmEkMxdScYEYYpElQ6Gx8CY0cgoZwdE1J+FTNoLxkqJEVHNFRjdH YyhVVlcassLS
4vJkg3SThGWjs8PT4yk4ZvN1Kjk6SElKWFlaZ2hpanZ3eHl6hYaHiImKlJWW l5iZmqSlpqeo
qaq0tba3uLm6xMXGx8jJytTV1tfY2drk5ebn6Onq9PX29/j5+hEAAgEDAgQE AwUEBAQGBgVt
AQIDEQQhEgUxBgAiE0FRBzJhFHEIQoEjkRVSoWIWMwmxJMHRQ3LwF+GCNCWS UxhjRPGisiY1
GVQ2RWQnCnODk0Z0wtLi8lVldVY3hIWjs8PT4/MpGpSktMTU5PSVpbXF1eX1 KEdXZjh2hpam
tsbW5vZnd4eXp7fH1+f3SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6Slpq eoqaqrrK2ur6
/9oADAMBAAIRAxEAPwDavw2L+D2d+XG7PhXj170n7j2j0/TdyVdXB3j8lq/r 2sx1Lm9tYvfW
wYd9Yvt2vxGJ7g6pxHZ/X2f3DtfLfw7Kw7Z7P2rlaSOso8jLLSt+DF/vpf2D q2t/4j+3r0cH
8u3HT7DxfYHbVH1HuntnuDtro7qDZXY/z73Bj91dvdhdOdy5Lo3cuA6xocB8 odx029NwT72p
aSE4Kink3Nh6nK0mMzmNxOdFViab3gxf76X9g69rf+I/t691xWfysu49q9nb 66i+VnWnamye
k9vruzubePXH8wzfG+Nq9R7VfHbgzCbl7O3Dtj5CZTEbC2+2I2nlaoVuVmpK Y02Mq5deinmZ
PeDF/vpf2Dr2t/4j+3r2GrP5WW4+mt2fIvb3ys60zvx82FuCm2nvrvbDfzDN 8ZTprZe6qyfb
VLSba3Z2fQ/ISfZO3NwVVTvTDxx0VZXQ1LyZajVUJqoA/vBi/wB9L+wde1v/ ABH9vSf+LOf/
AJbnzR3F8gdu/GjtLKdvf7Lh2BtLYG9c7198z+yt/wC3c1/ffqzZfaW3N67P yewPkRur+I9f
5H+9VftyLJVaUPm3VtLcNBFHJ/C5JX94MX++l/YOva3/AIj+3pP5Hsv+VlWd BfJn5F9Rd70f
yd2T8Sen94d19zYv4v8Azo3x3TurBbV2jsveO+kx70O2Pkg2Ixe4N2YjYWVj wsWVrsbTV9TS
Sr50SKaSP3gxf76X9g69rf8AiP7evdsr091hur4/9a4n4X/PPtvuPv3p/s3u uPqDrj5T7Wod
1dU7V6dyPQ+A7Ex/Z25e1v5gfWHVM24MBun5FbfxYi2tuPc9NV1K1ctNPNRw pVS+8GL/AH0v
7B17W/8AEf29KDbtX8F4Nidi7y7+/wBKnwxyfS/90Z+7tjfLT5f7x66zHUmH 7KzE+D6m3dub
e23PlJvjpLN9f9t5OCSi27uPb27M3gq7O0uQ2+1XFuTC5zD4z3gxf76X9g69 rf8AiP7elBma
z+VltzprafyL3D8rOtMF8fN+7gqdp7F72zP8wzfGL6a3puqjn3LS1e2tp9n1 3yEg2TuPcFLU
7LzEclFR101SkmJrFZAaWcJ7wYv99L+wde1v/Ef29e7HrP5WXTm1esd9du/K zrTqvZPdm323
Z0zvHsf+YZvjY+1e3Nqpjtv5h9y9Y7h3P8hMXiN+7fXEbsxVUa3FTVdMKbJ0 kuvRUQs/vBi/
30v7B17W/wDEf29B/wDMPsv+Vl8FNq77zHyL73o9l722X0/ujuvF9E5L50b4 25372jtXbmO3
PVUOP6l6w318kNoZfe24N7ZfaFdh8DFG0VNks1EaRZ1dZCnvBi/30v7B17W/ 8R/b0P8At/rP
4C7s2qu+tq9w0e5dkvuDrHaabx2/82u28ztVt1d2Y7rjMdM7aXcOO7yqcQ24 O3MR3HtCq2xR
Cb7nP026sPLQpOmTomn94MX++l/YOva3/iP7egg3Hvj+URs7+/8A/e75o9Kb V/0UdgUfU/aX
94/5ku58H/o17TyP99f4f1pv/wDifyNpf7ndgV/+jXcfhw2R+2yMv8AyWmE/ Y1Xi94MX++l/
YOva3/iP7eh/250P8L94/wBwP7o78ym6v9K/X9Z2x1b/AHc+YPdmc/0ldWY7 +5X8Q7L2B/DO
6qr++PX9B/pK255szjvucdF/H8bqmH31L5feDF/vpf2Dr2t/4j+3oNqn4Y7A 3FvTsenx+9u+
tu4rbe6cVgsXisN3x2fPSw00vXux9xVEkk+4NxZ3JzVE2S3BOxLVBUKVVVUD 37wYv99L+wde
1v8AxH9vUn/ZC9k/8/T+SH/o896//VPv3gxf76X9g69rf+I/t69/sheyf+fp /JD/ANHnvX/6
p9+8GL/fS/sHXtb/AMR/b17/AGQvZP8Az9P5If8Ao896/wD1T794MX++l/YO va3/AIj+3r3+
yF7J/wCfp/JD/wBHnvX/AOqffvBi/wB9L+wde1v/ABH9vXv9kL2T/wA/T+SH /o896/8A1T79
4MX++l/YOva3/iP7evf7IXsn/n6fyQ/9HnvX/wCqffvBi/30v7B17W/8R/b1 7/ZC9k/8/T+S
H/o896//AFT794MX++l/YOva3/iP7evf7IXsn/n6fyQ/9HnvX/6p9+8GL/fS /sHXtb/xH9vX
v9kL2T/z9P5If+jz3r/9U+/eDF/vpf2Dr2t/4j+3r3+yF7J/5+n8kP8A0ee9 f/qn37wYv99L
+wde1v8AxH9vXv8AZC9k/wDP0/kh/wCjz3r/APVPv3gxf76X9g69rf8AiP7e vf7IXsn/AJ+n
8kP/AEee9f8A6p9+8GL/AH0v7B17W/8AEf29e/2QvZP/AD9P5If+jz3r/wDV Pv3gxf76X9g6
9rf+I/t69/sheyf+fp/JD/0ee9f/AKp9+8GL/fS/sHXtb/xH9vXv9kL2T/z9 P5If+jz3r/8A
VPv3gxf76X9g69rf+I/t69/sheyf+fp/JD/0ee9f/qn37wYv99L+wde1v/Ef 29e/2QvZP/P0
/kh/6PPev/1T794MX++l/YOva3/iP7evf7IXsn/n6fyQ/wDR571/+qffvBi/ 30v7B17W/wDE
f29e/wBkL2T/AM/T+SH/AKPPev8A9U+/eDF/vpf2Dr2t/wCI/t69/sheyf8A n6fyQ/8AR571
/wDqn37wYv8AfS/sHXtb/wAR/b17/ZC9k/8AP0/kh/6PPev/ANU+/eDF/vpf 2Dr2t/4j+3pL
b5+FG0tr7J3huWj7P+RMtXt3a24M7SxVXeO+XpZKnEYmryEEdSkNdBK9O8tO A4V0YqTZgeff
vBi/30v7B17W/wDEf29Gp/2S7oL/AJUO1P8A0o75H/8A22PfvBi/30v7B17W /wDEf29e/wBk
u6C/5UO1P/Sjvkf/APbY9+8GL/fS/sHXtb/xH9vXv9ku6C/5UO1P/Sjvkf8A /bY9+8GL/fS/
sHXtb/xH9vXv9ku6C/5UO1P/AEo75H//AG2PfvBi/wB9L+wde1v/ABH9vXv9 ku6C/wCVDtT/
ANKO+R//ANtj37wYv99L+wde1v8AxH9vXv8AZLugv+VDtT/0o75H/wD22Pfv Bi/30v7B17W/
8R/b17/ZLugv+VDtT/0o75H/AP22PfvBi/30v7B17W/8R/b17/ZLugv+VDtT /wBKO+R//wBt
j37wYv8AfS/sHXtb/wAR/b17/ZLugv8AlQ7U/wDSjvkf/wDbY9+8GL/fS/sH Xtb/AMR/b17/
AGS7oL/lQ7U/9KO+R/8A9tj37wYv99L+wde1v/Ef29e/2S7oL/lQ7U/9KO+R /wD9tj37wYv9
9L+wde1v/Ef29f/Q2Gtp/BD5VYfdW2vmtmOy+4N1/IPdf8x/DfLzKfEHdlZ8 UafpDrPr3tnI
03wRrq3cuX2L1ftvsGv7g+MX8oLdzY+toMP2ruDbOQ7L2s9dSNuwSxtl/de6 GD4p/FzvbrX5
JdO7/wB67G/gu0tq/wDD9X8ey395tnZH7D/Z0f5sPRnyX+NH+QYncNfk6r/S V0ls7JZv9mGT
+DfbfZ5X7GvkipX917qsD41dHfJj5YfCz+U92ltH429gbD2/8M/gB8LP4bR9 k74+PdPmPlj/
AHW+Tn8of5ix/wCy1U+w+69/0WK/vH1l/L33FQ0H+lWo6w053du2oav7Wkkz 1bgPde6P/wBl
dHfJj5Lb/wC2PkB/stvYHSP98ewP5IuzcN1D3Fvj491XaZ278CP5n+8vll37 2xVVHSvdfcnU
sHX8HUvcmvD0396zurJZHbWWpv4NFqw75b3XuhA398XO9u29gfz3vj/Bsb+4 /wDs7f8AeP8A
2W/t7eu5tnP1Zvj/AEt/ywPjt8TZPvKfZG4d69tbR/0b9tdNZFM//F9qUPkx 1ZR1OI/i2qoS
m917ov8A85/j38gP5j2xPkHU5L4OdgdXf3f/AJYH8wr439c9Y/KLdHxA3BmO 3Pkd8lsx8Vex
/jrmOtV6Z+RHyB6/2/8A6KuwPiatbVZvduW2pLhM7kMBWYs1fhyFXiPde6N/ 3nszsXoT5T/D
TtL49/DjsDujpLpf4gfL340TddfGjK/Fjrr/AET/AOkXsX4Bbi6fxOJ2j313 x8cdpUvX9LtL
4452hggwNRVfwv7WlhNLFDLGy+690UD5J/Fz5d999u7P+fW09jfID487z2h2 B8ecbj/j71bu
b4Ubk+adB1Z0R0n/ADNuqqreWCzXde4e1PgNT9gb/wCxf5jcn3W2snuXMY6g 6x2tLl6fOjd+
Wg2rhfde6D/JbP7n+OWe+GPce7Onfl/3V3B3j/N/3t3FkOsu0uwfgLX/ACx3 r9n/ACVPlN8b
KWqztL0pVfGz4Mda/wAC2v0zHV0uHxm9M59ztrHRZOoyx3BlJ9s4z3XulBhO kf5nHTqfwzpv
qrb+w8R8lNwfIrsfdm/OoNufFuo+XHUm6u6fnn8y/lr1h1j8i/kZ372zvPpz rrp/qfbfygwF
Dlzsbpf5S1NNXVPZA2/SLUS7ZzGa917oP+pfhH8wp/5enyf6i3L8fdwbD7W3 z/wnh+JX8vHZ
mwty9hdGZDI7j+T/AMfNg/zIust27Vps9sftbeOycdt/OVPb2z8ricxX5Wjx 8uK3LT/dSUld
SZaix3uvdDB3V1h808pvvdW2tifCjsDc+0vmV/M//lhfObfnY+T7m+Me2MP8 Tuk/j3h/5d69
tbN7S2/J3Lld29g/IDZm7fhBXx1GG2NRbi2hWYLcFLX43dOQr6ebCt7r3Sf3 D8Q/mZ15lemO
39i0Xyf2zl9hdwfzsMNuHbfwyz38v7Kd+5TZfzv/AJl2D+UvRG7Jk+esWZ+N z9P5bq7quGvz
sdLkqTf2MzWWwVLFRmn/ALwpQ+691Z/8Gett6dC9IdfdU7r2T3Acvu/cHyk7 73tvXtDfPQW9
t1bf3p3V8ldzd5T7c7krul8H1RsmHuDsGp7wyOSmxfX21cxsHbNThMriYtxZ Cnp8Jltxe690
Y/Y0SvurukkC/wDpLxQ+n/fnOpj/AF/x9+690JP26f0H+2/437917r326f0H +2/437917r32
6f0H+2/437917r326f0H+2/437917r326f0H+2/437917r326f0H+2/43791 7r326f0H+2/4
37917r326f0H+2/437917r326f0H+2/437917r326f0H+2/437917r326f0H +2/437917r32
6f0H+2/437917r326f0H+2/437917r326f0H+2/437917r326f0H+2/43791 7r326f0H+2/4
37917r326f0H+2/437917r326f0H+2/437917r326f0H+2/437917r326f0H +2/437917r32
6f0H+2/437917oNO6IEHTvbBAFx1pvs/T+m1sqf6+/de6FL37r3Xvfuvde9+ 691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvdf//R3+Pfuvde9+691737r3Xv fuvde9+69173
7r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+690GdT11W/xzce bwnY++dr/wB6
MnSZjKYvD0vXlXjf4lSbfwm2VqaZtzbB3Bk4fNjNv0wdDUtH5FZlVdRHv3Xu vf3D3T/z+nsz
/wA9XTn/ANqb37r3Xv7h7p/5/T2Z/wCerpz/AO1N7917r39w90/8/p7M/wDP V05/9qb37r3X
v7h7p/5/T2Z/56unP/tTe/de69/cPdP/AD+nsz/z1dOf/am9+6917+4e6f8A n9PZn/nq6c/+
1N7917r39w90/wDP6ezP/PV05/8Aam9+6917+4e6f+f09mf+erpz/wC1N791 7r39w90/8/p7
M/8APV05/wDam9+6917+4e6f+f09mf8Anq6c/wDtTe/de69/cPdP/P6ezP8A z1dOf/am9+69
17+4e6f+f09mf+erpz/7U3v3Xuvf3D3T/wA/p7M/89XTn/2pvfuvde/uHun/ AJ/T2Z/56unP
/tTe/de69/cPdP8Az+nsz/z1dOf/AGpvfuvde/uHun/n9PZn/nq6c/8AtTe/ de69/cPdP/P6
ezP/AD1dOf8A2pvfuvde/uHun/n9PZn/AJ6unP8A7U3v3Xuvf3D3T/z+nsz/ AM9XTn/2pvfu
vde/uHun/n9PZn/nq6c/+1N7917r39w90/8AP6ezP/PV05/9qb37r3TZmuq8 xuLDZbb+Y7h7
MrMRncZX4fK0n2HUdP8AdY3J0stFXU3npeq4KmDz0s7LrjdJFvdWBAPv3Xuh f9+691737r3X
vfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/0t/j37r3 Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfu vde9+691737r
3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9 +691737r3Xvf
uvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3Xvfuvde
9+691737r3Xvfuvde9+691737r3Xvfuvde9+691//9PZ66n/AJhXynznxY60 +efd3xK+P/Wv
w43Z8f8AZvyj3/ujrT5mdi9xd7dUdE7x66xvZlZvnJdMbj+EHS20t3/6LtpZ YZfdmMxO9p8w
uHx2R/u7SbkzCY3CZX3Xujf/AOz3fGf/AEp/6JP70dgfxP8A0gf6J/8AST/o A+Qn+yz/AOlP
+8f9xf8ARp/s33+iz/ZUv9IH+lL/AH4/8G/vn/Ef9IX+/T8P95P9xfv3Xuiv 9H/zgfjd29sv
Nbhrtj/J/DbpwncHyF64rusdkfCr509z9hYPavTffvZfSuyuzt97L6++LVZv brXb/cVN1xVV
FAM7iaGmptzYvc2046uszuzNzQY/3Xujwb/+UfRPXXVmyu58nvn+9vX/AGh/ dz/RJWdNbZ3j
8gNxd0f3t25Wb12//oR2B0Vt7sbsDuj77r/FV25j/dbF5fwbVxlfm5fHiqCs rIPde6J/2b/N
M6J27uL4Z7R6+zvX9du35bfL+L4rVWxvkZvPePw87T6s/hXVm4u194ZzPdJd xdSf6bf9IH8M
/udjtsbSzG3Nuf3qyPZ+zmTJ0dBuPE11Z7r3Sgn+UHzQ373f8oetfjp8WfjB vTZPxj7g2j0p
lN791/NftbpfdW7N1bj+NXx++SVdkMf1/sX4F/ILEYzb+MxHyCocXFLJuOWp qqnHzytBAjRq
fde6UFH/ADLfjPPt3bmTmovkBX7tyn99aPd/UnV/xd+Qnyd7T6a3F1r2nv8A 6K37tzufb/xG
657+xmw/4R3b1HvDa2LzctdLtXeWR2hmZdrZXOUGPqKxfde6UG9v5jfw92Fu rB7Xy3Zu4M5T
Zzp/rb5CydkdcdM959vdBbT6C7eyO+cd133h2d8lOqetd6fHzqLp/cUfWe4K 8bm3TubD4Wlw
uHq8pU1MONherHuvdKD/AGe74z/6U/8ARJ/ejsD+J/6QP9E/+kn/AEAfIT/Z Z/8ASn/eP+4v
+jT/AGb7/RZ/sqX+kD/Sl/vx/wCDf3z/AIj/AKQv9+n4f7yf7i/fuvdF/wBz fzW/j/Td7dB9
F7A2h8gOxa3uD5f9j/Drce/KP4rfL/CdWbJ331Zs75Eyb1rNudtVnxzqen+3 P7qdwdATbXzc
eF3H9nhMdJldyVlbHhduZWZPde6MBkvnr8TsR1Zs3uvIdrfb9ZdgfEDsv567 R3L/AHG7Jl/i
/wATun9udT7s7F7W/g0GzpNwUH93dv8AeO1qj+BVVJDuWr/imilx80lNVpT+ 690H/wDw5z8R
I/3a/LfIDB4zHf8AH/7j3N8KPmvtXZ3RGj/LKz/Zo967j+PWL2l8Tv4PtKak 3XkP9JdbtT+G
7EyuM3XVeHbeVxuVqvde6LT/ADle5d5bQ+HHcGe6i3v231fvjqXHfJ7IndO1 5Ozep6ibd3Wv
8tT5QfJHYtbtzdEUO2KHtDZeF3bitu11RNjKnMbZmzWLqMTXGSsx2SoKcR7B ILe35iuxBC88
NirJ4kUcqqxu7WMsElV0rodlqVqAxpToi3pDNNsdsZZUiluyG8OR4yQLa4cA tGytTUqmlaEg
V6OH/spuzv8Anufk9/6WZ8wP/t5e2/6y7j/yjbf/ANkNj/2z9OfuGx/3/e/9 ll3/ANb+vf7K
bs7/AJ7n5Pf+lmfMD/7eXv39Zdx/5Rtv/wCyGx/7Z+vfuGx/3/e/9ll3/wBb +vf7Kbs7/nuf
k9/6WZ8wP/t5e/f1l3H/AJRtv/7IbH/tn69+4bH/AH/e/wDZZd/9b+vf7Kbs 7/nufk9/6WZ8
wP8A7eXv39Zdx/5Rtv8A+yGx/wC2fr37hsf9/wB7/wBll3/1v69/spuzv+e5 +T3/AKWZ8wP/
ALeXv39Zdx/5Rtv/AOyGx/7Z+vfuGx/3/e/9ll3/ANb+vf7Kbs7/AJ7n5Pf+ lmfMD/7eXv39
Zdx/5Rtv/wCyGx/7Z+vfuGx/3/e/9ll3/wBb+vf7Kbs7/nufk9/6WZ8wP/t5 e/f1l3H/AJRt
v/7IbH/tn69+4bH/AH/e/wDZZd/9b+vf7Kbs7/nufk9/6WZ8wP8A7eXv39Zd x/5Rtv8A+yGx
/wC2fr37hsf9/wB7/wBll3/1v69/spuzv+e5+T3/AKWZ8wP/ALeXv39Zdx/5 Rtv/AOyGx/7Z
+vfuGx/3/e/9ll3/ANb+vf7Kbs7/AJ7n5Pf+lmfMD/7eXv39Zdx/5Rtv/wCy Gx/7Z+vfuGx/
3/e/9ll3/wBb+vf7Kbs7/nufk9/6WZ8wP/t5e/f1l3H/AJRtv/7IbH/tn69+ 4bH/AH/e/wDZ
Zd/9b+vf7Kbs7/nufk9/6WZ8wP8A7eXv39Zdx/5Rtv8A+yGx/wC2fr37hsf9 /wB7/wBll3/1
v69/spuzv+e5+T3/AKWZ8wP/ALeXv39Zdx/5Rtv/AOyGx/7Z+vfuGx/3/e/9 ll3/ANb+vf7K
bs7/AJ7n5Pf+lmfMD/7eXv39Zdx/5Rtv/wCyGx/7Z+vfuGx/3/e/9ll3/wBb +vf7Kbs7/nuf
k9/6WZ8wP/t5e/f1l3H/AJRtv/7IbH/tn69+4bH/AH/e/wDZZd/9b+vf7Kbs 7/nufk9/6WZ8
wP8A7eXv39Zdx/5Rtv8A+yGx/wC2fr37hsf9/wB7/wBll3/1v69/spuzv+e5 +T3/AKWZ8wP/
ALeXv39Zdx/5Rtv/AOyGx/7Z+vfuGx/3/e/9ll3/ANb+vf7Kbs7/AJ7n5Pf+ lmfMD/7eXv39
Zdx/5Rtv/wCyGx/7Z+vfuGx/3/e/9ll3/wBb+vf7Kbs7/nufk9/6WZ8wP/t5 e/f1l3H/AJRt
v/7IbH/tn69+4bH/AH/e/wDZZd/9b+vf7Kbs7/nufk9/6WZ8wP8A7eXv39Zd x/5Rtv8A+yGx
/wC2fr37hsf9/wB7/wBll3/1v69/spuzv+e5+T3/AKWZ8wP/ALeXv39Zdx/5 Rtv/AOyGx/7Z
+vfuGx/3/e/9ll3/ANb+vf7Kbs7/AJ7n5Pf+lmfMD/7eXv39Zdx/5Rtv/wCy Gx/7Z+vfuGx/
3/e/9ll3/wBb+nX4o42t23mflLseTcu+9yYbY3yIxOE2sewuwt9dm5rDYbK/ GH4270q8RTbn
7G3Func7YxtzbryFYlO9Y8UMtZJ41VWt7c3+QXFvy7dmCFJ5rFmfw4o4lZhd 3UYYpEqJXQir
ULUhRWvTeyoYZt8thLK8UV2AviSPIQDbW7kBpGZqamY0rQEmnRvfYc6Peve/ de697917r3v3
Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r/9TY66n+Jvz6 yvwF60/lkd6d
dfEDYnSUXxA2b8Ku4vkL1P8AKvujtjtOu6sw/S+N6Z7Bz/WnSG8PhJ0vtLFd gdi7Soaukw1V
lN7VmO2XkcpDl6mh3TDi3wOX917oP/k78EP5mvcvZNXnB3p1/wBwbS6t+X/S fyn+P2M7S+Sf
Z/RexJ9idVfLHr35BwfF/O/Hn4vfFPau0sd/DtpbVx+Dpeyu1tyfJesjrNmR ZLC7Y2vX7tr6
vbvuvdB/jv5W/wAtdodxd19sQbd6/wCxf9JHYHeuN2zgNgfzW/5h38vn+E9W bn+dnzb+avXm
8t65X4l9EZD/AEjdgbh/2erI7ayW2svTVmO2V/ciPI4jO5T+9mQocJ7r3Vj+ 8fiH2Fsboz+X
1tj4+UXT+b3t/Ls3BsTM7F623LnuzOm+muy8dt34e91/DCr2nTb8rovln2t1 Ft/BbW7zqNx4
mTI0/Y+VqJMBT4aurJXr59wUnuvdB/sb4Zd+5DuDrb5E9lTdP7S3tlP5j+c+ b3b/AFlsbfW9
Ow9q7G2rT/yod7fy1ttbH627Oz/VHWGX7W3BlsvQbc3dXVGU2tsymx9Nlclj ohWviqWszPuv
dKDG7A+fXR3yA+Z27ulOkfiB3B1l8mPkBsnvTbWY7S+Y3dHRW+9u/wAE+IHx Z+N+Z2tndkbT
+BvyD2/J49wfHyryNLXU+45PuKPIxK9PBJG4PuvdFA3P/Kl7i697JqO0ur8h /p73B2T1/WY3
tyjg/mI/Oz+VRh8J2nnvlj8xfmL2NvLaNP8AC3Ad4VvZ3X+/Ozfm7n6Hbm2t 5VFRketsFtqk
hjzu5KvNZSth917pP72+D/yVfdXyH+EHSvWfT+P+Pna38mH4Kfy/N4/ILcm6 u7+sNq9V47b2
R/mPdR7hzHxy6zzGxfkpU99bg6y2T2bS5ufZO5+2cFlaOmnwdLkd0TnMtmYP de6UHyd+CH8z
XuXsmrzg706/7g2l1b8v+k/lP8fsZ2l8k+z+i9iT7E6q+WPXvyDg+L+d+PPx e+Ke1dpY7+Hb
S2rj8HS9ldrbk+S9ZHWbMiyWF2xtev3bX1e3fde6M/hvhl37svHfEWXb03T+ 5Mv0X/Nf+bvz
N31Q5nfW9Nr46q6C+X26v5kFJSQ7TylD1Ruypy3cGwtk/NjD5CTBVlHjcLkc rhqzHrnaaneD
Jt7r3RIKj+WR8+tx9WV/xo3HlviBjOkukv5IPyt/lSfGjeuE7F7oyfafafaf du3PjvsDA99d
6bcr+k8XtLp3r/O7S+NmEq6va2Ar97ZHauRqa6KPL7khmgkpPde6GD5Pfyvu 0O2+7/lvk8Pg
9v8AYvVPzb3BgMzv3Ibs/mM/zFfjHtXrDHT/ABq6c+K26dp7l+EHxSnwfTnz D2/HtvptdxVs
mY3115ld402cfaVXWYqhxdJnJvde6Uf88Oo3TUfBf5ARbhw238XiKPrz51U+ xa7DblyOeyO4
9rN/KB+a9ZV5ndmLrtp7cptl7gg3vVZjHx4yjrM/TS4qgo8g1fHUV8+Mxx/s 3/JO5r/6V6f9
p1n0Tbp/udy5/wA9rf8AaJddXb+JP6f71/xT2QdHPXvEn9P96/4p7917r3iT +n+9f8U9+691
7xJ/T/ev+Ke/de694k/p/vX/ABT37r3XvEn9P96/4p7917r3iT+n+9f8U9+6 917xJ/T/AHr/
AIp7917r3iT+n+9f8U9+6917xJ/T/ev+Ke/de694k/p/vX/FPfuvde8Sf0/3 r/inv3XuveJP
6f71/wAU9+6917xJ/T/ev+Ke/de694k/p/vX/FPfuvde8Sf0/wB6/wCKe/de 694k/p/vX/FP
fuvde8Sf0/3r/inv3XuveJP6f71/xT37r3XvEn9P96/4p7917r3iT+n+9f8A FPfuvde8Sf0/
3r/inv3Xuiz9CAL2n81wPoPk3tT/AOA0+JPs/wB5/wCSdyp/0r3/AO0686Jt r/3O5j/57V/7
RLXoznsg6Oeve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3 Xuve/de69791
7r//1d/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69173 7r3Xvfuvde9+
690Vj5adAdXfJfZO1Oqu4MTk83sjObtztJlsbidxZvbM2Qxud6f7V2duPC11 Xg6yjkyO3907
P3PksRlMfUiehyONyE9PPE6SEAw2/c7va3ne0Mf6sehw8ccqsupXoUlR0NHR WB01BUUPSK92
+23BYVuQ/wCm+tSkkkbK2lkqGjZG+F2BFaEE1HQe/wCydbD/AOf2fM3/ANLP +RP/ANnXtf8A
1l3H/lG2/wD7IbH/ALZ+kf7hsf8Af97/ANll3/1v69/snWw/+f2fM3/0s/5E /wD2de/f1l3H
/lG2/wD7IbH/ALZ+vfuGx/3/AHv/AGWXf/W/r3+ydbD/AOf2fM3/ANLP+RP/ ANnXv39Zdx/5
Rtv/AOyGx/7Z+vfuGx/3/e/9ll3/ANb+vf7J1sP/AJ/Z8zf/AEs/5E//AGde /f1l3H/lG2//
ALIbH/tn69+4bH/f97/2WXf/AFv69/snWw/+f2fM3/0s/wCRP/2de/f1l3H/ AJRtv/7IbH/t
n69+4bH/AH/e/wDZZd/9b+vf7J1sP/n9nzN/9LP+RP8A9nXv39Zdx/5Rtv8A +yGx/wC2fr37
hsf9/wB7/wBll3/1v69/snWw/wDn9nzN/wDSz/kT/wDZ179/WXcf+Ubb/wDs hsf+2fr37hsf
9/3v/ZZd/wDW/r3+ydbD/wCf2fM3/wBLP+RP/wBnXv39Zdx/5Rtv/wCyGx/7 Z+vfuGx/3/e/
9ll3/wBb+vf7J1sP/n9nzN/9LP8AkT/9nXv39Zdx/wCUbb/+yGx/7Z+vfuGx /wB/3v8A2WXf
/W/r3+ydbD/5/Z8zf/Sz/kT/APZ179/WXcf+Ubb/APshsf8Atn69+4bH/f8A e/8AZZd/9b+v
f7J1sP8A5/Z8zf8A0s/5E/8A2de/f1l3H/lG2/8A7IbH/tn69+4bH/f97/2W Xf8A1v69/snW
w/8An9nzN/8ASz/kT/8AZ179/WXcf+Ubb/8Ashsf+2fr37hsf9/3v/ZZd/8A W/r3+ydbD/5/
Z8zf/Sz/AJE//Z179/WXcf8AlG2//shsf+2fr37hsf8Af97/ANll3/1v69/s nWw/+f2fM3/0
s/5E/wD2de/f1l3H/lG2/wD7IbH/ALZ+vfuGx/3/AHv/AGWXf/W/r3+ydbD/ AOf2fM3/ANLP
+RP/ANnXv39Zdx/5Rtv/AOyGx/7Z+vfuGx/3/e/9ll3/ANb+vf7J1sP/AJ/Z 8zf/AEs/5E//
AGde/f1l3H/lG2//ALIbH/tn69+4bH/f97/2WXf/AFv69/snWw/+f2fM3/0s /wCRP/2de/f1
l3H/AJRtv/7IbH/tn69+4bH/AH/e/wDZZd/9b+vf7J1sP/n9nzN/9LP+RP8A 9nXv39Zdx/5R
tv8A+yGx/wC2fr37hsf9/wB7/wBll3/1v69/snWw/wDn9nzN/wDSz/kT/wDZ 179/WXcf+Ubb
/wDshsf+2fr37hsf9/3v/ZZd/wDW/r3+ydbD/wCf2fM3/wBLP+RP/wBnXv39 Zdx/5Rtv/wCy
Gx/7Z+vfuGx/3/e/9ll3/wBb+vf7J1sP/n9nzN/9LP8AkT/9nXv39Zdx/wCU bb/+yGx/7Z+v
fuGx/wB/3v8A2WXf/W/r3+ydbD/5/Z8zf/Sz/kT/APZ179/WXcf+Ubb/APsh sf8Atn69+4bH
/f8Ae/8AZZd/9b+hi+PHVm2OpqPtHCbZr955kZjs2PcObz/YW/N2dkbvzmYm 6x6zwy1mX3Zv
TK5jNVn2mFwlHRU8ZlEUFLSxoiixJQbhud3ujwPdmP8ASj0IEjjiVV1M9AkS Igq7sxOmpLGp
6WWW3223rMtsH/UfWxeSSRmbSqVLSM7fCigCtAAKDow/sv6W9e9+691737r3 Xvfuvde9+691
737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9bf49+691737r3Xvfuv de9+691737r3
Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdBj2VN9u+xJr20bzm5/4N sfeq/wDRXv3X
ugf7P3llsLteBMFXJi8tuLdextk0ebkpoqtMA2+d5YLaUueFNUhqWpqsRT5h 56WGZWhnq0ii
kBRz7917oEMO/V+Z+R25Pj7gMD2DtfeO0eqspv6r7yr9wZ87syOdhzez8Vj6 rG5LLZCsxu7M
Yy7lkmqaWspKjESSKac0wh1xH3Xuh56z39Xby2DtXcuUjpYMnlcRBLkloVlW gfIQl6WtqMcs
sksq46qqYGlpwzuwhdbsx5PuvdLn+MD/AFQ/3n37r3Xv4wP9UP8Aeffuvde/ jA/1Q/3n37r3
Xv4wP9UP959+6917+MD/AFQ/3n37r3Xv4wP9UP8AeffuvdEY/mUfLHf3w7+F XdHyO6vxWz89
vrrr/R1/A8VvzH5vKbUqv73dsbE2Jk/4rQ7f3BtfLz+DD7nqJIPDXQaalI2f WgaN1222sd5e
w20pIRq1pSuFJ8wfT06R7hcPaWk1xGAXWnHhlgPIj19eknv7+aX0R113/uP4 45vafblVvfbH
yK+J/wAZq/LYrA7On2pNvv5i7K3TvvrPL0ddV7+ocvJtDA4jaNTHnp3oY62l qXiWkpa1C8iX
j2yeS3W5V00GOR+JrSMgN5cTXGaepHVH3GGOdrcq2sSInAUrICR58BTOPsB6 j7L/AJrnxs3d
2/uTpuupOxNiZXbfZ3yw6lfde98Ntej2Vl92fDLCbM3T3L/Ca7B703BmzjIt o70jyuOmqsfS
tUUVDV+ZKeVIoptvtdykKzAqwKxtQVrSQkLxAHEUOeJHHrybjbtK0RDKQzrU 0pWOhbgT5Gox
5HoYvjt85ur/AJI52bbO28Fv3ZO4KvrTaHeOzMT2Ni9vYut7I6G7ArsnjNj9 zbOi23urdZj2
fuSuxE0aUmX/AIVuCjPj+9xtKJoTIxcWUtsupmVl1FTSuGHFTUDI+VQfInp2 C7juG0qrBtIY
VplTwYUJwfnQ+oHRuf4wP9UP959pOlXXv4wP9UP959+6917+MD/VD/effuvd e/jA/wBUP959
+6917+MD/VD/AHn37r3Xv4wP9UP959+691hqM8KeCeciSUQQyTGKBDJNII0Z /HDHca5X02UX
Fybe/de6JFlN87Go8l8XKrtXau4e1c98psNnM3/EcNkc7URdbVf2Ww8ngsRs /EYfJ4+lwu3M
RTbxaCfJwxDIT+H7meclmUe690Z3ZecrcTuPsTr2qzFduCj2HncVT4HOZaoN bmZsDuHb2Oz1
HiM3kdKvlMlt+oqpqVKqW9VU0K00lS81U01RN7r3Qx9azfcPvua99e84ef8A gux9lL/0T791
7oTvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde 9+691737r3X/
19/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X vfuvde9+690D
nc0/22O2dNe2jef1/wCDbP3gn+P+q9+690A+44MRuzB5LbmepvvcRlqZqWsp xNPTS6dSyRT0
tXSPBWUNbSTossFRDJHPBMiyRsrqrD3Xug6qNu79yNRoy3Z9NUQDFVe3/wC8 2P2FhsR2q+3a
2op6msw/9/KavfF0MFfLRwtO1DhaNjJGssXhlSOSP3XuhPxEuOwOJxmDw9PF QYnDY+ixOLoY
dXhosdjqaKjoqSLXrfx09NCqLck2HJ9+6904/wAb/wBq/wB9/wAk+/de69/G /wDav99/yT79
17r38b/2r/ff8k+/de69/G/9q/33/JPv3Xuvfxv/AGr/AH3/ACT7917r38b/ ANq/33/JPv3X
uqxfkL/Lr2l3xvr5AZf/AEhNtnr75fJ8fF+U2yptrV+ez+9W+MuXpsl1u/W+ +IN77fg6tORo
6Gnx+dEuIzoraOENSfYVTSVLmlvub28duPDrJDr8M1oBrGdQodXqMih41GOi 6fblnec+JSOX
TrFKk6OFDUU9Dg/Khz0wdz/y2sf2n8qG+S+G7lfaK5j5HfC75Kbx2VV9ftua TN7r+G2B7C2h
hcTidzLvnAJt/Gb12nveGnmLY2sahqqA1AFQJzFFaDdDFafStDWkUiA1pQSE E4oa0I9RWvVZ
ttEtz9QJqVkjcilcxgjjUUqD6Yp0hcb/ACndsv3XP2du/uX+9e08v8hv5hPd m6Ou/wDRt/C/
47t75+dRbW6jzvXX95Tv3Iij/uFjNuyz/wAU/h8v8X+68f2lF4/I7h3hvA8J IaOI4VB1cDEx
YGlPOvCuPU9UG1L43iPNVTJKxFOIlULStfKnGmfQdGO+Gfwg2l8QcjLksXV9 S5Wrx3XeH6m2
1ltifGvq/qHeNbs3CVlJV/xvtXsfDpuHsbtHszc7YuhOdyDZXGYDJVFBBVJg 6as8tRImvdwe
8FCHALFjV2YVPkq4CqM0FCRWmojHSi0sVtTUFSdOkUQKaf0jksTipqAaV016 sF/jf+1f77/k
n2XdLuvfxv8A2r/ff8k+/de69/G/9q/33/JPv3Xuvfxv/av99/yT7917r38b /wBq/wB9/wAk
+/de69/G/wDav99/yT7917r38b/2r/ff8k+/de6B6DaO4Nu19PJsHde38Hia B8y2Dx25NhU2
7azZse5KpK7cdBsbOw53buSweHzFbEkzUdQa+niKrFEqUsVPTw+690t9pY6k 2nRV8UeRyWZy
eaytRntxZ/MzQzZXPZuqp6SjlyFZ9pTUlDTiKgoKemggpoYaenpaeKKNFVAP fuvdGH6Zn+5x
28Zr317z+v8AwXZ+z0/w/wBT7917oY/fuvde9+691737r3Xvfuvde9+69173 7r3Xvfuvde9+
691737r3Xvfuvde9+691737r3X//0N/j37r3Xvfuvde9+691737r3Xvfuvde 9+691737r3Xv
fuvde9+691737r3Xvfuvde9+690He/qSirqzYFLkYI6mjl3nU+aCW+h9Gw97 yR6rFT6ZUUjn
6j37r3TLuGm6s2jt/Obs3YNsbY2ttjD5TcO5dy7hydPhdv7ewGEop8lmc5nM zkq2mx2Jw+Ix
1NJUVNVUSRw08MbPIyqpI2qs7KiqSxIAA4kn0HVWZVBZmoo4k+Q9T0A2wPkN 8auxt24nY+M2
72ntLcW4PvottQdyfGn5L/H/ABm68ljMZWZyt25tLcXevVnXW3d17wi27i67 KfwXHVdTl3xO
Mr65aY0dBWTQPyWs0aFzoKjjpdHp5VIViQK0FTipArUjplLmJ2CDUGPDUjrX 5AsoBNKmgzQE
+R6Mj/dXZf8AzoqH8f8AHX/r97T/AJdKOvf3V2X/AM6Kh/H/AB1/6/e/fl17 on3+znfBj/ZT
P9nl/v1Q/wCytc/8ZQ/uJ2hf/mZX+iD/AI8j+6f+kX/mYn+4/wD4tH/N/wD4 C/ve1f0N39V9
D4P+NelV9NXGtOHz/n0l+ttvpvq/F/xf1ofWnCleOOHRwv7q7L/50VD/ANZf 6f8ALb8+0n5d
Keuv7q7L/wCdFQ/9Zf6f8tvfvy630W7u75DfGr48ZPGYztHbvadJ/FxtWKgz GyvjT8l+29pS
ZLfG7U2Js/bku9upOrN8bOpN47l3hPT46iws1dHlqipraNUpj95SmZRDazXA Ji0YrxdFOBUm
jMDSma0pg+h6TzXMUBAk1Z9EcjJoBUKRUnFOPD1HQw7Br+seydpYneu3dq7i x2HzX3/2dFv7
rzsXqjdsP8NydZiaj+LbB7S2/s7feB8lVQO8H32NpvuqZo6mHyU80UrtSI0b lGpUU4EMM54q
SD+R6dR1kUMtaH1BB/YQD/L5jpYf3V2X/wA6Kh/H/HX/AK/e6fl1foN8pvX4 /wCC3B2HtrP5
XbO3sj1P1ttruDsip3DJV4Hb+zes931vZWPwe8s5uzL/AGW1qTDvP1BuNqpv vS+PhxjTVawQ
ywPK4IZWWNlQkO2kUySwpUU4/iH21x02ZY1Z1Z6FVDGuKA1oSeH4T9lOmfBd pfHLcu2ug934
Suoa3bvyf/g3+g3I/wAB3XTf33/vB1LuzvPEXpKvGU9dtn7zq3Y+Uyn+5iLH +P7X7Z9NXJDT
ybaCVWnRk7oq6sjFGC/n3EDFfXh1oTxMsLB+2SmnBzUFvTGATmn7ehg/ursv /nRUP/WX/r97
a9cdO9I/f1f1j1ttLLb13FtXcWRw+F+w+8o9g9edidr7tm/iWTo8TT/wnYPV u39477z3jqq9
Gn+xxtT9rTLJUzeOnhllS8aNI4RaVPqQowPViAPzPy6o7rGpdq0HoCT+wAn+ WPs6B7pH5DfG
r5D5PJ4zq7bvadX/AAj+9UVfmN6/Gn5L9SbSiyWx92vsTeG3It7dt9WbH2dV 7w21vCCox1bh
Ya6TLU9TRVivTD7OqMLs1rNbgGXRmnB0Y5FQaKxNCPOlMjOR03DcxTkiPXiv FHAwaEVKgVBw
Rx4+h6Mj/dXZf/Oiof8ArL/T/lt7T/l0/wBd/wB1dl/86Kh/6y/0/wCW359+ /LrXRVOn/lH8
XO+K3ZtN1ltbuzLY7sHDxbh2dvLO/Ef5b7D6zze36nATbox+dh7X3/0ztfrO nw+awkQlx1TP
looMk80MVK0008EciqazngDmTQCpoQJIya8KaQxbjxxjz6TxXUM2nw9ZDCoO hwKUrxKgUp8+
jV/3V2X/AM6Kg/P/AB1/6/e0v5dKeuv7q7L/AOdFQ/j/AI6/9fvfvy690Vbc Xyo+JW1twZzB
ZaHfbY/a2YyeD3V2Th/j58itydDbUrdvVs2M3lNur5Hbc6zyvQe2sP1xlaKs pN15Gu3JBj9p
1mNr4MxNQzY+tSBUtncMqsFWpAIGtAxrwohOo1/CAKtUFa1HSZruBWYFmoDQ nSxUU41YLpFP
xZotDWlD0ar+6uy/+dFQ/wDWX+n/AC2/PtL+XSjrvYNJRUVXv+lx0EdNRxbz pvDBFfQmvYex
5JNNyx9Ursfr9T791voRPfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde 9+691737r3Xv
fuvde9+691737r3X/9Hf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691 737r3Xvfuvde
9+691737r3XvfuvdBh2ZN9u2xZhxo3nN/wAnbH3qv/RXv3XugC+QVH/fPoTu /Z7dc/6Y13X1
D2Xtpuof73nr3/SoM5szNYs9b/3+E9Kdj/34FV/DP4x5Y/4Z919zqHjuHrdt FxA/i6KOp1Ur
pyM086caefDpqdQ8MyeHrqpGmtNWOFfKvCvlx6Iv1burKZvu/pSg683h8ue4 9jbb3fuiuzm2
/mD8W9z7A250B15D092fgtv786n7s7h+L3S3bm7+3qLdOVweyhPmN7713PmN qboztRkoK+T7
zNUK6UBYJzIsKSEChjcEudS1DKrsoWlWwqqGVaUwpRxtqmhEbSugJqHQgKNJ AKsyKxatFyzE
gtWuSLRv4y3+q/p/vfsr6Mcde/jLf6r+n+9+/dex1q4f6De+P9k7/wBk0/0K 9t/6Ov8Ahus/
M3+H/wCjfeP9zP8AT1/sj3+y3f7I7/o4/g38D/0t/wCzQf8AOQHk838Z/v8A f5T/AAD+Lf7+
D2KPqLf6z6zx08T6nw+Irp8XX4teOnR+l6acaqdvQc8Cb6X6TwX0eB4nA01e Hp8OlPi1/q+u
r8Ne7raP/jJ/1X++t7C/Qjx17+Mt/qv99b/Ye/dex0Vv5gUuf3T1NtLGbcw2 X3BkKX5R/Bzc
dRQYTG1mVrIMFs/5rfH/AHbunNzUtDDPPFiNtbYwlZkshUsohoqCkmqJmSKJ 3VVaMqyuWag8
KUZ9TG4A/Mmg9T0mugWiUKpJ8SM/kJFJ/YMn06NJ/GW/1X9faXpTjr38Zb/V f09+69jqs7+Y
L1x2T2RnulqXr3aOX31j+5sJ238FO4qTERxUMvWXx3+V1b1Vu/vf5Aruatmf C4vMdb9bfG+v
xWCpa+CSlrdybnxz2rZaaLB5kz2+aONZjI4UoVlWv4nTUFSnoxcEkcAp4fEC ++ieRoRGhYOD
G3yV6FmrwqAhAr5kceB7+PnXHZO1fmr3BT53aOX231B0hie7c30VvqvjiykX dlF/MV7a2F8k
+5IajMUE1Pi8Jl+gu+elNxYqHH+AV9TtrcuFaqhhNLHlNw6uJo2soSrgzOVD D+HwVKLj+mrA
14AhqV4L6CN1u5QyERIG0n+LxWDN/vLKRTjQivCrWYfxluPV/vufZb0YY69/ GW/1X9P979+6
9jorfw/pc/tbqfduM3Hhsvt/IVXyj+cm46egzeNrMVWT4LeHzW+QG7drZuGl roYJ5cRubbGb
o8lj6lVMNZQVcNRCzxSo7Krxg0qFWBHhRDHqI0BH5EUPzx0mtVKxMGUg+JJ+ wyMR+0Z+zPRp
P4y3+q/31vaXpTjr38ZP+q/31vfuvY6r9/l3dV9pdV/Gf4zP2F3T3rm5aX4t 9Mbcruhuztp9
Iba2/wBU56DYOyTU4Sjh2p0VsDuCly+xmx0+Gjptw7gyc0cDyivWprVSpjMN xnilubnw4UA8
VjqUsSwqc5YrnjgCvlQY6Q2MUkdvb+JK5/TUaSFABoPRQ2OGSfnnqwL+Mt/q v6+y/pdjr38Z
b/Vf0/3v37r2OqW+ypsltjC997C6vw/y52V2Huvd/wAjMtRfEWr6K3R8lvhf 8huxex9+7/zu
2azsTuzsv4y9jbK2B1D8sKbOYvIbzwG3uy9mbX2dBn8jTVUmGy8OZyLHURDN byStC0YCfqaw
kiAAA0VXBLR0IUlGZqClRpHRTJ2iZI1lEhLdmkvGxJJFWKEBXqCwDqFqa0NT 1dJ/GT/qv99b
2S9G2On/AKzm+4bfUx517zh/5N2Pspf+iffuvdCf7917r3v3Xuve/de69791 7r3v3Xuve/de
697917r3v3Xuve/de697917r3v3Xuve/de6//9Lf49+691737r3Xvfuvde9+ 691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3XvfuvdBx2FTw1VTsGCdNcT7zqNS6mW +nYm93X1IysL
MoPB9+691G/gGJ/5VP8ArPU/9fvfuvde/gGJ/wCVT/rPU/8AX737r3Xv4Bif +VT/AKz1P/X7
37r3Sq/udtz/AJ13/q3X/wD1V7917r39ztuf867/ANW6/wD+qvfuvde/udtz /nXf+rdf/wDV
Xv3Xuvf3O25/zrv/AFbr/wD6q9+6917+523P+dd/6t1//wBVe/de69/c7bn/ ADrv/Vuv/wDq
r37r3Xv7nbc/513/AKt1/wD9Ve/de69/c7bn/Ou/9W6//wCqvfuvde/udtz/ AJ13/q3X/wD1
V7917r39ztuf867/ANW6/wD+qvfuvde/udtz/nXf+rdf/wDVXv3Xuvf3O25/ zrv/AFbr/wD6
q9+6917+523P+dd/6t1//wBVe/de69/c7bn/ADrv/Vuv/wDqr37r3Xv7nbc/ 513/AKt1/wD9
Ve/de69/c7bn/Ou/9W6//wCqvfuvde/udtz/AJ13/q3X/wD1V7917r39ztuf 867/ANW6/wD+
qvfuvde/udtz/nXf+rdf/wDVXv3XumjZdHTY/J9hUlJH4qeLedJ449ckmnyb A2LK/rlZ3N3c
nkn6+/de6Xvv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917 r3v3Xuve/de6
97917r//09/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+6 91737r3Xvfuv
de9+690H2+v+B/X/AP4edV/7wW+PfuvdFw+SUuyf4ftCh3xj8bFRZDJZaLGb x33jZc/0rtDL
QY0VMR7U25/frZlHlFz1JFNSYSSpWripcsY5F8cnjWX3Xuip9yYyqqv5eWN3 DlR2Vhdw4HbG
3IIaLdG884mWaPPdhbdw2Rj3VQ4erxGF3VS1WJlYUK5ShllpKSZbRwTtL791 7q0T37r3S49+
691rm/OjYmM2h/woD/kU7ww2f7Les7mrP5luQ3zt3O9xdtbr61Ff1T8HcXtr ZFdsnqHdO9cz
1V1XWUOJ3bk/vJdrYbDPl6mvnqsgaqpkaY+691sZe/de697917rUd/4UL9yf B/Y3yk+NezPk
L82+2vix3Pm+qMDufYW9sXgcv2F158VdnbK+TXXnYGb+QXW3XfWPUO+u21+X neVD1/luutv5
iqr4tpQbLh3LT1ixNM1Jmvde624vfuvde9+691Wt/NYy/SuJ+LVKnyE663Xv rqjN9t9bbbz+
ehocruHo3pevz2QrMftjvb5p7DxPffx2fs34Sda7omo6nsjb1VmqvG5HCyWr qJqNJ6uj917o
CP5FAqYvh52TRw0u4DtDHfMX5R4/q/cVPLiKboDfnVdN2C42Jvz4S7SxdXk5 etvhTuTClJOv
9t1Nflmw9AskNLk8pj/sslVe691dB7917osfzN7u3X8cvi93L3NsTrHtXuTe +zNqatndb9J9
Y53ubszce6s/lMdtfb5271jtyWly27osNls3DX5CBaikhjxlLUTT1NNBHLUR +691r8f8Jbe1
qbeOzv5sey6LqT5LdeUeJ/ms/IHtakynyJ2RUbbzqU3bmL2xioOpN55WrzmZ q5fkt1HF1eJO
x8JK0kmDm3BiXapqTXkx+691tR+/de697917rVd662B1Pmf+FE69rZXp3ZHf fyAnyvySos12
xtKT5f7A7K+A+0er+hNi9d9S1HbGB7T7Vw3Qna/WPyc2B2HlMRtrIbX66o8V /eFMq+Py+4Kj
G5XIUHuvdbUXv3Xuve/de61KvkLuXuTB/wDCgnHjtLpCHurD5Tub+XdtP4YU 2O3B2Xs3srq3
4+5bpP5X1/yv+QfXWf2r2Ds/BZfrLrPvKmooO2sBlKPMbez1FkNpwV9K2Riw STe691tq+/de
6Rm1/wDi+dj/APh50P8A77zYfv3Xuln7917r3v3Xuve/de697917r3v3Xuve /de697917r3v
3Xuve/de697917r3v3Xuve/de6//1N/j37r3Xvfuvde9+691737r3Xvfuvde 9+691737r3Xv
fuvde9+691737r3Xvfuvde9+690hd4w/cZXruHVo17zrPVbVbT1/vpvpdb30 /wBffuvdP38G
/wCmn/rD/wBhffuvde/g3/TT/wBYf+wvv3Xuvfwb/pp/6w/9hffuvdPnv3Xu ve/de697917r
3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/d e697917r3v3X
uve/de697917r3v3XukZtf8A4vnY/wD4edD/AO+82H7917pZ+/de697917r3 v3Xuve/de697
917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuv/9Xf49+691737r3X vfuvde9+6917
37r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdIzdH/F864/8ADzrv /feb89+690s/
fuvda9vwM2t/M5g/mGdrdbd5fzZ8t80egPinszC0PeG3KT4O/Fj46YLNd9dt 7Umzew+potz7
Cbd2/qubr3YGUo94ZyWjqsKsFTkMHR+StiqMpT0/uvdbCXv3Xuve/de61j/j R/NB+T/Zn86X
fHxR3P2NsWu+N1b3788fj9s3GQ4zr2m2Llsn8QeoPiz2Djtm9Pbix1JH3nmv lBsvK9x7gl7T
pNzN/cxMPS0y7cJq8dlS3uvdbOHv3Xuve/de611/51Xz1+fXwO3vtrt3pfYG dyXxQ606i2Dv
7cdftbr6i7DTuvvndfzL6C6OyPxs7FrKramVyPWG36/oLsvN5zbGRxOTw2Sz G8qejpvujTUs
+NyvuvdbFHv3Xuve/de6pM+Unyb+YfTf843+Vp8bKDtvrR/id80Kz5o1Od6x wXSJxXZVFD8a
vidBvOix+9u5Ny9jb6g3ZR5rtDdEWZo225tzY1Rj6bGwUFVLlIpKmWb3Xuii fyYv5s3yW+cP
yY/uJ3TQVUmze/Php2T829kYKbZmA22vxzn6+/mJ/In4W0vREeSwmNx+XzFH mtg9Y4LNyNuK
fL5o7jgzjx1sePekx1D7r3Wzd7917qkz+f78m/mH8K/5cfc3yv8AiJ231p1h muoqPaNNuan3
j0ie1d4Z6btDuHqfqbbWQ673LmOxsRsDr+s2b/fWvyFYud2bvenzOmngSLH+ OSaf3XuvfzbP
k38w/it2h/LUynSXbfWm1ulPkt/Mr+Ffw77Y2FV9Incfa+Ww/be+d55vsHJ4 zuHcPY2T2bhN
p7g2Ns2LBfwqn2GmdpJquoyFNuGF/BBB7r3V2fv3Xug77XxXaub6/wBw4vpH e+w+uO0KuPHp
tfevZnWee7h2TgmTLUEuXlzHXG2u1OlMzuOSrwEdVT0gi3NjlpK2aGplFVFC 9HUe691qzdMf
zAv5onyQ/k0fBz5Z7A7s6oxnyG73zHzep9xR0+ztpv3X3l3Nsbe3yTx/w3+N Pxv6Xm6k3X1j
n9tZ/cHXeOpuwslkKvC5bB9bYHJ5WPIiu+6zND7r3W0z1DW9mZLqbq/I904X bu2u46/rvZVb
2zt3aGSlzW08B2ZVbaxk++8LtfMTxwz5bbuK3TJVQUVS6I89NGjkAtb37r3S k3ZTbqrNq7lp
Ni5nb+3N7VW38zTbO3DuzbWR3ptXBbqnx1TFt7M7l2dh92bCy+7Nv4vLtDPW 4ylzuFqa+mR4
Iq+jd1qI/de61wfih83vl73T8dfnzju8Pmp1d1n3j0//ADku+PgR0zu3aPUH x/2HuXuDDdQb
S61i278bPiNsP5F9x4LqjG/JPvrOxZqbZs3YG4d/RY3IZGRK+PJ4+kU03uvd WP8A8pv5I9sf
JX49dn5TuzfmC312J0/8q/kN8ecvGaPbGK7e2RTdRbwXBYnYHyjwvXmFwXUe K+Te38XLE26f
7jxSbJrWqKetwc02OqoJG917qwza/wDxfOx//Dzof/febD9+690s/fuvde9+ 691737r3Xvfu
vde9+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3X/9bf49+69173 7r3Xvfuvde9+
691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvfuvdIzdH/F864/8A Dzrv/feb89+6
90s/fuvdAz1H8fOo+isr3Lm+rtqzbdy/yB7fzXfHbuRqty7t3PVbu7T3Btva u0MluHy7tzud
OBohtrZOLo6bE4z7LD0MVKPtqWIvKX917oZvfuvde9+690UvafwV+JuxvkZu L5ZbU6YwOH79
3TUboyGU3tFlt01FFT57fWL2zg+wN37f2PWZ6p6+2lvzsbB7Kw1DuTcGKxVF mtw0WIoYMjVV
MVJTpH7r3RtPfuvde9+690VPuX4QfFf5Bdt9bd6dwdQYfefafU9Njsfs7dFR mt2YkPhsLvbB
9mYLbe8cFgM/idt9l7S2/wBmbXxe5cdiNy0eWxmP3HjKPKU8EddSwVEfuvdG s9+691737r3Q
AdifFzontfvb46fJff8Asb+Pd2/E7/S7/sv+9f7zbxxf9wf9O+zqLYHav+/c wu4cdtLdX96t
pY6Gk/3NUGS+x0eWj+3mLSH3XumjpT4efGn46b37N7G6W6mwWw95dvV0lZvf L4+uz9eskE+5
90b5qsDtXG5vL5PEddbNrd/b5zu4qjBbdgxWFqNx5zJZWSlbIV9XUze690Zb 37r3QAfKP4ud
E/NHonfPxo+S+xv9JXSXZX92f767K/vNvHZ38a/udvHb2/8Abn+/j2BuHau7 cd/Dt27VoKv/
ACSvg83g8UuuF5I3917r3fvxc6J+UH+hX/Tpsb+/H+y7/IDrj5R9O/7+beO2 f7n97dSfxn/R
9vn/AH5+4dv/AN4P7v8A94Kv/cZlPvsPV+b/ACmkm0pp917of/fuvde9+691 Uhv/APkVfysu
0fjr0D8TN8/GXIZn48fF7IdlZXo/rKPv/wCTeHxez8p27uio3nv7JVmTwfc2 N3FvPIZTcVbU
TU02erMnJio6qeCgNLTzzRP7r3Vl/U/VuxOjurOtOlOrcF/dfrLp/r/ZvVvX W2v4nmM3/d3Y
nX+3MbtPaOC/jO4shl9wZf8AhG38RT0/3VdV1VZUePXNLJIzOfde6ED37r3R IqP+XH8Mcf19
3v1fRdMRU2z/AJJ/JTdPzE7Zhi372gu4K75P7wy23M9le7dkb2/vt/fbqDfd Dndo42txNVs/
I4EYGspEmxi0khZm917ofOjOgupPjZsKHrTpfaKbQ2muazu6K+OfNbj3VuHc u791ZCXMbs3v
vfe288vuHe2/d97uzM8lbl85mshX5bKVsjz1VRNM7Ofde6V21/8Ai+dj/wDh 50P/AL7zYfv3
Xuln7917r3v3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r 3v3Xuve/de6/
/9ff49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3Xvfuvde9+69 1737r3Xvfuvd
IzdH/F864/8ADzrv/feb89+690X75vfKLJ/DL419nf
Previous Topic:To the RAP Team: when are planned fixing bug 219465 ?
Next Topic:HELP: RAP/LoadTesting
Goto Forum:
  


Current Time: Thu Apr 25 00:54:10 GMT 2024

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

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

Back to the top