Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » ServerTools (WTP) » Deploying to or stopping a glassfish server that's already running
Deploying to or stopping a glassfish server that's already running [message #219331] Sat, 16 August 2008 19:58 Go to next message
Dobes Vandermeer is currently offline Dobes VandermeerFriend
Messages: 26
Registered: July 2009
Junior Member
If I restart eclipse and my glassfish server is still running, I have to
go to the command line and stop the glassfish server and then start it
again in eclipse, or I can't use the web tools "Publish" feature, since
it'll try and start the glassfish server and fail because the server is
already running. I also can't stop the glassfish server because eclipse
thinks it is not runnig. I recently upgrade to eclipse ganymede and WTP
3; before I did this I was able to click Publish or Stop inside eclipse
and it'd try to do so even if it didn't know whether or not glassfish was
running.

Is this a bug? Where can I report it? Is there any other workaround
besides stopping glassfish from the command line and launching it again in
eclipse?

Thanks!
Re: Deploying to or stopping a glassfish server that's already running [message #219403 is a reply to message #219331] Tue, 19 August 2008 12:41 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: dumbass.whitehouse.gov

"Dobes Vandermeer" <dobesv@gmail.com> wrote in
news:op.ufzwfmx9p5f524@tokyo.vc.shawcable.net:

> If I restart eclipse and my glassfish server is still running, I have to
> go to the command line and stop the glassfish server and then start it
> again in eclipse, or I can't use the web tools "Publish" feature, since
> it'll try and start the glassfish server and fail because the server is
> already running. I also can't stop the glassfish server because eclipse
> thinks it is not runnig. I recently upgrade to eclipse ganymede and
> WTP 3; before I did this I was able to click Publish or Stop inside
> eclipse and it'd try to do so even if it didn't know whether or not
> glassfish was running.
>
> Is this a bug? Where can I report it? Is there any other workaround
> besides stopping glassfish from the command line and launching it again
> in eclipse?
>
> Thanks!
>

I believe the problem is with the glassfish plugin, not WTP. It seems to
have lots of problems, probably because the developers of Glassfish also
develop Netbeans.

https://glassfishplugins.dev.java.net/
Re: Deploying to or stopping a glassfish server that's already running [message #219525 is a reply to message #219403] Thu, 21 August 2008 18:54 Go to previous messageGo to next message
Dobes Vandermeer is currently offline Dobes VandermeerFriend
Messages: 26
Registered: July 2009
Junior Member
On Tue, 19 Aug 2008 05:41:25 -0700, George Duh-bya
<dumbass@whitehouse.gov> wrote:

> "Dobes Vandermeer" <dobesv@gmail.com> wrote in
> news:op.ufzwfmx9p5f524@tokyo.vc.shawcable.net:
>
>> If I restart eclipse and my glassfish server is still running, I have to
>> go to the command line and stop the glassfish server and then start it
>> again in eclipse, or I can't use the web tools "Publish" feature, since
>> it'll try and start the glassfish server and fail because the server is
>> already running. I also can't stop the glassfish server because eclipse
>> thinks it is not runnig. I recently upgrade to eclipse ganymede and
>> WTP 3; before I did this I was able to click Publish or Stop inside
>> eclipse and it'd try to do so even if it didn't know whether or not
>> glassfish was running.
>>
>> Is this a bug? Where can I report it? Is there any other workaround
>> besides stopping glassfish from the command line and launching it again
>> in eclipse?
>>
>> Thanks!
>>
>
> I believe the problem is with the glassfish plugin, not WTP. It seems to
> have lots of problems, probably because the developers of Glassfish also
> develop Netbeans.
>
> https://glassfishplugins.dev.java.net/

From the looks of their issue tracker, this is some kind of poor design
decision in the WTP. I found this thread about it:

http://www.eclipse.org/newsportal/article.php?id=16737&g roup=eclipse.webtools#16737

I think that the behavior I'm noticing IS an issue with webtools - it's
webtools that is controlling that context menu's behavior, not the
glassfish plugin.

I think webtools should reinstate the "Refresh Status" or allow me to
publish without starting the server, or something.

For now, I guess I'm stuck with restarting the server each time I restart
eclipse or change workspaces.

--

Dobes Vandermeer
Technical Director, Habitsoft Inc.
http://www.habitsoft.com
Re: Deploying to or stopping a glassfish server that's already running [message #219534 is a reply to message #219525] Thu, 21 August 2008 20:11 Go to previous messageGo to next message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Dobes Vandermeer wrote:
> On Tue, 19 Aug 2008 05:41:25 -0700, George Duh-bya
> <dumbass@whitehouse.gov> wrote:
>
>> "Dobes Vandermeer" <dobesv@gmail.com> wrote in
>> news:op.ufzwfmx9p5f524@tokyo.vc.shawcable.net:
>>
>>> If I restart eclipse and my glassfish server is still running, I have to
>>> go to the command line and stop the glassfish server and then start it
>>> again in eclipse, or I can't use the web tools "Publish" feature, since
>>> it'll try and start the glassfish server and fail because the server is
>>> already running. I also can't stop the glassfish server because eclipse
>>> thinks it is not runnig. I recently upgrade to eclipse ganymede and
>>> WTP 3; before I did this I was able to click Publish or Stop inside
>>> eclipse and it'd try to do so even if it didn't know whether or not
>>> glassfish was running.
>>>
>>> Is this a bug? Where can I report it? Is there any other workaround
>>> besides stopping glassfish from the command line and launching it again
>>> in eclipse?
>>>
>>> Thanks!
>>>
>>
>> I believe the problem is with the glassfish plugin, not WTP. It seems to
>> have lots of problems, probably because the developers of Glassfish also
>> develop Netbeans.
>>
>> https://glassfishplugins.dev.java.net/
>
> From the looks of their issue tracker, this is some kind of poor design
> decision in the WTP. I found this thread about it:
>
> http://www.eclipse.org/newsportal/article.php?id=16737&g roup=eclipse.webtools#16737
>
>
> I think that the behavior I'm noticing IS an issue with webtools - it's
> webtools that is controlling that context menu's behavior, not the
> glassfish plugin.
>
> I think webtools should reinstate the "Refresh Status" or allow me to
> publish without starting the server, or something.

I'm not aware of any "Refresh Status" option ever being available in the
WTP Tomcat support or even the WTP server support in general. The WTP
server framework starts the servers as child processes. By owning the
process, WTP can derive a certain amount "status" about that process.
For example, WTP can tell when the server has terminated during a switch
from Run to Debug because it knows when the process exits. When Eclipse
is stopped or restarted, the "connection" to that process is lost.
Attempting to interact with that server in the next Eclipse session
would involve guesses and assumptions, such as, "After the server is
requested to be shut down, X amount of seconds latter it would be safe
to start it in debug mode, maybe". Making control of the server robust
in this use case would be difficult. This is why the WTP Tomcat support
unconditionally stops the server when Eclipse is stopped or restarted.

Across various versions of Tomcat, there isn't a simple way to monitor
"status" of a Tomcat server running as an externally started process. I
don't know enough about glassfish to say if this true or not for
glassfish. However, if they aren't able to do something to "reconnect"
to the server, then I think it's a bug that the server is just left
running. It could at least ask if you would like to shut the server
down in case you intend to start a new Eclipse session.

Cheers,
Larry

>
> For now, I guess I'm stuck with restarting the server each time I
> restart eclipse or change workspaces.
>
> --
>
> Dobes Vandermeer
> Technical Director, Habitsoft Inc.
> http://www.habitsoft.com
Re: Deploying to or stopping a glassfish server that's already running [message #219574 is a reply to message #219534] Fri, 22 August 2008 22:26 Go to previous messageGo to next message
Dobes Vandermeer is currently offline Dobes VandermeerFriend
Messages: 26
Registered: July 2009
Junior Member
------------MkkGKvMpYqhVIIEfPr48rD
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15
Content-Transfer-Encoding: 7bit

On Thu, 21 Aug 2008 13:11:49 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
wrote:

> Dobes Vandermeer wrote:
>> On Tue, 19 Aug 2008 05:41:25 -0700, George Duh-bya
>> <dumbass@whitehouse.gov> wrote:
>>
>>> "Dobes Vandermeer" <dobesv@gmail.com> wrote in
>>> news:op.ufzwfmx9p5f524@tokyo.vc.shawcable.net:
>>>
>>>> If I restart eclipse and my glassfish server is still running, I have
>>>> to
>>>> go to the command line and stop the glassfish server and then start
>>>> it
>>>> again in eclipse, or I can't use the web tools "Publish" feature,
>>>> since
>>>> it'll try and start the glassfish server and fail because the server
>>>> is
>>>> already running. I also can't stop the glassfish server because
>>>> eclipse
>>>> thinks it is not runnig. I recently upgrade to eclipse ganymede and
>>>> WTP 3; before I did this I was able to click Publish or Stop inside
>>>> eclipse and it'd try to do so even if it didn't know whether or not
>>>> glassfish was running.
>>>>
>
> I'm not aware of any "Refresh Status" option ever being available in the
> WTP Tomcat support or even the WTP server support in general.

Sorry, my memory was off, it was called "Initialize Server Status" as
shown in this screenshot from Eclipse Europa. I don't recall that it
every worked, but I was able to use start/stop/publish regardless of what
eclipse thought the state of the application was.

> The WTP server framework starts the servers as child processes. By
> owning the process, WTP can derive a certain amount "status" about that
> process.

I suppose it's conceivable however, that some of this information (i.e.
the process ID) can be saved somewhere and loaded and validated when
eclipse loads the workspace.

> Across various versions of Tomcat, there isn't a simple way to monitor
> "status" of a Tomcat server running as an externally started process. I
> don't know enough about glassfish to say if this true or not for
> glassfish.

Glassfish has a command that allows you to check whether the domain is
currently running.

I suppose this feature might be added for glassfish but not tomcat.

Of course, as always with open source software, if I don't have time to
fix it why would I expect that anyone else does?

I put a request in bugzilla to at least allow stop/publish when the server
doesn't "appear" to be running, since for glassfish (and possibly other
enterprise servers) that's a completely ordinary circumstance.

If/when they add the ability to deploy to a *remote* glassfish instance
it'll be even more important that publish works without "Start", since
starting the remote instance might be impossible.

--

