Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » RAP+Help System+Tomcat
RAP+Help System+Tomcat [message #138496] Sun, 28 June 2009 23:07 Go to next message
Jorge is currently offline JorgeFriend
Messages: 13
Registered: July 2009
Junior Member
Hi,

My Problem: Eclipse help system has the same URL that "tomcat manager"
and tomcat always wins.

Any idea?

It's very urgent


Regards
Re: RAP+Help System+Tomcat [message #138514 is a reply to message #138496] Mon, 29 June 2009 06:24 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Jorge,

I've tested the Eclipse Help System in RAP as posted in the FAQ [1]. My
application ("demo") is running from:
http://127.0.0.1:8080/demo/rap?startup=controls
The help system is accessible from:
http://127.0.0.1:8080/demo/index.jsp
I can't understand how the both URLs can be the same?! Can you give an
example?

[1]
http://wiki.eclipse.org/RAP/FAQ#How_to_integrate_the_Eclipse _Help_System_in_a_RAP_application.3F

Best,
Ivan

Jorge wrote:
> Hi,
>
> My Problem: Eclipse help system has the same URL that "tomcat
> manager" and tomcat always wins.
>
> Any idea?
>
> It's very urgent
>
>
> Regards
>
Re: RAP+Help System+Tomcat [message #138526 is a reply to message #138514] Mon, 29 June 2009 07:07 Go to previous messageGo to next message
Jorge is currently offline JorgeFriend
Messages: 13
Registered: July 2009
Junior Member
private static URL getUrl() {
String helpURL = "http://{0}:{1}/index.jsp";
Object[] param = new Object[]{
RWT.getRequest().getServerName(),
String.valueOf( RWT.getRequest().getServerPort() )
};
try {
return new URL( MessageFormat.format( helpURL, param ) );
} catch( MalformedURLException e ) {
throw new IllegalArgumentException( "Failed to construct URL." );
}
}

My url is constructed like that, I should change it to:???

private static URL getUrl() {
String helpURL = "http://{0}:{1}/{2}/rap?startup=controls";
Object[] param = new Object[]{
RWT.getRequest().getServerName(),
String.valueOf( RWT.getRequest().getServerPort(),applicationName
)
};
try {
return new URL( MessageFormat.format( helpURL, param ) );
} catch( MalformedURLException e ) {
throw new IllegalArgumentException( "Failed to construct URL." );
}
}

Regards
Re: RAP+Help System+Tomcat [message #138548 is a reply to message #138526] Mon, 29 June 2009 07:50 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Jorge,

I think that your Eclipse Help System is available from:
http://{0}:{1}/{2}/index.jsp
where the {2} is the war name (application deployment directory).
Running from within the Eclipse, the RAP application (and the Help
System) is deployed in the root of Jetty. In the Tomcat it is under
application directory {2}.

Best,
Ivan

Jorge wrote:
> private static URL getUrl() {
> String helpURL = "http://{0}:{1}/index.jsp";
> Object[] param = new Object[]{
> RWT.getRequest().getServerName(),
> String.valueOf( RWT.getRequest().getServerPort() )
> };
> try {
> return new URL( MessageFormat.format( helpURL, param ) );
> } catch( MalformedURLException e ) {
> throw new IllegalArgumentException( "Failed to construct URL." );
> }
> }
>
> My url is constructed like that, I should change it to:???
>
> private static URL getUrl() {
> String helpURL = "http://{0}:{1}/{2}/rap?startup=controls";
> Object[] param = new Object[]{
> RWT.getRequest().getServerName(),
> String.valueOf( RWT.getRequest().getServerPort(),applicationName
> )
> };
> try {
> return new URL( MessageFormat.format( helpURL, param ) );
> } catch( MalformedURLException e ) {
> throw new IllegalArgumentException( "Failed to construct URL." );
> }
> }
>
> Regards
>
>
Re: RAP+Help System+Tomcat [message #138661 is a reply to message #138548] Mon, 29 June 2009 18:29 Go to previous messageGo to next message
Jorge is currently offline JorgeFriend
Messages: 13
Registered: July 2009
Junior Member
Hi Ivan,

That was my second choice but it does not work

Thanks anyway


Ivan Furnadjiev wrote:

> Hi Jorge,

> I think that your Eclipse Help System is available from:
> http://{0}:{1}/{2}/index.jsp
> where the {2} is the war name (application deployment directory).
> Running from within the Eclipse, the RAP application (and the Help
> System) is deployed in the root of Jetty. In the Tomcat it is under
> application directory {2}.

> Best,
> Ivan

> Jorge wrote:
>> private static URL getUrl() {
>> String helpURL = "http://{0}:{1}/index.jsp";
>> Object[] param = new Object[]{
>> RWT.getRequest().getServerName(),
>> String.valueOf( RWT.getRequest().getServerPort() )
>> };
>> try {
>> return new URL( MessageFormat.format( helpURL, param ) );
>> } catch( MalformedURLException e ) {
>> throw new IllegalArgumentException( "Failed to construct URL." );
>> }
>> }
>>
>> My url is constructed like that, I should change it to:???
>>
>> private static URL getUrl() {
>> String helpURL = "http://{0}:{1}/{2}/rap?startup=controls";
>> Object[] param = new Object[]{
>> RWT.getRequest().getServerName(),
>> String.valueOf( RWT.getRequest().getServerPort(),applicationName
>> )
>> };
>> try {
>> return new URL( MessageFormat.format( helpURL, param ) );
>> } catch( MalformedURLException e ) {
>> throw new IllegalArgumentException( "Failed to construct URL." );
>> }
>> }
>>
>> Regards
>>
>>
Re: RAP+Help System+Tomcat [message #524548 is a reply to message #138661] Thu, 01 April 2010 11:41 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Hi Ivan,

I also set up the help in my RAP app using your FAQ and the action ActionFactory.HELP_CONTENTS works when I start my app from my Eclipse IDE.
But as I build it as a .war and start it from Tomcat, then I receive a HTTP 404 response in the help window:
The requested resource (ProxyServlet: /<myWebapp>/index.jsp) is not available

And if I check the properties of the page, I see that the URL is exactly as you said it should:
http://<myServer>:<myPort>/<myWebapp>/index.jsp


Any idea why?
Do I need to explicitly register the help content into the OSGI HttpService?


Jorge wrote on Mon, 29 June 2009 14:29
...That was my second choice but it does not work ...

Ivan Furnadjiev wrote:
...
> I think that your Eclipse Help System is available from:
> http://{0}:{1}/{2}/index.jsp
> where the {2} is the war name (application deployment directory).
> Running from within the Eclipse, the RAP application (and the Help
> System) is deployed in the root of Jetty. In the Tomcat it is under
> application directory {2}.
...


Re: RAP+Help System+Tomcat [message #524560 is a reply to message #524548] Thu, 01 April 2010 12:08 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Bogdan,

do you have all help related bundles in your war and config.ini file?
Can you post your bundles list returned by osgi ss command?

Best,
Ivan

On 04/01/2010 2:41 PM, Bogdan B. wrote:
> Hi Ivan,
>
> I also set up the help in my RAP app using your FAQ and the action
> ActionFactory.HELP_CONTENTS works when I start my app from my Eclipse
> IDE.
> But as I build it as a .war and start it from Tomcat, then I receive a
> HTTP 404 response in the help window:
> The requested resource (ProxyServlet: /<myWebapp>/index.jsp) is not
> available
> And if I check the properties of the page, I see that the URL is
> exactly as you said it should:
> http://<myServer>:<myPort>/<myWebapp>/index.jsp
>
> Any idea why? Do I need to explicitly register the help content into
> the OSGI HttpService?
>
> Jorge wrote on Mon, 29 June 2009 14:29
>> ...That was my second choice but it does not work ...
>>
>> Ivan Furnadjiev wrote:
>> ...
>> > I think that your Eclipse Help System is available from:
>> > http://{0}:{1}/{2}/index.jsp
>> > where the {2} is the war name (application deployment directory). >
>> Running from within the Eclipse, the RAP application (and the Help >
>> System) is deployed in the root of Jetty. In the Tomcat it is under >
>> application directory {2}.
>> ...
>
>
Re: RAP+Help System+Tomcat [message #524570 is a reply to message #524560] Thu, 01 April 2010 13:11 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Ivan Furnadjiev wrote on Thu, 01 April 2010 08:08
...do you have all help related bundles in your war and config.ini file?
Can you post your bundles list returned by osgi ss command?
...


config.ini:
#Eclipse Runtime Configuration File
osgi.bundles=org.eclipse.equinox.common@2:start, 
org.eclipse.update.configurator@start, 
org.eclipse.equinox.http.servletbridge@start, 
org.eclipse.equinox.http.servlet@start, 
org.eclipse.equinox.http.registry@start, <our-product>.app.rap@start
osgi.bundles.defaultStartLevel=4


Output of SS (I took only our plugins out):
0       ACTIVE  org.eclipse.osgi_3.6.0.v20100301
1       ACTIVE  org.eclipse.equinox.common_3.6.0.v20100222
2       ACTIVE  org.eclipse.update.configurator_3.3.0.v20090312
3       ACTIVE  
org.eclipse.equinox.http.servletbridge_1.0.100.v20090520-1800
4       ACTIVE  org.eclipse.equinox.http.servlet_1.1.0.v20100201
5       ACTIVE  org.eclipse.equinox.http.registry_1.1.0.v20100307
6       ACTIVE  <our-product>
7       ACTIVE  <our-product>
8       ACTIVE  <our-product>
9       STARTING        <our-product>
10      STARTING        <our-product>
11      STARTING        <our-product>
12      STARTING        <our-product>
14      RESOLVED        <our-product>.doc
15      FRAGMENT        <our-product>.rap
16      ACTIVE  <our-product>.ui
18      STARTING        com.ibm.icu.base_4.2.1.v20100212
19      RESOLVED        com.springsource.org.aopalliance_1.0.0
20      RESOLVED        com.springsource.org.apache.commons.cli_1.2.0
21      RESOLVED        com.thoughtworks.xstream_1.3.1.v20091207
22      RESOLVED        javax.servlet.jsp_2.0.0.v200806031607
23      RESOLVED        org.apache.commons.codec_1.3.0.v20080530-1600
24      RESOLVED        org.apache.commons.collections_3.2.0.v200803061811
25      RESOLVED        org.apache.commons.el_1.0.0.v200806031608
26      RESOLVED        org.apache.commons.fileupload_1.2.0.v20080604-1500
27      RESOLVED        org.apache.commons.httpclient_3.1.0.v20080605-1935
28      RESOLVED        org.apache.commons.io_1.4.0.v20081110-1000
29      RESOLVED        org.apache.commons.lang_2.1.0.v200803061811
30      RESOLVED        org.apache.commons.logging_1.1.1.v200904062255
31      RESOLVED        org.apache.jasper_5.5.17.v200903231320
32      RESOLVED        org.apache.log4j_1.2.15.v200910021404
33      RESOLVED        org.apache.lucene.analysis_1.9.1.v20080530-1600
34      RESOLVED        org.apache.lucene_1.9.1.v20080530-1600
35      RESOLVED        org.eclipse.core.commands_3.6.0.I20100122-0800
36      STARTING        org.eclipse.core.contenttype_3.4.100.v20100301
37      RESOLVED        
org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
38      STARTING        
org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
39      STARTING        
org.eclipse.core.databinding.property_1.3.0.I20100310-1300
40      STARTING        
org.eclipse.core.databinding_1.3.100.I20100310-1300
41      STARTING        org.eclipse.core.expressions_3.4.200.v20100222
42      FRAGMENT        
org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400
43      STARTING        org.eclipse.core.filesystem_1.2.0.v20090507
44      ACTIVE  org.eclipse.core.jobs_3.5.0.v20100304
45      STARTING        org.eclipse.core.resources_3.5.0.v20090512
46      ACTIVE  org.eclipse.core.runtime_3.6.0.v20091204
47      ACTIVE  org.eclipse.equinox.app_1.3.0.v20100304
52      STARTING        
org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-1800
53      STARTING        
org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
54      ACTIVE  org.eclipse.equinox.preferences_3.3.0.v20100307
55      ACTIVE  org.eclipse.equinox.registry_3.5.0.v20100301
56      FRAGMENT        
org.eclipse.equinox.servletbridge.extensionbundle_1.0.0
57      ACTIVE  org.eclipse.help.base_3.4.0.v200906111540
58      STARTING        org.eclipse.help.webapp_3.4.0.v20090429_1800
59      ACTIVE  org.eclipse.help_3.5.0.v20100304
60      RESOLVED        org.eclipse.osgi.services_3.2.100.v20100108
62      RESOLVED        org.eclipse.rap.design.example_1.3.0.20100316-1859
63      RESOLVED        
org.eclipse.rap.jface.databinding_1.3.0.20100316-1859
64      ACTIVE  org.eclipse.rap.jface_1.3.0.20100316-1859
65      FRAGMENT        org.eclipse.rap.rwt.q07_1.3.0.20100316-1859
66      RESOLVED        org.eclipse.rap.rwt_1.3.0.20100316-1859
67      STARTING        org.eclipse.rap.ui.cheatsheets_1.3.0.20100316-1859
68      ACTIVE  org.eclipse.rap.ui.forms_1.3.0.20100316-1859
69      STARTING        org.eclipse.rap.ui.views_1.3.0.20100316-1859
70      ACTIVE  org.eclipse.rap.ui.workbench_1.3.0.20100316-1859
71      ACTIVE  org.eclipse.rap.ui_1.3.0.20100316-1859
72      RESOLVED        org.eclipse.rwt.widgets.upload_1.0.0
74      RESOLVED        org.springframework.aop_2.5.6.A
75      RESOLVED        org.springframework.beans_2.5.6.A
76      RESOLVED        org.springframework.context_2.5.6.A
77      RESOLVED        org.springframework.core_2.5.6.A
78      RESOLVED        org.springframework.osgi.core_1.2.0
79      RESOLVED        org.springframework.osgi.extender_1.2.0
80      RESOLVED        org.springframework.osgi.io_1.2.0
81      RESOLVED        org.springframework.web_2.5.6.A 

Re: RAP+Help System+Tomcat [message #524626 is a reply to message #524570] Thu, 01 April 2010 15:07 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Bogdan,

the Eclipse Help WebApp bundle is not active -> 58 STARTING
org.eclipse.help.webapp_3.4.0.v20090429_1800
Looking into your config.ini -> RAP bundles are missing from there,
Eclipse Help WebApp bundles are missing too.
How do you create the config.ini? Did you use the ConfigIniCreator class
from org.eclipse.rap.demo.feature?
You can find more info about RAP allocation deployment here:
http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse .rap.help/help/html/advanced/deployment.html

HTH,
Ivan


On 04/01/2010 4:11 PM, Bogdan B. wrote:
> Ivan Furnadjiev wrote on Thu, 01 April 2010 08:08
>> ...do you have all help related bundles in your war and config.ini
>> file? Can you post your bundles list returned by osgi ss command?
>> ...
>
>
> config.ini:
>
> #Eclipse Runtime Configuration File
> osgi.bundles=org.eclipse.equinox.common@2:start,
> org.eclipse.update.configurator@start,
> org.eclipse.equinox.http.servletbridge@start,
> org.eclipse.equinox.http.servlet@start,
> org.eclipse.equinox.http.registry@start, <our-product>.app.rap@start
> osgi.bundles.defaultStartLevel=4
>
>
> Output of SS (I took only our plugins out):
>
> 0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
> 1 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
> 2 ACTIVE org.eclipse.update.configurator_3.3.0.v20090312
> 3 ACTIVE
> org.eclipse.equinox.http.servletbridge_1.0.100.v20090520-180 0
> 4 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.v20100201
> 5 ACTIVE org.eclipse.equinox.http.registry_1.1.0.v20100307
> 6 ACTIVE <our-product>
> 7 ACTIVE <our-product>
> 8 ACTIVE <our-product>
> 9 STARTING <our-product>
> 10 STARTING <our-product>
> 11 STARTING <our-product>
> 12 STARTING <our-product>
> 14 RESOLVED <our-product>.doc
> 15 FRAGMENT <our-product>.rap
> 16 ACTIVE <our-product>.ui
> 18 STARTING com.ibm.icu.base_4.2.1.v20100212
> 19 RESOLVED com.springsource.org.aopalliance_1.0.0
> 20 RESOLVED com.springsource.org.apache.commons.cli_1.2.0
> 21 RESOLVED com.thoughtworks.xstream_1.3.1.v20091207
> 22 RESOLVED javax.servlet.jsp_2.0.0.v200806031607
> 23 RESOLVED org.apache.commons.codec_1.3.0.v20080530-1600
> 24 RESOLVED
> org.apache.commons.collections_3.2.0.v200803061811
> 25 RESOLVED org.apache.commons.el_1.0.0.v200806031608
> 26 RESOLVED
> org.apache.commons.fileupload_1.2.0.v20080604-1500
> 27 RESOLVED
> org.apache.commons.httpclient_3.1.0.v20080605-1935
> 28 RESOLVED org.apache.commons.io_1.4.0.v20081110-1000
> 29 RESOLVED org.apache.commons.lang_2.1.0.v200803061811
> 30 RESOLVED org.apache.commons.logging_1.1.1.v200904062255
> 31 RESOLVED org.apache.jasper_5.5.17.v200903231320
> 32 RESOLVED org.apache.log4j_1.2.15.v200910021404
> 33 RESOLVED org.apache.lucene.analysis_1.9.1.v20080530-1600
> 34 RESOLVED org.apache.lucene_1.9.1.v20080530-1600
> 35 RESOLVED org.eclipse.core.commands_3.6.0.I20100122-0800
> 36 STARTING org.eclipse.core.contenttype_3.4.100.v20100301
> 37 RESOLVED
> org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
> 38 STARTING
> org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
> 39 STARTING
> org.eclipse.core.databinding.property_1.3.0.I20100310-1300
> 40 STARTING
> org.eclipse.core.databinding_1.3.100.I20100310-1300
> 41 STARTING org.eclipse.core.expressions_3.4.200.v20100222
> 42 FRAGMENT
> org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400
> 43 STARTING org.eclipse.core.filesystem_1.2.0.v20090507
> 44 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
> 45 STARTING org.eclipse.core.resources_3.5.0.v20090512
> 46 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
> 47 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
> 52 STARTING
> org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
> 53 STARTING
> org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
> 54 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
> 55 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
> 56 FRAGMENT
> org.eclipse.equinox.servletbridge.extensionbundle_1.0.0
> 57 ACTIVE org.eclipse.help.base_3.4.0.v200906111540
> 58 STARTING org.eclipse.help.webapp_3.4.0.v20090429_1800
> 59 ACTIVE org.eclipse.help_3.5.0.v20100304
> 60 RESOLVED org.eclipse.osgi.services_3.2.100.v20100108
> 62 RESOLVED
> org.eclipse.rap.design.example_1.3.0.20100316-1859
> 63 RESOLVED
> org.eclipse.rap.jface.databinding_1.3.0.20100316-1859
> 64 ACTIVE org.eclipse.rap.jface_1.3.0.20100316-1859
> 65 FRAGMENT org.eclipse.rap.rwt.q07_1.3.0.20100316-1859
> 66 RESOLVED org.eclipse.rap.rwt_1.3.0.20100316-1859
> 67 STARTING
> org.eclipse.rap.ui.cheatsheets_1.3.0.20100316-1859
> 68 ACTIVE org.eclipse.rap.ui.forms_1.3.0.20100316-1859
> 69 STARTING org.eclipse.rap.ui.views_1.3.0.20100316-1859
> 70 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.20100316-1859
> 71 ACTIVE org.eclipse.rap.ui_1.3.0.20100316-1859
> 72 RESOLVED org.eclipse.rwt.widgets.upload_1.0.0
> 74 RESOLVED org.springframework.aop_2.5.6.A
> 75 RESOLVED org.springframework.beans_2.5.6.A
> 76 RESOLVED org.springframework.context_2.5.6.A
> 77 RESOLVED org.springframework.core_2.5.6.A
> 78 RESOLVED org.springframework.osgi.core_1.2.0
> 79 RESOLVED org.springframework.osgi.extender_1.2.0
> 80 RESOLVED org.springframework.osgi.io_1.2.0
> 81 RESOLVED org.springframework.web_2.5.6.A
>
Re: RAP+Help System+Tomcat [message #525440 is a reply to message #524626] Tue, 06 April 2010 15:15 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Ivan Furnadjiev wrote on Thu, 01 April 2010 11:07
...
the Eclipse Help WebApp bundle is not active -> 58 STARTING
org.eclipse.help.webapp_3.4.0.v20090429_1800
Looking into your config.ini -> RAP bundles are missing from there,
Eclipse Help WebApp bundles are missing too.
How do you create the config.ini? Did you use the ConfigIniCreator class
from org.eclipse.rap.demo.feature?
...


Hi Ivan,

even if the RAP and help bundles were not explicitly included in config.ini, our RAP application has always been working as webapp without any problem (except the current problem: not finding the index.jsp of the help system).

We also recreated the contents of the config.ini (see output below) using the ConfigIniCreator class from org.eclipse.rap.demo.feature, just as described by the tutorial you were pointing at. And although all the bundles are now on ACTIVE, we get the same HTTP 404 message as previously described (index.jsp is not found).
So my guess is that the index.jsp of the help system is not registered, so tomcat knows nothing about it.

Any ideas?

config.ini:
#Eclipse Runtime Configuration File
osgi.bundles=  <our-product>.core@start,\
  <our-client>.access.http@start,\
  <our-client>.access.mock@start,\
  <our-client>.access@start,\
  <our-client>.api@start,\
  <our-client>.app.rap@start,\
  <our-client>.ui.doc@start,\
  <our-client>.ui.rap,\
  <our-client>.ui@start,\
  <our-product>.manager@start,\
  com.ibm.icu.base@start,\
  com.springsource.org.aopalliance@start,\
  com.thoughtworks.xstream@start,\
  javax.servlet.jsp@start,\
  org.apache.commons.codec@start,\
  org.apache.commons.collections@start,\
  org.apache.commons.el@start,\
  org.apache.commons.fileupload@start,\
  org.apache.commons.httpclient@start,\
  org.apache.commons.io@start,\
  org.apache.commons.lang@start,\
  org.apache.commons.logging@start,\
  org.apache.jasper@start,\
  org.apache.log4j@start,\
  org.apache.lucene.analysis@start,\
  org.apache.lucene@start,\
  org.eclipse.core.commands@start,\
  org.eclipse.core.contenttype@start,\
  org.eclipse.core.databinding.beans@start,\
  org.eclipse.core.databinding.observable@start,\
  org.eclipse.core.databinding.property@start,\
  org.eclipse.core.databinding@start,\
  org.eclipse.core.expressions@start,\
  org.eclipse.core.filesystem@start,\
  org.eclipse.core.jobs@start,\
  org.eclipse.core.resources@start,\
  org.eclipse.core.runtime@start,\
  org.eclipse.equinox.app@start,\
  org.eclipse.equinox.common@2:start,\
  org.eclipse.equinox.http.registry@start,\
  org.eclipse.equinox.http.servletbridge@start,\
  org.eclipse.equinox.http.servlet@start,\
  org.eclipse.equinox.jsp.jasper.registry@start,\
  org.eclipse.equinox.jsp.jasper@start,\
  org.eclipse.equinox.preferences@start,\
  org.eclipse.equinox.registry@start,\
  org.eclipse.help.base@start,\
  org.eclipse.help.webapp_3.4.0.v20090429@start,\
  org.eclipse.help@start,\
  org.eclipse.osgi.services@start,\
  org.eclipse.rap.design.example@start,\
  org.eclipse.rap.jface.databinding@start,\
  org.eclipse.rap.jface@start,\
  org.eclipse.rap.rwt.q07,\
  org.eclipse.rap.rwt@start,\
  org.eclipse.rap.ui.cheatsheets@start,\
  org.eclipse.rap.ui.forms@start,\
  org.eclipse.rap.ui.views@start,\
  org.eclipse.rap.ui.workbench@start,\
  org.eclipse.rap.ui@start,\
  org.eclipse.rwt.widgets.upload@start,\
  org.eclipse.update.configurator@start,\
  org.springframework.aop@start,\
  org.springframework.beans@start,\
  org.springframework.context@start,\
  org.springframework.core@start,\
  org.springframework.osgi.core@start,\
  org.springframework.osgi.io@start,\
  org.springframework.web@start,\
  org.eclipse.equinox.servletbridge.extensionbundle
osgi.bundles.defaultStartLevel=4


output of the osgi command ss:
0       ACTIVE  org.eclipse.osgi_3.6.0.v20100301
1       ACTIVE  <our-product>.core_11.0.0.v20100406-1634
2       ACTIVE  <our-client>.access.http_11.0.0.v20100406-1634
3       ACTIVE  <our-client>.access.mock_11.0.0.v20100406-1634
4       ACTIVE  <our-client>.access_11.0.0.v20100406-1634
5       ACTIVE  <our-client>.api_11.0.0.v20100406-1634
6       ACTIVE  <our-client>.app.rap_11.0.0.v20100406-1634
7       ACTIVE  <our-client>.ui.doc_11.0.0.v20100330-0915
8       FRAGMENT        <our-client>.ui.rap_11.0.0.v20100406-1634
9       ACTIVE  <our-client>.ui_11.0.0.v20100406-1634
10      ACTIVE  <our-product>.manager_1.0.0
11      ACTIVE  com.ibm.icu.base_4.2.1.v20100212
12      ACTIVE  com.springsource.org.aopalliance_1.0.0
13      ACTIVE  com.thoughtworks.xstream_1.3.1.v20091207
14      ACTIVE  javax.servlet.jsp_2.0.0.v200806031607
15      ACTIVE  org.apache.commons.codec_1.3.0.v20080530-1600
16      ACTIVE  org.apache.commons.collections_3.2.0.v200803061811
17      ACTIVE  org.apache.commons.el_1.0.0.v200806031608
18      ACTIVE  org.apache.commons.fileupload_1.2.0.v20080604-1500
19      ACTIVE  org.apache.commons.httpclient_3.1.0.v20080605-1935
20      ACTIVE  org.apache.commons.io_1.4.0.v20081110-1000
21      ACTIVE  org.apache.commons.lang_2.1.0.v200803061811
22      ACTIVE  org.apache.commons.logging_1.1.1.v200904062255
23      ACTIVE  org.apache.jasper_5.5.17.v200903231320
24      ACTIVE  org.apache.log4j_1.2.15.v200910021404
25      ACTIVE  org.apache.lucene.analysis_1.9.1.v20080530-1600
26      ACTIVE  org.apache.lucene_1.9.1.v20080530-1600
27      ACTIVE  org.eclipse.core.commands_3.6.0.I20100122-0800
28      ACTIVE  org.eclipse.core.contenttype_3.4.100.v20100301
29      ACTIVE  
org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
30      ACTIVE  
org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
31      ACTIVE  
org.eclipse.core.databinding.property_1.3.0.I20100310-1300
32      ACTIVE  org.eclipse.core.databinding_1.3.100.I20100310-1300
33      ACTIVE  org.eclipse.core.expressions_3.4.200.v20100222
34      ACTIVE  org.eclipse.core.filesystem_1.2.0.v20090507
35      ACTIVE  org.eclipse.core.jobs_3.5.0.v20100304
36      ACTIVE  org.eclipse.core.resources_3.5.0.v20090512
37      ACTIVE  org.eclipse.core.runtime_3.6.0.v20091204
38      ACTIVE  org.eclipse.equinox.app_1.3.0.v20100304
39      ACTIVE  org.eclipse.equinox.common_3.6.0.v20100222
40      ACTIVE  org.eclipse.equinox.http.registry_1.1.0.v20100307
41      ACTIVE  
org.eclipse.equinox.http.servletbridge_1.0.100.v20090520-1800
42      ACTIVE  org.eclipse.equinox.http.servlet_1.1.0.v20100201
43      ACTIVE  
org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-1800
44      ACTIVE  
org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
45      ACTIVE  org.eclipse.equinox.preferences_3.3.0.v20100307
46      ACTIVE  org.eclipse.equinox.registry_3.5.0.v20100301
47      ACTIVE  org.eclipse.help.base_3.4.0.v200906111540
48      ACTIVE  org.eclipse.help.webapp_3.4.0.v20090429_1800
49      ACTIVE  org.eclipse.help_3.5.0.v20100304
50      ACTIVE  org.eclipse.osgi.services_3.2.100.v20100108
51      ACTIVE  org.eclipse.rap.design.example_1.3.0.20100316-1859
52      ACTIVE  
org.eclipse.rap.jface.databinding_1.3.0.20100316-1859
53      ACTIVE  org.eclipse.rap.jface_1.3.0.20100316-1859
54      FRAGMENT        org.eclipse.rap.rwt.q07_1.3.0.20100316-1859
55      ACTIVE  org.eclipse.rap.rwt_1.3.0.20100316-1859
56      ACTIVE  org.eclipse.rap.ui.cheatsheets_1.3.0.20100316-1859
57      ACTIVE  org.eclipse.rap.ui.forms_1.3.0.20100316-1859
58      ACTIVE  org.eclipse.rap.ui.views_1.3.0.20100316-1859
59      ACTIVE  org.eclipse.rap.ui.workbench_1.3.0.20100316-1859
60      ACTIVE  org.eclipse.rap.ui_1.3.0.20100316-1859
61      ACTIVE  org.eclipse.rwt.widgets.upload_1.0.0
62      ACTIVE  org.eclipse.update.configurator_3.3.0.v20090312
63      ACTIVE  org.springframework.aop_2.5.6.A
64      ACTIVE  org.springframework.beans_2.5.6.A
65      ACTIVE  org.springframework.context_2.5.6.A
66      ACTIVE  org.springframework.core_2.5.6.A
67      ACTIVE  org.springframework.osgi.core_1.2.0
68      ACTIVE  org.springframework.osgi.io_1.2.0
69      ACTIVE  org.springframework.web_2.5.6.A
70      FRAGMENT        
org.eclipse.equinox.servletbridge.extensionbundle_1.0.0
105     FRAGMENT        
org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400

[Updated on: Tue, 06 April 2010 15:17]

Report message to a moderator

Re: RAP+Help System+Tomcat [message #525444 is a reply to message #525440] Tue, 06 April 2010 10:40 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Bogdan,

one last shot - did you add the following lines in your WEB-INF\web.xml:
<init-param>
<param-name>other.info</param-name>
<param-value>org.eclipse.help</param-value>
</init-param>

Best,
Ivan

On 04/06/2010 6:15 PM, Bogdan B. wrote:
> Ivan Furnadjiev wrote on Thu, 01 April 2010 11:07
>> ...
>> the Eclipse Help WebApp bundle is not active -> 58
>> STARTING org.eclipse.help.webapp_3.4.0.v20090429_1800
>> Looking into your config.ini -> RAP bundles are missing from there,
>> Eclipse Help WebApp bundles are missing too.
>> How do you create the config.ini? Did you use the ConfigIniCreator
>> class from org.eclipse.rap.demo.feature?
>> ...
>
>
> Hi Ivan,
>
> even if the RAP and help bundles were not explicitly included in
> config.ini, our RAP application has been working as webapp without any
> problem until now.
>
> We also recreated the contents of the config.ini (see output below)
> using the ConfigIniCreator class from org.eclipse.rap.demo.feature,
> just as described by the tutorial you were pointing at. And although
> all the bundles are now on ACTIVE, we get the same HTTP 404 message as
> previously described (index.jsp is not found).
> So my guess is that the index.jsp of the help system is not
> registered, so tomcat knows nothing about it.
>
> Any ideas?
>
> config.ini:
> #Eclipse Runtime Configuration File
> osgi.bundles= <our-product>.core@start,\
> <our-client>.access.http@start,\
> <our-client>.access.mock@start,\
> <our-client>.access@start,\
> <our-client>.api@start,\
> <our-client>.app.rap@start,\
> <our-client>.ui.doc@start,\
> <our-client>.ui.rap,\
> <our-client>.ui@start,\
> <our-product>.manager@start,\
> com.ibm.icu.base@start,\
> com.springsource.org.aopalliance@start,\
> com.thoughtworks.xstream@start,\
> javax.servlet.jsp@start,\
> org.apache.commons.codec@start,\
> org.apache.commons.collections@start,\
> org.apache.commons.el@start,\
> org.apache.commons.fileupload@start,\
> org.apache.commons.httpclient@start,\
> org.apache.commons.io@start,\
> org.apache.commons.lang@start,\
> org.apache.commons.logging@start,\
> org.apache.jasper@start,\
> org.apache.log4j@start,\
> org.apache.lucene.analysis@start,\
> org.apache.lucene@start,\
> org.eclipse.core.commands@start,\
> org.eclipse.core.contenttype@start,\
> org.eclipse.core.databinding.beans@start,\
> org.eclipse.core.databinding.observable@start,\
> org.eclipse.core.databinding.property@start,\
> org.eclipse.core.databinding@start,\
> org.eclipse.core.expressions@start,\
> org.eclipse.core.filesystem@start,\
> org.eclipse.core.jobs@start,\
> org.eclipse.core.resources@start,\
> org.eclipse.core.runtime@start,\
> org.eclipse.equinox.app@start,\
> org.eclipse.equinox.common@2:start,\
> org.eclipse.equinox.http.registry@start,\
> org.eclipse.equinox.http.servletbridge@start,\
> org.eclipse.equinox.http.servlet@start,\
> org.eclipse.equinox.jsp.jasper.registry@start,\
> org.eclipse.equinox.jsp.jasper@start,\
> org.eclipse.equinox.preferences@start,\
> org.eclipse.equinox.registry@start,\
> org.eclipse.help.base@start,\
> org.eclipse.help.webapp_3.4.0.v20090429@start,\
> org.eclipse.help@start,\
> org.eclipse.osgi.services@start,\
> org.eclipse.rap.design.example@start,\
> org.eclipse.rap.jface.databinding@start,\
> org.eclipse.rap.jface@start,\
> org.eclipse.rap.rwt.q07,\
> org.eclipse.rap.rwt@start,\
> org.eclipse.rap.ui.cheatsheets@start,\
> org.eclipse.rap.ui.forms@start,\
> org.eclipse.rap.ui.views@start,\
> org.eclipse.rap.ui.workbench@start,\
> org.eclipse.rap.ui@start,\
> org.eclipse.rwt.widgets.upload@start,\
> org.eclipse.update.configurator@start,\
> org.springframework.aop@start,\
> org.springframework.beans@start,\
> org.springframework.context@start,\
> org.springframework.core@start,\
> org.springframework.osgi.core@start,\
> org.springframework.osgi.io@start,\
> org.springframework.web@start,\
> org.eclipse.equinox.servletbridge.extensionbundle
> osgi.bundles.defaultStartLevel=4
>
> output of the osgi command ss:
> 0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
> 1 ACTIVE <our-product>.core_11.0.0.v20100406-1634
> 2 ACTIVE <our-client>.access.http_11.0.0.v20100406-1634
> 3 ACTIVE <our-client>.access.mock_11.0.0.v20100406-1634
> 4 ACTIVE <our-client>.access_11.0.0.v20100406-1634
> 5 ACTIVE <our-client>.api_11.0.0.v20100406-1634
> 6 ACTIVE <our-client>.app.rap_11.0.0.v20100406-1634
> 7 ACTIVE <our-client>.ui.doc_11.0.0.v20100330-0915
> 8 FRAGMENT <our-client>.ui.rap_11.0.0.v20100406-1634
> 9 ACTIVE <our-client>.ui_11.0.0.v20100406-1634
> 10 ACTIVE <our-product>.manager_1.0.0
> 11 ACTIVE com.ibm.icu.base_4.2.1.v20100212
> 12 ACTIVE com.springsource.org.aopalliance_1.0.0
> 13 ACTIVE com.thoughtworks.xstream_1.3.1.v20091207
> 14 ACTIVE javax.servlet.jsp_2.0.0.v200806031607
> 15 ACTIVE org.apache.commons.codec_1.3.0.v20080530-1600
> 16 ACTIVE org.apache.commons.collections_3.2.0.v200803061811
> 17 ACTIVE org.apache.commons.el_1.0.0.v200806031608
> 18 ACTIVE org.apache.commons.fileupload_1.2.0.v20080604-1500
> 19 ACTIVE org.apache.commons.httpclient_3.1.0.v20080605-1935
> 20 ACTIVE org.apache.commons.io_1.4.0.v20081110-1000
> 21 ACTIVE org.apache.commons.lang_2.1.0.v200803061811
> 22 ACTIVE org.apache.commons.logging_1.1.1.v200904062255
> 23 ACTIVE org.apache.jasper_5.5.17.v200903231320
> 24 ACTIVE org.apache.log4j_1.2.15.v200910021404
> 25 ACTIVE org.apache.lucene.analysis_1.9.1.v20080530-1600
> 26 ACTIVE org.apache.lucene_1.9.1.v20080530-1600
> 27 ACTIVE org.eclipse.core.commands_3.6.0.I20100122-0800
> 28 ACTIVE org.eclipse.core.contenttype_3.4.100.v20100301
> 29 ACTIVE org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
> 30 ACTIVE
> org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
> 31 ACTIVE
> org.eclipse.core.databinding.property_1.3.0.I20100310-1300
> 32 ACTIVE org.eclipse.core.databinding_1.3.100.I20100310-1300
> 33 ACTIVE org.eclipse.core.expressions_3.4.200.v20100222
> 34 ACTIVE org.eclipse.core.filesystem_1.2.0.v20090507
> 35 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
> 36 ACTIVE org.eclipse.core.resources_3.5.0.v20090512
> 37 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
> 38 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
> 39 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
> 40 ACTIVE org.eclipse.equinox.http.registry_1.1.0.v20100307
> 41 ACTIVE
> org.eclipse.equinox.http.servletbridge_1.0.100.v20090520-180 0
> 42 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.v20100201
> 43 ACTIVE
> org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
> 44 ACTIVE org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
> 45 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
> 46 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
> 47 ACTIVE org.eclipse.help.base_3.4.0.v200906111540
> 48 ACTIVE org.eclipse.help.webapp_3.4.0.v20090429_1800
> 49 ACTIVE org.eclipse.help_3.5.0.v20100304
> 50 ACTIVE org.eclipse.osgi.services_3.2.100.v20100108
> 51 ACTIVE org.eclipse.rap.design.example_1.3.0.20100316-1859
> 52 ACTIVE org.eclipse.rap.jface.databinding_1.3.0.20100316-1859
> 53 ACTIVE org.eclipse.rap.jface_1.3.0.20100316-1859
> 54 FRAGMENT org.eclipse.rap.rwt.q07_1.3.0.20100316-1859
> 55 ACTIVE org.eclipse.rap.rwt_1.3.0.20100316-1859
> 56 ACTIVE org.eclipse.rap.ui.cheatsheets_1.3.0.20100316-1859
> 57 ACTIVE org.eclipse.rap.ui.forms_1.3.0.20100316-1859
> 58 ACTIVE org.eclipse.rap.ui.views_1.3.0.20100316-1859
> 59 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.20100316-1859
> 60 ACTIVE org.eclipse.rap.ui_1.3.0.20100316-1859
> 61 ACTIVE org.eclipse.rwt.widgets.upload_1.0.0
> 62 ACTIVE org.eclipse.update.configurator_3.3.0.v20090312
> 63 ACTIVE org.springframework.aop_2.5.6.A
> 64 ACTIVE org.springframework.beans_2.5.6.A
> 65 ACTIVE org.springframework.context_2.5.6.A
> 66 ACTIVE org.springframework.core_2.5.6.A
> 67 ACTIVE org.springframework.osgi.core_1.2.0
> 68 ACTIVE org.springframework.osgi.io_1.2.0
> 69 ACTIVE org.springframework.web_2.5.6.A
> 70 FRAGMENT
> org.eclipse.equinox.servletbridge.extensionbundle_1.0.0
> 105 FRAGMENT
> org.eclipse.core.filesystem.win32.x86_1.1.0.v20080604-1400
Re: RAP+Help System+Tomcat [message #525623 is a reply to message #525444] Wed, 07 April 2010 08:55 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Ivan Furnadjiev wrote on Tue, 06 April 2010 06:40
... one last shot - did you add the following lines in your WEB-INF\web.xml:
<init-param>
<param-name>other.info</param-name>
<param-value>org.eclipse.help</param-value>
</init-param>
...

Of course we haven't! Smile
We added it and now it works.

Now that you mentioned it, I can see that you already specified it in the FAQ for the case the RAP app is started from the Eclipse IDE using a launch configuration:
-Dorg.eclipse.equinox.http.jetty.other.info=org.eclipse.help
but I could not find the version for running as a webapp.
I really think it's not a bad idea if you would add it in the FAQ or at least in the tutorial.

Thank you very much, Ivan, for reacting so fast and giving really helpful answers! Your assistance has always have been very valuable.
Re: RAP+Help System+Tomcat [message #527758 is a reply to message #525623] Fri, 16 April 2010 11:50 Go to previous messageGo to next message
Niels Lippke is currently offline Niels LippkeFriend
Messages: 71
Registered: December 2009
Member
Hi,

I followed this thread, but still have problems running the eclipse help
under tomcat.
More detail I get a NoClassDefFoundError Exception, when I call index.jsp in
the browser.

It seams that the webapp-plugin cannot find log4j on its classpath. But I
have no clue of what to do. I already added a log4j-bundle but that does not
work.

Any ideas?

Thanks, Niels

13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for servlet
equinoxbridgeservlet threw exception
org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: No suitable
Log constructor [Ljava.lang.Class;@167604b for
org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassD
efFoundError: org/apache/log4j/Category) (Caused by
org.apache.commons.logging.LogConfigurationException: No suitable Lo
g constructor [Ljava.lang.Class;@167604b for
org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDef
FoundError: org/apache/log4j/Category))
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
at
org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
at
org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
at
org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
62)
at
org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
andle.java:55)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
va:194)
at
org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable
Log constructor [Ljava.lang.Class;@167604b
for org.apache.commons.logging.impl.Log4JLogger (Caused by
java.lang.NoClassDefFoundError: org/apache/log4j/Category)
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
... 34 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
... 35 more
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
at
org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
at
org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 40 more
Re: RAP+Help System+Tomcat [message #527805 is a reply to message #527758] Fri, 16 April 2010 14:33 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Niels,

please post the result of osgi ss command.

Best,
Ivan

On 04/16/2010 2:50 PM, Niels Lippke wrote:
> Hi,
>
> I followed this thread, but still have problems running the eclipse
> help under tomcat.
> More detail I get a NoClassDefFoundError Exception, when I call
> index.jsp in the browser.
>
> It seams that the webapp-plugin cannot find log4j on its classpath.
> But I have no clue of what to do. I already added a log4j-bundle but
> that does not work.
>
> Any ideas?
>
> Thanks, Niels
>
> 13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for
> servlet equinoxbridgeservlet threw exception
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException: No suitable
> Log constructor [Ljava.lang.Class;@167604b for
> org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassD
> efFoundError: org/apache/log4j/Category) (Caused by
> org.apache.commons.logging.LogConfigurationException: No suitable Lo
> g constructor [Ljava.lang.Class;@167604b for
> org.apache.commons.logging.impl.Log4JLogger (Caused by
> java.lang.NoClassDef
> FoundError: org/apache/log4j/Category))
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
>
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
>
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
>
> at
> org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
> at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
> at
> org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
> at
> org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
>
> at
> org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
>
> 62)
> at
> org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
>
> andle.java:55)
> at
> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
>
> va:194)
> at
> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
>
> at
> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
>
> at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
>
> at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
>
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
>
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
>
> at
> org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
>
> at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
>
> at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
>
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
>
> at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
>
> at
> org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
>
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
>
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
>
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
> at java.lang.Thread.run(Unknown Source)
> Caused by: org.apache.commons.logging.LogConfigurationException: No
> suitable Log constructor [Ljava.lang.Class;@167604b
> for org.apache.commons.logging.impl.Log4JLogger (Caused by
> java.lang.NoClassDefFoundError: org/apache/log4j/Category)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
>
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
>
> ... 34 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
> at java.lang.Class.getDeclaredConstructors0(Native Method)
> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
> at java.lang.Class.getConstructor0(Unknown Source)
> at java.lang.Class.getConstructor(Unknown Source)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
>
> ... 35 more
> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
>
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
>
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
>
> at
> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
>
> at java.lang.ClassLoader.loadClass(Unknown Source)
> ... 40 more
Re: RAP+Help System+Tomcat [message #527954 is a reply to message #527805] Sat, 17 April 2010 09:27 Go to previous messageGo to next message
Niels Lippke is currently offline Niels LippkeFriend
Messages: 71
Registered: December 2009
Member
Hi Ivan,

here you go...

Framework is launched.
id

State Bundle
0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
Fragments=
55
1 ACTIVE <ourbundle>_1.0.0
2 ACTIVE <ourbundle>__1.0.0
3 ACTIVE <ourbundle>__1.0.0.201004161324
4 ACTIVE <ourbundle>__1.0.0.201004161324
5 ACTIVE <ourbundle>__1.0.0
6 ACTIVE <ourbundle>__1.0.0.201004161324
7 ACTIVE <ourbundle>__1.0.0
8 ACTIVE <ourbundle>__1.0.0.201004161324
9 ACTIVE <ourbundle>__1.0.0.201004161324
10 ACTIVE com.ibm.icu.base_4.2.1.v20100212
11 ACTIVE javax.servlet.jsp_2.0.0.v200806031607
12 ACTIVE javax.servlet_2.4.0.201004161324
13 ACTIVE org.apache.commons.el_1.0.0.v200806031608
14 ACTIVE org.apache.commons.logging_1.0.4.v200904062259
15 ACTIVE org.apache.jasper_5.5.17.v200903231320
16 ACTIVE org.apache.log4j_1.2.15
17 ACTIVE org.apache.lucene.analysis_1.9.1.v20080530-1600
18 ACTIVE org.apache.lucene_1.9.1.v20080530-1600
19 ACTIVE org.eclipse.core.commands_3.6.0.I20100122-0800
20 ACTIVE org.eclipse.core.contenttype_3.4.100.v20100301
21 ACTIVE org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
22 ACTIVE org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
23 ACTIVE org.eclipse.core.databinding.property_1.3.0.I20100310-1300
24 ACTIVE org.eclipse.core.databinding_1.3.100.I20100310-1300
25 ACTIVE org.eclipse.core.expressions_3.4.200.v20100222
26 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
27 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
28 ACTIVE org.eclipse.equinox.app.source_1.3.0.v20100304
29 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
30 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
31 ACTIVE org.eclipse.equinox.http.registry_1.1.0.201004161324
32 ACTIVE org.eclipse.equinox.http.servletbridge_1.0.200.201004161324
33 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.201004161324
34 ACTIVE
org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
35 ACTIVE org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
36 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
37 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
38 ACTIVE org.eclipse.help.appserver_3.1.400.v20090429_1800
39 ACTIVE org.eclipse.help.base_3.4.0.v200909170800
40 ACTIVE org.eclipse.help.webapp_3.4.1.v20090819_35x
41 ACTIVE org.eclipse.help_3.5.0.v20100304
42 ACTIVE org.eclipse.nebula.widgets.pshelf_1.0.0.201004161324
43 ACTIVE org.eclipse.osgi.services_3.2.100.v20100108
44 ACTIVE org.eclipse.rap.design.example_1.3.0.201004161324
45 ACTIVE org.eclipse.rap.jface.databinding_1.3.0.201004161324
46 ACTIVE org.eclipse.rap.jface_1.3.0.201004161324
47 RESOLVED org.eclipse.rap.rwt.q07_1.3.0.201004161324
Master=48
48 ACTIVE org.eclipse.rap.rwt_1.3.0.201004161324
Fragments=
47
49 ACTIVE org.eclipse.rap.ui.forms_1.3.0.201004161324
50 ACTIVE org.eclipse.rap.ui.views_1.3.0.201004161324
51 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.201004161324
52 ACTIVE org.eclipse.rap.ui_1.3.0.201004161324
53 ACTIVE org.hibernate.validation_4.0.2
54 ACTIVE org.jboss.client_AS4_1.0.0
55 RESOLVED org.eclipse.equinox.servletbridge.extensionbundle_1.2.0
Master=0

Thanks, Niels

"Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
news:hq9sfq$s36$1@build.eclipse.org...
> Hi Niels,
>
> please post the result of osgi ss command.
>
> Best,
> Ivan
>
> On 04/16/2010 2:50 PM, Niels Lippke wrote:
>> Hi,
>>
>> I followed this thread, but still have problems running the eclipse help
>> under tomcat.
>> More detail I get a NoClassDefFoundError Exception, when I call index.jsp
>> in the browser.
>>
>> It seams that the webapp-plugin cannot find log4j on its classpath. But I
>> have no clue of what to do. I already added a log4j-bundle but that does
>> not work.
>>
>> Any ideas?
>>
>> Thanks, Niels
>>
>> 13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for servlet
>> equinoxbridgeservlet threw exception
>> org.apache.commons.logging.LogConfigurationException:
>> org.apache.commons.logging.LogConfigurationException: No suitable
>> Log constructor [Ljava.lang.Class;@167604b for
>> org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassD
>> efFoundError: org/apache/log4j/Category) (Caused by
>> org.apache.commons.logging.LogConfigurationException: No suitable Lo
>> g constructor [Ljava.lang.Class;@167604b for
>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>> java.lang.NoClassDef
>> FoundError: org/apache/log4j/Category))
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
>> at
>> org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
>> at org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
>> at
>> org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
>> at
>> org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
>> at
>> org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
>> 62)
>> at
>> org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
>> andle.java:55)
>> at
>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
>> va:194)
>> at
>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
>> at
>> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
>> at
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
>> at
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> at
>> org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>> at
>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
>> at
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>> at
>> org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
>> at
>> org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
>> at
>> org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
>> at
>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
>> at
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
>> at
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
>> at
>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
>> at
>> org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
>> at
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
>> at java.lang.Thread.run(Unknown Source)
>> Caused by: org.apache.commons.logging.LogConfigurationException: No
>> suitable Log constructor [Ljava.lang.Class;@167604b
>> for org.apache.commons.logging.impl.Log4JLogger (Caused by
>> java.lang.NoClassDefFoundError: org/apache/log4j/Category)
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
>> ... 34 more
>> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>> at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
>> at java.lang.Class.getConstructor0(Unknown Source)
>> at java.lang.Class.getConstructor(Unknown Source)
>> at
>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
>> ... 35 more
>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
>> at
>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
>> at
>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> ... 40 more
Re: RAP+Help System+Tomcat [message #528059 is a reply to message #527954] Mon, 19 April 2010 07:05 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Niels,

everything looks good. Are you using log4j from your application or you
put the org.apache.log4j bundle just to try to resolve the problem? Did
your application work (only help not) or nothing is working? Maybe it is
somehow related to org.jboss.client_AS4 bundle as there is something
related to jboss in the stack trace:
....
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)

....

Best,
Ivan

On 04/17/2010 12:27 PM, Niels Lippke wrote:
> Hi Ivan,
>
> here you go...
>
> Framework is launched.
> id
>
> State Bundle
> 0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
> Fragments=
> 55
> 1 ACTIVE <ourbundle>_1.0.0
> 2 ACTIVE <ourbundle>__1.0.0
> 3 ACTIVE <ourbundle>__1.0.0.201004161324
> 4 ACTIVE <ourbundle>__1.0.0.201004161324
> 5 ACTIVE <ourbundle>__1.0.0
> 6 ACTIVE <ourbundle>__1.0.0.201004161324
> 7 ACTIVE <ourbundle>__1.0.0
> 8 ACTIVE <ourbundle>__1.0.0.201004161324
> 9 ACTIVE <ourbundle>__1.0.0.201004161324
> 10 ACTIVE com.ibm.icu.base_4.2.1.v20100212
> 11 ACTIVE javax.servlet.jsp_2.0.0.v200806031607
> 12 ACTIVE javax.servlet_2.4.0.201004161324
> 13 ACTIVE org.apache.commons.el_1.0.0.v200806031608
> 14 ACTIVE org.apache.commons.logging_1.0.4.v200904062259
> 15 ACTIVE org.apache.jasper_5.5.17.v200903231320
> 16 ACTIVE org.apache.log4j_1.2.15
> 17 ACTIVE org.apache.lucene.analysis_1.9.1.v20080530-1600
> 18 ACTIVE org.apache.lucene_1.9.1.v20080530-1600
> 19 ACTIVE org.eclipse.core.commands_3.6.0.I20100122-0800
> 20 ACTIVE org.eclipse.core.contenttype_3.4.100.v20100301
> 21 ACTIVE org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
> 22 ACTIVE
> org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
> 23 ACTIVE
> org.eclipse.core.databinding.property_1.3.0.I20100310-1300
> 24 ACTIVE org.eclipse.core.databinding_1.3.100.I20100310-1300
> 25 ACTIVE org.eclipse.core.expressions_3.4.200.v20100222
> 26 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
> 27 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
> 28 ACTIVE org.eclipse.equinox.app.source_1.3.0.v20100304
> 29 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
> 30 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
> 31 ACTIVE org.eclipse.equinox.http.registry_1.1.0.201004161324
> 32 ACTIVE
> org.eclipse.equinox.http.servletbridge_1.0.200.201004161324
> 33 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.201004161324
> 34 ACTIVE org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
> 35 ACTIVE org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
> 36 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
> 37 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
> 38 ACTIVE org.eclipse.help.appserver_3.1.400.v20090429_1800
> 39 ACTIVE org.eclipse.help.base_3.4.0.v200909170800
> 40 ACTIVE org.eclipse.help.webapp_3.4.1.v20090819_35x
> 41 ACTIVE org.eclipse.help_3.5.0.v20100304
> 42 ACTIVE org.eclipse.nebula.widgets.pshelf_1.0.0.201004161324
> 43 ACTIVE org.eclipse.osgi.services_3.2.100.v20100108
> 44 ACTIVE org.eclipse.rap.design.example_1.3.0.201004161324
> 45 ACTIVE org.eclipse.rap.jface.databinding_1.3.0.201004161324
> 46 ACTIVE org.eclipse.rap.jface_1.3.0.201004161324
> 47 RESOLVED org.eclipse.rap.rwt.q07_1.3.0.201004161324
> Master=48
> 48 ACTIVE org.eclipse.rap.rwt_1.3.0.201004161324
> Fragments=
> 47
> 49 ACTIVE org.eclipse.rap.ui.forms_1.3.0.201004161324
> 50 ACTIVE org.eclipse.rap.ui.views_1.3.0.201004161324
> 51 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.201004161324
> 52 ACTIVE org.eclipse.rap.ui_1.3.0.201004161324
> 53 ACTIVE org.hibernate.validation_4.0.2
> 54 ACTIVE org.jboss.client_AS4_1.0.0
> 55 RESOLVED org.eclipse.equinox.servletbridge.extensionbundle_1.2.0
> Master=0
>
> Thanks, Niels
>
> "Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
> news:hq9sfq$s36$1@build.eclipse.org...
>> Hi Niels,
>>
>> please post the result of osgi ss command.
>>
>> Best,
>> Ivan
>>
>> On 04/16/2010 2:50 PM, Niels Lippke wrote:
>>> Hi,
>>>
>>> I followed this thread, but still have problems running the eclipse
>>> help under tomcat.
>>> More detail I get a NoClassDefFoundError Exception, when I call
>>> index.jsp in the browser.
>>>
>>> It seams that the webapp-plugin cannot find log4j on its classpath.
>>> But I have no clue of what to do. I already added a log4j-bundle but
>>> that does not work.
>>>
>>> Any ideas?
>>>
>>> Thanks, Niels
>>>
>>> 13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for
>>> servlet equinoxbridgeservlet threw exception
>>> org.apache.commons.logging.LogConfigurationException:
>>> org.apache.commons.logging.LogConfigurationException: No suitable
>>> Log constructor [Ljava.lang.Class;@167604b for
>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>> java.lang.NoClassD
>>> efFoundError: org/apache/log4j/Category) (Caused by
>>> org.apache.commons.logging.LogConfigurationException: No suitable Lo
>>> g constructor [Ljava.lang.Class;@167604b for
>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>> java.lang.NoClassDef
>>> FoundError: org/apache/log4j/Category))
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
>>>
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
>>>
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
>>>
>>> at
>>> org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
>>> at
>>> org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
>>> at
>>> org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
>>> at
>>> org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
>>>
>>> at
>>> org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
>>>
>>> 62)
>>> at
>>> org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
>>>
>>> andle.java:55)
>>> at
>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
>>>
>>> va:194)
>>> at
>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
>>>
>>> at
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
>>>
>>> at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
>>>
>>> at
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
>>>
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>> at
>>> org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
>>>
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
>>>
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>
>>> at
>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>>>
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
>>>
>>> at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>
>>> at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
>>>
>>> at
>>> org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
>>>
>>> at
>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
>>>
>>> at
>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
>>>
>>> at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
>>>
>>> at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
>>>
>>> at
>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
>>>
>>> at
>>> org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
>>>
>>> at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
>>>
>>> at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
>>>
>>> at
>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
>>>
>>> at
>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
>>> at java.lang.Thread.run(Unknown Source)
>>> Caused by: org.apache.commons.logging.LogConfigurationException: No
>>> suitable Log constructor [Ljava.lang.Class;@167604b
>>> for org.apache.commons.logging.impl.Log4JLogger (Caused by
>>> java.lang.NoClassDefFoundError: org/apache/log4j/Category)
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
>>>
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
>>>
>>> ... 34 more
>>> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
>>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>>> at java.lang.Class.privateGetDeclaredConstructors(Unknown
>>> Source)
>>> at java.lang.Class.getConstructor0(Unknown Source)
>>> at java.lang.Class.getConstructor(Unknown Source)
>>> at
>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
>>>
>>> ... 35 more
>>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
>>> at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
>>>
>>> at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
>>>
>>> at
>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
>>>
>>> at
>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
>>>
>>> at java.lang.ClassLoader.loadClass(Unknown Source)
>>> ... 40 more
>
Re: RAP+Help System+Tomcat [message #528070 is a reply to message #528059] Mon, 19 April 2010 07:56 Go to previous messageGo to next message
Niels Lippke is currently offline Niels LippkeFriend
Messages: 71
Registered: December 2009
Member
Hi Ivan,

i added the log4j bundle explicitly for the help webapp-server. there's also
a log4j.jar in my jboss-client-bundle and also one in the
hibernate-validator-bundle. And those bundles are working fine (using
logger). I think I somehow got lost in the classloading jungle of my
feature... ;)

I assume
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
comes from the jboss-as-server hosting the application.

Thanks, Niels

"Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
news:hqgvcl$j7d$1@build.eclipse.org...
> Hi Niels,
>
> everything looks good. Are you using log4j from your application or you
> put the org.apache.log4j bundle just to try to resolve the problem? Did
> your application work (only help not) or nothing is working? Maybe it is
> somehow related to org.jboss.client_AS4 bundle as there is something
> related to jboss in the stack trace:
> ...
> at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
> ...
>
> Best,
> Ivan
>
> On 04/17/2010 12:27 PM, Niels Lippke wrote:
>> Hi Ivan,
>>
>> here you go...
>>
>> Framework is launched.
>> id
>>
>> State Bundle
>> 0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
>> Fragments=
>> 55
>> 1 ACTIVE <ourbundle>_1.0.0
>> 2 ACTIVE <ourbundle>__1.0.0
>> 3 ACTIVE <ourbundle>__1.0.0.201004161324
>> 4 ACTIVE <ourbundle>__1.0.0.201004161324
>> 5 ACTIVE <ourbundle>__1.0.0
>> 6 ACTIVE <ourbundle>__1.0.0.201004161324
>> 7 ACTIVE <ourbundle>__1.0.0
>> 8 ACTIVE <ourbundle>__1.0.0.201004161324
>> 9 ACTIVE <ourbundle>__1.0.0.201004161324
>> 10 ACTIVE com.ibm.icu.base_4.2.1.v20100212
>> 11 ACTIVE javax.servlet.jsp_2.0.0.v200806031607
>> 12 ACTIVE javax.servlet_2.4.0.201004161324
>> 13 ACTIVE org.apache.commons.el_1.0.0.v200806031608
>> 14 ACTIVE org.apache.commons.logging_1.0.4.v200904062259
>> 15 ACTIVE org.apache.jasper_5.5.17.v200903231320
>> 16 ACTIVE org.apache.log4j_1.2.15
>> 17 ACTIVE org.apache.lucene.analysis_1.9.1.v20080530-1600
>> 18 ACTIVE org.apache.lucene_1.9.1.v20080530-1600
>> 19 ACTIVE org.eclipse.core.commands_3.6.0.I20100122-0800
>> 20 ACTIVE org.eclipse.core.contenttype_3.4.100.v20100301
>> 21 ACTIVE org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
>> 22 ACTIVE
>> org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
>> 23 ACTIVE
>> org.eclipse.core.databinding.property_1.3.0.I20100310-1300
>> 24 ACTIVE org.eclipse.core.databinding_1.3.100.I20100310-1300
>> 25 ACTIVE org.eclipse.core.expressions_3.4.200.v20100222
>> 26 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
>> 27 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
>> 28 ACTIVE org.eclipse.equinox.app.source_1.3.0.v20100304
>> 29 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
>> 30 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
>> 31 ACTIVE org.eclipse.equinox.http.registry_1.1.0.201004161324
>> 32 ACTIVE
>> org.eclipse.equinox.http.servletbridge_1.0.200.201004161324
>> 33 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.201004161324
>> 34 ACTIVE org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
>> 35 ACTIVE org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
>> 36 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
>> 37 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
>> 38 ACTIVE org.eclipse.help.appserver_3.1.400.v20090429_1800
>> 39 ACTIVE org.eclipse.help.base_3.4.0.v200909170800
>> 40 ACTIVE org.eclipse.help.webapp_3.4.1.v20090819_35x
>> 41 ACTIVE org.eclipse.help_3.5.0.v20100304
>> 42 ACTIVE org.eclipse.nebula.widgets.pshelf_1.0.0.201004161324
>> 43 ACTIVE org.eclipse.osgi.services_3.2.100.v20100108
>> 44 ACTIVE org.eclipse.rap.design.example_1.3.0.201004161324
>> 45 ACTIVE org.eclipse.rap.jface.databinding_1.3.0.201004161324
>> 46 ACTIVE org.eclipse.rap.jface_1.3.0.201004161324
>> 47 RESOLVED org.eclipse.rap.rwt.q07_1.3.0.201004161324
>> Master=48
>> 48 ACTIVE org.eclipse.rap.rwt_1.3.0.201004161324
>> Fragments=
>> 47
>> 49 ACTIVE org.eclipse.rap.ui.forms_1.3.0.201004161324
>> 50 ACTIVE org.eclipse.rap.ui.views_1.3.0.201004161324
>> 51 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.201004161324
>> 52 ACTIVE org.eclipse.rap.ui_1.3.0.201004161324
>> 53 ACTIVE org.hibernate.validation_4.0.2
>> 54 ACTIVE org.jboss.client_AS4_1.0.0
>> 55 RESOLVED org.eclipse.equinox.servletbridge.extensionbundle_1.2.0
>> Master=0
>>
>> Thanks, Niels
>>
>> "Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
>> news:hq9sfq$s36$1@build.eclipse.org...
>>> Hi Niels,
>>>
>>> please post the result of osgi ss command.
>>>
>>> Best,
>>> Ivan
>>>
>>> On 04/16/2010 2:50 PM, Niels Lippke wrote:
>>>> Hi,
>>>>
>>>> I followed this thread, but still have problems running the eclipse
>>>> help under tomcat.
>>>> More detail I get a NoClassDefFoundError Exception, when I call
>>>> index.jsp in the browser.
>>>>
>>>> It seams that the webapp-plugin cannot find log4j on its classpath. But
>>>> I have no clue of what to do. I already added a log4j-bundle but that
>>>> does not work.
>>>>
>>>> Any ideas?
>>>>
>>>> Thanks, Niels
>>>>
>>>> 13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for
>>>> servlet equinoxbridgeservlet threw exception
>>>> org.apache.commons.logging.LogConfigurationException:
>>>> org.apache.commons.logging.LogConfigurationException: No suitable
>>>> Log constructor [Ljava.lang.Class;@167604b for
>>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>> java.lang.NoClassD
>>>> efFoundError: org/apache/log4j/Category) (Caused by
>>>> org.apache.commons.logging.LogConfigurationException: No suitable Lo
>>>> g constructor [Ljava.lang.Class;@167604b for
>>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>> java.lang.NoClassDef
>>>> FoundError: org/apache/log4j/Category))
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
>>>> at
>>>> org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
>>>> at
>>>> org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
>>>> at
>>>> org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
>>>> at
>>>> org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
>>>> at
>>>> org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
>>>> 62)
>>>> at
>>>> org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
>>>> andle.java:55)
>>>> at
>>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
>>>> va:194)
>>>> at
>>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
>>>> at
>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
>>>> at
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
>>>> at
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>> at
>>>> org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>> at
>>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>> at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
>>>> at
>>>> org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
>>>> at
>>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
>>>> at
>>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
>>>> at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
>>>> at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
>>>> at
>>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
>>>> at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
>>>> at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
>>>> at
>>>> org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
>>>> at
>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
>>>> at
>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
>>>> at java.lang.Thread.run(Unknown Source)
>>>> Caused by: org.apache.commons.logging.LogConfigurationException: No
>>>> suitable Log constructor [Ljava.lang.Class;@167604b
>>>> for org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>> java.lang.NoClassDefFoundError: org/apache/log4j/Category)
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
>>>> ... 34 more
>>>> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
>>>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>>>> at java.lang.Class.privateGetDeclaredConstructors(Unknown
>>>> Source)
>>>> at java.lang.Class.getConstructor0(Unknown Source)
>>>> at java.lang.Class.getConstructor(Unknown Source)
>>>> at
>>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
>>>> ... 35 more
>>>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
>>>> at
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
>>>> at
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
>>>> at
>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
>>>> at
>>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
>>>> at java.lang.ClassLoader.loadClass(Unknown Source)
>>>> ... 40 more
>>
Re: RAP+Help System+Tomcat [message #531266 is a reply to message #528070] Tue, 04 May 2010 11:06 Go to previous messageGo to next message
Niels Lippke is currently offline Niels LippkeFriend
Messages: 71
Registered: December 2009
Member
At last I got my problem solved.
I'm not sure whether this is dependent to Bug 195765, but one of the
mentioned solutions does work for me.

For my war feature I added a fragment patch to org.apache.commons.logging
which adds log4j to the classpath.

Regards, Niels

"Niels Lippke" <niels.lippke@airpas.com> schrieb im Newsbeitrag
news:hqh2bk$c98$1@build.eclipse.org...
> Hi Ivan,
>
> i added the log4j bundle explicitly for the help webapp-server. there's
> also a log4j.jar in my jboss-client-bundle and also one in the
> hibernate-validator-bundle. And those bundles are working fine (using
> logger). I think I somehow got lost in the classloading jungle of my
> feature... ;)
>
> I assume
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
> comes from the jboss-as-server hosting the application.
>
> Thanks, Niels
>
> "Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
> news:hqgvcl$j7d$1@build.eclipse.org...
>> Hi Niels,
>>
>> everything looks good. Are you using log4j from your application or you
>> put the org.apache.log4j bundle just to try to resolve the problem? Did
>> your application work (only help not) or nothing is working? Maybe it is
>> somehow related to org.jboss.client_AS4 bundle as there is something
>> related to jboss in the stack trace:
>> ...
>> at
>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>> ...
>>
>> Best,
>> Ivan
>>
>> On 04/17/2010 12:27 PM, Niels Lippke wrote:
>>> Hi Ivan,
>>>
>>> here you go...
>>>
>>> Framework is launched.
>>> id
>>>
>>> State Bundle
>>> 0 ACTIVE org.eclipse.osgi_3.6.0.v20100301
>>> Fragments=
>>> 55
>>> 1 ACTIVE <ourbundle>_1.0.0
>>> 2 ACTIVE <ourbundle>__1.0.0
>>> 3 ACTIVE <ourbundle>__1.0.0.201004161324
>>> 4 ACTIVE <ourbundle>__1.0.0.201004161324
>>> 5 ACTIVE <ourbundle>__1.0.0
>>> 6 ACTIVE <ourbundle>__1.0.0.201004161324
>>> 7 ACTIVE <ourbundle>__1.0.0
>>> 8 ACTIVE <ourbundle>__1.0.0.201004161324
>>> 9 ACTIVE <ourbundle>__1.0.0.201004161324
>>> 10 ACTIVE com.ibm.icu.base_4.2.1.v20100212
>>> 11 ACTIVE javax.servlet.jsp_2.0.0.v200806031607
>>> 12 ACTIVE javax.servlet_2.4.0.201004161324
>>> 13 ACTIVE org.apache.commons.el_1.0.0.v200806031608
>>> 14 ACTIVE org.apache.commons.logging_1.0.4.v200904062259
>>> 15 ACTIVE org.apache.jasper_5.5.17.v200903231320
>>> 16 ACTIVE org.apache.log4j_1.2.15
>>> 17 ACTIVE org.apache.lucene.analysis_1.9.1.v20080530-1600
>>> 18 ACTIVE org.apache.lucene_1.9.1.v20080530-1600
>>> 19 ACTIVE org.eclipse.core.commands_3.6.0.I20100122-0800
>>> 20 ACTIVE org.eclipse.core.contenttype_3.4.100.v20100301
>>> 21 ACTIVE
>>> org.eclipse.core.databinding.beans_1.2.100.I20100310-1300
>>> 22 ACTIVE org.eclipse.core.databinding.observable_1.3.0.I20100310-1300
>>> 23 ACTIVE org.eclipse.core.databinding.property_1.3.0.I20100310-1300
>>> 24 ACTIVE org.eclipse.core.databinding_1.3.100.I20100310-1300
>>> 25 ACTIVE org.eclipse.core.expressions_3.4.200.v20100222
>>> 26 ACTIVE org.eclipse.core.jobs_3.5.0.v20100304
>>> 27 ACTIVE org.eclipse.core.runtime_3.6.0.v20091204
>>> 28 ACTIVE org.eclipse.equinox.app.source_1.3.0.v20100304
>>> 29 ACTIVE org.eclipse.equinox.app_1.3.0.v20100304
>>> 30 ACTIVE org.eclipse.equinox.common_3.6.0.v20100222
>>> 31 ACTIVE org.eclipse.equinox.http.registry_1.1.0.201004161324
>>> 32 ACTIVE org.eclipse.equinox.http.servletbridge_1.0.200.201004161324
>>> 33 ACTIVE org.eclipse.equinox.http.servlet_1.1.0.201004161324
>>> 34 ACTIVE
>>> org.eclipse.equinox.jsp.jasper.registry_1.0.100.v20090520-18 00
>>> 35 ACTIVE org.eclipse.equinox.jsp.jasper_1.0.200.v20090520-1800
>>> 36 ACTIVE org.eclipse.equinox.preferences_3.3.0.v20100307
>>> 37 ACTIVE org.eclipse.equinox.registry_3.5.0.v20100301
>>> 38 ACTIVE org.eclipse.help.appserver_3.1.400.v20090429_1800
>>> 39 ACTIVE org.eclipse.help.base_3.4.0.v200909170800
>>> 40 ACTIVE org.eclipse.help.webapp_3.4.1.v20090819_35x
>>> 41 ACTIVE org.eclipse.help_3.5.0.v20100304
>>> 42 ACTIVE org.eclipse.nebula.widgets.pshelf_1.0.0.201004161324
>>> 43 ACTIVE org.eclipse.osgi.services_3.2.100.v20100108
>>> 44 ACTIVE org.eclipse.rap.design.example_1.3.0.201004161324
>>> 45 ACTIVE org.eclipse.rap.jface.databinding_1.3.0.201004161324
>>> 46 ACTIVE org.eclipse.rap.jface_1.3.0.201004161324
>>> 47 RESOLVED org.eclipse.rap.rwt.q07_1.3.0.201004161324
>>> Master=48
>>> 48 ACTIVE org.eclipse.rap.rwt_1.3.0.201004161324
>>> Fragments=
>>> 47
>>> 49 ACTIVE org.eclipse.rap.ui.forms_1.3.0.201004161324
>>> 50 ACTIVE org.eclipse.rap.ui.views_1.3.0.201004161324
>>> 51 ACTIVE org.eclipse.rap.ui.workbench_1.3.0.201004161324
>>> 52 ACTIVE org.eclipse.rap.ui_1.3.0.201004161324
>>> 53 ACTIVE org.hibernate.validation_4.0.2
>>> 54 ACTIVE org.jboss.client_AS4_1.0.0
>>> 55 RESOLVED org.eclipse.equinox.servletbridge.extensionbundle_1.2.0
>>> Master=0
>>>
>>> Thanks, Niels
>>>
>>> "Ivan Furnadjiev" <ivan@eclipsesource.com> schrieb im Newsbeitrag
>>> news:hq9sfq$s36$1@build.eclipse.org...
>>>> Hi Niels,
>>>>
>>>> please post the result of osgi ss command.
>>>>
>>>> Best,
>>>> Ivan
>>>>
>>>> On 04/16/2010 2:50 PM, Niels Lippke wrote:
>>>>> Hi,
>>>>>
>>>>> I followed this thread, but still have problems running the eclipse
>>>>> help under tomcat.
>>>>> More detail I get a NoClassDefFoundError Exception, when I call
>>>>> index.jsp in the browser.
>>>>>
>>>>> It seams that the webapp-plugin cannot find log4j on its classpath.
>>>>> But I have no clue of what to do. I already added a log4j-bundle but
>>>>> that does not work.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Thanks, Niels
>>>>>
>>>>> 13:41:20,715 ERROR [[equinoxbridgeservlet]] Servlet.service() for
>>>>> servlet equinoxbridgeservlet threw exception
>>>>> org.apache.commons.logging.LogConfigurationException:
>>>>> org.apache.commons.logging.LogConfigurationException: No suitable
>>>>> Log constructor [Ljava.lang.Class;@167604b for
>>>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>>> java.lang.NoClassD
>>>>> efFoundError: org/apache/log4j/Category) (Caused by
>>>>> org.apache.commons.logging.LogConfigurationException: No suitable Lo
>>>>> g constructor [Ljava.lang.Class;@167604b for
>>>>> org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>>> java.lang.NoClassDef
>>>>> FoundError: org/apache/log4j/Category))
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
>>>>> at
>>>>> org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
>>>>> at
>>>>> org.apache.jasper.servlet.JspServlet.<init>(JspServlet.java:58)
>>>>> at
>>>>> org.eclipse.equinox.jsp.jasper.JspServlet.<init>(JspServlet.java:65)
>>>>> at
>>>>> org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JS PFactory.java:56)
>>>>> at
>>>>> org.eclipse.core.internal.registry.ConfigurationElement.crea teExecutableExtension(ConfigurationElement.java:2
>>>>> 62)
>>>>> at
>>>>> org.eclipse.core.internal.registry.ConfigurationElementHandl e.createExecutableExtension(ConfigurationElementH
>>>>> andle.java:55)
>>>>> at
>>>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.initializeDelegate(ServletManager.ja
>>>>> va:194)
>>>>> at
>>>>> org.eclipse.equinox.http.registry.internal.ServletManager$Se rvletWrapper.service(ServletManager.java:179)
>>>>> at
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistratio n.service(ServletRegistration.java:61)
>>>>> at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.proce ssAlias(ProxyServlet.java:126)
>>>>> at
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.servi ce(ProxyServlet.java:76)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>>> at
>>>>> org.eclipse.equinox.servletbridge.BridgeServlet.service(Brid geServlet.java:120)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:290)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>>> at
>>>>> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Repl yHeaderFilter.java:96)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFi lter(ApplicationFilterChain.java:235)
>>>>> at
>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(App licationFilterChain.java:206)
>>>>> at
>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(Standar dWrapperValve.java:230)
>>>>> at
>>>>> org.apache.catalina.core.StandardContextValve.invoke(Standar dContextValve.java:175)
>>>>> at
>>>>> org.jboss.web.tomcat.security.SecurityAssociationValve.invok e(SecurityAssociationValve.java:182)
>>>>> at
>>>>> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccCo ntextValve.java:84)
>>>>> at
>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHo stValve.java:127)
>>>>> at
>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo rtValve.java:102)
>>>>> at
>>>>> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invok e(CachedConnectionValve.java:157)
>>>>> at
>>>>> org.apache.catalina.core.StandardEngineValve.invoke(Standard EngineValve.java:109)
>>>>> at
>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd apter.java:262)
>>>>> at
>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Proce ssor.java:844)
>>>>> at
>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHand ler.process(Http11Protocol.java:583)
>>>>> at
>>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoin t.java:446)
>>>>> at java.lang.Thread.run(Unknown Source)
>>>>> Caused by: org.apache.commons.logging.LogConfigurationException: No
>>>>> suitable Log constructor [Ljava.lang.Class;@167604b
>>>>> for org.apache.commons.logging.impl.Log4JLogger (Caused by
>>>>> java.lang.NoClassDefFoundError: org/apache/log4j/Category)
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:413)
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
>>>>> ... 34 more
>>>>> Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
>>>>> at java.lang.Class.getDeclaredConstructors0(Native Method)
>>>>> at java.lang.Class.privateGetDeclaredConstructors(Unknown
>>>>> Source)
>>>>> at java.lang.Class.getConstructor0(Unknown Source)
>>>>> at java.lang.Class.getConstructor(Unknown Source)
>>>>> at
>>>>> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:410)
>>>>> ... 35 more
>>>>> Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Category
>>>>> at
>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:506)
>>>>> at
>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
>>>>> at
>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
>>>>> at
>>>>> org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
>>>>> at java.lang.ClassLoader.loadClass(Unknown Source)
>>>>> ... 40 more
>>>
>
Re: RAP+Help System+Tomcat [message #531589 is a reply to message #531266] Wed, 05 May 2010 13:41 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
I extended AbstractHelpUI like in the demo plugin org.eclispse.rap.help.ui.mini, but my help window does not have any title.
Nor could I find a way to customize the help contents html page. Actually to replace the default with one of my own.

In the RCP version of my application I just specify an .ini file in plugin.xml:
<extension
         id="product"
         point="org.eclipse.core.runtime.products">
      <product
            application="my.package.my.application"
            name="%application.name">
...
            <property name="preferenceCustomization" value="plugin_customization.ini"/>
...
 </product>
</extension>


But in RAP I have no products extension, just a org.eclipse.rap.ui.entrypoint extension.

Could anyone please give me hints on this 2 aspects?
Re: RAP+Help System+Tomcat [message #532525 is a reply to message #138496] Mon, 10 May 2010 11:43 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Nobody?

1) How can I change the title of the Help window in RAP?
2) How can I change the home html page of the help system in RAP?
Re: RAP+Help System+Tomcat [message #532533 is a reply to message #532525] Mon, 10 May 2010 12:04 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Bogdan,

product is not supported in RAP yet. Are you opening the help UI in a
new browser window or in a shell inside your application? In case of
shell - shell.setText works to change the shell title.

Best,
Ivan

On 05/10/2010 2:43 PM, Bogdan B. wrote:
> Nobody?
>
> 1) How can I change the title of the Help window in RAP?
> 2) How can I change the home html page of the help system in RAP?
Re: RAP+Help System+Tomcat [message #532565 is a reply to message #138496] Mon, 10 May 2010 13:13 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Hi Ivan,

no, I use an external browser window (requirement from the chiefs Smile ) which currently has the title:
"Help - - Windows Internet Explorer"
Which shows that it waits for a product name to be inserted between "-". But a s you said, product is not supported in RAP yet.

As I previously said: In the RCP version i reference an .ini file which lets me set the help customization properties (including window title and .html home page) as specified by the Product customization.

Any other ideas?
Re: RAP+Help System+Tomcat [message #532615 is a reply to message #138496] Mon, 10 May 2010 15:16 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Hi Ivan,

we managed to import the preferences from the .ini file into the preference store using:
Platform.getPreferencesService().importPreferences(InputStream)
So now we can set the help home.

The only problem that remains is the title of the help window. Because as the product customization guide describes, we only get to set whether the prefix "Help -" is shown (see the boolean property "windowTitlePrefix"). What comes after that is the product name. And, as you just said, product extensions are not supported by RAP yet. So that is why we see "Help - - Windows Internet Explorer" as title.
Do you have an idea of how could we solve this?

[Updated on: Mon, 10 May 2010 15:18]

Report message to a moderator

Re: RAP+Help System+Tomcat [message #532690 is a reply to message #532615] Mon, 10 May 2010 19:59 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 2427
Registered: July 2009
Location: Sofia, Bulgaria
Senior Member
Hi Bogdan,

I'm sorry to say, but I really have no idea how to help.

Best,
Ivan

On 05/10/2010 6:16 PM, Bogdan B. wrote:
> Hi Ivan,
>
> we managed to import the preferences from the .ini file into the
> preference store
> using:Platform.getPreferencesService().importPreferences(Inp utStream)So now
> we can set the help home.
>
> The only problem that remains is the title of the help window. Because
> as the
> http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse. platform.doc.isv/guide/ua_help_setup_preferences.htm
> describes, we only get to set whether the prefix "Help -" is shown
> (see the boolean property "windowTitlePrefix"). What comes after that
> is the product name. And, as you just said, product extensions are not
> supported by RAP yet.
> Do you have an idea of how could we solve this?
Re: RAP+Help System+Tomcat [message #532724 is a reply to message #532615] Tue, 11 May 2010 02:40 Go to previous messageGo to next message
Cheney  is currently offline Cheney Friend
Messages: 12
Registered: March 2010
Junior Member
This is a multi-part message in MIME format.
--------------050908030102090807080700
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Bogdan,

Bogdan B. wrote:
> Hi Ivan,
>
> we managed to import the preferences from the .ini file into the
> preference store
> using:Platform.getPreferencesService().importPreferences(Inp utStream)So
> now we can set the help home.
>

Although RAP don't support product extensions right now, But you still
can use this extension to customize the help system, So here you don't
need to use the importPreferences API.

> The only problem that remains is the title of the help window. Because
> as the
> http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse. platform.doc.isv/guide/ua_help_setup_preferences.htm
> describes, we only get to set whether the prefix "Help -" is shown (see
> the boolean property "windowTitlePrefix"). What comes after that is the
> product name. And, as you just said, product extensions are not
> supported by RAP yet.
> Do you have an idea of how could we solve this?

As the same, the title of the help window can customize as in RCP.

In my example, I just define the product as the same in RCP, But set the
product application and name as "dummy", see below:

<extension
id="help"
point="org.eclipse.core.runtime.products">
<product
application="dummy"
description="Integration With Eclipse Help System"
name="dummy">
<property
name="preferenceCustomization"
value="plugin_customization.ini">
</property>
</product>
</extension>

then in eclipse IDE, just add the system properties
-Declipse.product=org.eclipse.rap.help.integration.help in the VM
arguments, and launch the org.eclipse.rap.help.integration rap
application. The help system will be customized as you expected. see
attached as below.
btw, in the war file, you need to add the
eclipse.product=org.eclipse.rap.help.integration.help to the config.ini
file instead of set the system properties.





--------------050908030102090807080700
Content-Type: image/png;
name="helpCustomized.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="helpCustomized.png"

iVBORw0KGgoAAAANSUhEUgAAAvMAAALmCAYAAADPHhv/AAAAAXNSR0IArs4c 6QAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oFCwIl NKpTbaQAAAAZ
dEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAgAElEQVR42uyd d4AcZd3HP88z
M7t7vd/lLskllx6SUFIIIBAURBQRECyA4KvSFAVFUBTsWAABewFEEAUVFFBR QWkWCBB6SUJ6
u57rt23K8/6xO3u7e3t3e5diCM9HN9zMPDPzzNPm+/ye3/OMsKO9ijSWnvIZ NBqNRqPRaDQa
zb7DqvtuzLnfzBbxJ3/4Yp1aGo1Go9FoNBrNPoSv1bNFvbCjvWrpKZ9JifgX 17VknSoy/hR5
3zIRUuR/QuIMkXXPMe+Q84+Rw+a5Q+R1kcROkVckc+0SY54j8rnomOFzBBb5 hk97TjG+Qjee
/BSjZ2ye4ceRymKU55xQXuYVYFz5Oa5aMK66CWKcmSnyzJfR80ZMsG5OPD9H rZ3jzU+RZxEa
oULmnZ/jzMuJ5CeAUmp84TP/GTvs2Bsj7x1lh8rrpum7Vd7h1fgCjJISaqw/ Rz9P5RN24vmZ
mY3jyM+xMyqfIGPn56hZtmfyU+WZL/mn2lBGjj8vx3WHsTKJ/KvjruXnePJy 1LPy2qUmWDeH
5+e4as4481OpcZeYUTPpoNn1ANx/+w8yBL046ISPqpM/fHEOEa/FvBbzWsxr Ma/FvBbzWsxr
Ma/FvBbzWszvC2I+XdSnC3ozV6BzWn/AIxUnsT3YRDweI7B1NTX2Vl4sOyTj BVlSXEpJWSka
jUaj0Wg0Go1m7yO+fNcLKtsqf92GswH4vPgckfAgPyj4MS++0k//PTsBaO3s 49+PvMb613ew
uPdZymc20VY8P/vSiX+1ZX6UXdoynzPe2jLPuGuBtswz7tqpLfPjC5/5z9hh x94Yea+2zGvL
/Ii7tWV+9LzRlvnx5ucb0TIPmdb5YZb56lcehQKomOFxzcZrU3/Hn3PpGHQQ ShHDpKi+luAr
r3HVu1ez7u9/YGXTebxeeJjuHmk0b3A2PP84ADMPWZHatz65b9biFXldY91z jwEwe8kxeyXO
a595BIC5y9623+XHK08+BEDBtMOZ2VCS2h/dsZL1W/sAWHTEO3b5PttfepwB qpl34IKM+y48
/HgAXk1uLzjs7RO6/mtP/SPn/gOWHwdA88v/YlBUM3vhARN+hnDLGlpa27Bd BxmazpyFM3WF
1mg0+z3DxHxN6yvIgw3Ao+aQMiL9g+DFicY8qt9byU0b4Ogn2xAlITAtnOnT WPJ+B+P+X7Jj
5nwGRZlOVY3mDSzkH77pcgCOPf86Zh6yYti+WYuPGVPIp4ff04J+7apHMu63 Pwn6V558KPVs
a+65jcvWzmJmQwnRHStRC0/h4avqUs+9K4J++0uPc8Fl53MoG/nAd1/AGdyR kaZAxvZ4Bf1r
T/0jdX42x55/HWWFAS68/HwOVZv4wPXPM3vB+AV9uGUNFQsWcPWnT6O+JMhg y0ree80GZi+c
oSu2RqPZZdrWrcrLMl83e+mY1xrsamGwqxmA2llLMo61r38WgKLKBooqJ01M zNeGN2AWG5hl
xThxDzcskQKOOrwSgFWdXbT1O9iGRdwI8feXy7j42DrqntrAsp77eKziwzrH NZr9Ho/e7avp
3tmFowwKKyYzqXEacgRvj3XPPgbAtGlT2L6tGVFQRcOcBQSlmNDdlQrTsvZF Bgad3AI/aamf
t+zYhBB+5uGc29OaptPe0kzMkZRNXkgotpWOjk5cEaSyaTG1FQUArH76nwBM n9FEW/OORPgp
iwhFt6TCVzUtpqbcZe2qp1AixNylRybTw2b9048TVyazlq2Y8DM3veNwIo88 CQ2H0LZjgMs/
XZUjlEPHhhfp7OzCxaKkejpTZkzHSN7y5SceHHbGwsOPZ8qBK7jmaz9Mbb/y 5I4x4xPraaaz
rZmBvl4cJQkWV1I3awElAXPcz9aw6Giu+dqPAJi//DhQQ2k+c0YDm7dGmbP4 EMCje+ur7OzY
iaMMiqum0jB9OlLA1u07+PFVZ1AoBeddfAObxRTmLJzOzs0v0NXVg4dJUWUj 9dMakcKhbfVK
egZdaucdTkVxIJF6A1vZvGYDomgyTfNnI3VF12g0aXzvyvNGFfOf/ubNeV1n sKuZ7115Xuoc
X9C3r3+W7yf3X/LNmycu5qsC3YRKki1/pA8VDRAXdVSf8B7u/cp1tNzZjuqL 0tUWwTMtXlsf
p3epw+QlVdQ/8BxoMa/R7Df4LjfZQr5z7TMcfeLxnHlEExWGzfPPPMvV96yl du7cnELet8qe
+6vn+N1l7yPWvIEvf/9fxOYeTGic4lapMM2r13Hxpz7EUY1BHvnDPcOE/GhW 5fTti29/kss/
diIzih0evP/PbKg5nHOOnEGxO8gf7vg993UvYOe6/2aEv+6j7xox/O0vWfz5 p5/Fcns55ZI7
aFxyGBtXPcUtP7yUBhnnI5fcBAcfNSFB/5DbxCklD/HUwGa88iUsdl4BDs4Q 8s0vruT4976T
05Y1UkyUVU89w3fuX03jovm89uSDOa3jI6XRWELeMyUXnHkCS+dMotzy2Lpp Mzf98jFaGhdT
PIqgz77+AcuP47Wn/jliHp1z68v88eIq3nvZXykLRTnyXZnl7pt/WE3/YHPG s938g0s59vzr
aHu1gxNOe1dmety3BksOcPbF53HyNJOfX38LD+5cRCUb6Tencf/PPkt8ywt8 7EerqZ47Rwt6
jUazxzsIfifg+1eeN/5JFrnEfFFgEGTCGhWPCYwFjYmA1mtYQejY1oUa6GGg uRnXM3h2taRA
usiKEIU9a3SuaDT7CSO5RUSbX6Dh+NO45Lh6/vvL27gpfji3X3AU34vv4BOP 9IzeaH3oEIql
gKa5XH3e65z9yw5mzK4dV7zCm15kwVkf4tiZ5QC84/0fmPAz/uDDh6f+fs8Z Z6UdKeP0c97B
rZf9Y3zhP3M3P9sa5tPTy7mo0eDnra9QsfAdTLYkrS/8ndaiucyZoGX+vr93 8pWTavnr77ew
4INns+nB+zjgA0NifnDDU0w95f2ce1S135pz+IpjuMG5i4v/1Z27Y+TFQZig nHHFpWX9ar72
3Us4pHDoFTJ99hyuumyQk7+8lnmL5+22cnje++cR2fxnMGJMevvwcndj/Lec +9vc50479QM5
0+NTj03m5uvvoPSq/+P8z3yY3m/eykpmccvlK/A61vKJ65+gfNFyLeQ1Gs0w RrK++5b2fKid
tYRPf/Pm1DnZ516Sstbnp+yHtVWBUBg8MLxuXvjXAP/8xir+fu0z3P3FB7ik 5itseuxfbH/h
VXq3biXa1UVdeZjy0i48K4IXj+lc1mj2c3a2D3DBWxMC/KerOml+KWG9n3LE 0didG0c99/bv
/pwzrvsPAJWz34I7sGlYmNdXPZr65aKzN8Y5ixITQW+77ud84DuPTvhZ/nnn bznp8iHL/kO/
vov3fP5eAKyCqSi3a3zh8fjPbxNpsPyDs+jfupP3nTENgLvu3EJ1U6ZrzKsr /5H6jcWOlf+h
ftlbIe7yiSWl3PZkpkBv7Qxz/vIKAG761k/4wLX/TQjatxxDrH0ti454B8ee fx3Hnv9dfvps
N0op/nTrHVTOWj7udKspq+TuNdu57fZ7OPWi6zn9K/cDUFBxIF58x5idxPTf a0/9c9Tw0577
C2f8xCPoREcsd8Ioy7D4H3v+dRQYcuT06NxB44IZXP+tu3h2IMBnv3AW3//C OygOb+XSq/+B
uWA5AaHrukajyU3d7KUZv4ngC/psLklzu8mXYZZ5JQvo3mFjTTZZeGQBr/4l xkBQcF7BFZih
Ar438G3sydP5bOdxuBismLsVuruIb+mEUEjnsEazn5AujtKt9FHlMS9oAPDr H1821JgE61Gq
b9Rr/nF9P4hngCMxrHKUimQK+WcfzbjXsedfx5ylb80IE3M9Zibv/7v1fcTV S8DEJn9++7Ft
GdvX/Gs7Q8vqimFGkXzCh7c+wtb4AqY2HsOcGsmplQEGO5/hgcgkDkhzP3l1 5T+GPeuCw44f
Ma52eAt/CpfzmWXvYFL4RZ4NuxnHI95QuvxxyyA2TwNvwQjWobxEvtSVBph7 wvv4+JIKVt77
W366sYG5s4voWje+dCuY3sQrdz7BwacdyvdPPIHq0oJkGiQWT9id3H7fZhoW HkXz85tGLnde
77DzoqOkB14/wqikYXoL37xhJfd9/SgagV9960+0NS2lwRBMaKxbo9Fo/gcM E/PNRQdTuv55
aiebFJdJqhsD1AnBo4U/oSjk0OcV8NI/H8VtOharbwsXHLyaWGucnS920R3Q qwZoNPsT/mo2
GY2GEDTbHo0ByZ0/v4Pbn2vFSeqeWYuPYX1yWcpcnDi9iGesgwBwY+0gi8cd J0sKWpL3P31m
Cf9gTmYAAZ4iMXG/MkD7nGPGeQe1S+EnlRv84LlevntYBd/+5NEArPz1s5TO OHiX8+PPf2nn
lx89gFfvvHXYsZCUbIi5zA0ZnDa9iH/KA5Pp3IaQpYSbX6Tq0BP4ynENrHv8 r1z5t23ANpjd
MO547HjpOS779qc4utTiu9+5hce39fLnH3923J1EGPKZH4nHBhzmm5KOUcrd vEOPZc3TD2ec
FxwlPZAlKGcnzZs9vvr1w3DiXTRTzvsvPYl/X/VnwvMPp9DQ9V+jeaPTtm7V yG122n8mal3f
FdrXP5vTNef7V543buv8MDG/vvZIanc8R8vrcernBGhcUkLvDkV76yBbtrh0 9YS5ouoKPhK/
m5NOClNlxOhZ18OWDZIdk4/WJUej2c+pKgly+9oBvrSolDMvOJszk/v7m1fy 3u+M7mbz8Ss+
zqVJn/GOV5/AKp2ecXzOkrdmiL1sqzxAdXGAX60b5KoFJXzscxfyUS/Tva9I Sp6LOCwtNPnq
dy7BiXXs1fQpmDqNNX98Fg47jrJJAZxYO9973aNxSebI5YLD3p7xrPks99jy zL9QHzqDW58e
PjehvrqQm57q5voV1Zz3hU/gvyK2Pfk4wZo5bNzyDA9+ITFBefaKd/Hwinfl FNf5EHFdFiT9
5S+74lwuSzuWj5+5v7b8eKgpHaXcXbNhWPjaylHSo2oyW1/bxKVX/R9LiuN8 95t38iQzueXK
E7jxyrdz3jcewVh0KEHtaqPRvOG58QsfG/X4p791y27qJExcyPvuNv6+IUG/ OK/rDWt3N9cc
QV/5ZFo320R6XaShKKwxqJ9dRVQGKTygjlsm/Ygz5qxhoWijc6vLtnVgF1fw Wt1xutRoNPs5
xU0H8dytv+f2f6+ntT+O67nsbG3mDw9upaKuetRzL7vnVfptl5aNq/ni7d00 NA1fXnHO0rem
frkomXkgz9xyH//a3IdtR3jgrszZj5NmTuP6W59iR79NtH8nt/zo7r2aPjIw FbP/BR7ttwHY
8siDuLULU8tDZgt6/5dXR8oS/GLdf9lmTh92rGjmcrbd9zt+8Z9N9MRc7FiY p/79Lz7zZ8WM
pkqUImccJsKUqQ189b5X6Y65bF27hmtu/AU7k2byRQUGg66329O1dNZiXhih 3FXVDy93hdOX
sPneHOnxJ5vC6HbOu/Rs3lYruPnG23kicCBVgQ4uvPFxZM1cfvrZw+l5fR2u ru4ajSaL7115
Xs7fRPGXpqydtYRL8lzaMhvx5bteUC+ua8m0fPWt5YhVX2OaDNM4P0RJmQQP bCkxhYcd9XCi
CstShKXH5maPe6s+Rduk9I+1+H6k44hM5j/5hc/9x8hh89yR/yfjxeixHfWT 8WLMc0Q+Fx3X
J+NFrv/kldrj/WL8ePJTjJ6xeYYfRyqLUZ5zQnmZV4Bx5ee4aoEYT14m/btH INcXYDdkfAFW
gBeha/sG+nu6cVyFDBZTXjeLiqpSBJlfgE1fmvLY869DColRWEPD3PkEhMij bubIT7ef5tdf
ZiDsUtZ4MD1bngGGvgDr9G5i66atuCpE9azFtK/5N5Bj3flDk9tJF435ye3V qe3jktsJN5D5
SYvy6qRbiG9hfi1tu/nZR4kUVPKtb3yIgwokn/vM99l5wAqKTZlffmblZfaX WDtf3Uj1ghkZ
x4Y+GOXQvv5FdnZ24WJSXDONqTNmjLnOfK77jLTtdzzCLa+ybVsrRnEN1ZNn 0b72v9geTF92
LIVG2rMmh7L9L8DmssqrtDTNXmc+kQfJi3gROraso7e7C8dVGMESKhpmU1Vd Bmr49wTAoXPT
y3Qn15kvrJpKw7RpSGHTtvopegZcauYdTmVynXk7bZ356fNnY+SK6MibuY+o fMJnhVATcPZS
4/oofdoN8o5VjqCKMfeo0dNnjMM5dqsxkzz3LpVvNo2aL/mn2lBGjj8vx3WH sTJp5FTYzfk5
nrwc9ay8dqm8Nnenm03bumfG/dEoNUK+jPTRKAW0r8vvo1EHza7n/tt/wKr7 bswt5gEKm59k
2cs/YbbZTVnApKLUQEiBsgTSFLiuTWdE0REL8sfqjxCb9c6cL18t5rWY12L+ jSXmR8/LsWOW
nTfZYn72kreOs25OPD9HrZ3jzc888rL5ucf42Lcv4l2lCXHY8epDnHVbjLnz p+afn+PMy4nk
53jFX6YAHIf4G1s95CkY1NjaYESNt2fEnxbzWsxrMb/vi/l88nNcNWec+anU uEtMXm1mtpgf
8csesUlLeY3LiD39Y6qMTmrtCDKgEi8ZJYmKADu6ylh38AU4U5eh0Wg0b3Zs Q1IXdXCLBBtX
v8rVN2+nadEhOmE0Go1Gs8cYUcy70qKj4SC6j/8OBc2rKdnxCgV9XYBHuKiG wYa5RJYswims
0qmo0WhGZPaSY1KTLLOt8vsb0w46mq9dfTPhmEuwrJ4piw4hIPUsSo1Go9H8 D8S8j1NYRf+s
I+mfdeSEhn81Go1m9pJjeLO0HtMOGpproBtMjUaj0exp9NeqNRqNRqPRaDSa NygmwOYn7tYp
odFoNBqNRqPRvAE4aPbFmWIeYNV9N+qU0Wg0Go1Go9Fo9mGWnvKZjG0JE1vW TKPRaDQajUaj
0exdsnV7QszrdNFoNBqNRqPRaPZ9MZ+1LZMSX6eMRqPRaDQajUazz6v5TN1u 5lL4QyjceATX
jaA8VyeeRqPRaDQajUazJ7W6NJBmCNMszGlwz95jMoqat6O9DPQ009m8lkh/ p05djUaj0Wg0
Go1mDwr5UFEF1Q3zKalowAyWMpaaT1rmh6t5144Q6e+kdfOLTJqxjMKSOoTU y9JrNBqNRqPR
aDR7AuV5hPvbaN34DMHCKgKFQTw3lqXlc7jZ5LLMu06Y9u2vUj/zMMprmhj6 /Kt/iaHtPKMH
KvFflbX90uM3c+CK83QOajQajUaj0Wje1AQLSggEi2je+CRzDz0TssR83pZ5 5blEBnZSUFw9
XMgLkbySSP5/LEGvUEqASMh4oRSK5LbSk281Go1Go9FoNBqfwpJaIv2dCDHc KyanZX6kxWyU
52a41qQL+Y2bN/PIo4/S09ub81wpJaZpMrmhgUOXLqNx6tTENVWyD6B8C71G o9FoNBqNRrN/
Eo/H2bx5CwCNjY2EQsExzxHSGHHxGZHLMj/2Ff1eQOInhOCfjzzC6ae9n5rq 2hFP27hpA+Hw
IH998O/Mnz+fFW85CiG8hKBPXk0JLek1Go1Go9FoNPsnO3d20TB5KsFgiPa2 FiZPrt+t109a
5vN0dUn5yAv6+vqoqa5l7YbXEuZ2IYaCJHnlpVdYcczbOOuMs/nVr2+ncUoj TdMak9fyfeY1
Go1Go9FoNJr9D9d16evrY/LU6QghCUeiOI6LaRoTvmbOL8CO4/Skl83QRQwp MQwTQxqYhpH4
O/kThiAaiYCAww87jJVPPQlCJCMh0N+e1Wg0Go1Go9Hsr/T09FJZXZPQvEJQ VVVNT0/vbr2H
zKXwc4n4IeGdKcITwj1dxBup7fr6Bp5etZKH/vkgSkFrW1sOAT/yvWsmTcv7 2Ghh80G5gxw1
+xDWR51h23a4kz//8JPD7rH6oV/z0VPfycymWUyZtZiTz/8GqwftVHyyf7X1 M0a8/8M3f4Nj
lh7I7KUn8KWbHxs1ruMJO1Lcc6XnaPEd7Z6P/OQqDl90AAuPPJXr7n4+49im f9zCqW97C1Om
zGT+8hP59l3Pjpjupy//0ITyblfzPhcTjYtGo9FoNJo3J67rsrOri9a2Nrbv aGbLlm20d+yk
qqompbUrKqvo6Oxky9ZtbN/RTGtbGzu7unDd/D/OKnJ9AXbMkzL/ycCQBghB e1eYG+96jpfW
tYOAxXPq+MxZS5g1s4hwOMKiRQfx+L8ey+wQCMW+4jLfvuor9C/+OrNC5rDt SY1H0rTwsGHn
/PL6Bzn0wqv4zh1LqbRsnvvbtZz6nh+x5uHP0NG6Jev6X+XYb87Oee9N93yC i35XyV8efJoG
mvnW2e/j3Io/cMvp03cpLMDUebnjns1o8R3tnp3PX8tX1s/m3idfoKBvDZef egaXl/+D697e
QM/aX3D8pY/yw1/dyW8XTWL78w/xza//A85YkjPd73nq1/tMhdyX4qLRaDQa jWbfp7WtDdO0
KC+vAsCyLISUWFYg5dViWgHmH7AI13Ww41GEEPR0d9PS2saUyQ0Tum/SMj+e UzIDG4ZBR0+U
867+K3WTern8YzG++qlDmTWzg//7+t9QRlFi5m4whOu6KDU+9f6fX3yV5QfM Y+r8o7jmwWZg
yBKbbkVO3/b/3vbXazhw1hwWv/MTvJK0mAOceuhwq+s9VzzMh79zTM7t1q1r ePKvtw0759oH
7+DCU99CbXEQM1jMsvd8ge41P8/5HNdeeA9X/vTUnMduuvox/u/mzzGrKkRh 1Qw+//OP8vDV
v9zlsKPFfaR0yBXf0e75s4vu4LZvncWk4gBlDQdy3Z0f5w9X/AqA+z75Y878 7Q854ZBpBM0g
M5edxK1/vmLEdE+3sNdMmpYz7wHswdf42DuPYMrMpVz5h42ZveLYdi47451M nTqHI067gm2x
RE/Xi7dzysIjebI3sVZrrPcpliz6IG1xL+fzp8dl+yM38a4jlzN5yiwWHfVe brjn+YxwI5Uz
jUaj0Wg0bx58z5Si4jKKissIBAuwrFCW0FYYpkkgGKKopJzC4nICwSCGkb/n e7ZuT4h5xjMB
NjviJtf/5llOPnY9yxdsoLn3RByxg+UHPsYHTtjB9b9ZhWEYyZuLUa+Vix93 HMhfVr3Eg9ce
xQ8v/gwwZEXuaN2S+qVv+3z+4Sn857WX+elZNudc8FBq/71PZ1pdY30rub7j CD7TVJJzO1/C
bfdRUH3KsP0dz3+Lv9VfxgcnFeY8709dUc5uKEptF9adRqTrgV0OOxbZ6TBS fEe7Z8uAg0zL
y5LGDxLu+EOiE7C+j7kPXcvhixYy7+gzuO3RraOmez55D/DXC85lxhfuYNOa f7FkzbUZ5zx8
yZn0n3UDm7a8xp2XV/K+y59IFPRALTfdehLnfujmxLU/dBGn//KH1AXGrjzv +9i1nPODe9i8
5TXu+fYHeeqO/2QcH6mcaTQajUajefNQW1NDNBJm29aNeN4YbjNJ2/a2LRvo 7++jrrY2fzFP
rgmwuzAP1TAMXlzbRn1tKSvXnkJbd5Ti0CMMREuZOqmdZ9e0YhpD3jzjtczf dcV7qSkMcMCJ
Xybe98y4zv3Otz5IaSDIktO/SOt/bxwx3Os3fZ2DvnjpiNv54NldfOnMG7j0 l5cNO3bDhXfx
+Z+9b8Rzd9oedYGhWc2GVY1nd+1y2ImSHd/R7vnV2y7kY1feSetAnEjnem74 1PtTxzZFHX60
tp7bHn6aFx+4Ee+vH+eG5zrzTueR8v6a/7Zz4RFNWFYhp3zuGxnnfPsfLXz2 2NmY0qRxybls
/9tQvtce+nk+X3EnZ179EX5dczlfWFqTV3pMKzB48r8r2dgWZ+6R7+d3939q QuVMo9FoNBrN
/ouUkilTJiMlbNzwetIPXuUU8p7nsmHdGoSAqVMmI+U41qTZJcu8yhXxhMiL 2kfSWHkLA4Md
bNpRgSXWE44emhL8kGWZH6+vvAyhlDuuUxqDifuawak4sa0jPJPDV27t5IbT puXezgMnvJHP
nX4alZ/+LRcvrs4U369cy5+qPsU5k4tG7skFJC3xoWdz7U5koGaXw06EXPEd 7Z41iy/h1hMF
Hz9hOQvfej6tB3wSM9QEQKUl+dMPP8Xc2kKCJZP48NU/5gf/983xp3NW3m+N OVSYiUIvrcxn
XxO2eUvTTGomTaNu6iHEB17KOP6+Gy7jHz96hK989+S80+S2x3/L1PaVfPyU I1h8/Dn86on2
8ZczjUaj0Wg0bwom1dUhUHR3dZLTYi6gp3snnutQP6ku/yXiU6fvsmU+U4Ub UnLwnDr+83w/
JQXbaKhYyao1xzEwWMS/ni9iyfx6jKRlfryR3VV8AepENxMoOiBnmK4117Hp kK/SFDRzbo9F
7/oH+cDxl7L0K3dz1ckzhx3/4QW/5tKfnTnqNU6uDHHH9sHUdrj9Xgoq3r3L YSdCrviOdc/p
bz2be//zPBtefoQrT1hH2YwPA3B6dYi728IZxc0qbphQOqczv9CiI+nr7maJ 5/mFFq9t25Ry
uWpvWZ9x/O5Lv8sJF7+dr11+f973C9UcwmXfuJ5Hnn6JOz9/OFd86OxxlzON RqPRaDRvHkzT
pKioiJEs84WFhZimObGL57bM5yHfFTkjJKXBleeuYPXrrby6cSmFgeOZP6WU R54+lpde6+Er
578tZZkH380m+duF70adWlfIYx3REbcBrrj6XgbsGKt+fzX1x34653UeuuJe zv320SNuj8aG
v/+Yd33iz3zxT7/jg1kWeYDuNd/jd4UX8rHG4lGv89GrjuH2c7/Dup1RIl0b ue78W3jbVWfv
ctjxMlJ8R7vn1959Pr//71pijs2O1x7nkx/8DRf96CQAzr36JG486+u82jaA He7kt9/4BOf8
6CPjTudsLj2qlu8/vg7bjfLHb3w149gXT2jgq/c9T9Rx2PLcA5x96o9Sx9qf vpZres7iji/e
wjkd1/GdVR153e+Gk8/hN4+tJua5FFVWIYQcdznTaDQajUbz5iEciRAMDc2V dB0XO26nlHUg
WEAkGt0dWt63zOcj59XQ32l+71JKptWXc+ViT1gAACAASURBVM91Z9LZuZg7 7lvFHff+l1hs
Bn/63tlMrStP+cwn/IFUrq7CuLnxbz/m+ncuYc6K63JuA3x9yessn7uIi35X wp03Hpnaf8qy
MwBwIuv4xua3cFFSvGZvj8WRH7mO11/6MyccMGfYyjoAPznvl3zq57lXjPHj ANB02k/48Rkh
zj3+UBYd93G8U67jF2lLTU407Fhkhx0pvqPd86SPHMQdXzyHpsZ5nHD+91n+ tT/wyfnlAEx9
1zX85uOT+Ox7j2HWoafzfN2n+dLi6nGnczbH/egW2m/8KE2zjuD5Q76Uceyt N/6Oqr9dzfyZ
c3nHBT9h4QePABKr2Zz/0T/xi1+fC8DHf/1j7v7IxanVbEZLtxVnL+XXV32Y pqlzOOGiO7nq
lszVg0YqZxqNRqPRaN58RKNRTNNK6l7Bzo421qx+mdfXvkJHWwsgkFISCISI RCITUPOZul18
+a4X1CP33Myjv/lWxoHYYDtrV93PvMPOJBAqTvjnCAFIhBBcd+MNfP7yLzIY HkAkv+oqhESm
/S1SX3tNCPkbv/9dLrrgwqSl3gOlUCheeuwmDlxx3m5NyJpJ04atna7R5Ett /XTaWzbrcqbR
aDQajWZcDA6G6ejoZPLURrZs3kRhQYiammqklLS1txMOR2iaMZvt2zZTWVFB SUlu4+ZLj9/M
4uM/ixPry9j/1rO+yNtOP4/7b/8Bq+67MfHRqLx92RX4X3kqLyujt6+XstKy /B4sPEgwtY7m
LvjXaDR7mHDro1hFi3RCaDQajUajGTeFhQUEQwHaWpupn1RHUdGQu01DfT3h cISW5m1Ylklx
cdG4rz+hL8CiQAmV8tFRCo5727H8/u676OrKb1nEiopy3v62Y9N6BQmrvBb1 mn2JC5cfxJPV
K7jtL/oLsBqNRqPRaMaPEIL6SZNGFfuFhQW77X5Jy/wIkZEGyvPSNT1CKRAw fVojHz3nw8lz
x/a5V2pIxCfca/Ys2vVBMxF+9tSLupxpNBqNRqP5n6I8FyGNEToLOcR8LjEu pEFBcRWRgU6C
BSWgBAiFQiQEPSS2lSA/87pKrYijsrY1Go1Go9FoNBpNgnB/OwUl1Sjl5ZLz w8V8Lsu8YRRQ
O2UhOzasxDAtisvqkz2ENKv6btLhu3vyq0aj0Wg0Go1G80ZDeS4DvS1sf/0/ TF9wPMqND5fy
+VrmDauAwtIapsw9mtbNq4gO7ER5rk5ljUaj0Wg0Go1mDyCkQai4iqnzjqG4 YgquHc4VariY
z+kzLwRmsJSyohrK6+YO+1CORqPRaDQajUaj2b0o5aFcewQhn6nbY4PtY69m 4zkxIKZTVqPR
aDQajUaj2Yd44J6bEl+AzXudeY1Go9FoNBqNRvM/I123v++8a5JiXqeLRqPR aDQajUaz74v5
rG2ZlPg6ZTQajUaj0Wg0mn1ezafrdpWcAAt87tObdeJoNBqNRqPRaDT7spbP 2pY592o0Go1G
o9FoNJp9W80r5fvMazWv0Wg0Go1Go9Hs+1o+U7dry7xGo9FoNBqNRvPGUfNp aMu8RqPRaDQa
jUbzBtLyabo95WajtbxGo9FoNBqNRrPvi/ks3S51kmg0Go1Go9FoNG9ElP4C rEaj0Wg0Go1G
80YhW7dry7xGo9FoNBqNRvMGxLEj2jKv0Wg0Go1Go9G8UcjQ7crTlnmNRqPR aDQajeaNiPLF
vDbMazQajUaj0Wg0+z4ZhnnlYUJivUqn9i/JnSq3240RRzgWUgVwhUFXTxTX dlmxbAEXnP0u
PGngeRCLxRDCwHXdoTsKD9cL0Nm1ky07muno7qG/f4B4PA5KMqm2lqracqbW T2JSVQVOOEzQ
MlCewEWAELimi6kMDARBSyBMwdrN2/npL++htT1MsERSGAxRFDCZPaMeIT0M wyDuKKQwMWVi
WEJKiZQSIQSGJLXtScGWzS1s295GLC4xzACucnBxEabC9ArxPAdDehjYTJ82 mdlN0xDKw5QS
W0EoYKFcG4lAWCG27mhj9YbNRKI2pgziKgekQmJgCBOpJK7w8AyX9xx3OHOb GvFiYSzLwlMG
0rTwlEvAkFgFhRhejEjY4+vX/pSdtkugWFJeYBFwBLZh4doOeA7Sc1my+CCm NNQRKrAQUiEc
MEwTR3kgBUIIXNfFEAYBw0SqMMgAUU+wcUsLTzy9CtuBYDCIQIKMIqUE5SJV opxAIh0dTyGl
GGdBFLt0fKxwu3r93X1dOcLxidwn17F89zHOeAwdV6Ofr3bP8+Vzfj779tR1 RtpnJPd5nodl
WRx88MGsXbuWSCSC67qJurMHnsPf7hsYYPPmzRQVFTF9+nRM08TzvFSb7rd/ nucl2j4hUUql
2r+GSfXsaGnG8RJx9QQIL3EcT+G6LsFgEMdxEtdLu76UEkcoTCFTceru7qa9 vZ2GhgZKi0vG
fE4pJa7rMnXqVIRUNDc3J+KqkseUl2q//XT2zxNCoNzkcxkGjuNgGAaTJ0/G MAy2bduGhxoz
PYUQqfefISS1tbV0dHSk7pVX+ZAC27bp7u6mrq6OrGoz6vmJNhUMw0g9o//M /rHdUa5zll9G
Py4FFBYWUlVVRSQSoaOjAyBVDlRaPqY/S65yv6fqp+d5Q+VBKQzDQClFLBYj EolQVlaW2ud5
HqZpYjsxLMtCkNAsfno3NzcTCASorq5O1JM93H4IoQiFQgSDQZRSxONxbNtG CIFpmhQEgkgp
6e3tJRAIJLRNPE4oFCIcDqfqsud5qWd0XRfTNEfUdNn7/Gv44VMawTCIRqMo pSgoKEjV1fS6
mJ3PI90vPS7xeByAQCAwZrpJg4xn8uPrp5efVun577puxrPs0vtR7R19MZ7j Z1yc6WaTSBUx
VPlGQnkmCvBQDPZHcWJRDlt2IOec/V6QiZ5BJDKAZRnYbhzH8wiGStm+o41n n3+JTRs6CUcj
OAiENIi7DsFgAVLB9m2bEHIAz44zb/YMVhx5OOWlhZiGAlySGhLb9ZCmhaMU btxhZtMMvvT5
y7n2+p+wsXkbAWFRN3UyngDpQTTuYgWDeCqOUmbOwuv/TGERCoUoKgjhuVFc L54UqArPUzhO
HEN6CBSzZs1g2uR6bDtO0DIJBAIUFQYwhKAgUIbn2jguzJ83k7LKMl5+ZQ3t Hf0EQhaO5+Ep
DykVsVgEI2TiuornX3yZmooKqksLkRJcx8VxQcpE/riejVSCgoIQJ77r7dxx 7wPYcXAsCBhg
x6Io12bWjJksPGAuAo9AIMDAQD/BYBBDJTtWUqIUicqIwBCCSCSCNADiBEKF zJo+lZnTm3jq
2Wd58eXVBINBQkVWotJiELMTjYjrujium+h8pL3wNJo3G0opHMehuLiYyZMn 097ezuDgYOrl
uqcJhUIceOCBbNy4kdWrVzN79mwCgQAAlmXh2jEMw0i96H1B43kehYWFY17f F/K+gEt/QSql
EFIQCAQYHBxkcHCQ1tZWJk+eTEVFBXYsPqKo8/Ff0i0tLUybPpWysjL6+vpw bSf1QvbFit+Z
8IWEUgoz7bksy6K2thYpJVu3bk20daaxz5ef9HLit6d+52Ss9NsbZsDBcJje vj7q6+uZMnUq
LS0tOFniKj3e/vbeiLtfHrM7R/7PLz/pgj1d/LtOQrT68Q8EAjiOkxKzexrX dYlEIti2jWVZ
GIaRqr++8PU70pZlYdt2Kp39Z/b/6wvt9E7gRMpjdnpmd9TGa3jbFfwOeroR Ib0NcF2XUCiE
aZo4joNt26nOyf5rmh/BMj9WxijXwLAkAwNxImGXo5cv44KPnoTr2MRtSSwa xQNc5WF7LoNx
j7vuvZvtO7oQFCQqhWWBUrgoDGliu3FiURvTNJGOiRAGz72ykZdWb2DxQfM4 9pjDKQwmrAJS
GQgpcTyXWNgmEDBx4lHKCkNccuGH+fK1NzDYH0Z5EuUJpCGxTItYzCYQ8kBl Vu70xFBKYccc
pk6uZ/Kketp37mRHcys7u3sRHlimgTJcDCmY3jiZSXXVeMohEDApLi6kIBBE BAxcJ47CxrIM
pHQxTMnM6fXU11XywN/+Q3f/AJ5KWH0cz0neXCJx2b6tjc7OHsoKgggrUUEV XtKa5uDGBFbA
QmGzdNkiHvz3f2nvihCXHkbQwTIMDlmyhOqKSgReQtx7cQzDwFUehhkgHLUZ CEdQKmHBkhIK
Q0GKSwqJxmykUDixOEopQqECli8+kNlNTTzw978zOOAQCARQUhIqLCQSiRAI WEhhaCGv0UOe
QqSsZNu2bWNwcJCCgoIM69aeJBgMEo/HaWpqorW1lTVr1jBjxgyKioqwbZuA aaaEjG/xtZIv
Rl+kj/Uy9cWD3wlItCFJMaRcBgYGUkJ+2rRpFBQUpO41Fr7Qcl03ZdEPh8MI RcYIgy9Q/Otm
C5iqqiqqqqro6+ujubl5SFju4+XHT8dYLJZheTVNc58QJH6ah0IhOjs7KS8v p76+nra2tpTI
9IXlRAXk7qiD6Rbg7BEC0zRT1uAhC7TEtm0MaWV0Di3LwnGcYdbkPYVvQffr QPZoTcAwE/FM
E+9+nliWRTweT8Uz/Zl3tTPlX8+/T6783Rti3m+3/Hzz89NPs2AwMXKRLeTT 27v9T8uLDDFv
rDj9wq+2bHyZyrLQsF5tesaZBInaHju7B5hSX8tFHzsTixiGVERiNoZUSEPg CZMXX13Pn/72
T1p3DoAsxFYCZcRwlI2Hg4uN7UbxsJMuOHHsuIejQJgh4p5i244W2tpamNzQ gGkITGkiBLie
wjAtEMmhD8ejtCjI/EUH8PijTxKLKMrLi/GI43oK07TAdRFpQ8BDlT69ATBA AcohGDSprCih
qrISU0rikSi2HaO4KMT8ebMJWgaeG6Omuiphvfc8bM/DMi0EIEg0BgCe61Bg BTAChWzasgVE
olPiOS7SFLiuh6cUhpAUhoJUVZYTDJiJXqcQGAIELghJKBDEceJYIZNoDNa9 vgPHcSirCHHQ
gvlUV5XjOnEcO0ogmLSWC4Oenj5eWr2OdRu2smnzDnY0d7JtRwubt2xnW/MO WlracWWAglAh
plAI10aiMA1JMBhkWmMj7e3dDAwMEgwVJMSBFcR1ndQYVManhcfR8E70+Fjh 9jU3GzHC8TeO
m80Y5++m53ujutmQ9vJwHCclyHyRuaeew9/2XBfLNBFAaUkJBaEQW7dsoSAU oiAUSrSdybj4
lnVPKYxk3EqKS+gf6Mfz2/1k+yqEAJUYkTVME095qOTfJK/heh7SMBjo76e1 tZWmpiYKCgqG
BHiez+mLjng8IWjLy8vp7elJhE2+lH0x4wutlJtH8tj06dPxPI+tW7cm2qmk hVVIMWZ6potB
KQRFRUUpF4a8y0cyntFolOLi4mGt4lhuNr7VVQhBMBjEtu0MMban3GzkWG42 MtONbGBgAM/z
mDRpErZtE41GU9bgdP2wN91s0kV35nteEI1GUxbvDGu9IZLCz0h1ul3XTXVQ /HK8p91sPM/N
SK/sTohyh0b4pJSpERt/ZC0Wi2XUj3QhPp48yOWS4rux+G3aaK4r+Tx3egc8 e3RhpPMNQ2Z0
4H1Dgt+m+XXF76yldyx3i5vNXtIX4zn+hwf/TcPMRax98SnOPX1FcgJsVmbm arxczyYy4FBW
WMqnL/oopYUKS0AsHMMwFY6K4SnBM8+t5p+PPEPfgMRTBTiuR9yN4cQt7Lgk FlW4MYVwDZwI
2BEXZUuk5eF4DoOxKLZnEPNM1qzbztPPrqazK47ngWFYIBJWIc+FgYEBhLIx DZdJtSWc9YHT
GegZpK21ByFNPBUDL44hCzKeKb3Xnvrb9cBzkQYELElJcQH1NZXMnT2DxQcv ZP68mSycNweJ
g+tEKSkpBhQkK5kpLHAFypM4DsRiiYIatEKgFLNnTqMoFAIkSolEvyHZ41VK 4CiDDVu2E4km
CqOjPJRyU1Ypz/MIRyOJzo8T54hDl1BWFMIwDOobplJWVkJ4sB/HTZxvuw6u J1mzdgMrV71A
a9cg3QNxXBnCMwPEXYmSQWzPpLWrj+dffI3H//0EW7a1UFBcguu6hPv7sAwo LSng6CPfgmUI
nLiNaQaIxKIEgsGcw24azZsNy7JSgsZ/6UYikTFfervPsguQaDNc16aioozZ s2eydetm2tpa
cFFYoWCqzUtZwpWHMMa23PnP5AuedP9VKSVdXV0JF5lp0wiFQikrWr5WMX/U wHcF6ujoIBAI
UFpamvESd103Q7T4frGBQIC6ujpc12XLli3E43ECgUDKHeGNgm/9dl2Xvr6+ XXKV2FOW71gs
hmmaRCIRWlpaqK2tpaSkJJUfe9tqmy08s/WLL2YHBwczRpd8K7hfTv1jfgcq EAgQi8X2mpuQ
X6fSy7vvvpdeB9PrVnrHL71up3dYdrX8ZI+Cpefr3iqb6Z2b7HkzlmURi8VS eZku5PdnbSIy
0sdfmjLtwbMrgp9p0biLHYnynnceR311EdLw6B+IIowgdjyKDATZ0tLBo4+v pD+s8LwAjuNh
O1GUF8Fz40jPISgVDVVlHHLAHOZMr6eswER4MZx4DNuOYEiSPU6IOZKVz7xC d59Df184OblW
gXCw43FKikqJ2S59vb2UBEzetmIxs2ZNYfu2Vvp6Y0jTwPMcnLiX8Xy5fsKA hGO5Sr1cPOUQ
ChpUVpQyZVIdxUVBHDtGKBCgIBjCicWTL5PEBMdEoTcIBEMY0kw8f7JhsExF cVEBygXXSVQO
244hhUAogesJdnZ14yiPmOMmLU/JyuuCmXz5WmYQqSRlxUFmNtWivDhdvXFi kejQcLQA5Rms
3bCJzdtbcRwD2xUowyQWjyetTS6O5xKJ2ghpIQ2LmCt4/qXX+O/KZ/GkiQwE U4KkqryEd59w
PH09XTiOQ2GoiFgk4QsrMdBo3sw4nodhWSgh8ADbdQmEQkjTJLYXBGX2cLpv 5Z03bx5tbW20
tLQkwliJ4XpflOf7sk93rfHbR19QdHV1pVxjQqFQyuXCD5+PG54vonzLqFKK 7du3U1dXl3J5
SI9veociFApRV1eHYRj09vamJsalTyDc51/MadbKeDxOd3c3AwMD+4yYTxdT vlXYd2loa2uj
vLw8Q1CKtAnheyv9skV3+qTh4uLi1ERYNznPy3fTSLfkRiIRwuEwpmkSCoX2 qphP/6Uv1OE/
S7arm39eLBYjGAymRqmyJ2yPJw9yuRSljy7mcrHZG+UzfYKv3674eeiXw/Tn TZ8bsf+qeTFc
zItRGhc/Yfr74yycP4MTjlmKdB2ikTgyYOEqD1MEicSCPPzYE0SdxGopkVgY x44hPBcVsykO
xXnL8gP4yNknc/K7j+LIw+ZxzhkncvFFH+LE45Ynhkdc8OJxlB1HeAqlYCAa 4/VNW+nrjyCk
RHlOwu3GlMTiDtG4DaaFHXGxjDjnfOQ9SNNg+45eBAGEBCG9jAlfQxbxtIlg ykk2UAlxbgiZ
GHpULp4bo6SokIBlUFpcnLCcxP0JKAlfVM+NYxrgunEikTBKJIailfBwlYPn phc2MiwDtm3j
MhSXaDSa1vsyEEriOolj8bgHroETDbN8+QJMS9HS3IVtu0hhojyBY3u0tnWw ecsOXM8k5hi4
cRdlxzGlS1FIUF4SoDhoID0HNxYnFrOJxxyUVcDmHR28vGYjwioAw8B1HYQb paayjMMPW0Y0
MjhkcfNAaMu85k2O/4Lx/TUBbNvGtu3UUP2exDTNlOHA9x31V55YuHAhO3fu pKWlJWHJCgUz
Jv/laz1Nt/oFg0GEELS3t9PR0UFDQwMVFRUZYn+kYfvcIwtDLkr+S3tgYIBw OExFRcUw9wlf
oBQWFlJRUUEgEGD79u0pi3x6h+KNMKfH78AYhkFrayvRaJSqqqqUpXZfKN/p IyH+iIzneYTD
CUNbKBRKzRPJFtR7s1OUy/UmEAhgmibRaJTBwcGUG41flhzHSYl9f6Kl7yqb z5yS3ZG+6WmV
Xm6zBWm221UsFsuok+lzTCY6OpJu2U5fQSa9LO7NvE0fqfDzxn/WdFe0N0p9 392WeYbWmR95
Jrhf0D1l8q53HoslYpgobFuBmVi5BkxeeXUjGzY2E3c8YnYk4eKCSzwSpbqy hlNOfjezZ02j
rDjI5NpKJlWXIbwY5UVBDlt2MCeecFKicXBchOfiuTZKJZa8Wr3+dVwl6Osb wLIsIoODmDJh
HTCtIFHHJTrgotQg1TVBDlm8iL6eGP198eTL1R7TMp9dYFzXSzZcHlIKPCdO yApgSQPhqYyG
QimBEC6uG0NIhQxIXOES9+K4yf/huvT19aQqrau8IYuRSkzCUVLgoXA8O+1F BFKaqZddPOZg
ygCmIVi4cBamBY4jGRgYwHESeaWEZEdrK44HcVuhMJDKwxKKWU2TOXzpgRy0 cDZvOWwJRx1x
KFMmTUqID9cjHInhIHl94xbadnbhKd8nN45ybQ5edCDFBYVEo1FMw0BqHa/R DHMp8eu2lDKj
c76nOxPpKz1Eo9GUf/ycOXPo7OxMLSnot1++OMvXcpwufrq6uujq6mLKlCmU lZWlLP7p6ZEt
UkaLf/p9fDeH5uZmysrKCIVC2Lad6oT41tXy8nKKiorYsmVLxqQ4/5pvBKu8 /9yWZdHS0oIQ
gilTpqRGH3xR+T+Nn2ngosCQuChszwVDoqQAQ7Jz504sy6KkpGRc7lW703Kb yz04/Z1eWlqK
ZVmEw2H6+vro6+sjEokQiUTo7+9ncHAQKSWVlZWpESIhRMoPe0+SyzUk2+05 e4WgdIOr7/qU
3u6kd8DHOwKTXTezffmzR2D2Rvvmp0EolHAvjkQiqbxJX0nJNM1U/o20LPD+ YZgfSvsH7vn5
0Bdg/UlPHgolwJRgCIVSIQYGilg8r5o5MxvxjAD9sQiG6aLiMSxhAB5PPP0i nkqsNW/bLh4W
tu1hIjj+yCMo8GDapGqKCwDDwVWACBC3XaRQnHDEbEqCAlvIhA+n4ySWUPQS 6/Z6Ko5tO9gx
A2kkGnYhbZQXRwKu6RGJKAK25EMnvQUV72Vbe5S4FEg3IbgTvzQR74mhX5bl XomEuwoIlAIb
F0e5YBh4XkLsYxg4ysMRLsozsW2VmKiCQioPqTyEJxCuwUsb2ujpjwMe4OHY CteTKOEg5GAi
bp5ACAMn7mIiSExn84hLFyc52dcwFREvDKbAcDwWzZqL58bp7k0uoyVVYr15 YeCJGMgIkhiu
F2XO3BnU1VRSXBKksrKYwkKoqyni0GVzmDOtGosonmtjOxCOuKxftwW8RDw8 DxzHBi/KssWL
8KLRxEiKkOyL/eCx/OX2dX+6keI3nsYzl+vcRO6XuKcc47d7LWoTtSj9L/Mr Pc7pKy/sjaXt
/Lk4fn4oJZDSTBoaDIKBApqmz2TH9hbCg1GkNEm8+xJuco6XcLsxhES5HtJV ybWVJUgDN3kd
/7m6u7vp6Oigvr6ekqJiVNxJfF9DJRcm8BKT+lOTaIWH48YRUoHwQHhII7nk rgEIDyEViiGf
eNdNuAIORsLU1dRgSiMxWuopTGnQMKmeUCjExg2bh/kLp/vY57I2Zk82lIjE ogQIJLlXMBmt
jqTcABwXQyTW5vdX4km3GqavCJLuuqCUYuvWrQDU1dVlrETiH8+eJ7A3V44R nkIqkCqxJr2B
SO3zv0fQ1taGlJKysrKMvNgTFvex2ofsOXJ+fIqKiqiqqiIUSiz44dgerqNS a8qXlJRkrFnu
T0j2lEJBYkU9x0HKxNrwrmsn3+m7r/3IXvbV3+93LtLFrV8OfHfYQCAwbAnO kUYWsu/pl890
VxY/LfyOhF9m05e+nKhYzrX6UHq80uuHFCauoygqLCFghRjoD+M6CtMI4Nge AgMpTAQGnptw
TZbCRAoTz82/4/K/GlHaVd5//rVDbjb+BzoguXSicvCQyRnCUZYuPhhDgHLc RCPlgqdU4iMZ
rsPWli3EnBiOZyOEIh6P4HpRZs6aQlllkNKy4uREpSB23EkIV6Xw3ET4aMym fvIUbNvGsb1E
9RCJ5bmi4Rgw5JaSLbwTbi42juNhSIvCohBLlhxEb08PnitRuMN6lOP9+UPA 6b5ZynHAdZGA
wkv4DAqIxx3icQfHkyhhEo27PPHEk1jBQNKlxyVUEMR2PeJxB08ZBAxJeUUp nuekKmBq8qsz
NDks/eVkCEljYyOGKejp68Uj8bEJwzCYN3c2SxcvZua0KVRXlFJXVU5ZaTHF hQWJl26yIfbs
xP1mz5tLzHaQhoVje0hp0tPTQ39/P647ZBGzLJPGxsaMiWn7tV+aRrMf4DgO paWl1NfXs379
ehzHwbKs1AeZ0ieR+aIxeyKdvzJMd3c3ra2t1NfXU15enjERNtdqIn477bu/ +O24f16666N/
31gslrKyNTc3p6xtvlCZPHkyQgg2b96csWxduuU+fTJcLktt+v3SJ9blGmnx rzuSa1L6/uxV
N9L9/QcHBzPeK/6zt7a2YlkWFRUVGaML6Sty+GGz47ovCA9f/PX09BAIBCgo KEiMnCeXRN2X
Oty+dbeoqIiSkhJKSkpy+vv7Iz2+5kj/joHvw57rg0f/q5HBgYGBlK+/X/78 PBipjKSPzvn+
5/6olz9/IxQKpdyS/DLr1998R97GMiKltwP+CGP6WvqO46Ti0d/fn1Hf3yij b7u9g53evsf6
MifAJmpleo9fYMccykpCHH3EYQRMcOxY2pCHheMqmlvacJQBRoDBcBzbTXzp SEpJ47QGXC9K
UVEIKROdAEOYeK6LwMOUAseOIKwgPQODSMMAKXCVIh5PfFiqtKgwmdEermdn iHn/F4+Hicc8
+gfDFBaGOPTQg4kOhuntCWOnnZMt0tOvkauRHTqW8I+3ZEK6K89F+QXZTfw3 Fo9jx12EEUBa
hSAL2LKtnTvvvp+4nXgeD4WLy2B0MLkEWgDPlcRjURrq6pKNSTIekPGxCw9/ tnvCT93zHKY3
TsWNx+jq6cMj8fKNRyOYQlBZVsTM6VNZctBCFi2YR2HAxJCJUZf01SNwFaGC QjwksVhiQmw0
ZmMYFh6JD64kJvQ6RCIRCkNBJk+pXPBIEQAAIABJREFUT/kH266DRqPZd/FF SVVVFaXFxaml
G9PbvPQP1fjtTfZqIP39/bS0tNDY2EhxcXGGL3X2iz3b8hePx1MTUnMtw+eL /XR3Gf9YNBql
srIS13WZMWMGruvS3NycIeT9eI+0zni2D3K6MEmPu/93uvBOF+rZ/tb++X48 /BV5fP//dOuo
7yLgT+pVStHS0kIwGKSysjKVptnPkR6vdBemfcWY4sc1nlxgoaKiYq99MGo8 VuBsNxZ/X7rg
Te/I+Z1U31Uu25XHn3i6L4h5pVTKtc7veOfq9KWPTGWvWe+7ezmOk/rOgV/3 /eUvs5eHzKcz
M9ZSxNlf7/XrkV/fCgoKCAQCuK6b6ujvrW8A7LtqPvO5zZTCl4mhUIOEGwlS 4CmDeNxj2eIZ
WCbEYlFQbsKSrwSeEgjTJBKL49gCU0qECiG9RC8r6kYJBopQrkKYHkpIbNvF lEba5AoHwwrQ
3NXHth3NuK6J53pYhoknDKLRMDUVU/GUm/mZa3yx7aISbnvE4g6mdInFohx4 wBwKQhYD/Taq
PJTqxWQsR4kaVpiHDwGRaoyFkTYMlia0VXKtZcMwUULiuIKW1nZefmUNrS0d uMkIesrDMMBE
4jiJHqVru0hhYRphGqdOxjJk6iMnqc8UmyKtAllDLyTP5f/Ze/M4y66y3P+7 1h7PVGNXd6fn
IXPSAYIRGfMDGdWrgiAiCvcK3nsVL4KADCIgMqkBBQfkgiIqIhoBEckPkIQw BhJC5jk9z11d
46kz7GGt+8c+a9c+p09VV6erk+pkPZ9PpVPnnDpnn7X3XutZ7/u8z3vOutV4 vkuqFO12hFeS
OMLJNl1xTOj5SMCTmiD0kFoTtRMcKYl1ihIK3wu594EHiZMUxzUt20VeWBLH bVynhBSdIrUo
5rxt27njzrsJykEWqUht4ygLi5WKPAAjBJs3b2bnzp0cO3Ysd4sx5DF3zPC6 u3oKx6Fer3Pk
yLyP/HwKvL9sxJAh13VROluQi8TYLMomimskKObvTETXdV1mZmYYHBxi+/bt KKWYnJzMvK/D
ALTMXdB8P8t+Fn3uHcdBobs0/SbiVyTkZt43RNlYGZrHi0V3va3si5HzYnS0 KI0pepibIr4j
R46wdu3arshoscDUzPXFzUi/gNQjTZpNwMlxHGZmZvKod71eXxEdwheTJBWL RoubNnNNh2FI
vV4nDMNC1oeujspxnD7i97epkzGbjGIEvchVioS+uBk075Gt+XF+77Tb7bwo 2BD44vss5frr
R7qL71PMIJjPNZtkk0UxHXINDyxKzR6LhL73G7uGsWaDorKOnjpGOJJ2MyVp J1z+uAtJkign
0KbJQpwkGdF0BFq1SGJN4Po0Wk1cVxI4ABHS0chONNiVHnGc4LqSRMWkGuK2 5p+vzqLXjueh
VUSqs2ZKngOP23FhJ3LjAtlOTYoscp0kmU9ymkYIUWZ6dopabRWOk3LRedu4 +/4HYOsIC7UA
nL8o+5B9rdF0up/5IUolRJ1uY45pYU1mKyldh2Yr5sDBI9x974NMTs2ghUuq RabrSrMJOoqj
QoRHIEXWOXbzxjUMVkJ0GuN55c5N5iJECpJcpy860qPQl0idUCnVGBwoMz01 R32uiYPEdxSu
7+G4IB2NjhOkJ4lbLZTj4PsBSktcJwQNu/Ye4Nbb7iJOFUKqLDuDolzu+EV7 JZIoQUqBkJo4
UqxZPYbXcfJBa6zQxsJi5UKaxa9DPM855xx27drF0MgIiVKscVbNk06v2Fkx 6+J6fHKSI4cP
s2XLfGdXQ7gdp5v4G8lFGIYMDAxkTW2iZk5ITXfToaEhBgcHmZ6e7qovMMS6 mOpP45jt27fT
bDbZt28fAwMDrFq1ikSlHT1tVgi3Zs0axsfH82M0m4F6Yy6P8hUJfK/utxix NDIgQ3pKpRJB
p7dGkUyY4zRk1nVdarVa7hffaDQYGxtjamqqa5Oyf/9+PM/LddxRFOXPFaPz xqkoCIK822e9
Xu/Sdj/SUptixgBgcnKS0dFR6vX6irj+F3J2KdZW9Da8mpeWZhaI7XY7d4jS Ou3KlqwEGKJr
pLbVarUjk027pEPF3jW9kfCiz72REmmtKZfLXaR/OQh08Z4rFu8Xu0GHYUit ViOKIprNZq7r
782Y2ch8ITKvBcg008NrBFoqmu0UR/qcu2VdVxpNChfPlUihkWiGhwa46Nwx RmqDCDRbtm6j
2Y7YtHEtgZtSCztUT2mEAKUSUi1JlcAJKnz92m/zwK79IAPidoTvaFSqSXTK ZZdsZ7Dk4Lqy
cJJjFMyTeS2RSUoi2khHMVdvU64FbN++ntvvvI8o1oTu0m72fmQeoN1sUSoH 89p5pZCOh9CS
djti9979PPjgLlrtGC1cElxc6SO0ItUKFCQ67XSyFUgP4igiSVoM1ipctuMi PDfrPOh55sJO
EUKTxFn2AtXxV8ZkBwRKJQwOlDk2njnlOG6YZU0QaJXQaqV4IkTEKUEQopQg 1Q4Ihz2797N7
/wEOHjzY6QBbIY4iUJpS4LB54zmdLrvguj5aJyiV4jkujoDR0VFmWw3UAl0e LSwsVgaM7MMQ
7lKpxNDICPv27WPbtm3zsgJ/3o7PLO6Tk5McPXaM9evX5xFvs/gWi+0MsTTR ylarlcsTXE/S
bDZzVxrf91m/fj3T09O5g0sxSlrUtQdBwNjoKNPT0+zevZtGozFPoqToFLtl biXj4+McOHCg
i2ACSNfJsw79NPSm6LUYoS1GG+M4ZnZ2Nu98Wsx2mDEwUU3T8GlgYIB2u027 3WZqaoqJiYlc
YnP48GGq1Sqjo6NMTk4yNTVFFEVdkcqipCEMQ4IgyDcTvXr+lUBoinp+E0Ud GBhgdnZ2xUiB
etf7XlJfLJYtZl5KpRKzs7M4jkOlXCaKki6SvJK+m7G3llJSLmfOc2bjt1Bx bVFfr5Si2Wzm
OnVjednPaedUirB7O/QW/5V5YbHMAwmVSoVyuZxvXs09Wbzel7vQ+myNzN92 /cc7ZL7wqNQS
IbM23UrB8OAIQ4OVLKqRZtXDRmqRqoxsDg/WePWv/CIizfzUU61wvKDjjpCS Rq1OxKHThltq
4jQiFT73PbCb6759E5qs8NJzHCSKVtykXKlw6SXnI2nj+4OZF3ycAln7bmFu uBQkLsIVpCrB
cQJUmrJ92zq01jSaKWHNWVLqp/d5Q+YdIUnaEUkS45dCPC9geq7F7j27uee+ B5DSAS1BhMRx
mktuVJoghEYIieu4gFnUfHSasHrVEE94/KUMD9VAJZQqfmGC1igxH/HIJo8U pJc51siUqN0i
CDIP3SjNJhidpiAFwtWZ7lWCUCnEEa4TcujoOPsOHGHfoSMkqQZZAp3VRwip 8VzN1i3rGaiV
qVar2cJCliUxo9VoNKhVShyfmSIoB6CszMbCYqXCRHZN1E537A9vu+22TPIS R0RJ3GX7CHDo
yFEmJydZv349w4ODgMrnIpPuFrKbSPQSJCEEOlWUghCtNJ7jsm7tOThCsv/g oSyYhD5BZ248
+levXo3nONx6661s2LAhM0XoyAmySF2AQDE4OEi9Xj+h+6XWOpvbTI0QdG0W soyF00XkDGEw
/xr5TrEFfdGlqCg/iOOYZrPJ0NAQtVqN9evX51pmx3E4ePAgY2NjrFmzpiuy a2Qc5n3M58Vx
TKPVpNFq5puGarVKuVzubGYUDiuDzBcj2tPT04yMjHTJlVbC8fVGhXsbK/Xj BMXovN8pHF9J
kWFzbRcbrzUaDWq1Wl6LUrzWeje0xXvG+O0bIt/bpKq3iHyhMVvquShumgxK pRLlclYrOTs7
m0vPinPMw92FdiUH5p/4vDcadURP6gmHVCmEdBkZXkXoZ/ZkURKjmC8S8hwX pRJQKU6qCaQg
dKDq+/jSQcUKHTtIFaAS3bGGTEk6BamJgmu+8nUmplukCnw/6x6YRjGlUsil Oy5heLCC76i8
KMNUOJsTaNKgjvRIVRuEot2K8ByXcsnrVHk3TvlC671AzO+Z/k+za89uvvu9 G7j3wZ1IL0Dh
gxOitMRxPYR0uiJWjswW1CRJsgh5mlIth1z+hB2sXT1KGrWRkvkCqE4TqTRK uyJFSimczo3k
FVK6QMdrPslkRzrzrFep7kiWIIpTDh46wo9uvZ09ew+QKkmCQyokQmcLk+sI zjt/K9u2bESi
EVrjCLdw82YbNt/3GR4eftS3TLaweFRE5oXMa2BMFC6KIrZu3cp9992Xzy9G t5qmKcePH2di
YoJ169blqe5eH/li0ah5vF9RnHltkiRs2rSJMAzZs2fPCcWlhhib6P3q1atx XTe3bTRE1nyG
kaCYor/JyckuhxpzTIZIFwlI0WavSHKKZN6Q+2JTJ0MqioWvRqphNjlFYu/7 Ps1mE4CdO3fi
ui6rV6/ONfzFz877uhTGolQqMTo6ypo1a3IP9KmpKQ4dOsTU1NSKKTI1m7Gi RMNIJVYC2RU9
ne6LfXSKBLM3Qm8eq9VqpGmaR72L18BK2KgUdefmWp+Zmckj9Kbmo5fnzEvq ss3+1NRU3sNh
oQ6yxXX/dK+/4nsZGU2lUskzWkVXqGJhePFefWyi+1zmkXlHSyLtoF2NTCMq hMw0m/h+G1Tm
H2xSkSkKLSBRWbfUzEc4IdagcUBpIEagSVQnuq1chI5Rqo3jebSUxzXX3cDO vRNoEaJokcZt
pPRIZMK6VWWedNl6PF2nNDCKgwZtmrEIpFNIgwlIZEJAGRkL4rCBosTWc1YR Sx/izAm2NzZv
vORFIc1TTK922YLpNtIt04wFd9y9i4OHjnY6rioEGnTmbiNEZ1LWIhts7QGC WCVI10HqBFSL
c7es55KLL6BS8pFpC993qFWrnQtb4EDHplIglCBRDRwqIBSxivCokMRttGwy NjSKSjKv1VRk
2imhU0ScdLIXCkf7HD52nFvuuQ8tA9pC4ksHT6WQxug05py1Y2zeuJZVo4OU AvAcmTWLQqKE
RAiFVikgcU7Bw3xl7mrFQ554HsrfL/T6U32/hbJJi2lClwdqkSTfw3G+nNxC sWWiy2lKvV5n
eHAIOLsn9H7n6dTOnVr03KRpihf4nXs2xZUAmkopQJNSqwxw7Mg4SaKQrs/E 5CT79x/k3HPP
pVIqIXSK44gTSE/2yRrhuJnsMU0zmWCqCLyMxAZBACIr0t+8ZRvS8XjgwV1A lgVOC4ux07HG
9dyATRs3k6Ype3bvQwgHIeH4xBRDwwOIycwdJ3RCpNCMjq1iYmoS6WYbAc/z yOzudTYaep5s
Go17v3umn81lr4ylH4nJyYXr0Gg0MkMJKVg1Mkqr1UIpxa5duxgeHmZkZKRL xlSMMC54/6ps
rg39gHJYIk1Tms0mc3Nz7J+eYWhkmFqtlh1/UsiadP5OuPIEH35DZj3Pg5Pa Ry5+LWrZ8ekv
rJ0AzWaTaqXC3Nxcl2PMQ5n3el9/Krrtfg2luoj+/Auzc2teU5SWAOVSiWaz mXvWm34OQiQn
2In2SnYWh+w53p7vKgvSXymya7vDNTSZ/3+/7q8myGeKSE23XvOaYq1KkiTM zc1RKpUYGBhY
sMC0nxtQrzyu97nifVTslVDMbhn5XxiGtFqtfAPc25ehXzbhdDYS2eiLfk+u aD1+76G55kbN
/Tp1RtKdNIt6VAayiEzWgER3pR+LJ6tXa947WEpnUXVXQqsRMT47x/Xf+i6I MlorXOGQKo0k
RTiKJ19xOQKVd23rp3E7Ya7RnQppYU6yc0pks5g6zb9P5889N6DdTnhg516O Hh3Px8BxPJIk
wnUzKyiEAxrSNCv0ko4mSWKkSCGF1atH2LZ1ExvWrcYVmiRqUq1WqFRKXZ62 UjpdES3pS9I4
xfUkaSca5AYuSJlrEou+0L3RiFYUs3P3XtAOcZwS+iWSdgshUspBwMXnX0S1 VmagFuIH2aWt
UrJNCJJUSLRQ+J6H6wW537SJAFhYnPHIWkemZyKfO3fuzLpOVqq4ri3BXgy+ 72cEoDNvG4cR
KSVbtmzh+zf+gFWrVpEqxcTEBOPj42zfvp2BPMCQnnRRzIihk0enTVTaPLd1 61Ycx2Hnzp15
oV4xWlgkmp7nMTU1RaPRyOcXIzkxJMCQclOUaIpCzXcr+lebvy/KDZZTa1sk NMUCPaOf379/
f07ki5H+ogPQqUSXjY7bZKwnp6eYm5tjZGSEUhDOy4dU5oueaHVC3xRDsJIk wT1N0qKUwinI
gwxhi+MYOsd50jV8BcMUbpvodavVIggCKpVKHtkvyqOK328luA0Z3fzw8DC+ 7zMzM9MlOTPX
qSmcLdqpLnSf9Grge3+KmTuzaS3K1IryYcdxGBwcRAgxrzBYYTUhKzkyn5N5 IUDrTlFPmuJ1
pCtKxZTCCn4YELeTrpTiQmS+H6k3HVWF1LQihRdW+ea3v0a7DbgKx8u6nzoC SNs86Uk7WLdm
hFrZIfR9JA5KpCch8xJBVmBLp2OlyGPxakk3a281e3HHrqTP0cOHOXDwKO12 gh9USHSS7Ypl
FnXSSFzHywp9pUKIFK0iHKlYs2qYjRs3sm7tGnxXkEYthFQM1KoMDAxk8a3C QuPQ7cOcphqR
ZmTe3GCJjmlFiqPjx/OUc3EjIoT5e8HEzAxzjQjXK6EThU5SXKk4f9tmNqwf I3RDPM/B8wWO
JuvIKJxso9eR28RJTJy0qQgHPywxO9fMvF91euI20cJiGRHHMa7v5f0XTHHl 2rVrO81EIjtI
J5nfEpXm5LpYDOv7PsOjo8zU6/i+z5EjR7LGcNUqcTvClc6Jac3euKKUOI7I I99JFOfzV5Ik
bNy4kXK5zJ133tmlyy9G64pdLpVSzMzM0Gq1CMOwS89rJAGGEI+MjNBsNmm3 2yfIYopRvN4N
w3Km6E0gJu5sNo31ZKVS4bbbbsude4puP8VjXQrZ64125rafShGWS0xNTXHk 0OFcqy+lxPXd
3C+8NyJvCNVyoVeOVNx8hWGYZSw4sRHW2dB00HicG9lTq9Vibm4Oz/PyTaWR /PZecysh4GXu
rfHxccrlMiMjI7Tb7TxrZORpQ0NDBEGQ16QUXW4W41+9mYheL3sjASoGKE1R ru/7lMvl3Aaz
10rz4ex0fHYFuPpG5sGVkkipPBKddqK507MzWbMP5IKEfSH/2+JPgkaqFCEc 6s2Y2+64l0p1
mEa7hVIJIpG4jmZsrMrll12Ao9sM1wbRqSlQOol8wHi/S9Nsycl88IVAkyy4 o+wXXeptaKK1
ptVO2LPvIHGqCYISqcq6pKZxguc7IDJfdtEJ5gsU6JjRkUHOPW8LI9UyYRii kiZJG6rlkIHa
IKHn05qr4wb+CRrOorWacYyJ4xglTTfYCNcN0CqzFXXcbs98recjOVPTsygB aRThyAB0zLat
m1i3ZoRyKCi7XqdFNWiRNcnqvkE7PshphBKCRGmmp6cRvovrO7YA1uKMophi TZOEQ4cOUSqV
qFarneJCG5lfDMZrvah5z+c9IVi9Zg1f/a+vUavV2Lp9G6Ug80n3jO0kiy+m WXay4+bS6Srt
eR7tqMmmzZsolyrcfffduZd6EAS02+2uJjXFGqMoivIMQi9hVkpRrVaZmZmh Wq1SKpU4cuxo
Hmk05LhoP1kch37dvU8X7XY7m987tU6G/F133XV5jYCZm4sbKuND/1AyAUWC 47seI0PDlMMS
k5OTtNttVq1alROmXiu/4lonMou5ZSGMvZIl44Dn+z5zc3N9SeDZshkudjJ2 XZd6vU6j0aBS
qXTVY/R2TzabnEcS5tybpksmgxSGIUeOHMHzvDwi32w2uyxXzTXUe157HzOP m4LZ3q65pqak
aPfpum7uljMzM5PXvxSvDRuZX2JAoevkSIHjumgV47gu5XI58/ZEIgsFI70D 3Wvr2I/w59I/
NOOTU0SxoN1qIwMXlbaQ0kepFk98/CWQNBkbG8pi665HtsfQi+pKdf57Z8LC YW6u3iEBxY6q
fSZFwClM+MX0jtNplHR0YpqJyVkwC4ZpUCIya7RUtZDSJUlb6DRh4/pzuOD8 rZTKPknUwHc0
QkUEjqRarRL4PiqOaKvu9FNO5LXqnnxROFqTpjFCuqQoHEA4kpm5Rh5p6d6Y ZFIjIaDebGQR
I8el1WriiJRN69ZQDgUl38HRCi0yrZLQAA5CCoSQKAGkHes6x8eRHjOzdaIk Jgw8wO6aLc48
mTdOJ0IIms0mWzZtyq55V3O2a+YfjsyG47ld5Ha+UZLD+Pg4R44cYdu2bXlr +yRJIFlau3Tj
PhP6AarjeBPFLTZt2kSlUmHng7vy9/Q8j1ar1UVqe8m2mYeLtUyG+CZJghdk zi9DQ0PMzMxk
LiMFSU8xjd9vvertEitOswYkCIKMiHQ8+uv1Ovv37+fcbdu7ZDfFrpa9meCl ErLezrkmY+H7
fra2BAHj4+McOnSINWvWEARBnokp6pS7dOTLQOR77TLNvdput6n6/oIR1rMh 8lqMLJsIfblc
BmB6eppqR47Wb6P1SBP54oYky2ImtFot2u02jUYDKWXeD6Jer+fReJNVMdmf xa7R4rxiNuzm
Xiv+rclkFDvImqLiYt+HYjfllTJ+Ky8yv4DPvJQgtEJIkadAEiU4dnwy7zba W/ltLpB+F/AJ
k71w8XxFO0qYmZnB8zwaiUCqzi42yaK/27dvRSZzlMMKKsm6nyJVPtkuVCCU RaFT0GbSlxw7
ehyts86nC02M/X4vyoikk01Ie/YdRHgeYHyVOxOjK0jTJOtqS8KGtavZvm0T 1XJIErfQsaIS
BrhCUKlUslQcijhu4zC/mxXMV8ZLKTPZkIlEpilCa1KdZl1onU63PSloNtoc PTKed6TTWmd1
t1rPR9cRXHDudmZm6szOZi3ZXSmQQuG6meWaklkBrRBOJ7Ng3qMzDmRZgaBc QjiSvQf247o+
nucRp20cYSOjFmd2IZJORs6mpqYAKJfLNBoNAs+3A7SEyHyRxBrbR601x6cm 8b2Qyx//BBr1
OQZrA9k6kKYEYUASxZysK5wrHSTzQQkhNatWjVGr1dizazftOMpkH55HO4qy edWRxFH2uAma
FLu+FhvYFAvo5ubmkGTzaalUYvfu3V3NmPrJahYiCbnt3mlyyaKLS7PZ5PDh wzz72c9m/Oix
nBAVdfSGyBS1wSdbuBfKJEgp8X1/fq3oNAWbmJjgwKGDrFu3Dt/18vE1Y9Cv xu1079GiXtqQ
eZNl6SVmZ5OEonj/mHH2PA/HcZidnWVmZiZvKmbOca9U5JE+fkOaTQZtYmKC OI7zDZ/pGms2
2yZz1I939V43RQlN8ZwWXbLMT1F+JaXM5XFFJ61ilq1ojWnBghvwvANs0arJ dRx056TOzc0R
JTE+sqvDX7/oRm/Kpet3HOK4jR+4SKk61opuFtVVCiUUjtQkccSqapU0Vrhu QKpjkClCu4uS
eWEaKQnd0WLCgQOHUEpRqZSXRhZ62pGbC2pubo6J6RlKQTjf7txxMnlQ5zNR KRdecD7r16/C
dzUqbVL2HSqVKhJBEPqFiIrIIuaOQEsBaffu1WwWTFFr1jnXLGYKncb5+B+f mkIBnuviOAKl
E7R2u4uSBYSBT7BqmJHhAXx/I0kUoXWKlA6O9EiyVmF49EqMzGYtux5KpRKt WPHgA7vmO+dh
U2AWZxa60Jjs+PHjDA4O5qTMYmlRnDiJcz23IceHDx/m4JHDPP85z+f48ePc c999eRRSui5a
QCr0SX3Mi4WnqYpZu3Yto6Oj7HpwJ81mEy8Ic9JrSMPs7CyVSiU7v+pEIwUT YTfn2CzorVaL
gWqN0dHRPDXvBX5OjBfTyBc7rJqOniIrGjvtzJHruhyfnODAgQNs2bIl11Gb 8THjXiTyRrZR
zE6cLBLXnfHuGDF0TCyQmTwijmPK1azebd++faxbe07exbO3a+lyfP/FNh/m WIuFyQtFF1f0
/dOxdi1KtXzfZ3BwMK/vMPKUlfb9zPVn1mzj3T42NpZvuKSU+b+O43Rq+bK/ NZbgJ9vIFTfL
Ratbc703Go2coPf61xsZTnFDuJIac63Ai7J/ZD5Pp6TzJyYMQ8YnDrNr1y4u 3HbuiY02egh7
779dkyodH0iVsnHTetrtJsLxwUQJOpPM0aNHqThjjAwMZxeGKzPfJSUWvEGy ych85vwu+vjx
yY7dUXDKKQtz/HEc5224E5V2FgNTwKRI0yxSfs6ac1h3zhiuVCRxi8GBMqET 4EkXgYtWOi+O
ko7oSnWbQtt+evn5yI/C0QIpdb7RiqM5Dh48mLvq5BO10J0o+3zWZN/+XczO zlIOfLZu3Uq1
Ema75EQjXIH0JEJDSibx6V28pZRIxyFJUmZm6kxMTDA0MkqsYnuzWZxxZBmg JJdZrF69ep4s
KSvzWkrk2JAp01hmfHyciYkJduzYgU4VSRTjSsnk5CRjY2MopWhEEZVS6aQF xkWSuG7dOkZH
R7n/3vvyAtakYJ5gSHe1Ws0LJoWej/CZgJEJmhQ7t0opUVpRqVQYGBhgz549 eVq/Vz5SXH+K
xNoQlEajkUdXT3cG01ozPj7O9OwM27ZtI+nIMHu18cUCX3NdGwK11GBTv7ou ZYJrne/mOA6u
n7332NgYx44dY82aNYRheMYaHfVyAEN43c56bMag1/JQr3ALQDP+pnFYcROl tc43SVNTU0xN
TeWNmpbLPnG5IvPmeOr1OgBDQ0M5oS5K1JrNZtdjQRB02Yr2i84XC11NfYiJ wJt6GHNtmPeL
47jr2i82hjL3jNnong1F0o90ZF6aR7VwUAk4Mit+VToh9JoEocOP7m6gRItq uYZqa6RIkF6E
8FykE+BKr6tZSL/CiIgI1wvQyid0ywyNDoEDUSLQuozWKUoLDh6ZIEoFsU7Q MtN5KtwTIv5G
c5VfpE6KqwMCMUgJjzho8s3b72ZVrYQjilaZgn45Y41Eq0I6FwelHfDKHJ6o g5aolMx6Unik
SqJxEdIFLTlv82pk2sYTgsHqMKFbAeFkjjdOgha6szHpnvQyj1rnhKjLCY1X UocIRQSUvBCR
JiQ65O77D4MHwzWJSBWuzqxLpUc7AAAgAElEQVQypaNoxQJFmQf3HuT+vVMc nkzZc6jJD350
H3OtzMNe0caVGuIUV2S1EVJrHEd2xtdFCBetU/xSCemW+e5NtxAODNCMW/i+ i+4syLbifHkL
uk7Fe7zfAv1o2mTFaUboDh06ROA5eI5ASjIpntCPiutmoUZ1SyMb4Lo+Urqd WkbZ9aMdlzjV
pFogHI9jxyc5dOQYmzZtwRUuYSm7x0dGhvLFHqEIPIckaeWEphhlcyRolSCY zyqOjY0xMryK
++97EKUFflAiilOEzhpXSbKeJSiNStK8f4lZrIuyzaIPu3RAOtnneU6Wrp+a mkI4EoU+wZb3
xIXPyeZvLUFnc33UTnCkB1p2Gu2pvPdIr1d2b/dQ89pUZ9Hwmbk6h48dZfWa NQRhmLtyZN3Q
3QW9snvdXPrZCvdGunvXCiGyDK+Jd+UBoSTFlQ7VcoWRVaMcOHSwS5csNXjS QSgjrFzsZ/F5
Repu4lt8XdIhdaYIsvg+vZH6xebCpcxvvdbMxajxQgG73nttoXm3n6Q4jyJr zcDgIOVKhfrc
HDOzs9kGS2ZW0v2aNRUdnIrvtdTOpl1Nn9AokcU8zbVQ/HFdl+npacbHx3Mb SHN/9TZJM/9v
iPjc3ByNRiPX2UdRlD9nNt5xHOfPGacx8//F6z4Igrzg3civ+mVzivNBv/tj OddYIcT8fb/A
z9nA5mX22PyFWiweMh0/7777TpLUAykoVYPObrtEEkUd7Xh6wuD0RuhN6s/3 HFxHs23Dakim
CL06a8dcfnzHNl76357NEy85n6FKgEMWSWk2m7iu3xUBKl7s5mLKioxSHE+j kIyPN5iYmGFo
oHTSFFF+szJfjKVJUUnmi79p4wY2bVhDpeTiiARHpHguCBLQMWOrhnIrMtd1 cVxxQtvj0yFx
5mLLrN8iSqWg07jCZd/+A0TthFIp+57m4s++h0LphImJcWTWhSrXdB49ejQb W8cnjhOE65Ci
e1JeRs+pCMIKUrjcfd+9HD16NI8qZefHxcLizGYU54shi3KBx3YHwHm4rpvr XIuuWP3m5ZmZ
Gfbu3cvGjRsZGBjoskk0Th1F2UdXc6FCpK/Xjm9wcJCxsTEefPDBfIE3r12O zU7xfJvC1+U6
/+a9e9eXIukyshgTzTSynZmZGQ4dOsR5552H52aNBAF0mhkoRK32gsYQvY8V CdVCJPShwPd9
RodHGB8fz89Lb9HqwxHk6LcRWc75odeFrri5Mf9fjBoX+U6R/Bc3Gb1reD/S XfT+z5pJZW5v
c3NzXaS5+F5Fd5yi4mGhnj2914w5ht6C6KJk2rzn+Ph4LnELw/CUayaK75em KUmSkCRJLsEx
GnhzTfWqN0zxbTEi31vQbXGqXL6PzAbRHQnIL1ShqVRL7N27h2MTbc4ZreB6 GjfxiNsQ+CWk
0KisFdmCRBQg7TSliqIIP/B48hWXsmPHeQwOVXCEoOaXqFUquI7Gczr6NKEp lUqZZ/ECN1B+
YymNkinhgINyQr77re8hcagNZkWaqV5aGtqRRhIEoNBpwnCtzOjwIPW1g7Rb MeOTk0xNzlBv
ZJPiaEe/63nOCS2Te7MAC0dbT7YLz/5TLgXgSDSK/YeOcvToOEFQoVIrI+jR m3qZ00yaxggh
8V0PlcY5qc986AVIB60ESE2iFYGxvowT0IpSGOCFgxw8fIgf3nQL1coAdF6j UusBa/HwQClF
FEUMD491OXBZ67L5SLYpMDO61DyS3olwT09Ps3v3bnbs2IEj5n3hDdHx/ay2 p9VqUXFL+axU
9EOP45jAm29CpZRidGSEzZs3c+edd843Iuocy3L5bLuuS9yOWL16dd4dstfF 63SzYKYAz2QL
zPjlTRXJNPvGaxxgamqKiy+6iGazSTksZUXaE5O01rdyj/WFXFx6o5L9CkiX 6kO/KJl3Pdxa
jWazyczMDCMjIw+r/KO4MVmI2J8OimR5IQ6S93DpyDeKBcloveBmrrhZ7Pec 2dSaCLuRkZhI
dbvdptxpbFb0bi/asfa7Hno/r+gA0xvJLur4i89FUUQURag0JQxDSqVSl1b9 BAXAEgOMveet
d5zM8ZiC6yAI8u9saguMdMcGY5YnMu8ahp9NXMULRCGQVKsV5uoTfOP6m3jZ S59FWPFIEo3W
HUcVT2fpT8SiJ94RGkc6uNIjjSO2bliL63mdxkspQoc4AlQa00o0vheglUZK gSMpNEDSfXfH
SRozUKsR6YQkhu/dcBelUolyxSFNddZee7GFwg9BZztOz3GRUuC6HkoluI4P OiZwoTxYYnCg
jN60gblGi0ajydDQwHzBqmPGsNgMRZ7ULGGhjEZXd0QVMVQbyXSo5SF+eO2N pFpQDUukqrN4
aoUwNloqIUlgaHiQ8cl6NuFpKJdCquVyvlC4XRXrWQMvJRSel6XEpJTU51rc 9MNbQHYs33RC
1I5wnMz607pTWpxpGPsyE/kSCwQQHoswMgYTPTYEvRhNnp2dZe/evVx88cV4 hQK04pxqyEKj
0aBcCREy2/CbMY7jmEqpnLlieBnZHR0dZe2atdx7771dRWuGHC2n5tX3fQYG Bti/fz/lcpmJ
qcm+3UUfKqE3Y1UplXO3nyKZMt/F9T3q9TpHjhxhx44d+K5H6GckjlRx4Xnn s3p0FbOzsxmR
FCwa7OqV3BQJmmmItRybPVOsWa/XqdVqKNPY6AybGJzpgE+RyJ9oiy1wpMwK 6DvFvknBTaXY
eb0oeTHP9XN0KfqnG0eW/Dml8FwXt0Ne4zim2WwSRVG+kej1ol+IO82Tebrq P3p5Q7HA1Wwi
zHOO41AOQnzfz+/5XsOPh7r5XWhjajb9hrQbZYYZp371LRbLEJkXYt6XPCtA SjsDrRAogsDj
uz/4Ec9/wZMZKvu4nugQek2aRh2P9sX1vdIRJHGC5/g4OASuSyvKOqneeudd fP/We2g25xga
qPLjV1zOpnVrqJVComadwBMo6Z2gGSy+v9Ht40q+d8MtTExOs2n7GJoYpby8 OGg+AtKji0xj
lNa4zrxtmVIxSgtcTyCFzJ0XlMoKTMPQZ6CWtXN2PZnLa4qTSC85X/KNont+ dwSu6KS0taSV
aG6/855O8VZKnGbdHSUCLeYlU54v2Lh+HWEwSb3eIvB8hoar8zZUro9SIERm /ec4bqe5jMaR
AiEd4kTxteu+weGjRxkdzYpePddDdZpVpbmZpYXFmUO9Xu/qelnUej7WYUhF sbtosejz2PHj
7Nu3j0suuQS3R4rQ26TF9/086pzNl/OR1VIQ0mq1smJanVCr1Vi7di379u7L u0maOqaig8ty
bVg2rt/A1NRU3qxnua6Bos672LmyWCeQZYWGGRwcZPfePRw8eJDLLruMIAg4 Z9VqHMfh0KFD
zEVzuSY5iqKsmZR+ZKOP5n4xWYLJycl8PZNSnvFgzKL1DMtw//YzjigGxHo7 Dfeu0Ua619sV
t3dT0PuY6URclPgYCUrx/cMwu2/iOM4bN/m+n2fCeqPTvZIZc0i991IxQzA3 N5dvNovzQdrh
Br3Xc2834KVuxhYqWjbnIIqifHPk+z5BEOQ6ezNOxQ1FUfJjcSobqj6R+ewZ lUVltShEYgRK
JZTKPpOTDa69/gZe+nPPRodzRFEdgQTtZW4SJ4k8YNxytMb1nMx9Rnp874d3 8q9f+DKxmzkm
eM5xbr79Pp7zrKfz5MsvZmyojFBx3xu0OEFUSmWE45KIgC9d81+EVZfBoRBJ K7NsXAKBzryO
Ne24s4MOSoCklSjidiu/+TJLTYUnJaWw27EguzDVCbKlhaLw4iTyJIM0TakN lNEplMIBbrlr
N+NTs/ihh3RjZmdnieOYgWqVoBOpUkoj0xTXc1h3zmqSROEKhyDwCXyJEKB0 ghQ+ridz5wnf
90EKytVBxo9P881vfpPx2TojYyO02i2khFarjed1SICyZMrizKPRaHR10jTO JnYxIF88i4TC
pLEnJyc5fPgw27dvxy3YeZroWVosYBfkzQKLhMIRWYAjZb5grlqrsn37dnY+ 8CCzc43MDrFc
zgrjjD802XsuR41yGIbUajUOHDhArVZb1oheUaaQJAmzs7M0m808Cqq1ZnBw kCiK+NGPfsT0
7Axbt25lYmKCSqXC+KEjjIyMUKvVmJyc5I677+LSSy9lrjHHXKt5UhJbLJAt ku/lktl40kEl
KU6H0Pu+z8zMDIODgw8T8RBn/PrvFzTLyXAhAm2i44ZImzE259789G7w+n2n XgtFE80PgqDr
exvXFrPJbrfbXcWkQRB0bSaKOv7sM5L8e5rPM6S5eA2bXjYmCm4eE4gTVA2n cm4Wk9nk9qid
IKiR1hlpjZH6mMBB7+bKBmSWB27xRM1HOTonUGaWYWHo45YSrvvG93jK5Zez 8ZxBBgc1ExNT
eF6A0vFJybzQHsZIJkqyXanSHl/+2nU0lI9IJNIpEaUxrhNy/be/z8Xnbydw BOVQ4rjdKcli
QYvjOIReiHY8vv6Nmzh4eIJt521A0cTzQpJ2hHQXbyyjVYISApGVg+MHFWbq DQ4fOcqBw0dQ
2qHVaFKrlNiyeT1bNq2n7LvEUQvHkXheJs0xvuyLNaTqf6PoBZ2AAFxXEniZ 881cI+J7378Z
LR28wMX3FI1WTJKkuMLBrdUIXA/pQJpqlIoJXEW1XEJrgaQjjepMXmHgEzVb VEolcCSeH5Io
zfd/eCv33Hs/7TilXCvRjlsEgUe73SYI/HzRORusxSzOfiRJFgnuZ233WEfR T71YmHr48GGO
HTvG9u3bqVarXY4cURRRLVdyDWtG5kUevU2SBN+ZbwZT9HsfGhpiy9ZN3HfP vbTbbYTIiv8M
wTAWiCZAoFN12t9veHiYycnJLpvD5SKKxWZVUsrMqrNTBCylpFbLfO1vvfVW ZmZm2Lh5U64F
jqIIz3GYmpoiShOGRkc4p3FORsjcrJOmK50T5vxezXE/n/2ir/lyRMdN1ndw cJCJiQnK5TJe
4J/xyHw/fXyvc8lyvH+XXWeHJGadzx3CMMxJtpG/GOJe9DcvZmcW6qPT+5hx ZjEZHPPZZtNg
NlDmvip2VTXkvmjJ2vvdpKSL9JpjNPr8Lslx5/s4jpNH6IU+MaL+UAtQF3P7 MfNEr0a+N9Nl
zou5zi1/OP0Nch6Zz5pFeaRpZ0EodInTIqVcLVEfn+WfP/M5fvcNv4aQCbVa hdmZNr7nkepk
0ZPtCp9IpWhX4YceUdRmz8FDTM7NQjiMG2XSDs/xiZMmbZ0wPdcg9BQDtdEF v4zrunkK6fCx
cT73hWsYHBpleKSM56W0mhGB55x0riqmqKXjMddsct/9DzAxM5dZTCoHL6jS ThLuvOcBms0m
F1+4Hd9zOjKjHgszsbwnbb5dtOTQoaPce99OpOfh+RJNC88rkSYp4+PjzNXr jIyMMFitIiT4
QYDnZPUIjvTwPDfrWusIfD9bdEvlTmGMEOw/eIC7732Qg0fH8fwylWqVlAZC QJxGWddbFWeW
bp2aACuatzjTKDo/mIJMR8gT7MseizALZ7FQ1djJbdu2jVKplD9e7EA6NzeX R7lz0t7pCh3H
McrzEaK72G54eJj169ez68GdefdGTXd20vx9pVLJmkY57ml/v3K5zO6du3Ld b7Eb+emSgamp
qTyK6ft+p1ZgnhSWSiVuvvlmWq0WGzduPMG3XmuNliL3rh9bs5qk4/rheV7f XggLRTtPxZ7w
VDYrhkCajZDneczO1RkNR8/4/N1LIM/kHGHGzHXdnMA7HS5j6g+KdRzF4uZe t5iTRa97i06L
ZNUQe7NZDoIgl50YeY7RkFer1a7zfaKsJc3PWfG4i5aSxoXKZNWq1WquVXcQ p1WAfDKJlDkm
k/VwHCffoHRnGFSXI1SxNsRimSLzUjgolZr6EKRwQdPRaqWUvZikEnLLzkP8 x3U/5KeufCJl
t4kuJbRUgtT9C1TNxR7LGNdzSOMUkPiyTMlL0MqDVIKYwBEBSmVNPCQpoevg KnBSgZSKttbg
Bmid4ooUQUrgh3i+T1u7/OXHPkczlmzbOoQjFcSqs4h0Lv7O8bk9UT0lMp95 J/d8Ddh38BiT
9QS0hyNAaA1akeoUxw3Yve8ow0OjbFw/DE4Cep5kOBR2wEKcKG5a4GbptZIz N4lpbCIdTZwK
vnrt90hcFyfstJROAhLVaZriSJpxxN6DBwjDkOHhYQYGBhgM3LwQBcB1suJW ISVIwXhLc/jw
fvbt28f09HS+eGYRgUanfnjedFXk/zFfb2XtrB+pnf5ik/5imatTjq4t82tP fty9ZLn39Q+P
JrhSqWT3baqQiL5E/tHst997TueL4mKEyP51HEGaxgSBx6ZNG7rOT/b3OicH jieJ0ywFLh2y
fhodchNHKaJiNuvZwlupVtiwYQOHDh1ittHM1go5Xz5ZXJRNQ6RePW6/bIrx clYqs3M0x2Ne
Nza6htnpmXwzkvcZEZ2uro44abDGEOtcmiAFieq4/MzMsH7dus7aI3IfeQQE YcjhY0dJtGL1
OWvRgi7ZAmRLmJQClaq8yeDo6CiN+hwo3ff+X0iCudh8car38fw6AkplEg3p ZDrloaEhjh07
lrmWFQiV7GdgcbpEo/P+vXIiKSUpekkFuMVmWcXIu5SSRM93wZVSUi6VqJUr edR8Ym66myBL
mdfQCSnzQuCFrk9OOFcq7/5u+lz0bsSKx2ecuExhqu/7lEolQs/veLnP5n71 hjeYcdJakwqZ
E2DDB7KM2Pzr4jjO64pKpVJXRk0ovaT1od9373Va6ufjb47TbFaMz3zvJmmh Ds391AtFJ6mV
MIevtHVkwcj8Sf8Ql2oVkjjl6qu/xKa1q7nkgrVUgipqpk0UtfpOVvO7to5d meMhhUYgWLtm
hLWjVY5MzqFEFa2dTLOvIs7ZtJZKrYKSbfBBpyCFRKsUSEFAGJbxggqRknzq H/6NXft3E1Zr
+J7sLDISKTI7zKJH8skiQFprJiYmSNMUz3FJkwi0QDgCqSVaZxfknj37OGf1 IK4jT2aWc9IC
2N6241rNj13mCwuJcrn1jvvZuW8PnuNQq1TQKs4aUgnZZVNl9GuHDx/m4MGD eF4WDTC7dePM
UK/XabVaNBqN3NquXC53Fn+FdY2yWMkbtMWimw9lU2OzH1mU3ZDfIgErl8ts 2bKFgwcPMjU1
hdIqJ8fLMb554SndXuulUokgCDh27FhXRDW3kZQndwszpKZYOG3cSI4dO5Y3 sykWUZrvfeDA
AdqtFmvXrsXrRD9NtHFoYJDZ2VmSDlE2o2B00yupnqO3MZeRQ8zOzjI8PNx3 I1GseTvdzEra
M675NZe1bz/p+St6xBflR0qpvKi7XC4z0Mk0zc7O5lHxR5qk9W5oTQOmkp+t y8PDw/k6vFBj
sN7r0rjFmGvMEHmjVDDa+SyAKZdtflho/EzmodFo5EW3/TbzS92wrTQSvdKd d+R8ZHVxpDrF
cwUDtRAcyUf/7tPcv/8YifYYqNZO0G71/hiCqUXmOZ91mIX//rKfZyhMESrC URG+iBkIBP/f
U69Ap01GhgaJkhjd6ZIqpcQR2c7bDyq0E8l/XPMNvnXjbQRVH7+smJqagFgj VCYH8cNS30YM
/TSLBvV6vXsillk0K+8IJhwmJqdpR4okXT5btOLvJmXlui46jWm2JV/48jdI EPg+hJ1GULgn
FlIV24WXSiWEdGm2Io4eO86+/QfZt/8gR48dpz7XJFVQqZSy2ghXdqINglNI LFhYnHEiX3Rg
sAT9zIxxUaJQ1BGHYci5557L/v37OX78eC6nKTaXOh2Yor5iRM4UE46MjOTa ZvO5RjLyUIhy
b/fNZrPJ6OhoFrzpbE6KQZ12u83WrVuzz0yyAA9Ko1NFuVxmeHj4hHXFZFRX cjRPCEGlUskt
X88kUTGR42K0+VTqXfp1mC86s3iuy+jICAO1GrOzsxw5coRWu43o9FhYqLvy w7XRmm/EOF+b
YWpKZmdnmZyczK/1LJhG3zEqzoM5p+oQeSDX5hsZmskCLPd10xusdTo1CeZa Mm5WS7WNLcpw
1AKbvhUV8FgBxyUW8pk/+dYyIkkEnvQZHHY4OjHJhz/6D7zhN17J+RsGqVar eRvfYhotTwMn
CdLxUFogHI1EE0cNtm1aw1vf8Bpuv+8BJsancITkgu1bCQMYGa5SdjMry4QU pEBoxcBAtRNB
kvzHNf/FF79yHcga1WGfRM0xV59hLgxwayFu4BMrjVzKBN9J4bpuNnFI1yVq tfFcB4RDnKad
ZLVAIHGDgChNCRPnFHIcC1/E3SkokWvrTGr06s9/idkWSN9lcCBExxGO6xCn bRztdb1f8eZT
SuGQIqWZSM1zKYpOJ0NdvFEXLvqxsHjkyUj/lLiNxp/euObzT4dsFCN/27dv 5+DBg9Tr9dyh
wvW9nGCf7uJWlF3otEPSO1nGWq3Grgd3dhX4FTvQpmmKcE4eeTS64qJFXqPR yOWHTkHCkyQJ
+w7sx/d9zj33XCphifHxcTzfzzTIHenC5PhxxsbGuuQOxnHk4SSLS0HuuFLQ K5tuoKYrrCGZ
/aLDp3t9GTLfu6Ys5TYtjmexG7TrutRqNaphiUajwczkFIlWUIhk48xbby53 LcKpjH0xQl3M
jhhyOD09jed5VKuZdfTc3FxX9/piZqXY98B0mR0YGOjKVplsVBRFyxKZ75XC FOfdarVKvV7v
cteROZ9yux5fSmT+bJjHH+lIfS9vF+/4zC169w/+g9Hmz9oVzcLCwsLCwsLC wmIF43jpi2z5
8f/Gv3/qI9xyzd90ZDa24Y+FhYWFhYWFhYXFikcvb5edRy0sLCwsLCwsLCws Vj6bP5HMWy5v
YWFhYWFhYWFhcdZxeROZt3TewsLCwsLCwsLCYuWz+T4yG0vlLSwsLCwsLCws LM4CLt/ze8dn
3tJ5CwsLCwsLCwsLixVP5gu8/cYbQdohsbCwsLCwsLCwsDj7cMUVp9AB1sLC wsLCwsLCwsLi
kYXo52ZjVfMWFhYWFhYWFhYWZwWdP5HM28i8hYWFhYWFhYWFxVlA5W1k3sLC wsLCwsLCwuKs
pfNdv7mG4f/xn22xY2NhYWFhYWFhYWGxgvGb7+z+3frMW1hYWFhYWFhYWJwl sB1gLSwsLCws
LCwsLM5aNt9PZmOHxcLiMYPbrv/4w/p5l13563bQLSwsLCwslovL9/zu9mP4 luRYWJz9sCTa
wsLCwsLi0cjmbWR+UVz+3DcghEBrbQfD4qzFzV/9oB0ECwsLCwuLRyOX7/ld Ytm8hYWFhYWF
hYWFxVnJ5jtuNpbNW1hYWFhYWFhYWKx8Lr9MHWCj2Xu46j1v4Vk/8WOsW38e l/zEz/Cmq/6J
I5F6WL/Q2NrN9qxaWCzH5OAOs+aC53DhU17Jjmf8Ghc84dkMVoITXudUt7Dp cS/kkqe/ih1P
fyXnXfZMBir+GTuuqOXwni+GXPHuGuXXDbDx3RV+6xqfQ8nDOz7eawce9dfA sR/9IavXbeEd
txxfdK5dbN5drjn5xU/6FXtTWlhYWPRbr5erA+zvPfclPOt1f8i1N9zEwQP3 8YNrPsGLHhfy
F+94nx1lC4uzbWJwRtj24z/PmrVb8D0fIRyCga1suvzFjFTD+QnD28z5T3g2 Q0OrcKRESJ/S
8LlsvvwXGPDcM3Jsv/MnZZ733BY3vmOWxp/NcPcbmrx0o+aDnw/tiVtm/PVv /Stv/Mxv85nf
euTNAK7+/j/aE2JhYWHRf9U+kcw/lMj89480GXRF/qaV4bU8+Tkv4g8/8Pb8 NWl7P2982QvY
uPF8nvILb2FfO82fu/nzH+Ulz3sGGzecy0U//jN89DtH8+fG1m5m/1ffyeOe eRUAOm3w1299
NZecez5bL30Wb//kDV3H8u2/eRdPuvhCNl70dP7oKwfzx1/44zayY2GxFFTP fw4VzyVt7mTn
jZ/m9m9+kntv/goTky3Gtpyfv27g4qfiSUE8eQv3fOeT3PGdz3J0cg4hq6y/ 6Mxkyb4zIxhy
CsdaUTz90pirXtKan2sSyWs+WmHg9QPs+PMSewpR+xt/GPCCq6oMvG6AdX9Q 4c/un5/wvNcO
sPeOkK0fyDIQWgk+/K9lNv7uACNvq/KGb3VvUL7xzZCL3lpj4K1V/uB2ueAx 773L5xnvrVF5
3QCb31fhfTfOf4HFPiOJJa/6SJXa6we47M9L3B/Tdax7bg3Y8rsDnPvBEre2 WdL3f84flJc0
zjN7PsHfi5fzu1e+nlfwT3xsT/2Uz5WJyo+t3Zz/f9J6kP/zomezYeP5PPUX fpcHW0nX6/d9
+Y+47NzzufwFv8kdc/EJ73WyNWD/tf+Xn3rak1i/4Vx2PP1FfOjqH9kb2sLC 4tFN5ftH5k8d
//hnv8wLnvlyrvrkF7n/aLPva77+27/M7Ms/xK49d/FPbxrhJW/6bv7cdZ/8 Ds997Ye5f/dd
/Nu7r+B9r35r19/+y41Xcst1bwTghne9iK+tfTHfvP1ObvnKh+HaL3S99i+P XcaXbrqNr/zx
0/nz174+f/zzP7CRHQuLpWDNSAWAQ7deT73RQOuE9uxeDtzxb9x7x23561bX SgAcuOtHREmC
SmY4eld2X7sDjz8jx/b5X4542gcqvOdbHvfM9I88/P+fLjPz5BYTH5rh339K 8YJ/nifIX/2W
w08/p8mRD83wlRelvONvSt1z2c6EnW/JmPG3v1Dmy4MxP3rPDDvf1IS7u8n8 h2ZTrn/XLN95
acJVn144M/BTfxvy6l+ZY+pDM1zz4ojvfnf+fRb7jP/8+zJHL2tx7IMz/NkO wU//Q/fnv/Yu
za3vm+FTTxb8wt95S/r+X3tnY0njfPVv/jUv+4tXA/Abf/GLfOQ3P3fK5+rY 4T35v+b/v/qb
r+TYC/6AB3fdzvuff4SX/p/ruv7mzV/fwLfvup2PvjzmFf/rq33fd7E14CWv +mNe8ZGr2b3n
Lq5+/y/x/X/4tr2hLSwsHlPIrCkfQmh+08++m29vvZ5PffbzvPLZb0FvejK/ 8qrX8JoXXp6/
5v1fO8TH/vQ8XOmy6dq82U4AACAASURBVImvZv+vvhp4OgBv+OI80b7ouW+m PXVp1/tv+d9P
yZMI7/rMg/zVHc9mNHRh/Q7e8w8f6HrtZ97yoiyS89PvIPqfF9uzamFxiig5 WeR4Ksqipr0e
9aYHQ+Bk+//ZZD66qtL9WaRADp2RY9vyhBa3jrl8/PseL/njED2a8mvPaPM7 T5zP9L3zDsk/
vCzFFbBlS8Tej5WB7Bh/73XzZPbSS9u0mrWu99/2rCSfa958g8On3huzygP8 lA/+z7TrtV/8
6SxyvPpxLdqfXFhDv9WDb93n8GODmovPj/nS+QXyushn/ME9kn99RUIo4RlP bXHgP0v59wD4
8IsjBl140hUtDn6uDMQn/f5LQev4l3nP/qfx4ONHAVj1+N/jyv2X8sXjv8jP jp6enOmPvnGE
v/vokwhcl6f86js59IHXAM/Jn//A+36JAd/hiS9+G4d//9eBnz7hPRZbAzaX HL73nRt4wtoX
cMHTfpHPPs3ezxYWFo9uiH4+8w8Vq3dcyZt2XMmb/jDhnu9fy6c++kZ+5chH +Mf/nRHzexox
T926vfDh85Gk2V3X8c73/F++c+uDHB2fROu4671fVFhAbp+L2RQs4VBliNap PcsWFqeItkoJ
HYdBz2UyWpgEttPsdTXXZaZD6KW7HgCtJs/Y8a3dkPD7GxJ+/0Vw506Xj19b 4oUzTT7/zOx+
vzOCy944UJhr5v925pjL737R5/p9DkdmBb0tJH6pOv//t7Rhy1JmRQGLtaL4 l7fN8cGv+bzy
wyGT5ZS3vLDJq8/VJ/2MuyPY3HnOdRVx5HRvbLz555J4PrG62PdfCr72xvcy e2Q/q9d+vuvx
77/pOn72b19wWufuvmbMRj/7Um6wibhxf3dgKHA6z20kae/t+x6LrQF/d/0/ 8xcf+Ud+4+f/
kKmhx/O6d13FK56y2t7UFhYWjxnIfgz/1LcILhf+xHN5799czX+9/1X5wxeV Pe7atytPuR49
9ED+3G/81P9GPvWVfPZLX+aue+9Z9O0fV/XZ007s2bKwOEM4MpVJ5dY9/plU y2Vu++bfcNcN
/3Li66az162/+PH4nov0aoxd9FQA4umbH4ZwBFyyPeFDr5rjmv+Y14Jf6sOB P50h/kj2E314
Jn/ulR8sI8+L+c/X19n/RzOLvv0TA9i1DFNNqZby9hc1ufGds/z7Tye89mOV JX3GhT65Tj6J
JZ7fHZw4kMw/5wfpkr7/yRDN/pA33rCOPQd353P1scN7OHbwXjZ/763cVI9O ayzOK7ns7Ojk
k9YuvPK5Xc8fitLOc7vxKxef8hoQjj2BN/7hB7n2B7fxT29+Mm/5lV+1N7SF hcWjGr28veMz
f+p4y+vext9/6bvsn6ijtGLm2D7+/WO/x8jFL89f87bnr+NdX/gRrSRhz83/ ya++8C/y5+5q
JPzMc57Kan+Oq6/KdJoLxdTf+cvbeOsnrmWynTC554e86WVvs2fSwmIZMXPP dbSSFKe0hW1X
vJzLnvEqLv6JXzzhdbN3f5NIKbzhJ3DhU/4Hlz7ll1gzXEGrGfbfs/+MHNtv fzrkE7e47J0T
KA3Ts5KrrwsZXT9PMt99meLNNzs0Feza7fGij8xbat4ew4suTVjjCj5zTXnR ueb9T0757etd
JmKYOO7wWx99aBKT9324zCfvcWhrqFY0Ar2kz3jnBYrXXu/SUvBf14esu7Dd PRZf9JhN4YYf
hKy/uL2k738y3PS+N3PRm99PWfZWVIX8ye9fym+/99Q2aS9cU+Ybx+aLk998 5Rre/Ilv007a
XP+Jt7P2ytd3ryXv+Tz1uM1N//IezvnJ153yGvChn3sFn/7G3bRVSmVkFCGk vaEtLCwe3WS+
5/eH3AH2vX/8WpJbP8fLn3clGzecx+U/+av85/7L+MoXXpO/5pl/+llGr3kP F22/gOf9r7/i
0l96Sv7cP//Ry3nNMy7ncc/6dXZu/A0uKnvcNNs/AvSkd/wbz9j9aZ5y0UU8 4WfeRPi8n13S
Mf78FS+zZ9zCYgnQyWEeuPE/GT96gDhOQCvSaJb6+H0cuPtL+etUcoD7b/oq k5PjpEqhVURz
8n723PQ56vGZyZ596KUR8T6Pn/+TzOXl3D8q8/kJxXd/e57MPvdlDVbdFrL+ jQM85e98Hvek
+WP5j1+M+O/vq7H1A2XuH2lzaQA3tPp/1lN/rsFPjvtc+rYBtn+oRHhp/JCO +dlPSfnbfysz
/PoBnvb3Pu/9tcaSPuNnXtlg090hq35ngDfdrfnSK7rH9E+2OFz0lgH+xw80 //7LyZK+/7Pf
tbCbTdrew2/9m+Jjv7yt7/NbX/JnyM/9DrvbS5cv/uk1f8kHX/BEzr/yTwB4 3kf/ng3Xvpvt
W3bw+9du4LN/9ZNdr3/3E+/jSRfs4DWfrfFPf/q0U14DrvzVH+Mf3/5Ktm48 n+e/5p94+yc+
aW9oCwuLxxSbF+/4zC16+p7ruOqtv/aYH5vbrv84lz/3DQgh0IsJYi0sVjhu /uoHTyhiLV7n
DycWOg6LU4P32gHij8w8qr7T2NrNueuNhYWFhcXS8Mb3/y2DFz6Tf//UR7jl mr/pFMAKOzAW
FhYrk8BaLN94PNo2AxYWFhaPSfTw9sya0rJ5CwuLFQhLPruJvB0PCwsLC4te 3u7aIenGzV/9
ID/8ylXc/NUP2sGwsLCwG5szCCuxsbCwsDh9dJpG2YEAq+21sLCwsLCwsLBY 2RBWZmNhYTet
FhYWFhYWFmcpmS/w9htvPA1rSgsLCwsLCwsLCwuLh53N57jiikJk/uG2q7Ow eCzisit/nU//
8+d5+S+9EIDnPP/nuOWWW/j6Z99uB8fCwsLCwsJiCVze7/o9t6a0qXcLi0eW 5FtYWFhYWFhY
LIbbrv/4CYoa2eHyFhYWFhYWFhYWFhYrHL28vaOZt3Te4uzHN686j29edZ4d CAsLCwsLC4tH
MZvv4zNvqfyZwx03X9338Usvf/EZ/+zbrv/4ovKNm77+rkX//sd+8l1nFZF/ 5lvv/X/svXmA
JGV9//96nqeO7p5r59idva/Z5ZAbBFQ8ERERRRGPJCjqV5MYTCBRUMGQLyio iFFjvkk8Es+o
8ebnSbyD4IGoIMghex8ze83MzvR0d1U9x++P6qrpmZ1ddpfZw1hvbXa6qrvq qaerPs/7eT+f
gx++69jipitQoECBAgUOAf7zFRfT/uJTuPjlNwLwlU/eyiWXv/mQ8ZR94Y7P nA3A0y77+R88
XztgLj/tfTPPfEHnDxW0VZx01mVTOv7B2y7n10YiEJx65ouPaPtOf857Z9z+ q+9enf898eUL
+cQvelm5oo+w5HHM6gUsPufv9uv4X7j9vv1uy8uee/JBXcOP3rOaZ7/9YQCs dcVNV6BAgQIF
jmpkq8hPf/Pv/6DO03bxiVS/ei+8PCXyL7v4WXzhcRL6x4Nnvuan/OjjZ88K oT/a+doUMi+K
CrCHFVHioY1rmU0J+ladS218DbVt6/j5Tz3OfvILjkjbrJNY6/jIl39JvRFR HW9Qb8S886rn
YZ3MiXxUWcwVN1wGwM9/M4dHHvo0i8/Z//Oceu5TH/Mzv/nBTw7qGr538yqe e+3PcMkwAoHW
ju/fPIDL564OgcAB51376EH3lV/q2uf+pLG7uNkLFChQoMBj4se3rObc6x7m Bzcd+pVkZ2me
azXPuObxE/qJ2+6n8fRlfPETt/KKi87m5n/5Mm973fP4/Cdu5aWvPjyEPlPk Z5vQH2q+dih5
xKxWgB1b8wPedt37uf1nD6I7lvK66z/E2196wqz9gHPnLwNmrwT4bB9vxptD e2iT8UoHONpX
v4q25qZ7fvaVI2ZQjJFoB6+95IlTZ6cu3ed23EtUWUzPsy7jhX8/zG1vL3PG sh189zf6gM/1
rU9/6TE/84H/GALgqteev1/H/M6NK3neW76Gi7amkxPg/Dd9FZc/iNCq03/7 xgEuuH7NwRtF
5/ZrhlygQIECBQrMhB/dsppnX5euJB+OdeTsHOde9zDfv2k1z3ychH7w5D4W lZbxkvOO453/
9h0uuexveedHPsBbXv1kPvfx9/Enr3nTISfyK489i8VP+LN03B/9BQDnPOsS 7vjM4yP0h4Ov
zRaPmLEC7Gx4zUcjd3Dus1/PhkaT6DXW8E9/8wKSOXdyw3MW/NE+uI0kIDGO z37jHur1mLFq
nbHxKmPjdd533ctpJP4Ra1tiFVo7PvX/3TNFmX/7FReQWIVV5ZzIf+3tZUyt iq2Ns3bdzoM6
34WvfGy/s/0h/RkuuH4tX79+JS9487/k277+3r/C4VqIvMj+z/NvXPu4+qsg 7QUKFChQ4GDx
g3ev4jnX3ouzdYRL3UJ/8O5VM3723Lc+esDH3itMHSfg2W/9Dd+9edUBH7sV c/tP5KVPncs7
P/5TXv7Kqzh+9TIuuewq3vkfH+TaVxzHp//9/bzy//ztrPXZa268Pf/749c/ F4BlAyez45Gv
8P1vfxOAV7z+L/niJz/Fpdc+cNTztdnjETMFwM7CsW+/4ho2NDT9T3oD3/j4 VfTqzXzqvdfy
2Y9/iRue89fpjESP8aG3/jUf/tpP2U0nz3zJn/NvN7+edpU2IFPK7/znN3DZ 33+c7WohV33o
c1z1rPn5vuxzO4Y2gI34xA1X8oH/+hE7kgpPfdHr+Ogtb6DzII73wG3v5qob PsbPHthAXZQ4
7rSn8uor/pbLzzvwZbAvfn8zv167kx//z71c88qVJNpx6QWn51KxaP4OsXY0 koBzXvlJnvH0
UzhtZR8vffbiw2ZYtFFo6/jTi06fut06tFH4Pd3YxhC3vb2CqY1jalXqa37J q8/addDn7A9n
9xouunEtX3vbci5+881p27Xj4netOzQKR6HMFyhQoECBg8D3bhrg/GvvxOkq iHQsOe8tP0nd
QJ0DBEK4XEq//eYBzrt2/1aSv3fzAM996505x3Ou6WIqBA4HZrw5hgnOe8tP +O+bBjjvugNf
pf73j36APz3L5x2fe4Q/vfxKjl+d8qjjVy/j5a+6knd88kNc+6J+/v2jH+D/ vP6qWeu7M09Y
wt0PbMrfj264j+9/+wdceu0DfOnmE/j8R//toIn84eZrR70y//6fp2rtO/79 KpZ3l4BVXHHL
F7ii5TN3XvcS3vGZR5rvdnD7J2/iouAUfvSOqf5P51/5YSaMBdZy619dw1UP fmrGc97z7pdx
9Yd/w/M+dDv/EP4TT/rz93BR6XT+56YnHfDxXvSKv+f39aT5LuH+n36b6363 m8sf/twB98Wv
1+7k+teeCa89k9u+8z/EBm777q/2mOm9480vo554fP8TrwPgxv+4e4+b45xX fnKv57nz05c/
bjKfaPjid341RZl/0+ufizYqvfGiBqY2jp0Yp772l/jja2l7ybcO+pzyEPDe i9+1nq9cvZxL
3nozxkx9UA5XkFGBAgUKFCgwE/77nQNccM23INlNxtaz9WPX5F8u/2/63pr9 P7414HTmb+2a
kWKTx3RTnE4F51/9Lb7zzgHOf/v+E/p/+/AHeeXpdd751QavevVfc/zqZbzi Xyd95D//hlv5
08v/mhs/8c9c9/wy//aRD/KXf37lrPRfK5F/2mU/50s3nzCFvF967QNTMtvc 8ZmzOfGEZ9B9
2i2Hla8dXhwiZf7hWkqEL+wu7fUzN3x5PQD/8O27eYn+HCe/4B/5/eduhnfc NuVzL/+n27ju
7M0MPPENxKNpYOSOoQ17+Lhf//EH0wnEC1ezmLcB32TtF94DN331gI931Tkn 8fs1CcuOP4Pn
vujlnLdkhI985+D8/a21NBIDDhqJjzaOC889LZuMN2fOjkQ7GtqnEVuEcDNm Yrnz05fPSOgf
L5EH0FZirOOS80+bst1Yh7aSB+5+gNWLm4r8LBB5AHWIbutL3rueL75p2Yz7 0pSVqwtCX6BA
gQIFDjvihoVkZI94rulxXa2IYrvfx4/i9Pit2Ne5RNamA8D6rcO8Yytc9qor OGbl0lw4u/H5
3+D6b16EMY7VK5fyildewQ2f+n8I6rPSdx+//rm85sbbcxebjLxPJ/JpEOyT Adi2sQr8mKed
dnj52mGl8jMp87Mhlq4oeTxST/jWSIMX985M6B+YSAn/60+dR+j+AvhHkok9 l0be85KTgTRN
oXN7n57+uhoD8MRlKycfmuq9B3W89/3gdo658f9yyye+y0fedQ9fP+tlfOaT rzmovjDaMFE3
ICAxHv/9g18gnMufJtfa6c5jIkrjDIyZuW3TCf1sEPmMzN/17ffNuM9Tksrc J/CxD13NK57Z
MStEHmDO86/b677Rb970uI790vdtmOFBdTmh//47V/PMtxSEvkCBAgUKHD5c 9M51fO3aFVx8
zb8CjtQLpukCM4WAT7IxdwDKvDPgktEZqPxk7JgTk+Tja7e8gRfefGDuqO++ 4QbOuOSfeYl2
xCadHuiG5NqvvBAczW3Q0I7v/XYu93zljYekL6f70GdEPsOXbj6Bl//Db3Ni f7j52mEj88xA
5mdDmr/ylB6u+Nk23n75ezn1M9fQF2/iU7dey2e3nMOd/5kutZzY5vPrasyH f72dl9rPA+C3
Hbj6PaIt3Z5kecnj9/WEKz/6da55/skE8uDaPqIt9135f6m85Ap+8frXc9Nf /SWf/cUXeMEz
xthw34cPnCQby3hNIwQ87ckn7DnzdlN/jfFaenNovfebIyP0s0XkAV74kivZ sXkyEMaV5mON
xWiNSQzbt23HGjtrRB5g4ts3sa42877NjYM/7vduXpUvWk6mpEy7Ost2c+7V P+S/b171uFJU
FihQoECBAgc83t68jq++bTkv/rt345pJGb5661unSucteNG71h/wsffgGc1j v/jN707fOvjq
P771gI7dir6+Ho4dWEpk0kwvH/vLd+X7oiaZP3ZgKX19PYeUxGc+9Hd85mzO edYleUabp7/4
gwCMPfL+I8rXDg+bP0QVYC/6yA3c8MQr2P7Lj3HWcR/Lt7/qw7fmf1//kuW8 +JOP8I4Lz+Qd
zW0DL3vbfp9jSeixKdI8689+xG/+61yufspc/vz7W/ng61/AB5uf6T72jTzy 46sP+Hgrf/Mj
7vja7VwjBF5zVpBUDy77iTaGsbpuTutEM9hFzDBpbm5vzpiN3nfKx9kk8hns XW9k4SWXItqe
yuff8xbmnfxqonqDuNEgbiRY52aNyEPqZrOqMrvX8J0bB3je3/37TPYw7eXa JHl/zt98jG/f
uJILrl9LgQIFChQocLjwonet58vXLOeSv0tXqK2FS25ZP2vHnglfuWY56DQA 9sv/eNPjOt/C
Rb00kqZQJuDVN9+Q7/vk2/4hZzULFvXNet9lbjavufH23Ic+85+/5HKITRvf +My/5p/f34DY
Q8XXDjmXn/Z+1pT5yrznccc3P8g1f//PfO9Xv4fO5bzqmvdw48VL88+cc9OX ebtOs9mM0cHT
Xvw6Pjwt+HVf+NhbX8Rl772Nnb/5KHAuL/yP/+LR697B575zF4MjMX0rTuTy N553UMf77Aev
413/7z+5475HabiAgVPO4HXXvu/gyHyi2T2RzOgPJ5r/zcNeWpZyEmMP682w 7QsX5EQezuQV
b/k0H7/+5fQ+4U9IYj1ry0itBaGEnP3ruOD6NXzj+pVpXzf/Myl2CJ5/1Tvz z37jg2/nooNM
UVlkrSlQoECBAo8Hl9yyni+9eRmX/u2bDovftbUOZ+p86f3v49JbH19NnTnd XakC32x2NO7x
4Ws+x1+8509o6EmS393deciup9V3PiPtKaF/1QGR+CPF12aNRxwqZR6g56QX 8LGv7b06lvA6
ufJ9n+TKvXDk6cWbpr8//Q3v43dvmPyyCpdy9a0f5epbZ+d4n75glnzRjeEL 37pnUil206dS
zZvD7WWKdQSIfDbzfM2Nb+Kf3/Ru+o6/lKH7/4s33vKZx3Welz03jVXICkLJ Q3Q9e8shf9vb
Vkz+feu1XPyug1MligqvBQoUKFBgNnDprRv2mrBhtuEcfPEf3zdjTNkBcxut ibTL6ALxuMd9
u7qJql7uZpMR5EOFmfLOZ4T+aOdrs8kj9qLMFw/XbOL8s1bzrbseYuXyJS2B E9msriV5acvf
a9dt4sKnHHfY2ug/8SnTiDzA3biJn2CMYei3n3/cRH46vvXpL/Gtw/xbZBH3 X3n3tVzy3vXF
zVmgQIECBY44ZoNcH+7zJMk0Mj+h+OGWfpIJNbkdSA6BP/lMPvNTJkgHmWf+ D4Gv7Q+bbyrz
BZuf1YenmXv063f8bi+pp1oTRaV9/4KnPeGw5iwVldOaRD5rR0rk9dZRnHOz TuSveu35R+S3
MMbxxZvfdtgMZ4ECBQoUKPC/EdpY3v+R76acVoCOJHd9+CkAfOAj38U1t8+2 81Cra02rz/wf
C1+bmcvP4GZTcPlDQ+iP9I+9L3TPfwE6Gm/Zchx4xyGWwhtv+V/0OxQkvkCB AgUKFHjc+Ni1
507bcu5hb8N0n/k/Br62FzY/BXImhl/gfwdOfsbri04oUKBAgQIFChQ85X8R pvP2lMwXXL5A
gQIFChQoUKBAgaOfzM+kzBcoUKBAgQIFChQoUOAPD2kArBDc9+OPFr1RoMAh xt6WFIvnr0CB
AgUKFCiwPxBCTAnW9bI/Tj//TUXvFChwiKGjsRm3f+LOCADn3MxFJVSM0D7S BRihGB5tYBLD
M848gb945YVYqbAWoihCCDVZ8EsIEBZjA3YO72LDlq3sGBllfLxKHMfgJPPn zaN33hyWLJjP
/N5udK1G6CucFRgECIHxDJ5TKAShLxCe4OH1m/nXj3+Joe01wg5JJSzRFnis XrkAIS1KKWLt
kMLDk6nxkVIipUQIgZLk760UbFg/yKbN24hiifICjNMYDMJzeLaCtRolLYqE 5csWsXrFMoSz
eFKSOCgFPs4kSATCL7FxyzYeXLOeeiPBkyHGaZAOiUIJD+kkRlisMrzwvCdz 7Iql2KiG7/tY
p5Cej3WGQEn8cgVlI+o1y423/Cu7EkPQLplT9gm0IFE+JtFgNdIazjj9FBYv 7KdU9hHSITQo
z0M7C1IghMAYgxKKQHlIVwMZ0LCCtRsGuesXvyTREIYhAgmygZQSnEG69D6B tB+1dUgpDngg
eDz7H+tzj/f4s31cuZf9B3Oemfbt7zYOsB2T+92+v+9m5/r25/v7s+1QHWdv 21Rzm7UW3/c5
9dRTefjhh6nX6xhj0mfnEFxH9n6sWmX9+vW0tbWxfPlyPM/DWpvb9Mz+WWtT 2yckzrnc/i2c
v4Atg1vRNm2rFSBsuh/rMMYQhiFa6/R4LceXUqKFw2tWZBRCMDIywvbt21m4 cCGd7R2PeZ1S
SowxLFmyBCEdW7duTdvqmvucze131s/Z94QQONO8LqXQWqOUYtGiRSil2LRp E7ZJO/fVn0KI
fPxTQjJv3jx27NiRn2u/7g8pSJKEkZER+vv7mfbY7PP7qU0FpVR+jdk1Z/tm 476e8f5l3/ul
gEqlQm9vL/V6ndrar+zxGe9ADHeBAgUODTJjsdf91sMBFsfEeAMdNXjSmSfz qldeAhKcs9Tr
VXxfkZgYbS1hqZPNW7Zxz6/vY92andQadTQCIRWx0YRhGelg86Z1CFnFJjHH rV7JM576ZOZ0
VvCUAwxNDkliLNLz0c5hYs3AipX8/Vuu5pb3/Qtrt24iED79SxZhBUgLjdjg hyHWxTjn7WFn
nHP5yxM+pVKJtnIJaxoYGzcJqsNah9YxSloEjlWrVrJs0QKSJCb0PYIgoK0S oISgHHRhTYI2
cPxxA3T1dPHb+x9i+45xgpKPthbrLFI6oqiOKnkY4/j1vb9lbnc3fZ0VpASj DdqAlIAAYxOk
E5TLJZ5/4XP49Fe/SRKD9iFQkEQNnElYtXKAE59wLAJLEARUq+OEYYhyzYmV lDhHSjAQKCGo
1+tIBRATlCqsWr6EgeUr+Pk993Dvbx8kDENKbT7WWiSKKIkplUoYY9DGpJMP a4uHqMAftf3U
WtPe3s6iRYvYvn07ExMTWGtzcnYoUSqVOPnkk1m7di0PPvggq1evJggCAHzf xyQRSimUUrnN
s9ZiraVSqTzm8TMiD+B5qS3N7KlzDiEFQRAwMTHBxMQEQ0NDLFq0iO7ubpIo nnEy0wpjDJ7n
MTg4yLLlS+jq6mJsbAyT6JxgSymx1uaTiYzwOufwWq7L933mzZuHlJKNGzem ts5TR/3903qf
ZPY0m5w8Vv8dBhmeiVqN3WNjLFiwYOYJWWEGChQ4erC3ibUzCul51KKYei3h 6WefyV+/7lI8
kRAnhlq1jrVgnCWxhmps+MTnvsgnPvc17n9okLFGA+f74CmMdCjfIzExY7UJ IqOJYw9DmV/d
v5YPffQzfPN7/0M1SrAYEAYJKCnR1jBRa2AN6LhBV0Vw5V9eTld7hYnxGs5K nE0Nv++FRFGC
kHYP8t46eXHOkUSaJYsWcOYZp3Liiavp621DkCCsxRcSTxk8BSuWLWJ+fx/W aYLAo72jQnt7
hVIpRCpwJPi+IvChEkgGli/g/Gc/he6uNuI4Ric2bXtzYMTJ5oRmGzt3jpIk Bmuz38EihMNa
TRLF6cdJeOKZJzGvbw7EHnHdEiURvnKcfdYZHLt6JQJLEjWo1asopTDOgudR ayTs2DnKju27
GR2pMbp7gol6RFgpY/BxwkNHMTZuEErD2aefzKUvvBDpEiaqdYx2GCsoVSrU owikQHqqIPIF
CrspBKVSiVqtxqZNm1izZg1SyvT5M+aQnz8MQ5IkYcWKFfT29vLQQw9RrVZT 25YkuZJurcUY
g3EWz/NSVV0/drXU7DNKpc97kiQpgWteo3OOarVKtVplcHCQpUuX0t7enqvL j4VMmY/jmO3b
t9PX14fneTlpz+x0vpLaJPHZpCLr497eXlatWgXA1q1b8zYf7chWGOI4ztuc XdMRJ/LNvrfW
UiqV2Llz5x777747V+YLY1CgwNFE4jNDmZFej5B6QzOy
Re: RAP+Help System+Tomcat [message #532826 is a reply to message #138496] Tue, 11 May 2010 10:20 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Hi Cheney,

I already tested yesterday the product extension in RAP, but it didn't work because it didn't occur to me that I have to set the eclipse.product property. Now I've done it as you described and it works both when started from IDE and also as webapp.
So many thanks!

In my opinion this is also a subject to be included in the FAQ.
Re: RAP+Help System+Tomcat [message #532846 is a reply to message #532826] Tue, 11 May 2010 10:57 Go to previous messageGo to next message
Rüdiger Herrmann is currently offline Rüdiger HerrmannFriend
Messages: 581
Registered: July 2009
Senior Member
On 11.05.2010 12:20, Bogdan B. wrote:
> Hi Cheney,
>
> I already tested yesterday the product extension in RAP, but it didn't
> work because it didn't occur to me that I have to set the
> eclipse.product property. Now I've done it as you described and it works
> both when started from IDE and also as webapp.
> So many thanks!
>
> In my opinion this is also a subject to be included in the FAQ.
Would you mind to make a suggestion for an additional paragraph to the FAQ?
Re: RAP+Help System+Tomcat [message #533894 is a reply to message #532846] Mon, 17 May 2010 12:19 Go to previous messageGo to next message
Bogdan B. is currently offline Bogdan B.Friend
Messages: 50
Registered: July 2009
Member
Rüdiger Herrmann wrote on Tue, 11 May 2010 06:57
On 11.05.2010 12:20, Bogdan B. wrote: ...
> In my opinion this is also a subject to be included in the FAQ.

Would you mind to make a suggestion for an additional paragraph to the FAQ?


There are 2 things that I would include in the Help FAQ, my suggestions are:

The help system customization

The help system customization (like help window title or home page) in a RAP application is simply done by using the org.eclipse.core.runtime.products extension. Even if this extension is not (yet?) fully supported by RAP, it is necessary to customize the help system. So:

1) add the following in the plugin.xml:
<!-- Used only for customization of the help system -->
<!-- "eclipse.product=my.plugin.help_id" must be set in config.ini -->
<extension
		point="org.eclipse.core.runtime.products"
		id="help_id">
	<product
			application="dummy"
			description="Integration With Eclipse Help System"
			name="%application.name">
		<property
			name="preferenceCustomization"
			value="product_customization.ini">
		</property>
	</product>
</extension>

2) create the product_customization.ini file in the root folder of my.plugin and add the needed configuration as specified by the product customization guide. For example it could contain:
# Toc ordering.  Ordered list of help TOC's (books) as they would appear
# on the bookshelf. All the other TOCS will be following these books.
org.eclipse.help/baseTOCS=\
  /my.plugin.ui.doc/toc.xml
# help system home page
org.eclipse.help.base/help_home=/my.plugin/doc/help_home.html

3) add the following VM argument to the launch configuration:
-Declipse.product=my.plugin.help_id

Building and deploying as web application

In order to make the help system available when building and deploying the RAP application as a web application, the following setting must be added to the WEB-INF\web.xml:
<init-param>
    <param-name>other.info</param-name>
    <param-value>org.eclipse.help</param-value>
</init-param>
(analogue to setting the -Dorg.eclipse.equinox.http.jetty.other.info=org.eclipse.help in the launch configuration)

In order to add the help system customization when building and deploying the RAP application as a web application, the following setting must be added to the config.ini:
eclipse.product=my.plugin.help_id
(analogue to the -Declipse.product=my.plugin.help_id in the launch configuration.
Re: RAP+Help System+Tomcat [message #534155 is a reply to message #533894] Tue, 18 May 2010 08:40 Go to previous message
Ralf Sternberg is currently offline Ralf SternbergFriend
Messages: 1313
Registered: July 2009
Senior Member

Thanks a lot for your suggestions, Bogdan, I added them to bug 286189.
We'll come back to it by next week, I hope.

Best Regards, Ralf

Bogdan B. wrote:
> Rüdiger Herrmann wrote on Tue, 11 May 2010 06:57
>> On 11.05.2010 12:20, Bogdan B. wrote: ...
>> > In my opinion this is also a subject to be included in the FAQ.
>>
>> Would you mind to make a suggestion for an additional paragraph to the
>> FAQ?
>
>
> There are 2 things that I would include in the
> http://wiki.eclipse.org/RAP/FAQ#How_to_integrate_the_Eclipse _Help_System_in_a_RAP_application.3F,
> my suggestions are:
>
> The help system customization
>
> The help system customization (like help window title or home page) in a
> RAP application is simply done by using the
> org.eclipse.core.runtime.products extension. Even if this extension is
> not (yet?) fully supported by RAP, it is necessary to customize the help
> system. So:
>
> 1) add the following in the plugin.xml:
> <!-- Used only for customization of the help system -->
> <!-- "eclipse.product=my.plugin.help_id" must be set in config.ini -->
> <extension
> point="org.eclipse.core.runtime.products"
> id="help_id">
> <product
> application="dummy"
> description="Integration With Eclipse Help System"
> name="%application.name">
> <property
> name="preferenceCustomization"
> value="product_customization.ini">
> </property>
> </product>
> </extension>
> 2) create the product_customization.ini file in the root folder of
> my.plugin and add the needed configuration as specified by the
> http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse. platform.doc.isv/guide/ua_help_setup_preferences.htm
> For example it could contain:# Toc ordering. Ordered list of help TOC's
> (books) as they would appear
> # on the bookshelf. All the other TOCS will be following these books.
> org.eclipse.help/baseTOCS=\
> /my.plugin.ui.doc/toc.xml
> # help system home page
> org.eclipse.help.base/help_home=/my.plugin/doc/help_home.htm l
> 3) add the following VM argument to the launch configuration:
> -Declipse.product=my.plugin.help_id
> Building and deploying as web application
>
> In order to make the help system available when building and deploying
> the RAP application as a web application, the following setting must be
> added to the WEB-INF\web.xml:<init-param>
> <param-name>other.info</param-name>
> <param-value>org.eclipse.help</param-value>
> </init-param>(analogue to setting the
> -Dorg.eclipse.equinox.http.jetty.other.info=org.eclipse.help in the
> launch configuration)
>
> In order to add the help system customization when building and
> deploying the RAP application as a web application, the following
> setting must be added to the
> config.ini:eclipse.product=my.plugin.help_id(analogue to the
> -Declipse.product=my.plugin.help_id in the launch configuration.
Previous Topic:CAS PIA demo
Next Topic:JFace resources in provided rap target-platform
Goto Forum:
  


Current Time: Mon Nov 04 01:46:37 GMT 2024

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

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

Back to the top