Dobes Vandermeer
Technical Director, Habitsoft Inc.
http://www.habitsoft.com
------------MkkGKvMpYqhVIIEfPr48rD
Content-Disposition: attachment; filename="intialize server status.jpg"
Content-Type: image/jpeg; name="intialize server status.jpg"
Content-Transfer-Encoding: Base64

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkS
Ew8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBD AQkJ
CQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIy
MjIyMjIyMjIyMjIyMjL/wAARCAJWAk0DASIAAhEBAxEB/8QAHwAAAQUBAQEB AQEA
AAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR BRIh
MUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6
Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWW l5iZ
mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo 6erx
8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QA tREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAV
YnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVm Z2hp
anN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6 wsPE
xcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEA PwD2
WR5bm4e3idokjA8yRQCckcKM5HufqPXIX+z4f79z/wCBMn/xVFr/AMfN9/13 H/ot
KtUAVf7Ph/v3P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn/wAV R/Z8
P9+5/wDAmT/4qrVFAFX+z4f79z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUAVf7P h/v3
P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5/wDA mT/4
qrVFAFX+z4f79z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gTJ/8A FUf2
fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVFAFX+ z4f7
9z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gTJ/8AFUf2fD/fuf8A wJk/
+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVFAFX+z4f79z/4Eyf/ ABVH
9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1RQBV /s+H
+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVFAFX+z4f79z/4Eyf/ABVH9nw/37n/ AMCZ
P/iqtUUAVf7Ph/v3P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn /wAV
R/Z8P9+5/wDAmT/4qrVFAFX+z4f79z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUA Vf7P
h/v3P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5 /wDA
mT/4qrVFAFX+z4f79z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gT J/8A
FUf2fD/fuf8AwJk/+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVF AFX+
z4f79z/4Eyf/ABVH9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gTJ/8AFUf2fD/f uf8A
wJk/+Kq1RQBV/s+H+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVFAFX+z4f79z/4 Eyf/
ABVH9nw/37n/AMCZP/iqtUUAVf7Ph/v3P/gTJ/8AFUf2fD/fuf8AwJk/+Kq1 RQBV
/s+H+/c/+BMn/wAVR/Z8P9+5/wDAmT/4qrVFAGfdQ2dnbmeeS7CBlX5ZpnJL EKAA
CSSSQOKqSXmnQxPLKurpGilmdobsBQOpJxwK1bq1ivLcwThihZW+VyhBUhgQ QQQQ
QDxVSTRLSaJ4pZb943UqyNfzkMD1BG/kUAT/ANnw/wB+5/8AAmT/AOKrOjvN OmiS
WJdXeN1DK6w3ZDA9CDjkVt1zWi/8Id/YWnfav7C+0fZo/N83yd+7aM7s85z1 zQBp
QyA2pvLCW4liBYNDKHJYqSGADjcGyCMdOOnOatPO0vkR22C9wMq55CrjJY4/ D8SB
nmqnh/yP7KP2Xy/s/wBpuPK8rGzb5z4244xjpipNLOG0z/rxb/2nQBSvdRtL F7/z
LPV7pbH/AI+LiO4RF+4JDhfMXorDov51t/2fYbtvmzbs4x9skz/6FXL63b6P Jeat
9p1PV4Uf/j8S2tS8SfulBy3lNj5NpPzcZ7VYsdLnk1q8ubrwxo6FLsPBcmJE kZfM
cmQMN5Z8CNuQnLH0zXRKnDlT2/pdzmjUnzNb/wBPsdF/ZVp63P8A4FS//FUf 2Vae
tz/4FS//ABVZXieedv7L06O5ltYtQvBBNPC5R1QRu5VWH3SxQLkYIycEHFZT 6o/h
TUr+zie5vbNUs3SO5umleFppzEf3jlmI6MAc9CAQDxzrV2Ol/wBffY6r+yrT 1uf/
AAKl/wDiqP7KtPW5/wDAqX/4quU1nxTrA8QW2n6Va222LVVs5zNcFfOVrYyg f6tt
o56jnKDsxxStvE8mlx3dxcR3F5LCdYnQtduq7IJhiPbyDwQASPlA46mhd/67 lcr0
Xf8A4P8Akdx/ZVp63P8A4FS//FUf2Vaetz/4FS//ABVctceOrnT7e/Oo6P5V xDFb
zW8ME7T+aJ3MaA7UyrBh8wUP/s7ulbvh7WJ9Z0z7Tc2EtlMJGRonSRQcdCvm RxsQ
QepUc569adibjrX/AI+b7/ruP/RaVarPis7a4u715reGRhMAC6AnHlp61N/Z lh/z
5W3/AH6X/CkBaoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9mWH/ AD5W
3/fpf8KP7MsP+fK2/wC/S/4UAWqKq/2ZYf8APlbf9+l/wo/syw/58rb/AL9L /hQB
aoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9mWH/AD5W3/fpf8KP 7MsP
+fK2/wC/S/4UAWqKq/2ZYf8APlbf9+l/wo/syw/58rb/AL9L/hQBaoqr/Zlh /wA+
Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2/wC/ S/4U
AWqKq/2ZYf8APlbf9+l/wo/syw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/36X/C j+zL
D/nytv8Av0v+FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2/wC/S/4UAWqKq/2Z Yf8A
Plbf9+l/wo/syw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8A v0v+
FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2/wC/S/4UAWqKq/2ZYf8APlbf9+l/ wo/s
yw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9 mWH/
AD5W3/fpf8KP7MsP+fK2/wC/S/4UAWqKq/2ZYf8APlbf9+l/wo/syw/58rb/ AL9L
/hQBaoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9mWH/AD5W3/fp f8KP
7MsP+fK2/wC/S/4UAWqKq/2ZYf8APlbf9+l/wo/syw/58rb/AL9L/hQBaoqr /Zlh
/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2 /wC/
S/4UAWqKq/2ZYf8APlbf9+l/wo/syw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/3 6X/C
j+zLD/nytv8Av0v+FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2/wC/S/4UAWqK q/2Z
Yf8APlbf9+l/wo/syw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/36X/Cj+zLD/ny tv8A
v0v+FAFqiqv9mWH/AD5W3/fpf8KP7MsP+fK2/wC/S/4UAWqKq/2ZYf8APlbf 9+l/
wo/syw/58rb/AL9L/hQBaoqr/Zlh/wA+Vt/36X/Cj+zLD/nytv8Av0v+FAFq s3Tj
g6Z/14t/7Tqx/Zlh/wA+Vt/36X/Cqth/zC/+vJv/AGnQBT1Lw7fXsupiDVIo Le/+
/G1qXZcxrGcHeOy56Vo/2HZfbfte6983zPNx9un2bs5+5v249sY7YqS31Syu tRur
CG4V7q02meMA5TcMj2PHpVutHVm0lczVGCbdiHULC11Sza1vIvMhYhsBirKw OQys
CCrAgEEEEEZFUo/DWkR6ddWP2eR4rogzvLcSPLIRjaTKzF8jAwd2RgYxitOi szQx
k8I6LHC0awXOWuFujKb2YymVV2BvM3787eOvI61LJ4Y0aVJEezysi3COPNfk TkNL
3/iIH07YqSTXNOTyNtz532iB7iH7OjTeZGm3cV2A7vvLwOTnjNXwdygjOCM8 jFH9
foG39f13KF34f0q/E4urQSefAlvJl2GURiyAYPBBYkMMHOOeBVrT7GHTLb7P A9y6
bi2bm5knbJ/2pGZse2cVNUUVwksksaiQGJtrF42UE4B+UkYYc9RkZyOoNAEV r/x8
33/Xcf8AotKtVVtf+Pm+/wCu4/8ARaVaoAKKKKACiiigAooooAKKKKACiiig Aooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig Aooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig Aooo
oAKKKKACsi2kEMOnylXYJYO21FLMcCPgAdTWvWXYf8wv/ryb/wBp0mByekW/ iOz1
DS9SvNIt40upJRdtBcvLMBMd6708pQuxgi53HAz9an8KWerWdxoE11Nq0rXe mSHU
BeSyOqSgxbMq3EbYLjgAnBzk813NFUtP69f8wOF1JdSbxLdgHWRe/aoP7OMH m/ZP
s+E8zzMfuuvm53/N02/w0zztTmvbbSJU1nf/AGzctcSok6R/ZXWYpiYYG35o wArf
KQOhArvaKm2lv66f5Db/AK+//M8ostN1C08M6alja6tHd2uh38TmRJ98dwVh wqF+
Rkqdu3g4O2ti5s9ZN3qGoLNrHnW+oWQtYlllERiKwCb92PldeXzkHBBIwcmu /oqr
63/re4N9PU4PQE1j/hNLuTUr6+VvPnUWzWVyYHhyfLIl3mAfLtPCq2cg8k52 rM34
1rXPOmvIoPtSfZ8xM6lPIjzt4IA3bunfPeuioqJR5o8vlYcZWk5FW1/4+b7/ AK7j
/wBFpVqqtr/x833/AF3H/otKtVRIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFZdh/zC/wDryb/2nWpWXYf8wv8A68m/9p0AalFFFABRRRQAUUUUAFFFFAFW 1/4+
b7/ruP8A0WlWqq2v/Hzff9dx/wCi0q1QAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQ
AUUUUAFZdh/zC/8Aryb/ANp1qVl2H/ML/wCvJv8A2nQBqUUUUAFFFFABRRRQ AUUU
UAVbX/j5vv8AruP/AEWlWqq2v/Hzff8AXcf+i0q1QAUUUUAFFFFABRRRQAUU UUAF
FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAF
FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU UUAF
FFFABRRRQAUUUUAFZdh/zC/+vJv/AGnWpWXYf8wv/ryb/wBp0AalFFFABRRR QAUU
UUAFFFFAFW1/4+b7/ruP/RaVaqra/wDHzff9dx/6LSrVABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQAVl2H/ADC/+vJv/adalZdh/wAwv/ryb/2nQBqUUUUA FFFF
ABRRRQAUUUUAVbX/AI+b7/ruP/RaVaqra/8AHzff9dx/6LSrVABRRRQAUUUU AFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFF
FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU AFFF
FABRRRQAUUUUAFFFFABRRRQAVl2H/ML/AOvJv/adalZdh/zC/wDryb/2nQBq UUUU
AFFFFABRRRQAUUUUAVbX/j5vv+u4/wDRaVaqra/8fN9/13H/AKLSrVABRRRQ AUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRTJZ Ughe
WQ7URSzHGcAcmoP7Qh/553X/AICS/wDxNAFqiqv9oQ/887r/AMBJf/iaP7Qh /wCe
d1/4CS//ABNAFqiqv9oQ/wDPO6/8BJf/AImj+0If+ed1/wCAkv8A8TQBaoqr /aEP
/PO6/wDASX/4mj+0If8Anndf+Akv/wATQBaoqr/aEP8Azzuv/ASX/wCJo/tC H/nn
df8AgJL/APE0AWqKq/2hD/zzuv8AwEl/+Jo/tCH/AJ53X/gJL/8AE0AWqKq/ 2hD/
AM87r/wEl/8AiaP7Qh/553X/AICS/wDxNAFqiqv9oQ/887r/AMBJf/iaP7Qh /wCe
d1/4CS//ABNAFqiqv9oQ/wDPO6/8BJf/AImj+0If+ed1/wCAkv8A8TQBaoqr /aEP
/PO6/wDASX/4mj+0If8Anndf+Akv/wATQBaoqr/aEP8Azzuv/ASX/wCJo/tC H/nn
df8AgJL/APE0AWqKq/2hD/zzuv8AwEl/+Jo/tCH/AJ53X/gJL/8AE0AWqKq/ 2hD/
AM87r/wEl/8AiaP7Qh/553X/AICS/wDxNAFqiqv9oQ/887r/AMBJf/iaP7Qh /wCe
d1/4CS//ABNAFqiqv9oQ/wDPO6/8BJf/AImj+0If+ed1/wCAkv8A8TQBaoqO CeO4
iEkZJUkjlSpyDgjB5HINSUAFFFFABRRRQAUUUUAFZdh/zC/+vJv/AGnWpWXY f8wv
/ryb/wBp0AalFFFABRRRQAUUUUAFFFFAFW1/4+b7/ruP/RaVaqra/wDHzff9 dx/6
LSrVABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUA
FFFFAFTVf+QRe/8AXCT/ANBNXWJz1qlqv/IIvf8ArhJ/6Caut96gAyfWjJ9a SigA
BO48/wAJ/mKh+2W5vDZ/aYvtQj80wbxv2Zxu29cZ4zUw+8f90/zFcPqtlcTe PLy9
sBnULLTbaWBf+eg8ycNGfZhx7Hae1HULaN/1ujtIbmK4VmgmSVVdkYowYBlO CDju
CCCKkyfU15EviW/i0m1fTb+DS7K+1DUZWu72VbYKwnJSNmkikVSQWO0qCdvB GCDv
S+J9XtbhkluIZEs2jvruWJQ0b2bqg+VsdAzSsD1xFz15P6/r+thta2Xmd/k+ poyf
U1n6LLdz6Naz33/HzMnmuuANm7kLx6AgfhV+hq2gk7i5PqaMn1NJRQAuT6mj J9TS
UUALk+poyfU0lFAC5PqaMn1NJRQAuT6mjJ9TSUUALk+poyfU0lFAC5PqaMn1 NJRQ
AuT6mjJ9TSUUALk+poyfU0lFAC5PqaATkc1xmk2HiCP4la/eeb5Wgy+UPLlU nzpR
Cg3R88Yxgt0OMYJGV7MdRQBU0/8A495P+vib/wBGtVqqun/8e8n/AF8Tf+jW q1QA
UUUUAFFFFABRRRQAVl2H/ML/AOvJv/adalZdh/zC/wDryb/2nQBqUUUUAFFF FABR
RRQAUUUUAVbX/j5vv+u4/wDRaVaqra/8fN9/13H/AKLSrVABRRRQAUUUUAFF FFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFTVf+QRe/9cJP /QTV
1vvVS1X/AJBF7/1wk/8AQTV1vvUAJRRRQAD7x/3T/MUlKPvH/dP8xWRqeurY XkVl
b6feajeOhlMFoIwUQHG5mkZVAzwBnJ5wDg4ANaiqmm6jb6rYR3lsW8t8gh12 sjAk
MrDsQQQR6irdABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUo6ikpR1FAFTT/wDj3k/6+Jv/AEa1Wqq6f/x7yf8AXxN/6NarVABRRRQA UUUU
AFFFFABWXYf8wv8A68m/9p1qVl2H/ML/AOvJv/adAGpRRRQAUUUUAFFFFABR RRQB
Vtf+Pm+/67j/ANFpVqqtr/x833/Xcf8AotKtUAFFFFABRRRQAUUUUAFFFFAB RRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVNV/5BF7/1wk/9BNXW+9VL Vf8A
kEXv/XCT/wBBNXW+9QAlFFFAAPvH/dP8xXO3sd/pniKXVbTTZtRhuraOCWK3 eJZI
2jZyrfvGUFSHYH5sggcHJx0Q+8f90/zFJQB5nf6RJHq2ixapoo1aWePUbmaw hkRk
BeSJgP3jKrhcjrjkbgMgU268H6q11o738N/eR21hDEhsXtXa2mViWObkZHBU B4yG
OzntXpTW8L3Edw0MbTRqypIVBZQcZAPUA4GfoKkprS1un/B/zB6q39dzhbHw nPaa
pZammnol8Naupp7gMu82r+dtBOeVJZDt7E5xnNd1RRS6WB6u/wDXcKKKKACi iigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKUdRSUo6igCpp//AB7yf9fE 3/o1
qtVV0/8A495P+vib/wBGtVqgAooooAKKKKACiiigArLsP+YX/wBeTf8AtOtS suw/
5hf/AF5N/wC06ANSiiigAooooAKKKKACiiigCra/8fN9/wBdx/6LSrVVbX/j 5vv+
u4/9FpVqgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAK
KKKACiiigCpqv/IIvf8ArhJ/6Caut96qWq/8gi9/64Sf+gmrrfeoASiiigAH 3j/u
n+YrmbvxG2leJL+LUrm2h0m3tIJg4gfzA8sjRgFgxBGV/uj73Xjnph94/wC6 f5iu
Y1XwrcaprN1eNqMUcE0dqixC2JZfIm83Jbfg5JYdBjI9ORboNLP+uqJz4q06 aGG4
t7t0QXLW8sMtjN5zOI2k8sJgMrbQGGVORwBkiodE8WQa3aabeDfbfa7WSc2j 2kpk
bZsJKMQMgbwOFO7IweDUknhfzNabUftmM6il95flf3bfyNuc/wDAs49sd6oQ +Cbl
NMtLNtY2mzsbixgmgtzGwSQIFYnefmXZyRjOeNuKF/X3f5j0uv67lyXxVDcT aaun
EkT6h9juFubeSKSL9y8n3HCsDwp5GCDUtp4r0510yGW4nmmv0TyZ4tOnWGUs pbhi
pVeATgtkAc1naV4GXTXhdbizj8vUBfGKysRbxZEBi2qgc4zndkk85qTTfCmp 6ZNp
qpq9pNaWVoloIpbFi2P42VhKArNgDJVsAD3yf1+H+Yuny/V/obWm6/p2rzSR WUsj
lF3BngkjWRc43RsygSL/ALSkjkc8isrStfubnUNRe+vNOtreyaUTWTxslxbo pIWV
3L4KMq7gdgGG4Y45Twp4Pj8LMyQjS2iEflJLDpohuWUHjzZQ5Ehx1+UZPNJq XhK4
1y6lOr6lFJbfZ7i3hW2tfKlVJRtO9y7BsDsFUEgEjgUPTYel9e5cPjHRVtln ea6Q
PMIEjexnWVnKlgBGU3nIU4IGDggc1a/4SHSvstvctdhIZxIyM6MuBGCXLZHy BcHO
7GDx1rE0vwUdP+w5fSYja3a3OdO0sWvnYiePD4kYE/PnPGMEY54tS+D4Lh9Z Se6k
a11GKSKOFV2/ZhJzKVPIJZsN06jvQ/IS6X/rX/InPjDRVtlnea6QPMIEjexn WVnK
lgBGU3nIU4IGDggc1F4i1m8sL6wtbe5srCO6D/6bfwtJF5gKhYsB0wzbiQS3 8JAB
PSnpfgo6f9hy+kxG1u1uc6dpYtfOxE8eHxIwJ+fOeMYIxzxr6/pmoaraPaWl 9a29
vPE8VwlxZ+fuVhj5fnUA4z1DDpx6j8v60/zBef8AWv8AkVbHxZBc32sWstne I2lu
qSNHaTyCT5VJ24j5OWwAMkgbhwajTxrp8+tabYW0V1Kl9HM3nC1mHlNG4Qqw KfKc
ls7sbcDP3hVafwXObfUbW31OMWl4YG8u4tjKS0SxpiQ7xvRljwy4Gdx5xxTt K8Gy
6RJpklte2qfZHud8aWWyNo5nV2VFVxsxtAB+bjsaA6GsfE2ji0t7o3gEFzbP dxMY
3+aJNu5unH3l4PJzwKu2N9FqNqtxAlwiEkAXFvJA/H+y6hh+Vcva+C7y3FvF Lqdl
cW1nZTWVrBNp5ZdkmzHm/vP3mAgBxtB9q3tA0ufSNMFrcXn2qTez7grKiAnh UDO5
CgcAFjjtgYAen9ev+QPyNOiiikAUUUUAFFFFABRRRQAUo6ikpR1FAFTT/wDj 3k/6
+Jv/AEa1Wqq6f/x7yf8AXxN/6NarVABRRRQAUUUUAFFFFABWXYf8wv8A68m/ 9p1q
Vl2H/ML/AOvJv/adAGpRRRQAUUUUAFFFFABRRRQBVtf+Pm+/67j/ANFpVqqt r/x8
33/Xcf8AotKtUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFF
FFABRRRQAUUUUAVNV/5BF7/1wk/9BNXW+9VLVf8AkEXv/XCT/wBBNXW+9QAl FFFA
CZAJJOBtP8xTfMT++v509SQxIODtP8xS73/vt+dAEfmJ/fX86PMT++v51Jvf ++35
0b3/AL7fnQBH5if31/OjzE/vr+dSb3/vt+dG9/77fnQBH5if31/OjzE/vr+d Sb3/
AL7fnRvf++350AR+Yn99fzo8xP76/nUm9/77fnRvf++350AR+Yn99fzo8xP7 6/nU
m9/77fnRvf8Avt+dAEfmJ/fX86PMT++v51Jvf++350b3/vt+dAEfmJ/fX86P MT++
v51Jvf8Avt+dG9/77fnQBH5if31/OjzE/vr+dSb3/vt+dG9/77fnQBH5if31 /Ojz
E/vr+dSb3/vt+dG9/wC+350AR+Yn99fzo8xP76/nUm9/77fnRvf++350AR+Y n99f
zo8xP76/nUm9/wC+350b3/vt+dAEfmJ/fX86VXQsAGXr60/e/wDfb86A7E/e P50A
U9P/AOPeT/r4m/8ARrVaqrp//HvJ/wBfE3/o1qtUAFFFFABRRRQAUUUUAFZd h/zC
/wDryb/2nWpWXYf8wv8A68m/9p0AalFFFABRRRQAUUUUAFFFFAFW1/4+b7/r uP8A
0WlWqq2v/Hzff9dx/wCi0q1QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFF
FFABRRRQAUUUUAFFFFABRRRQBU1X/kEXv/XCT/0E1ckXerLuK5GMr1H0qnqv /IIv
f+uEn/oJq3Ku9WXJG4YypwR9KAPKptXvfD97qGmW9+xWNyJHT5t5IzkE/dfn B9xX
a+DLYxeH4bjz/MW6/fKisWWMH+EE9/X3zWfp/wAOdJtra4jvHkvXkJEcrfK0 S9sY
/i5yW7nt2rX8M+Hl8OWEtsLuS5MkpkLMu0Dtwo6dOfU5Nc9OnKMrv/hj2cbi cNUo
8tJ+9pd2+LTfyNofeP8Aun+YrkNQsDq3jS9tpdQ1G2jh0yGSH7LeyQrG7STA vtVg
rH5V+8COOmK68feP+6f5isfUPDOlapf/AG27inaYxCFwl1LGksYJIR0Vgrr8 zcMC
DkjpW7PHT0f9dUcxa+PbxbbSIDpc9/dS2UNzdywxSnhyVDKIonXJ2s2GKDpg 9cMT
xjd6Tbm3SzuNTvJ7+/KKfOcJFFOVx+7jkYfeUAbdvuOAesvfDumX13DdyRzx XEMY
iWS1upbclAchW8tl3KD0ByBk+pqO48K6PcIga3mjaOaWdJYLqWGRXkJMmHRg wDE8
rnHTjgVV/wBQ0/L8mc7F4x1S0HiC9v7ANaW1xBFaQK7GYNKkW1GQRZHMmW+8 wJKg
NgZ6fw/q0+saZ9pubGWylEjI0bpIoOOhXzERiCD1KjnP1qOXwtpE/wBrE1vL ILuN
I51e5lIfaAFbBb742r84+bgc1e0/T4dNtvIge5dNxbNxcyTtk/7UjMce2cUa C7Fq
iiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSjqKSlHUUAVN P/49
5P8Ar4m/9GtVqqun/wDHvJ/18Tf+jWq1QAUUUUAFFFFABRRRQAVl2H/ML/68 m/8A
adalZdh/zC/+vJv/AGnQBqUUUUAFFFFABRRRQAUUUUAVbX/j5vv+u4/9FpVq qtr/
AMfN9/13H/otKtUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUA
FFFFABRRRQAUUUUAVNV/5BF7/wBcJP8A0E1db71UtV/5BF7/ANcJP/QTV1vv UAJR
RRQAD7x/3T/MVnXmvaPp15FZ32q2NrdS4McM9wiO+TgYUnJyeK0R94/7p/mK 888V
295c+I9ZjiaJrJtGgW+iMJeV4TLMH8o5wHC7iMq2TgcUdUNLR/11sehUV56v iTUZ
/G62kOsadb6crwi2tp7tEa8heMHeimItISSwBWRRlcEdcxab4i1ez03TtR1L U7m+
jvtFnvZIo7eJTE8YjIMeFHUOc7sjPPA4o8/62v8AoJK+h6PRXmeleINd1CG3 tF1y
FzLrC2v2y3aK5zCbZpCFcRIjEMOCE4Iwd2CDf07VNcjuNNnuNWku0k1W50yS BoIk
V1jE22TKqCHJjGcELycKKHp/Xp/mHS/9df8AJne0VwngHXtV1m4mbU9U0+aR od8l
jHcq09rJuwVMQiRowMkEOznIHPc93TaDq0FFFFIAooooAKKKKACiiigAoooo AKKK
KACiiigAooooAKUdRSUo6igCpp//AB7yf9fE3/o1qtVV0/8A495P+vib/wBG tVqg
AooooAKKKKACiiigArLsP+YX/wBeTf8AtOtSsuw/5hf/AF5N/wC06ANSiiig Aooo
oAKKKKACiiigCra/8fN9/wBdx/6LSrVVbX/j5vv+u4/9FpVqgAooooAKKKKA Ciii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpqv/IIvf8A rhJ/
6Caut96qWq/8gi9/64Sf+gmrrfeoASiiigAH3j/un+YpKUfePOPlPOM9xSY/ 2/8A
xz/69ABRRj/b/wDHP/r0Y/2//HP/AK9ABRRj/b/8c/8Ar0Y/2/8Axz/69ABR Rj/b
/wDHP/r0Y/2//HP/AK9ABRRj/b/8c/8Ar0Y/2/8Axz/69ABRRj/b/wDHP/r0 Y/2/
/HP/AK9ABRRj/b/8c/8Ar0Y/2/8Axz/69ABRRj/b/wDHP/r0Y/2//HP/AK9A BRRj
/b/8c/8Ar0Y/2/8Axz/69ABRRj/b/wDHP/r0Y/2//HP/AK9ABRRj/b/8c/8A r0Y/
2/8Axz/69ABRRj/b/wDHP/r0Y/2//HP/AK9ABSjqKTH+3/45/wDXpQOR8/8A 45/9
egCpp/8Ax7yf9fE3/o1qtVV0/wD495P+vib/ANGtVqgAooooAKKKKACiiigA rLsP
+YX/ANeTf+061Ky7D/mF/wDXk3/tOgDUooooAKKKKACiiigAooooAq2v/Hzf f9dx
/wCi0q1VW1/4+b7/AK7j/wBFpVqgAooooAKKKKACiiigAooooAKKKKACiiig Aooo
oAKKKKACiiigAooooAKKKKACiiigCpqv/IIvf+uEn/oJqxd3CWkDzyLKyLjI iiaR
vThVBJ/AVX1X/kEXv/XCT/0E1Yu7dLqF4ZGlVGxkxStG3rwykEfgaAOZt/Gt tNcv
EYnXz75LaxEsTw+enyiRsuOqt5mRx91R1YZ6S0vLa/tkubO4huLd87JYXDq2 Dg4I
4PIIrzyG6vNH+12WoWs9xJqrzXFvK1qGaaEOVEUiRrleJFf7o+aVsjOQek8I 2V/b
WrXF3a28IucsN0RS5VQx8sStk7zsPfBXAB3EkhXd2rGMJtuzOlH3j/un+YrB 1PxM
NO1SSwj0nUb14bdbmZ7VYiI42LAcM6sx+RuFBP48VvD7x/3T/MVy18uq2Xi+ 6vrP
Rp72K40+G3jkSaJESRXlPz7mDBfnXlVY9eCeKGbrZ/11R0VpdwX9lBeWsgkt 541k
jcfxKRkH8jUOm6lDqkE00CyKsVxLbsHAB3RuUJGCeMg4rz++8E3sV/pKyxX1 9a2l
lFFG9h9l3QTq5Z3AuBlN2Vw0ZDfLg9BVvS/Dd5D4gSZtEa3uF1S6un1Rpo23 27tJ
tjGHL87lO0qFHJ+9Tfl5/mJ7fd+TPQaK83ttC8QvY2Gnpp81nJp+j3Vit29x GFkl
YRhGTYxYA7CckAj0q74OtoLfxfqkdtog0eOPT7VXtA8Z2uXlOSI2Kgnr1yep 5NO3
9ff/AJA9Ff8Arod3RRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigA
pR1FJSjqKAKmn/8AHvJ/18Tf+jWq1VXT/wDj3k/6+Jv/AEa1WqACiiigAooo oAKK
KKACsuw/5hf/AF5N/wC061Ky7D/mF/8AXk3/ALToA1KKKKACiiigAooooAKK KKAK
tr/x833/AF3H/otKtVVtf+Pm+/67j/0WlWqACiiigAooooAKKKKACiiigAoo ooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKAKmq/8gi9/wCuEn/oJq633qpa r/yC
L3/rhJ/6CabrupDSNIur7aGMSjaD0LEgDPtkik3ZXE2krssfZYftn2spmcR+ WHJJ
2rnJA9MnGcddq5zgYmrirS01LWtA/te31K8muA7Bo45mQED+6qkLnrxjn69d Twpr
M2pwXNvdMXuLZgC5XaSpyBuA/iBVgfoKzhWUny2sZxq3aVtzoR94/wC6f5ik pR94
/wC6f5iub1HWb+LxRDpcVxYWUbRpJH9siZjeksd0cTB1CsoUE8OfmB24HOpr 0udH
RXOaX4ys9R027vWs9RiS3upLcqthcSM212UMFEeTnbkgA7ScHmo9W8d6Ppum y3UL
zXkosft0UUFvK++MhtpZlQhASpBLdO9A7O9v67HSSxRzwvDNGskTqVdHGQwP UEHq
Kr6dpWnaRA0GmWFrZQs29o7aFY1LYxkhQBngflTrC9TULCC7jSVElUMFliaN h9VY
Aj8RVmnazJTurhRRRSGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUo
6ikpR1FAFTT/APj3k/6+Jv8A0a1Wqq6f/wAe8n/XxN/6NarVABRRRQAUUUUA FFFF
ABWXYf8AML/68m/9p1qVl2H/ADC/+vJv/adAGpRRRQAUUUUAFFFFABRRRQBV tf8A
j5vv+u4/9FpVqqtr/wAfN9/13H/otKtUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVNV/wCQRe/9cJP/AEE1Hr+lrrOi 3ens
wXzk+UnoGBBXPtkCpNV/5BF7/wBcJP8A0E1db71Jq6sJpNWZ5qr6/pPhtPD9 npt5
FIXcyzxxM/yseiMuR9TkV0Pgrw9LodhM9ynlz3BX93uzsVc4Bx3yzH8RXStL Gr7G
kUMedpPPf/A/lQssbttSRGYc4DA1EaaTvcxhQUZKTd7bDx94/wC6f5isHXtD vtb/
ANFOoW8WmuY2lia0LzZVt2Uk3gIeByVYjqPbeH3j/un+YpK0NzkLvwXcXNpL aHUL
OS1OoSXqQXNiZY2Ehcskq+YBJhnyp4wVGQafa+CEt9MuLE35ZJtHTSiywhdo XzPn
Azj/AJadPbrXWUUdLf1tYd3e/wDW9/zK1hDcW9hBDdzRTTooVpIojGrY9FLM Rx7m
rNFFDd9SUrKyCiiigYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BSjq
KSlHUUAVNP8A+PeT/r4m/wDRrVaqrp//AB7yf9fE3/o1qtUAFFFFABRRRQAU UUUA
FZdh/wAwv/ryb/2nWpWXYf8AML/68m/9p0AalFFFABRRRQAUUUUAFFFFAFW1 /wCP
m+/67j/0WlWqq2v/AB833/Xcf+i0q1QAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQBU1X/AJBF7/1wk/8AQTVqeVIUMkhw ox0B
PXjtVXVf+QRe/wDXCT/0E1NfQvcWzxxkBiVIycDgg/0oAqiMySQzGYlmjf8A fRsS
qHggemMZ5I7CrFtvkSOdsrvQEoSeCcH1x+lR2+nRwq/mMZWf72eAfw/xzVyg AH3j
/un+YrntVeQ6pNFE955wtkNusBfaJCzctj5ccDO7jFdCPvH/AHT/ADFRCCMX DXAX
96yBC2ewJIH6mgDPk1WaJ7lTbKwgdIgfMxvkcLgYxwPm5P6Gqt7eXk8tva+S sT/a
hHMEuWAYbCwwwUHHHPTpjoc1rSWNtKs6vFkTkNJyeSAAD7EYHT0psenWsQQL GxKS
eaGZ2Zi2MZJJyeDjmgDLbUhDcrMfNWGJbounmF92xlGefxwO2a0NNvpb5JDL bPAV
IxkOAQfTcqn9PxqT+zrTJPkg58zIJJB3nLce9PtbOKzQpCZdpxw8rvjHpuJx +FC2
Bk9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFKOopKUdRQ BU0/
/j3k/wCvib/0a1Wqq6f/AMe8n/XxN/6NarVABRRRQAUUUUAFFFFABWXYf8wv /ryb
/wBp1qVl2H/ML/68m/8AadAGpRRRQAUUUUAFFFFABRRRQBVtf+Pm+/67j/0W lWqq
2v8Ax833/Xcf+i0q1QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQBU1X/kEXv/AFwk/wDQTV1vvVS1X/kEXv8A1wk/9BNX W+9Q
BQOt6UrFW1OyBBwQbheP1qzb3MF3F5ttPHNHnG6Nwwz9RXh8ms30YiWKWdUE Me0L
IQMbBXpfgO4e50e5kkJL/aF3bjk58mKuenWc5WPYxuVfVqKq3vc6ofeP+6f5 iqV3
q+m6fc29te6jaW09y22CKaZUaU5AwoJyxyR09auj7x/3T/MVxXiS/tdF183d vfWk
l/cxQwTaRPgyXUYdgphHXcN79mU4wdvLV0dUeP0bO0ory/T9Ql0jTbi3PiSS FG12
4iv7qUQbrFC8rKx+TanmME5cEfNwBkVZl8S3inSY7vxOthp863v/ABMmihU3 CRvG
InBdSgJDHkDawPA5Ug/r8Lja1t/XX/I9HorN8PXV3e+HdPur5St1LAjyZTZk kddv
bPXHbNaVNqzsJBRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gApR
1FJSjqKAKmn/APHvJ/18Tf8Ao1qtVV0//j3k/wCvib/0a1WqACiiigAooooA KKKK
ACsuw/5hf/Xk3/tOtSsuw/5hf/Xk3/tOgDUooooAKKKKACiiigAooooAq2v/ AB83
3/Xcf+i0q1VW1/4+b7/ruP8A0WlWqACiiigAooooAKKKKACiiigAooooAKKK KACi
iigAooooAKKKKACiiigAooooAKKKKAKmq/8AIIvf+uEn/oJq633qpar/AMgi 9/64
Sf8AoJqzcymFNwXcxZUUE4GWIUZPpk0AYy+ENGRQqR3aIBhVS/nVVHoAHwB7 Vo6f
plppcLxWiOqu/mOXkaRmbAGSzEk8ADr2qlb60byGNoVjzKyhSCzbQXCEsGCn qwxi
rttdO83lO0cm5SyvGRjjbuUgMcEbh3rNON9Eayr1Kkfem2vUtj7x/wB0/wAx SUo+
8f8AdP8AMVz+r+K4NH1Ca1k06/uEt7dbq5uIBGUgiZmXcwZwxxsYnap4FaGR v1Tm
02GfV7TUmaQTW0UsSKCNpEhQnPGc/IMc+tW1YMoZSCCMgjvVPTdTh1S3mmgW RViu
Jbdg4AJaNyjEYJ4ypxRtqHmXaKztI1dNZsre9gtbiO2uIEnjkl2DO7Py4DE5 HGeM
cjBPOJU1KF9Zm0sLJ58NulwzEDaVdmUAc5zlD29KLa2AuUUUUAFFFFABRRRQ AUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUo6ikpR1FAFTT/+PeT/AK+Jv/RrVaqr p/8A
x7yf9fE3/o1qtUAFFFFABRRRQAUUUUAFZdh/zC/+vJv/AGnWpWXYf8wv/ryb /wBp
0AalFFFABRRRQAUUUUAFFFFAFW1/4+b7/ruP/RaVaqra/wDHzff9dx/6LSrV ABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF AFTV
f+QRe/8AXCT/ANBNO1RPMtfLwp3SxL867hzIvUdx7U3Vf+QRe/8AXCT/ANBN WbiG
O4jaKVdyN1GcfqOlDA53y3jmiihO+Q5K+XbxxgMrxuPl3ru+4c81p2EN69x5 92do
QMkaEHcQ2wkk+Y+OVxjPv3qW20ixtJlmhhIdc4Jdmx+Zq7RZX0BAPvH/AHT/ ADFc
nqfhm41jxVdzT3V3b6XNp8NvKkDRgXOJJC0bZUuBhhypX7x59OsH3j/un+Yp KOtw
vo0cLq+k6t9t1S1tNKlngvr+yukuUliWONIjCHUgsGyBESMKQcjmoNM8N3sP iBJm
0Rre4TVLq6fVGmjbfbu0m2IYcvzuU7SAo5P3q9Boo6W/rp/kNvSx5rB4U1Bd GS3v
tMuZVGkWVu0Nu0DlpYpZGZCsjBGUZXIJwQTg5p114Ou9TsryS70W0juRoUcN nDBt
SOG5VpSNi7iEZdyYbJxkgMRmvSKKbf8AX9eoX1v/AF0/yI4A4gjEn+s2jd9c c1JR
RSepKVlYKKKKBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUo6ikpR1F AFTT
/wDj3k/6+Jv/AEa1Wqq6f/x7yf8AXxN/6NarVABRRRQAUUUUAFFFFABWXYf8 wv8A
68m/9p1qVl2H/ML/AOvJv/adAGpRRRQAUUUUAFFFFABRRRQBVtf+Pm+/67j/ ANFp
Vqqtr/x833/Xcf8AotKtUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQ
AUUUUAFFFFABRRRQAUUUUAVNV/5BF7/1wk/9BNXW+9VLVf8AkEXv/XCT/wBB NXW+
9QAlFFFAAPvH/dP8xWHfX+pXGsNpOkm1glhhWee5uomlVQxYKqorLuJ2MSdw xgcH
PG4PvH/dP8xWJqOj3kmqLqmk38VndmIQTCe28+KZASVyoZCGUscEN/Ecg8YA 6Ff/
AISCWw1a6tdVe3SG1sIJ3lhjfLyPJImFXJJzsXCjJycZPFWJfFWlQaaNQka8 W23M
rt9gn3RFevmLs3RgDnLgDHPSs7V/Bh1tLs3t8jy3NrbwnNsCm+KVpAxQkhkJ bBQ9
hjdzms+/+HZv9Misml0WCNVmUwwaPtgBcKBIkZlIWVdpw5J4J4FA9L/12/zO hl8W
aLDqZ057t/tCypC22CRkR3AKBnC7V3bhjJGTwOQa2q5uXwn5sGoR/bcfbLu1 us+V
9zyRF8vXnPlde27vjm7Jp+sMkgTXdjMtwEP2RDtLkGI9efLGR/tZ5piRr0U1 Ayoo
ZtzAAFsYyfWnUgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKUd RSUo
6igCpp//AB7yf9fE3/o1qtVV0/8A495P+vib/wBGtVqgAooooAKKKKACiiig ArLs
P+YX/wBeTf8AtOtSsuw/5hf/AF5N/wC06ANSiiigAooooAKKKKACiiigCra/ 8fN9
/wBdx/6LSrVVbX/j5vv+u4/9FpVqgAooooAKKKKACiiigAooooAKKKKACiii gAoo
ooAKKKKACiiigAooooAKKKKACiiigCpqv/IIvf8ArhJ/6Caut96qWq/8gi9/ 64Sf
+gmrcrpGrO7KqKMszHAA9TQAtFQwXdtdbvs9xFNt+95bhsfXFTUAJkAkk4G0 /wAx
TfMT++v509SQxIODtP8AMUu9/wC+350AR+Yn99fzo8xP76/nUm9/77fnRvf+ +350
AR+Yn99fzo8xP76/nUm9/wC+350b3/vt+dAEfmJ/fX86PMT++v51Jvf++350 b3/v
t+dAEfmJ/fX86PMT++v51Jvf++350b3/AL7fnQBH5if31/OjzE/vr+dSb3/v t+dG
9/77fnQBH5if31/OjzE/vr+dSb3/AL7fnRvf++350AR+Yn99fzo8xP76/nUm 9/77
fnRvf++350AR+Yn99fzo8xP76/nUm9/77fnRvf8Avt+dAEfmJ/fX86PMT++v 51Jv
f++350b3/vt+dAEfmJ/fX86PMT++v51Jvf8Avt+dG9/77fnQBH5if31/OjzE /vr+
dSb3/vt+dG9/77fnQBH5if31/OlV0LABl6+tP3v/AH2/OgOxP3j+dAFPT/8A j3k/
6+Jv/RrVaqrp/wDx7yf9fE3/AKNarVABRRRQAUUUUAFFFFABWXYf8wv/AK8m /wDa
dalZdh/zC/8Aryb/ANp0AalFFFABRRRQAUUUUAFFFFAFW1/4+b7/AK7j/wBF pVqq
tr/x833/AF3H/otKtUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUU
UUAFFFFABRRRQAUUUUAVNV/5BF7/ANcJP/QTSawxSy3qcMs8JB2F+fMX+Ecn 6DrS
6r/yCL3/AK4Sf+gmpNQhkntysOzzFdJF3kgEqwbBx64xSewHM6fIdLn2R3Fx qTW4
eAySJLhTvyy52uWII9gBjr26K11O2upVhXzEnMfmeVLGyMBwD1GDgkDisRot XhvL
otp8s/mNG3mQyR7SREin7zA/eU9RV7Ror37bdTXVpJbq0USIJGQkkFyfusf7 wrV0
4xjdMzi7e6lobI+8f90/zFcR448Qxadd21mutW+nTwwvf7ZblYvPKEBIuSMh juyP
9mu3H3j/ALp/mKrRWNtDe3F4keLi4CLK5YncFztHPQDJ6eprI0RyPiTxRc3H h/UW
0O382IaQb1rwXPlNGsiP5ZjAUlm+Uk5K4wMEnima5r+pyWLRWdsyW1teWUE9 4Lop
IXaSFmAQDldrgElgeSMEc1tXPgrQLqBYZbJ/KWFrcolzKgeMknYwVhuUFiQG ztzx
ipLnwlot5efaprRzIWjchbiRUZoyCjFAwUsNoG4jOBjOKpWvfz/X/IO39diD xb4n
fw1aJNFaJeSFXkaAPL5mxRksojifgZAJbaoyMsM1VuPGF1FqFyqaSjafa3dv bTXD
XWH/AHwjKlY9pzgyDILDjkZ6DY1fw7pmuFDqEEkhVHi/dzyRbkbG5G2MNynA 4ORx
Tn0DTHS4RrbK3E0U8o8xvmePZsPXjHlpwODjnqaS8/6/pAznbvXtRvdZ0byr U2+m
tq8lsJlujvm2RzKweMAAKWXI+Zs7QSBWd4wnuz4ou4YZNVjK6dB9nntrxooL SZ5Z
FEkqBxuXIXPyOMKcgCusTwroyaouorauLlZzcJ/pEmxJWBDMse7YpIY5wOSc nJq5
PpFhcz3U09usj3VuLWbcSQ8QLHaRnH8bfnQtLf10G3v/AF1v+RhN4vmHiltG i0qe
4iglSC4ukjmIV2QNkbYjHtG5c7pFI54PGatj4z1jUY9PMHh6BX1G0a6tRJqO BtTb
vDkRnb99duA2c87a3I/DGlw36XsSXUU6qikx3syiXYMKZFD4kIHGXBJHWrFr oenW
X2H7Pb7PsMDW9t87HZG23I5PP3F5OTxR0/r+t7CRz48bXF3aR3Wm6Qs8aadH qN0J
rrymjjfdhUwrB3+R+pUcDnni/H4oEsogW0H2g3SxLGZcZiKeZ5vTpszxj7w2 571J
J4O0KSG2hNm6x28It1RLiVA8Q6RyAMPMXr8r7hyfU1ojSrIat/aggH23yPs/ m5P+
rznGM4698ZofW39f1t/mD8v6/rf7jE8K+LZfEsjsdJuLW2aITW8zxzAOpPAY vEi7
sEHCM4688c4Ogz3dx4j32s2sSzpql6l6Z3nNoLdXkChd/wC73BhGAE5HOeM1 2Wl+
H9P0aR2sEuIkYECE3UrwoCc4SNmKJz/dAq3Z2FtYRSRW0flpJK8zDcTl3Ysx 59SS
aH5dgezXn+hy9j4v1TUrTTDa6Jbfa9Rge6iilvyqLCoTJZxESGLOAFCkY5JH SoZv
G9vbxz6iun3TO1jayrF5ztl5ZXjVPLUMAQw5ZQSR2OAK3ZvC2kTWNlZ/Z5Yo rJPL
t2guZYpI1xgrvRg2CAMgnBwM9BVK38Lx3NzqA1Kys0sZbaGyt7W3kYhYYmdl bO1d
rZcYC/d2ghjT66D0/r1IbXxZqF9Ha29vomzVJ/NbybqSW3iEcZUF9zwhzneg H7sc
57DJrJ4k1+1u/EbXGn29xDZXUUUCRXDnYGSMndthzsAYuWwxHIxgZrbk8LaX Laww
Sfb28l2eOY6jcechIwQJd+8KR/Dux7VJL4b06Wa6m/0yKS6CCZoL+eIvtAAP yOMN
hQNw5IGCSKX9f1/X+QkXNNu/t+m293utm81A261n86I5/uvgbh74FWqx18La MsYj
Fmdojhj5lckiJzImTnJIckknk55zWhZ2Ntp8UkdrH5aSSvMw3E5d2LMefUkm noHQ
sUUUUgCiiigApR1FJSjqKAKmn/8AHvJ/18Tf+jWq1VXT/wDj3k/6+Jv/AEa1 WqAC
iiigAooooAKKKKACsuw/5hf/AF5N/wC061Ky7D/mF/8AXk3/ALToA1KKKKAC iiig
AooooAKKKKAKtr/x833/AF3H/otKtVVtf+Pm+/67j/0WlWqACiiigAooooAK KKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKmq/8gi9/wCu En/o
Jq633qpar/yCL3/rhJ/6Caut96gBKKKKAAfeP+6f5ioPtdsbw2f2iL7UI/NM G8b9
mcbtvXGeM1OPvH/dP8xXA66zWXjy51pA7HTdOt5JlQZLQGScSDHfAw+BySgH ejqO
2jf9bnbpd20l3JapcRNcxKryQhwXRTnBI6gHBx9Kmry4y32kanrWqgm2vr6y sri6
lKBjbRvcSKWIPH7uLHUY+TJGM1oprGp3X2S10/xC9zaT6sLWPVEhhZpYjbu7 AEL5
bFXGAwXGRgg4ORIH1/rpc7trmBLlLZpo1nkUukRYBmUYyQOpAyM/UVLXl2r6 prF/
4eu9Ml1CVybLV4pJEijDzmCRUQkbcAlSQdoH3jjBxizeeIZraGGOHxV5UKaa k1hM
Egk/tOcs4MfCYfG1F2x7W+frnFHS/wDXX/ILfr+Fl+p6HPcwWsYkuJo4ULKg aRgo
3McAZPckgD3NS1wd1rGtRy6xcnUHiFrfWNrHaiKMogl+zmTJKlifncDnjcfb C2er
a0NRtLuXU3nguNZu9P8AsZhjVBGnnFCGC7twMYGc4I7Z5J/X5f5hbS/9bX/Q 7uiu
A8MeI7vUNf0yBteF8bmznmvbQQxr9kmUx/u+FDLt3MNrEt3JPFd/TsIKKKKQ BRRR
QAUUUUAFFFFABRRRQAUUUUAFFFFABSjqK4zSbDxBH8StfvPN8rQZfKHlyqT5 0ohQ
bo+eMYwW6HGMEjK9mOooAqaf/wAe8n/XxN/6NarVVdP/AOPeT/r4m/8ARrVa oAKK
KKACiiigAooooAKy7D/mF/8AXk3/ALTrUrLsP+YX/wBeTf8AtOgDUooooAKK KKAC
iiigAooooAoRzrb3V4JI5/nlDKVhdgRsUdQCOoNS/wBoQ/3Ln/wGk/8AiaZd 3hQy
pGyp5MfmTSupYRrg9hyTwfy/AwLIXxi81Ln1s8f+06V1sBa/tCH+5c/+A0n/ AMTR
/aEP9y5/8BpP/iajijeddyajdYwDyiA4PQ4KdKk+yzf9BC5/75j/APiKYB/a EP8A
cuf/AAGk/wDiaP7Qh/uXP/gNJ/8AE0fZZv8AoIXP/fMf/wARR9lm/wCghc/9 8x//
ABFAB/aEP9y5/wDAaT/4mj+0If7lz/4DSf8AxNH2Wb/oIXP/AHzH/wDEUfZZ v+gh
c/8AfMf/AMRQAf2hD/cuf/AaT/4mj+0If7lz/wCA0n/xNH2Wb/oIXP8A3zH/ APEU
fZZv+ghc/wDfMf8A8RQAf2hD/cuf/AaT/wCJo/tCH+5c/wDgNJ/8TUEcV1PK Wj1C
cQIxUkpGS5GQcfLwAR3znnpwS25ljtHCTarcK5XdtCITj8E/zg0WuBZ/tCH+ 5c/+
A0n/AMTR/aEP9y5/8BpP/iaalvJIiumpXDIwyrKIyCPUfJTvss3/AEELn/vm P/4i
gA/tCH+5c/8AgNJ/8TR/aEP9y5/8BpP/AImj7LN/0ELn/vmP/wCIo+yzf9BC 5/75
j/8AiKAD+0If7lz/AOA0n/xNH9oQ/wBy5/8AAaT/AOJo+yzf9BC5/wC+Y/8A 4ioD
FdSTmOHUJwsbASMyRnnAO0DaOcEHPTkdecAE/wDaEP8Acuf/AAGk/wDiaP7Q h/uX
P/gNJ/8AE0fZZv8AoIXP/fMf/wARR9lm/wCghc/98x//ABFAB/aEP9y5/wDA aT/4
mj+0If7lz/4DSf8AxNH2Wb/oIXP/AHzH/wDEUfZZv+ghc/8AfMf/AMRQAf2h D/cu
f/AaT/4mj+0If7lz/wCA0n/xNH2Wb/oIXP8A3zH/APEUfZZv+ghc/wDfMf8A 8RQA
f2hD/cuf/AaT/wCJo/tCH+5c/wDgNJ/8TR9lm/6CFz/3zH/8RR9lm/6CFz/3 zH/8
RQBV1K+ifSrxQlxkwOBm3kA+6e5XitZvvVk6lbSrpV4TfXDAQOSpWPB+U8cL Ws33
qAEooooAB94/7p/mKSlH3jzj5TzjPcUmP9v/AMc/+vQAUUY/2/8Axz/69GP9 v/xz
/wCvQAUUY/2//HP/AK9GP9v/AMc/+vQAUUY/2/8Axz/69GP9v/xz/wCvQBkW OgC1
1ZtTudSvdQuvKMMRufLAhQsGYKI0UckLknJ+Uc1r0Y/2/wDxz/69GP8Ab/8A HP8A
69ABRRj/AG//ABz/AOvRj/b/APHP/r0AFFGP9v8A8c/+vRj/AG//ABz/AOvQ AUUY
/wBv/wAc/wDr0Y/2/wDxz/69ABRRj/b/APHP/r0Y/wBv/wAc/wDr0AFFGP8A b/8A
HP8A69GP9v8A8c/+vQAUUY/2/wDxz/69GP8Ab/8AHP8A69ABRRj/AG//ABz/ AOvR
j/b/APHP/r0AFKOopMf7f/jn/wBelA5Hz/8Ajn/16AMyzvIoopUZZyRcTfdg dh/r
G7gYqx/aEP8Acuf/AAGk/wDiapWSyvJNH9qni3TTsgQIQQJCD1UkHJH5jHcC zKhh
x5uqzR56b/KGf/HaNgJP7Qh/uXP/AIDSf/E0f2hD/cuf/AaT/wCJqBWjZgq6 y5Yn
AAaLJP8A3zU/2Wb/AKCFz/3zH/8AEUk09gD+0If7lz/4DSf/ABNH9oQ/3Ln/ AMBp
P/iaPss3/QQuf++Y/wD4ij7LN/0ELn/vmP8A+IpgH9oQ/wBy5/8AAaT/AOJo /tCH
+5c/+A0n/wATR9lm/wCghc/98x//ABFH2Wb/AKCFz/3zH/8AEUAH9oQ/3Ln/ AMBp
P/iaqQE2yaa0sU2FtCjbYmYq37vggA46H8qt/ZZv+ghc/wDfMf8A8RUAiuo5 xHNq
E5WRiI2VIxzgnaRtPOATnpwenGQCf+0If7lz/wCA0n/xNH9oQ/3Ln/wGk/8A iaPs
s3/QQuf++Y//AIij7LN/0ELn/vmP/wCIoAP7Qh/uXP8A4DSf/E0f2hD/AHLn /wAB
pP8A4mj7LN/0ELn/AL5j/wDiKPss3/QQuf8AvmP/AOIoAP7Qh/uXP/gNJ/8A E0f2
hD/cuf8AwGk/+Jo+yzf9BC5/75j/APiKPss3/QQuf++Y/wD4igA/tCH+5c/+ A0n/
AMTR/aEP9y5/8BpP/iaPss3/AEELn/vmP/4ij7LN/wBBC5/75j/+IoAo3526 Vrx9
Ec/+QVrNudK1K48XWuoI7xxDY4iJTftQKGUDd0Pc5HXpWtc2z3tlrVrEVEk2 6NS3
QEwqBn25qhJZ6++prdiLT1VXjbb9rk3AKANoby+Afm7fxN61nVUrLlV9V1sb UKjp
ybTto1tc1rKTzinylRBEsfOOWIBP6bfzrjvFviC707xDd20Ov/YpYtOinsrA JC32
2cySDy8Mpds7UXCEEZrrdPivopT9ogtoozGobyp2kLOAFB5RccDnr0HTnMqa bCms
zaoGk8+a3S3ZSRtCozMCOM5y57+lbS+JGEdIv+upkz+L7e2mv4pbC+JsWjik dFQq
80gQpEnzZLEyAdABg5IGM0dS8Wzq+nC3sb+C4GpC1urF442lYGCR1UEMUwSE O4Ng
c5Iwa17rwzZXaamry3Ctfzx3DOjANFJGqBGTjjBjU85GevHFVZfCEM0MZfVd RN6l
0Lv7dui81pBGY1yNmzAU4wFA45zk5n/gfp/wfwK0t/XYqSeL4/7RsrmRprPT 0tL6
S9gnjXfG8DRg5xnkZb7pIOe/FJZ/EXSr+2SS1tbqeWS5W1SC3kgmYuyM68xy MgBC
MOWGO+BzV4eDNMaFIp3uLgeTcwymRwDP55UyM20D5iV424A7DpiWDw2U+xG7 1jUb
82U4ngNx5IKkIyYJSNcjDnrk5A565a8/611/DYHtp5/8D/glaz8aWl3cW0ba dqNv
HPLJbiaaNAizxhi8Rw5bcNjcgFTjhjWloWtJr+nLfw2dxBbyYaFpnibzVP8A EPLd
sD2OD7VAnhmzjW3CzXAMF/LqCHcv+sk8zIPH3R5jYHsOT3l0XQotGe8lF1Pd 3F5I
JZpp1iVmIAA4jRF6DrjJ7ngYSE99CS3vbaw0Wylu544Y2jiQM7YBZgABXM25 0+5u
hDHpsl3cRq8l/P5koWM4by0+XJLE7cgA4GTjNdPBaW9/4ehtLqJZYJrZUdG6 MCor
FtfDt5Y6bHpsFrpL2cTFlWdXcs395s9WPc/0rWm6Ufele+q8tTKaqSfLG1vx NDQo
Ybaa7gt4fJiCxOIssdpZcn7wB6nuAfYdKzrOLVF8b3FlJ4i1Ga0gtIroQvFb AMXe
RSpKxBtuEGMEH3rW0fT7mzluZbn7ODLsCpbghVCjAAz0qf8AsqD+1rjUi0hl ntkt
nXPy7VZ2BHGc/Oe/pWCVtV5mz1Vn5foYCfELSmGpL5E/nWEkcckSzW7lmdyi jcsp
RTuHIdlI7ilfxRPb+KWspra63TWMEkGnKIjN5jSShySG24CqCTu2jHHJ5msv Bsen
2skNvrOpAtbx2iSMIGMUKElUVTFtI+YglgSR370kHgXTLVraW2nuobm1to7e C4jK
B4gjOcr8u35t7AjG3GAFGBVLoJ9f67GlpGuR6zLdC3tLhILeV4ftDtHskdWK sAFc
sMEfxKtNuAG8N6kD0K3QPGf4n9aWw0GOy1m71V7y4urq5QRlpkiXYgJIUbEU kDP8
RYj15OZordbzSrm2dmVJnnjYr1ALsOPemugPqY6+FdO85l8iThQcCED19Ifb 0/8A
rX9HsINOv7uGBXVTFExDDHeQf3V9PSnf2EdxP9o3HIx/qLbH5eVVmx0xbGaa b7RL
M8qqp3pGoAXcRgIqj+I1bldbkJanG3viK8i8X31pDrubmHULaC30bbCfOheO MyNj
b5nAZ23bsDbzxW5/wmNuwk8rTNRlYXj2MCKsYNzKhcOEy4AACMxLbRjoSeK2 LPTY
bK9v7qNpDJfSrLIGIwCqKgxx0wo655zWdJ4VtGs1hhuru3ljvZL6G5jZPMil kZi2
NylSMOy4YHg+vNZrZL+un/BNHb+vn+tiBvGVuTaRQ6Xqc93ciYC1jjQSRtCy h1Ys
4UEbuDuwccE5Gat58R9BspbBJJHzeQpPhniiMSMcAssjqzHIbKoGYY6cjLbn wncD
V9J+xX19BFDDdme/jeIytLK0ZywZSp3YbouBgYxxWgnhK3tZbaXTNQvtNaC2 S1b7
OY2E0aElQ4kRuQS3IwfmPNNdL/1v/wAAT20/r+kZ1542uft9lDp+hX08EmpS WMsz
eSoYoJNwTMoOcpnJGMZ78UXnj3SdEtFa7muZpJLq5iRZpLeFv3UhV8F2RNoO ABnc
Rjg8mtSTwtatbRRRXd3A8V/JqEc0ZQssjlyw+ZSpX94wwRnHfPNRv4RtleOa z1G/
srqOa4lW4gaMtiZ97oQ6MpXdgjK5G0c9cpbf15Ddr6f1v/wCM+JLbWIdUtrG 2uJI
YbYl7vdGIwWiDqNu/wAzlWBztx15ro7mVbeGWZuVjUseQOAM9SQB+JArndQ8 PIs1
xq9xqF1dTw2UsUSypCAgKDcQUjVjnGcFiMnoOMdBeK7Ws6xhi5jYKFODnHGO V/mP
qOtEttBLzMxdRuWt1naUIGz8kenzTbcMQQSp65HQhT6qp4GhYzSTWxaYoXWS SMlF
IB2uVzgk46etclci0m0+KOR4HljQxrAFieXdvOFCPGxAweny46bE+6NzS9Ri W7Gk
zMo1EpJdyxI24RBpM4J9fnH+cZ4sLW9rO0buy17GlRcq1010NkfeP+6f5isy LWEl
8RXGjfZLhZILdLgzts8tlYkADDbs5Vuqjp9M6Y+8f90/zFcJ4l0TU9W1vUVi 06Zr
WaCwjWcTIgby7nzJMYfcMK3XA+6cds9q3SI6P+uqO6orz+bwSIJtQmsNJgik i1O1
n00x7F8mIGEzeXz8gJEuVGN3PByKq6BpMt1rRurbSWhmh1m9kk1ZpEOYvMlX ygN2
/liPl27OrZzR0/ry/wA/wBqyv/XX/I9Kqut9bPqMmnrJm6jiWZ02nhGLAHPT qrfl
XnVv4T1IaNdW8WifY7/+ybm1u7rzo/8AiZzuuFbKtlvmDNuk2kbsdzjb0nwr a6N4
zS9tvD9tHDJp8cf2qGOIGKYFy5bkMSwZRuAOccmnbX+vMT0X9eX+f4G4murN rEth
b6feTRwyCGe7QJ5UUhUNtILBzwy8hSPm68HGtXKX1lfv4qiuNN026s5DKv2q /E8f
2e4hC9GjD7mfoASgIx97bweU07wTqMWkXNpcafftfTPbC6lkezEFzsuEZ3DR 7ZXO
0MQZfmwSOp5Udbf1/X9eoM9WorkovDk1vrf2G2tIYdAWRb6MIFCpOF2iMIOi ggSd
MZFctp3gnUYtIubS40+/a+me2F1LI9mILnZcIzuGj2yudoYgy/NgkdTyLVge lX2p
Q6fPYwyrIzXtx9njKAEBtjPk89MIfXtVyuc8QWM8EehNpWlvcQ6derIbW1MU ZWMQ
yINodlXALLxmsbxBo97rN/JdzeHJbv7RYLDZrNLCG02fc+XJ3nbnch3RFm+T pwKP
6/Advy/U7yivMfEulTW180t7pf2q5n1CwW11UyplUDxAxAFt4+ZXbaBtO7JO a7eT
UNYVJCmhb2VbgoPtaDcUIEQ6ceYMn/ZxzR0v/XT/ADEjXopqFmRSy7WIBK5z g+lO
oAKKKKACiiigAooooAKKKKAClHUUlKOooAyYetrx/wAv8/8A7Vqv4lhe6tlt o7u7
tGlUKJbNgso/fQ8KxIAJ+7knjPfobMP/AC6/9f8AP/OWm61YXt55LWLwLJGQ wMxO
ARJG44HUfJjqOtVG3MrkyvZ2IY9UZdPt7GZFedWjVGjuo3EwBUqw3ybvmGOC Sc55
YYZrd7dXc/h2a70iJZLyS2MtrHLgBnK5UHnHp3x71mpZeJjJBvu9OCxleVa5 JwMd
R5nzdO/XvWtBp7Q6JFpwuZEaO3WEXEWFYEKBuGcgHjODkeuaJLR9/IcZa7W9 TnbH
xLDYWEe+71bWLie7FqLeW2iiuYZTGX2OuIwBhcgkY5zuK8iV/GViIo7911GJ Etby
aW0MceQbdlEgbkneDwNrbTk5PQ1bt/CdtHdxXlxfXt5eJcrcm4nMYZysbRqp CIqh
QHboAcnJNUdZ8HxNo2o/YTPLePa36wxs6gM9ydzDoP4gAORgdc9alvr/AFt/ mXFK
6T/rf/gE7+NrOC2uJrnTtTt/KELrG8Kl5Y5XCI6KrHueVOGH93pTLzx3p2m6 fLca
ha3VnPHcrbG1uXhjfeV3j5zJ5eCuTkvjjHXiqmp+ELh9DlWK6vbzUJns0Mk0 kYaG
KOZXKoQqj5RuOTlj3J4rSbwhbvAS+pagb/7ULsajmMTCQJsHATy8bMrt2YwT xnmm
/wCvwJjtd/1p/mZlt8QEuL67mGnznR4NNS++0q0TY5kDAkSHIym0YGMhjnbh j0C3
r6hpEF09pNa75oiI5njZseYuDmNmUg9eDUA8Out79tXWtRF2bX7LJNtgzIAW KsR5
W0Mpc4wAPUGi00aDQtHW0gkkl3XaTPJIqKWdpVJOEVVH4Afnk0f1+P8AkD/r 7v8A
M3KKKKQBRRRQAUUUUAFFFFAHNyxT3XiS5toruaBWIbKMcfcXsCKu/wBgXf8A 0Gbn
82/+KqCA7fGE5Pp/7ItdD5y+hrZ6JWRindu7MX+wLv8A6DNz+bf/ABVH9gXf /QZu
fzb/AOKrZecKjFUZiBkKO/tXLaF4qkuNKn1TVr6wEKBRJbW9u6zWcpP+pkBZ i75I
Awqknop3DE3Y7Gh/YF3/ANBm5/Nv/iqP7Au/+gzc/m3/AMVTX8a6JGkDPLdh 5/M2
RfYZjL8hG/MezcuNynkDg56c1Zn8TaTbRLJJdfI0AuVKxs25CQFIwDksWAC9 WPQG
ndgQf2Bd/wDQZufzb/4qj+wLv/oM3P5t/wDFU6Pxfo8stnCstz5127JFC1nK smVK
htyFcpjcpJYDg56c1secvoaLvt+AaGL/AGBd/wDQZufzb/4qj+wLv/oM3P5t /wDF
VtecvoaPOX0NF32DTuYi+HblECJq9wqqMADcAB/31S/2Bd/9Bm5/Nv8A4qtr zl9D
R5y+hou+wadzDl0SeCJ5ZdcnjjRSzu7MAoHJJO7gVU0y0bVrcz22s3gUMRiR XVsd
jgt0I5H64IIHSTCC5iMU8KyxkglHUMMg5HB9CAaVTEhysYX6ACnfTb8hddzH /sC7
/wCgzc/m3/xVH9gXf/QZufzb/wCKra85fQ0ecvoaV32Hp3MX+wLv/oM3P5t/ 8VSL
4duUGF1e4UZJwNw5Jyf4q2/OX0NHnL6Gi77Bp3MX+wLv/oM3P5t/8VR/YF3/ ANBm
5/Nv/iq2vOX0NHnL6Gi77Bp3MX+wLv8A6DNz+bf/ABVH9gXf/QZufzb/AOKr a85f
Q0ecvoaLvsGncxf7Au/+gzc/m3/xVH9gXf8A0Gbn82/+Kra85fQ0ecvoaLvs Gncx
f7Au/wDoM3P5t/8AFUg0G7M6xf2xc8qWzluxH+171t+cvoaRJAb1DzxG/wDN aLvs
J+pg6h4fuodNupW1e4kVIXYod2GwDx96t5vvVz/jHW7ixMFiklta213DKHub mNnV
2AAWBSGULI4Y7SSfu4Ct26BvvVm3c2tYSq0OnWNvdyXcNlbx3MgIeZIlDtk5 OWAy
eeas0UXYrIB94/7p/mKSlGNxyM/Ke/uKTC/3f/Hm/wAaQwqOG3ht1ZYIY4lZ 2dgi
hQWY5JOO5JJJqTC/3f8Ax5v8aML/AHf/AB5v8aACijC/3f8Ax5v8aML/AHf/ AB5v
8aACijC/3f8Ax5v8aML/AHf/AB5v8aACijC/3f8Ax5v8aML/AHf/AB5v8aAC ijC/
3f8Ax5v8aML/AHf/AB5v8aAKJ0XSm1Uaq2mWR1FRgXZgXzRxj7+M9OOvSr1G F/u/
+PN/jRhf7v8A483+NABRRhf7v/jzf40YX+7/AOPN/jQAUUYX+7/483+NGF/u /wDj
zf40AFFGF/u/+PN/jRhf7v8A483+NABRRhf7v/jzf40YX+7/AOPN/jQAUUYX +7/4
83+NGF/u/wDjzf40AFKOopML/d/8eb/GlAXI+X/x4/40AYkGgzXvmXC6lNED czFU
XOFPmMOPmHv+dT/8I3d/9Bq5/wDHv/iq0tJcCyYc/wDHxP8A+jXq75i+9VzM nlRg
f8I3d/8AQauf/Hv/AIqj/hG7v/oNXP8A49/8VW/5i+9HmL70cz/pIOVGB/wj d3/0
Grn/AMe/+Ko/4Ru7/wCg1c/+Pf8AxVb/AJi+9HmL70cz/pIOVGB/wjd3/wBB q5/8
e/8AiqP+Ebu/+g1c/wDj3/xVb/mL70eYvvRzP+kg5UYH/CN3f/Qauf8Ax7/4 qkbw
xcuMNrFwwyDg7jyDkfxV0HmL70eYvvRzP+kg5UYH/CN3f/Qauf8Ax7/4qj/h G7v/
AKDVz/49/wDFVv8AmL70eYvvRzP+kg5UYH/CN3f/AEGrn/x7/wCKo/4Ru7/6 DVz/
AOPf/FVv+YvvR5i+9HM/6SDlRgf8I3d/9Bq5/wDHv/iqP+Ebu/8AoNXP/j3/ AMVW
/wCYvvR5i+9HM/6SDlRgf8I3d/8AQauf/Hv/AIqj/hG7v/oNXP8A49/8VW/5 i+9H
mL70cz/pIOVHJpx4tuPoP/QFrb3VjRIsniu7Ult20bdpA52r6g9s1sfZJf7x /wC/
g/8AiK23SOd3UmDElSASpI6jtXH6h4LuNaS8fV9RtZrmaGKGNobDZGBHJ5i+ YjO3
mfMMEZAwWAxnNdh9kl/vH/v4P/iKUWMzDIY/9/R/8RS5Vvcak+xzWk+F/wCz byyu
c6bF9ljnTydPsPs0TeaYznbvbBHl9e+e2Oa8vgeCbQr/AEyW7EgnkRoGkgDL BHG+
+KIoTh0U5BHGQSOK2NW1jTNDdYtQ1KKKd/uQLLvlf6IsZY/gKk0i8Gs2r3EE dzEi
yFMXH7tjwDnaUyBz3waLJ9Q5pLoZmkeF/wCzb2xuc6dD9lSdPJ06w+zRN5hj Odu9
sEeX1757Y56TdSfZJf7x/wC/g/8AiKPskv8AeP8A38H/AMRTt5iu+wu6jdSf ZJf7
x/7+D/4ij7JL/eP/AH8H/wARRZdwu+wu6jdSfZJf7x/7+D/4ij7JL/eP/fwf /EUW
XcLvsLuo3Un2SX+8f+/g/wDiKPskv94/9/B/8RRZdwu+wu6jdSfZJf7x/wC/ g/8A
iKPskv8AeP8A38H/AMRRZdwu+wu6jdSfZJf7x/7+D/4ij7JL/eP/AH8H/wAR RZdw
u+wu6jdSfZJf7x/7+D/4ij7JL/eP/fwf/EUWXcLvsLuo3Un2SX+8f+/g/wDi KPsk
v94/9/B/8RRZdwu+wu6jdSfZJf7x/wC/g/8AiKPskv8AeP8A38H/AMRRZdwu +wu6
iJv9LX/rm381pPskv94/9/B/8RQtrKr7w3OMcyDp/wB8e1K2gJu+xR8RRajL YyvZ
3ltFbrC/2iKe2MpkXGfkYOuw9eSGHI4451m+9VDVI5xpF6Swx5D5+cf3T/sV fb71
YtWOlSuJRRRSGA+8f90/zFcf4j8Q6vpupaiLJ9PW007To76WO4hdnmy8gKK4 cBDi
PAJVuTXYD7x/3T/MVhz+F9PvPFH9uXtva3UqW8UUCzW6u0LI7tvVj0J3Dpj7 vWjq
h9H/AF1QsnirSIJbuKa4kSSzVWuAbeQiMsFKrkLgsd64UEkk4AODTW8X6Ilo ty91
KitcfZhG9rKsvm7SwQxld4YqMgEc5GM5GYbzwt9qXVit6Y5b27gvIm8rIhki WPbk
Z+YZjBI44JHHWsvVdB1aO40y4jvI59Sm1VZ5rlLNvJiVbeRFzHvJC9Acvklu o4AP
+B+n/BC2n9djbfxboyWMF2LiaRJy4RIrSWSX5Dh8xqpddp4OQMEgHGRVHWfH mlaU
kohW5vZopYI5Et7aZ1USFMEuqMv3XDAZ+boOap3vgBb2Ozmmn0+6voZJ5JW1 DThc
QSmZgzYiLgrgqu0huACDnOauy+EXfT9SgjvIYpLue2uEKW2I4WhWIABN3Kkx DjIw
DjPGaF5h1Lp8SWNuLuS4uy6xzJEkEdlL5ys0auE2AFnbB3fKowOo+UmpYPEm mXV1
b21vJcSyzoJBstJSEBzjzG24jPysMOQcgisXVPAw1X7RLcXVpLcS3sV6FuLE Swbl
hETK0Zb5lIBI+YEEjk45ntvClxb6hplxHcaZaR2ahZE07T2tmlALHZkSkeXl s7GV
uckEE5D/AK/D/MT8u34nU0UUUgCiiigAooooAKKKKACiiigAooooAKKKKACi iigA
pR1FJSjqKAK+mHFq/wD18T/+jWq5urOsI5mgkKEbftE2Pnx/y1b/AGT/ADqz 5Vx/
eH/fwf8AxFVyshzRY3Ubqr+Vcf3h/wB/B/8AEUeVcf3h/wB/B/8AEU+Vhzos bqN1
V/KuP7w/7+D/AOIo8q4/vD/v4P8A4ijlYc6LG6jdVfyrj+8P+/g/+Io8q4/v D/v4
P/iKOVhzosbqN1V/KuP7w/7+D/4ijyrj+8P+/g/+Io5WHOixuo3VX8q4/vD/ AL+D
/wCIo8q4/vD/AL+D/wCIo5WHOixuo3VX8q4/vD/v4P8A4ijyrj+8P+/g/wDi KOVh
zosbqN1V/KuP7w/7+D/4ijyrj+8P+/g/+Io5WHOixuo3VX8q4/vD/v4P/iKP KuP7
w/7+D/4ijlYc6MW3OPGFwf8AZ/8AZFrf8z3rAt0Z/Fd4VGSqA49flUf1rY2y f88Z
P/Hf8a10aRi21J6E/me9c14o1bUXvNO8O6Pe29le6iXaS6ldd0MS4zsU/ec5 IGOm
D061vbZP+eMn/jv+NVNU0bT9csPsmqaa86q2+N8qHib+8jBsqfcVEkraFQk7 6oxN
K8L3XhjxLC1jb2z6Q0DPf39yfMu5pMNnLHk87eBxjPeut2QQIq28cccRGQI1 AH6V
za6HrccRtV1y5ntNu0C7gDy7fQukqBuOMlc+prbjieGCKIJO+xcFnKZJznPB wOvQ
cCiKXcqUvI4N3sjFLrt7pNlqepQ619mmluJNk1mv2gJEI/lYgBSjbcqCGJ53 cwP4
mv8AQdCvTpaxzXSX2pXUkMkAceUk7ZYsZYwgyQM/MeeFODXbzaJp9xqUepTa Pby3
8QAjungjaVAOmHJyOp796bcaBpd4qLc6HazhHaRBLbxNtdjlmGehJ5J701FJ b/1p
/l+gue+6e9/z/wAzKn8Qa6upXcKQQKXt2fTbZrdibpgitnzvMCDDEjYyqSBk HGTW
BqDS+I9a0FbnT9I1u4jhvllgv7d7SKNlaEH5HWY7hnGeQc5Bx17NvDuktcXF w2hW
hmuY/KnkNtFulTgbWPVhwOD6CprTSLKwSFLPSobdYFZYVhhjQRhiCwXB4BIB OOuK
OVXvf+v6/pEqcl0ZzU+s6jYS6ummWFhax2l5GlzPFZtN5cX2ZGLtGro0hBIU beQo
HynFU4ta1Kw1nW9StHspbBtSskmDRvvlEsUCZQ7gExuB5DZ6cYyesvdA0zUg wvtE
tboPIJWE9vE+XC7Qxz3wAM+nFWG063cShtORhK6ySZjjO9lxtY88kbVwe2B6 U0le
7fb9L/l/XR8z7MxPFOoDw/qNpr5wUEE1pIv95mG+IZ/3k2j3krPk0KyaXRNN htkl
1q08me41EAeZbIrb3O7qDI28bR13MTwDXXz2qXUYjuLPzkDK4WRUYbgcg4J6 ggEe
4qjc+G9Hvb8X91oFnPeAqRcS20TSAjodx547UlFJrXr/AMH89xOT7fh/XQ2f M96P
M96g2yf88ZP/AB3/ABo2yf8APGT/AMd/xp2XcXNLsT+Z70eZ71Btk/54yf8A jv8A
jRtk/wCeMn/jv+NFl3Dml2J/M96PM96g2yf88ZP/AB3/ABo2yf8APGT/AMd/ xosu
4c0uxP5nvR5nvUG2T/njJ/47/jRtk/54yf8Ajv8AjRZdw5pdifzPejzPeoNs n/PG
T/x3/GjbJ/zxk/8AHf8AGiy7hzS7E/me9Hme9QbZP+eMn/jv+NKElJ4hk/Nf 8aLL
uHNLsM1APPpt1DGNzyQuqjOMkggUw30pP/IOu/8AvqL/AOLqfypv+eEn5r/8 VR5U
3/PCT81/+KpOMX1GpyXQg+2y/wDQOu/++ov/AIuj7bL/ANA67/76i/8Ai6n8 qb/n
hJ+a/wDxVHlTf88JPzX/AOKpcke4/aS7fgQfbZc5/s676Y+9F/8AF+1H22T/ AKB1
3/31F/8AF1P5U3/PCT81/wDiqPKm/wCeEn5r/wDFUcke4e0l2/Ag+2yf9A67 /wC+
ov8A4uj7bJ/0Drv/AL6i/wDi6n8qb/nhJ+a//FUeVN/zwk/Nf/iqOSPcPaS7 fgQf
bZP+gdd/99Rf/F0fbZP+gdd/99Rf/F1P5U3/ADwk/Nf/AIqjypv+eEn5r/8A FUck
e4e0l2/Ag+2yf9A67/76i/8Ai6Ptsn/QOu/++ov/AIup/Km/54Sfmv8A8VR5 U3/P
CT81/wDiqOSPcPaS7fgQfbZP+gdd/wDfUX/xdH22T/oHXf8A31F/8XU/lTf8 8JPz
X/4qjypv+eEn5r/8VRyR7h7SXb8CD7bJ/wBA67/76i/+Lo+2yf8AQOu/++ov /i6n
8qb/AJ4Sfmv/AMVR5U3/ADwk/Nf/AIqjkj3D2ku34EH22T/oHXf/AH1F/wDF 0fbZ
P+gdd/8AfUX/AMXU/lTf88JPzX/4qjypv+eEn5r/APFUcke4e0l2/Ag+2yf9 A67/
AO+ov/i6Ptsn/QOu/wDvqL/4up/Km/54Sfmv/wAVR5U3/PCT81/+Ko5I9w9p Lt+B
B9tk/wCgdd/99Rf/ABdH22T/AKB13/31F/8AF1P5U3/PCT81/wDiqPKm/wCe En5r
/wDFUcke4e0l2/Ag+2yf9A67/wC+ov8A4uj7bJ/0Drv/AL6i/wDi6n8qb/nh J+a/
/FUeVN/zwk/Nf/iqOSPcPaS7fgQfbZP+gdd/99Rf/F0fbZP+gdd/99Rf/F1P 5U3/
ADwk/Nf/AIqjypv+eEn5r/8AFUcke4e0l2/Ag+2yf9A67/76i/8Ai6Ptsn/Q Ou/+
+ov/AIup/Km/54Sfmv8A8VR5U3/PCT81/wDiqOSPcPaS7fgQfbZP+gdd/wDf UX/x
dH22XP8AyDrv/vqL/wCLqfypv+eEn5r/APFUeVN/zwk/Nf8A4qjkj3D2ku34 EWn7
47UiRDGzSyPtJBIDOxHQkdCKteZ71F5U3/PCT81/+Ko8qb/nhJ+a/wDxVVZd yeaX
Yl8z3o8z3qLypv8AnhJ+a/8AxVHlTf8APCT81/8AiqLLuHNLsS+Z70eZ71F5 U3/P
CT81/wDiqPKm/wCeEn5r/wDFUWXcOaXYl8z3o8z3qLypv+eEn5r/APFUeVN/ zwk/
Nf8A4qiy7hzS7Evme9Hme9ReVN/zwk/Nf/iqPKm/54Sfmv8A8VRZdw5pdiXz Pejz
PeovKm/54Sfmv/xVHlTf88JPzX/4qiy7hzS7Evme9Hme9ReVN/zwk/Nf/iqP Km/5
4Sfmv/xVFl3Dml2JfM96PM96i8qb/nhJ+a//ABVHlTf88JPzX/4qiy7hzS7E vme9
Hme9ReVN/wA8JPzX/wCKo8qb/nhJ+a//ABVFl3Dml2Mqx/5Gy+/65D+SVv1g WP8A
yNl9/wBch/JK36yl0N49QoooqSgooooAKKKKACiiigAooooAKKKKACiiigAo oooA
KKKKACiiigAooooAKfH94/SmU+P7x+lAEtFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcxY/wDI2X3/AFyH8krfrAsf+Rsv v+uQ
/klb9VLoTHqFFFFSUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA UUUU
AFFFFABT4/vH6Uynx/eP0oAlooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKK
KACiiigAooooAKKKKACiiigDmLH/AJGy+/65D+SVv1gWP/I2X3/XIfySt+ql 0Jj1
CiiipKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA p8f3
j9KZT4/vH6UAS0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUU
UAFFFFABRRRQBzFj/wAjZff9ch/JK36wLH/kbL7/AK5D+SVv1UuhMeoUUUVJ QUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFPj+8fpTKf H94/
SgCWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKK
KKAOYsf+Rsvv+uQ/klb9FFVLoTHqFFFFSUFFFFABRRRQAUUUUAFFFFABRRRQ AUUU
UAFFFFABRRRQAUUUUAFFFFABT4/vH6UUUAS0UUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=

------------MkkGKvMpYqhVIIEfPr48rD--
Re: Deploying to or stopping a glassfish server that's already running [message #219602 is a reply to message #219574] Mon, 25 August 2008 14:27 Go to previous messageGo to next message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Dobes Vandermeer wrote:
> On Thu, 21 Aug 2008 13:11:49 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
> wrote:
>
>> Dobes Vandermeer wrote:
>>> On Tue, 19 Aug 2008 05:41:25 -0700, George Duh-bya
>>> <dumbass@whitehouse.gov> wrote:
>>>
>>>> "Dobes Vandermeer" <dobesv@gmail.com> wrote in
>>>> news:op.ufzwfmx9p5f524@tokyo.vc.shawcable.net:
>>>>
>>>>> If I restart eclipse and my glassfish server is still running, I
>>>>> have to
>>>>> go to the command line and stop the glassfish server and then
>>>>> start it
>>>>> again in eclipse, or I can't use the web tools "Publish" feature,
>>>>> since
>>>>> it'll try and start the glassfish server and fail because the
>>>>> server is
>>>>> already running. I also can't stop the glassfish server because
>>>>> eclipse
>>>>> thinks it is not runnig. I recently upgrade to eclipse ganymede and
>>>>> WTP 3; before I did this I was able to click Publish or Stop inside
>>>>> eclipse and it'd try to do so even if it didn't know whether or not
>>>>> glassfish was running.
>>>>>
>>
>> I'm not aware of any "Refresh Status" option ever being available in
>> the WTP Tomcat support or even the WTP server support in general.
>
> Sorry, my memory was off, it was called "Initialize Server Status" as
> shown in this screenshot from Eclipse Europa. I don't recall that it
> every worked, but I was able to use start/stop/publish regardless of
> what eclipse thought the state of the application was.
>

I believe this command simply forced a lazy-initialized server to go
ahead and initialize. This initialization now happens automatically in
WTP 3.0.x. For details, see Bug 207221
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=207221). I don't know if
the glassfish plug-ins behavior was affected by this change.

>> The WTP server framework starts the servers as child processes. By
>> owning the process, WTP can derive a certain amount "status" about
>> that process.
>
> I suppose it's conceivable however, that some of this information (i.e.
> the process ID) can be saved somewhere and loaded and validated when
> eclipse loads the workspace.

If you know of some OS independent Java APIs that could do some real
validation with respect an existing process, I would be interested in
hearing about them. I'm aware that TPTP provides an "agent" that can be
used to control processes on remote hosts. I don't know much about it,
so I don't know if it has "reconnect" type abilities.

>
>> Across various versions of Tomcat, there isn't a simple way to monitor
>> "status" of a Tomcat server running as an externally started process.
>> I don't know enough about glassfish to say if this true or not for
>> glassfish.
>
> Glassfish has a command that allows you to check whether the domain is
> currently running.
>
> I suppose this feature might be added for glassfish but not tomcat.
>
> Of course, as always with open source software, if I don't have time to
> fix it why would I expect that anyone else does?
>
> I put a request in bugzilla to at least allow stop/publish when the
> server doesn't "appear" to be running, since for glassfish (and possibly
> other enterprise servers) that's a completely ordinary circumstance.

Each workspace defines its own servers. Given the way it sounds like
the glassfish plug-ins are operating, I still think it's a mistake for
the glassfish plug-ins to leave the server running when its workspace is
shut down.

I don't know what settings are made available by the glassfish plug-ins,
but WTP can't assume that servers from the same vendor won't have
different settings in different workspaces. For purposes of running the
server with the correct settings, stopping and starting the server
across a workspace switch may be inconvenient, but necessary. By not
stopping the server when the workspace is shut down, the glassfish
plug-ins are making the process more inconvenient than necessary. I'm
doubtful that WTP would change to accommodate this "quirk" in the
glassfish plug-ins.

>
> If/when they add the ability to deploy to a *remote* glassfish instance
> it'll be even more important that publish works without "Start", since
> starting the remote instance might be impossible.

It is possible to develop a server adapter that doesn't depend on
starting and stopping the Java process running the server. A remote
server adapter could make use of this approach. However, while this
would duck the start and stop issue, it would present other
implementation challenges that may lead to different inconveniences.
Perhaps one of the bigger challenges would be to be able to change a
single character in a JSP without redeploying the whole Web application.

Cheers,
Larry

>
> --
>
> Dobes Vandermeer
> Technical Director, Habitsoft Inc.
> http://www.habitsoft.com
>
> ------------------------------------------------------------ ------------
>
Re: Deploying to or stopping a glassfish server that's already running [message #219816 is a reply to message #219602] Fri, 29 August 2008 22:16 Go to previous messageGo to next message
No real name is currently offline No real nameFriend
Messages: 13
Registered: July 2009
Junior Member
I've looked into bugs 207221 and 208048 referenced in this thread and I'm
still unclear as to what the glassfish plugin should do to work in the
newer/simpler environment. Can someone tell me? I've looked into the
server timeout values a bit and debugged with breakpoints there, but I
don't see those being called, for example, at eclipse startup.

Thanks,
Rochelle
Re: Deploying to or stopping a glassfish server that's already running [message #219823 is a reply to message #219602] Fri, 29 August 2008 23:06 Go to previous messageGo to next message
Dobes Vandermeer is currently offline Dobes VandermeerFriend
Messages: 26
Registered: July 2009
Junior Member
On Mon, 25 Aug 2008 07:27:01 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
wrote:

>> Glassfish has a command that allows you to check whether the domain is
>> currently running.
>
> Each workspace defines its own servers. Given the way it sounds like
> the glassfish plug-ins are operating, I still think it's a mistake for
> the glassfish plug-ins to leave the server running when its workspace is
> shut down.
>

Usually when I encounter this problem, it's because eclipse has crashed,
so even if the glassfish plugin wanted to stop the server it probably
wouldn't be given the chance.

> I don't know what settings are made available by the glassfish plug-ins,
> but WTP can't assume that servers from the same vendor won't have
> different settings in different workspaces.

In the case of glassfish, eclipse has no control whatsoever over the
settings of the server; you tell eclipse how the server has already been
configured. Thus, for two glassfish servers using the same glassfish path
and domain, the settings could never be different.

>> If/when they add the ability to deploy to a *remote* glassfish
>> instance it'll be even more important that publish works without
>> "Start", since starting the remote instance might be impossible.
>
> Perhaps one of the bigger challenges would be to be able to change a
> single character in a JSP without redeploying the whole Web application.

In my case, I have to redeploy every single time anyway, because glassfish
doesn't directory deployment of an EAR file, only a WAR file.

I think what's emerging here is that there are at least two different use
cases;

Mine:

1. Deploying EAR files which don't support incremental deployment
2. Glassfish is just started and stopped as a service with no
configuration or management from inside eclipse
3. Glassfish has the concept of a "domain" which can be stopped, started,
statused, and configured using an administration tool

Yours:

1. Deploying a WAR or similar supporting fast re-deploy
2. Might run the same folders or projects with different Tomcat settings
3. Using Tomcat which has no in-built concept of statically configured
domains or server status
4. Tomcat is fully run and configured by eclipse

In your use case, the things I'm asking for don't make a lot of sense. In
my use case, they make perfect sense.

Can WTP possibly accomodate both use cases?
Re: Deploying to or stopping a glassfish server that's already running [message #220102 is a reply to message #219823] Wed, 03 September 2008 17:55 Go to previous messageGo to next message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Dobes Vandermeer wrote:
> On Mon, 25 Aug 2008 07:27:01 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
> wrote:
>
>>> Glassfish has a command that allows you to check whether the domain
>>> is currently running.
>>
>> Each workspace defines its own servers. Given the way it sounds like
>> the glassfish plug-ins are operating, I still think it's a mistake for
>> the glassfish plug-ins to leave the server running when its workspace
>> is shut down.
>>
>
> Usually when I encounter this problem, it's because eclipse has crashed,
> so even if the glassfish plugin wanted to stop the server it probably
> wouldn't be given the chance.

I think all WTP supplied server adapters sufferer the same fate. The
orphaned servers would have to be shut down external of Eclipse. Are
the crashes occurring often enough in a consistent fashion such that
dealing with the orphaned server is that much of a problem? Typically,
I would think lost work would be a bigger problem, but the crash may be
happening in a way that doesn't usually lose work for you.

>
>> I don't know what settings are made available by the glassfish
>> plug-ins, but WTP can't assume that servers from the same vendor won't
>> have different settings in different workspaces.
>
> In the case of glassfish, eclipse has no control whatsoever over the
> settings of the server; you tell eclipse how the server has already been
> configured. Thus, for two glassfish servers using the same glassfish
> path and domain, the settings could never be different.
>
>>> If/when they add the ability to deploy to a *remote* glassfish
>>> instance it'll be even more important that publish works without
>>> "Start", since starting the remote instance might be impossible.
>>
>> Perhaps one of the bigger challenges would be to be able to change a
>> single character in a JSP without redeploying the whole Web application.
>
> In my case, I have to redeploy every single time anyway, because
> glassfish doesn't directory deployment of an EAR file, only a WAR file.
>
> I think what's emerging here is that there are at least two different
> use cases;
>
> Mine:
>
> 1. Deploying EAR files which don't support incremental deployment
> 2. Glassfish is just started and stopped as a service with no
> configuration or management from inside eclipse
> 3. Glassfish has the concept of a "domain" which can be stopped,
> started, statused, and configured using an administration tool

Since it runs as a server, I would characterize this as a "always
running" server.

>
> Yours:
>
> 1. Deploying a WAR or similar supporting fast re-deploy
> 2. Might run the same folders or projects with different Tomcat settings
> 3. Using Tomcat which has no in-built concept of statically configured
> domains or server status
> 4. Tomcat is fully run and configured by eclipse

I would characterize this a "start/stop" server, which is what most
server adapters implement. The ability to "reconnect" to a server would
be a special feature of this type of server. The possibility of
implementing this special feature would depend on what start and stop
involves.

>
> In your use case, the things I'm asking for don't make a lot of sense.
> In my use case, they make perfect sense.
>
> Can WTP possibly accomodate both use cases?

WTP can accommodate both, primarily because the implementation of these
use cases is up to the server adapter. The code for each use case would
be quite different, so you are effectively asking the glassfish plug-in
developers to provide two server adapters for glassfish.

Cheers,
Larry
Re: Deploying to or stopping a glassfish server that's already running [message #220105 is a reply to message #219816] Wed, 03 September 2008 18:08 Go to previous messageGo to next message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Rochelle Raccah wrote:
> I've looked into bugs 207221 and 208048 referenced in this thread and
> I'm still unclear as to what the glassfish plugin should do to work in
> the newer/simpler environment. Can someone tell me? I've looked into
> the server timeout values a bit and debugged with breakpoints there, but
> I don't see those being called, for example, at eclipse startup.
>
> Thanks,
> Rochelle
>

Dobes mentioned that the orphaned server was occurring due to Eclipse
crashing, so there is not much to be done about that. I think the main
question on the table is if Eclipse is started with a Glassfish server
already/still running, is there a way for the Glassfish adapter to
establish that the server is indeed currently running and reflect that
in the Servers View and internally. The first step toward determining
this would be to ask if the Glassfish adapter is build upon the WTP
generic server support or not. Information provided by Dobes suggests
that it might be.

Cheers,
Larry
Re: Deploying to or stopping a glassfish server that's already running [message #220107 is a reply to message #220102] Wed, 03 September 2008 18:13 Go to previous messageGo to next message
Dobes Vandermeer is currently offline Dobes VandermeerFriend
Messages: 26
Registered: July 2009
Junior Member
On Wed, 03 Sep 2008 10:55:35 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
wrote:

> Dobes Vandermeer wrote:
>> On Mon, 25 Aug 2008 07:27:01 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
>> wrote:
>>
>> Mine:
>
> Since it runs as a server, I would characterize this as a "always
> running" server.
>
>> Yours:
>
> I would characterize this a "start/stop" server, which is what most
> server adapters implement.
>
> WTP can accommodate both, ... you are effectively asking the glassfish
> plug-in developers to provide two server adapters for glassfish.

Actually, I'm only interested in the "always running" server for
glassfish, except that I can optionally use the start/stop buttons to
start and stop that server, and possibly the debug button which starts it
in debug mode.

--

Dobes Vandermeer
Technical Director, Habitsoft Inc.
http://www.habitsoft.com
Re: Deploying to or stopping a glassfish server that's already running [message #220121 is a reply to message #220107] Wed, 03 September 2008 18:43 Go to previous messageGo to next message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Dobes Vandermeer wrote:
> On Wed, 03 Sep 2008 10:55:35 -0700, Larry Isaacs <Larry.Isaacs@sas.com>
> wrote:
>
>> Dobes Vandermeer wrote:
>>> On Mon, 25 Aug 2008 07:27:01 -0700, Larry Isaacs
>>> <Larry.Isaacs@sas.com> wrote:
>>>
>>> Mine:
>>
>> Since it runs as a server, I would characterize this as a "always
>> running" server.
>>
>>> Yours:
>>
>> I would characterize this a "start/stop" server, which is what most
>> server adapters implement.
>>
>> WTP can accommodate both, ... you are effectively asking the glassfish
>> plug-in developers to provide two server adapters for glassfish.
>
> Actually, I'm only interested in the "always running" server for
> glassfish, except that I can optionally use the start/stop buttons to
> start and stop that server, and possibly the debug button which starts
> it in debug mode.

Combining the two adapters into one is potentially more work than
implementing both separately. I'm not sure what you would need to offer
the Glassfish plug-in developers to convince them it's worth the extra
work, other than usable patches. I've experimented with this briefly
with the Tomcat adapter and determined that the number of cycles it
would take me to implement something that didn't create more problems
than it solved is too many for it to be practical to implement at this time.

Cheers,
Larry

>
> --
>
> Dobes Vandermeer
> Technical Director, Habitsoft Inc.
> http://www.habitsoft.com
Re: Deploying to or stopping a glassfish server that's already running [message #220124 is a reply to message #220105] Wed, 03 September 2008 20:22 Go to previous messageGo to next message
No real name is currently offline No real nameFriend
Messages: 13
Registered: July 2009
Junior Member
Larry Isaacs wrote:

> Rochelle Raccah wrote:
>> I've looked into bugs 207221 and 208048 referenced in this thread and
>> I'm still unclear as to what the glassfish plugin should do to work in
>> the newer/simpler environment. Can someone tell me? I've looked into
>> the server timeout values a bit and debugged with breakpoints there, but
>> I don't see those being called, for example, at eclipse startup.
>>
>> Thanks,
>> Rochelle
>>

> Dobes mentioned that the orphaned server was occurring due to Eclipse
> crashing, so there is not much to be done about that. I think the main
> question on the table is if Eclipse is started with a Glassfish server
> already/still running, is there a way for the Glassfish adapter to
> establish that the server is indeed currently running and reflect that
> in the Servers View and internally. The first step toward determining
> this would be to ask if the Glassfish adapter is build upon the WTP
> generic server support or not. Information provided by Dobes suggests
> that it might be.

> Cheers,
> Larry


Yes, I can confirm that the glassfish adapater is built on the WTP generic
server support. So, where does that leave the GF adapter? Where is the
point in the server adapter code that has the chance to figure out that it
is running and update the servers view, etc.?
Re: Deploying to or stopping a glassfish server that's already running [message #220152 is a reply to message #220124] Thu, 04 September 2008 18:57 Go to previous message
Larry Isaacs is currently offline Larry IsaacsFriend
Messages: 1354
Registered: July 2009
Senior Member
Rochelle Raccah wrote:
> Larry Isaacs wrote:
>
>> Rochelle Raccah wrote:
>>> I've looked into bugs 207221 and 208048 referenced in this thread and
>>> I'm still unclear as to what the glassfish plugin should do to work
>>> in the newer/simpler environment. Can someone tell me? I've looked
>>> into the server timeout values a bit and debugged with breakpoints
>>> there, but I don't see those being called, for example, at eclipse
>>> startup.
>>>
>>> Thanks,
>>> Rochelle
>>>
>
>> Dobes mentioned that the orphaned server was occurring due to Eclipse
>> crashing, so there is not much to be done about that. I think the
>> main question on the table is if Eclipse is started with a Glassfish
>> server already/still running, is there a way for the Glassfish adapter
>> to establish that the server is indeed currently running and reflect
>> that in the Servers View and internally. The first step toward
>> determining this would be to ask if the Glassfish adapter is build
>> upon the WTP generic server support or not. Information provided by
>> Dobes suggests that it might be.
>
>> Cheers,
>> Larry
>
>
> Yes, I can confirm that the glassfish adapater is built on the WTP
> generic server support. So, where does that leave the GF adapter? Where
> is the point in the server adapter code that has the chance to figure
> out that it is running and update the servers view, etc.?
>

Tim deBoer's response on the dev list should give you some things to
look at. I can try to respond here as well if you have follow up
questions. Tim mentioned using ServerBehaviourDelegate.initialize() in
that response. An experiment I tried with Tomcat a while ago used this
method. However, in WTP 3.x, this method doesn't appear to be
guaranteed to be called during startup. If I only have the Servers View
open, I have to interact with the server (open its editor, start it,
etc) before it is called. Maybe ServerDelegate.initialize() would be
better since it is called during startup.

Cheers,
Larry
Previous Topic:Array cannot be resolved error
Next Topic:HTTP Preview Server cant find JRE
Goto Forum:
  


Current Time: Thu Mar 28 22:10:13 GMT 2024

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

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

Back to the top