From: "Saved by Windows Internet Explorer 8"
Subject: EIC - UK Trade Association for companies supplying the Energy Industries (Commercial, Offshore, Onshore, Overseas, Power and Water)
Date: Tue, 15 Jun 2010 09:35:49 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_003F_01CB0C6E.237A3AE0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543

This is a multi-part message in MIME format.

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/News/templates/News.aspx?articleid=162&zoneid=1

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>EIC - UK Trade =
Association for companies supplying the Energy Industries (Commercial, =
Offshore, Onshore, Overseas, Power and Water)</TITLE>
<META name=3Dkeywords=20
content=3D"Energy Industries =
Council,EIC,Energy,Chemical,Electricity,Energy Industy,Energy =
Industries,Trade =
Association,Petrochemical,Engineering,Petroleum,Gas,Pipe Lines,Oil,Power =
Generation,Waste =
Water,Solar,Sewerage,Exhibition,Exporting,LNG,LPG,Refinery,Offshore,Onsho=
re,Overseas,Platforms,Power,Contracting,Downstream,Project =
Lists,Projects,Quality Assurance,Rigs,Safety,Seminar,Standards,Sub =
Sea,Wind,Trade Mission,Upstream,Utilities,Video Conferencing,Virtual =
Office,Water,Nuclear Power,Safety,Environment,UK">
<META name=3Ddescription=20
content=3D"The EIC, the UK Trade Association for companies supplying the =
Energy Industry covering specialist areas such as Commercial, Offshore, =
Onshore, Overseas, Power and Water.">
<META name=3Dcomment=20
content=3D"The EIC, the UK Trade Association for companies supplying the =
Energy Industry covering specialist areas such as Commercial, Offshore, =
Onshore, Overseas, Power and Water.">
<META content=3D"text/html; charset=3Dutf-8" =
http-equiv=3DContent-Type><LINK=20
rel=3Dstylesheet type=3Dtext/css =
href=3D"http://www.the-eic.com/styles/eic.css"><LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.the-eic.com/styles/droplinetabs.css"><LINK =
rel=3Dstylesheet=20
type=3Dtext/css =
href=3D"http://www.the-eic.com/styles/right_menu_sub_pages.css">
<META name=3Ddescription content=3D"">
<META name=3Dkeywords content=3D""><LINK rel=3Dstylesheet=20
href=3D"http://www.the-eic.com/WebResource.axd?d=3DH4n9iT0M8-MWTQI7f5HmAV=
fLjWWEKMKbPpqZc-goZh4C06JKzRrxXlCJynPe42k4hPtB_o9DKsKTaB4bjxI2oQ2&amp;t=3D=
633921858185257500"=20
text=3D"text/css">
<META name=3DGENERATOR content=3D"MSHTML 8.00.7600.16588"></HEAD>
<BODY>
<FORM id=3DaspnetForm method=3Dpost name=3DaspnetForm=20
action=3DNews.aspx?articleid=3D162&amp;zoneid=3D1>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__VIEWSTATE=20
value=3D/wEPDwUKLTQyMTI3MDA2Nw9kFgJmD2QWAgIDD2QWAgIDD2QWBAIFDw9kFggeB29uZ=
m9jdXMFFVVzZXJOYW1lX2ZvY3VzKHRoaXMpOx4Gb25ibHVyBRRVc2VyTmFtZV9ibHVyKHRoaX=
MpOx4FdmFsdWUFCFVzZXJuYW1lHgVjbGFzcwUPTG9naW5fRW1wdHlUZXh0ZAIGDw9kFggfAAU=
VUGFzc3dvcmRfZm9jdXModGhpcyk7HwEFFFBhc3N3b3JkX2JsdXIodGhpcyk7HgVzdHlsZQW2=
AWJhY2tncm91bmQtaW1hZ2U6IHVybCgnL1dlYlJlc291cmNlLmF4ZD9kPUg0bjlpVDBNOC1NV=
1RRSTdmNUhtQVZmTGpXV0VLTUtiUHBxWmMtZ29aaDdNQlRxVDRabTA5dUoyb2JIMWFYYnRTRV=
dkb1pPa1pMdWJuLVlTZE1mb0FnMiZ0PTYzMzkyMTg1ODE4NTI1NzUwMCcpO2JhY2tncm91bmQ=
tcmVwZWF0OiBuby1yZXBlYXQ7HwMFD0xvZ2luX0VtcHR5VGV4dGQYAQUeX19Db250cm9sc1Jl=
cXVpcmVQb3N0QmFja0tleV9fFgEFFWN0bDAwJExvZ2luMSRidG5Mb2dpbrQZqmCAtCNlVLaMG=
r6EAGsWNiXp=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/WebResource.axd?d=3DhFcBjXq601yWOblNbKr-xA2=
&amp;t=3D634119086056600000"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/WebResource.axd?d=3DH4n9iT0M8-MWTQI7f5HmAVf=
LjWWEKMKbPpqZc-goZh7trwZHSUji5bXKAF108MJHgQWNQ4NQWlyJQoVJQ6S-1Q2&amp;t=3D=
633921858185257500"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/ScriptResource.axd?d=3DfFTPPJcrY00AOFC23fva=
qsPNa-AaRqgIU6Ia2bcwPM_K4Igppgu4aiG3Q3bixJzBBhCpUco88T6y-uYOcvvGvTLYCaWae=
Pb6_QR9JyBcaO81&amp;t=3Dffffffffcfc87de7"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
if (typeof(Sys) =3D=3D=3D 'undefined') throw new Error('ASP.NET Ajax =
client-side framework failed to load.');
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/ScriptResource.axd?d=3DfFTPPJcrY00AOFC23fva=
qsPNa-AaRqgIU6Ia2bcwPM_K4Igppgu4aiG3Q3bixJzBx1KZTNW_PreHnFiuQRGD9AFkKj9Ln=
eulTmQEnbvnuF3K5FFyhvFrRHzGrjs3mKr80&amp;t=3Dffffffffcfc87de7"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"><=
/SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://cdn.jquerytools.org/1.1.2/full/jquery.tools.min.js"></SCRIP=
T>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/scripts/jquery.cookie.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/scripts/droplinemenu.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/scripts/right-links.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.the-eic.com/SessionManager.asmx/jsdebug"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], =
[], 90);
//]]>
</SCRIPT>

<DIV id=3Dwrapper>
<DIV id=3Dcontainer>
<DIV id=3Dsub-header><!-- LOGIN -->
<DIV id=3Dctl00_Login1 class=3Dlogin-subpage>
<DIV class=3Dlogin-text>User Login </DIV>
<DIV class=3Dsublabel><INPUT onblur=3DUserName_blur(this);=20
id=3Dctl00_Login1_txtUserName class=3DLogin_EmptyText =
onfocus=3DUserName_focus(this);=20
value=3DUsername type=3Dtext name=3Dctl00$Login1$txtUserName> </DIV>
<DIV class=3Dsublabel-b><INPUT onblur=3DPassword_blur(this);=20
style=3D"BACKGROUND-IMAGE: =
url(/WebResource.axd?d=3DH4n9iT0M8-MWTQI7f5HmAVfLjWWEKMKbPpqZc-goZh7MBTqT=
4Zm09uJ2obH1aXbtSEWdoZOkZLubn-YSdMfoAg2&t=3D633921858185257500); =
BACKGROUND-COLOR: white; BACKGROUND-REPEAT: no-repeat"=20
id=3Dctl00_Login1_txtPassword class=3DLogin_EmptyText =
onfocus=3DPassword_focus(this);=20
type=3Dpassword name=3Dctl00$Login1$txtPassword> </DIV>
<DIV class=3DLogin_LoginButtonSub><INPUT=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3Dctl00_Login1_btnLogin=20
src=3D"http://www.the-eic.com/WebResource.axd?d=3DH4n9iT0M8-MWTQI7f5HmAVf=
LjWWEKMKbPpqZc-goZh6WUpTc6XTei6Dg9rMZqT0uezLela7V3AVlTwkBFyYNpA2&amp;t=3D=
633921858185257500"=20
type=3Dimage name=3Dctl00$Login1$btnLogin> </DIV>
<DIV class=3Dul-login-subpage><SPAN class=3DLogin_ForgottenPassword><A=20
id=3Dctl00_Login1_hlForgottenPassword=20
href=3D"http://www.the-eic.com/eic/MyEIC/ForgottenPassword.aspx">Forgotte=
n=20
Password</A></SPAN> </DIV></DIV><!/-- LOGIN --><SPAN=20
class=3Dlogoclass></SPAN><SPAN class=3Dlogoclass><A=20
href=3D"http://www.the-eic.com/index.aspx"></A></SPAN></DIV>
<DIV id=3Dnavigation>
<DIV id=3Dtop-tabs-sub><!------------------------------- START =
------------------------------->
<DIV id=3Ddroplinetabs1 class=3Ddroplinetabs>
<UL>
  <LI><A=20
  =
href=3D"http://www.the-eic.com/WorldwideOffices/index.aspx"><SPAN>Worldwi=
de=20
  Offices</SPAN></A>=20
  <UL>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/Dubai/index.aspx">Middle =

    East</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/Singapore/index.aspx">Asi=
a=20
    Pacific</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/Houston/index.aspx">North=
=20
    &amp; Central America</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/WorldwideOffices/Rio/index.aspx">South=20
    America</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/UnitedKingdom/London/inde=
x.aspx">London</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/UnitedKingdom/Billingham/=
index.aspx">Billingham</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/WorldwideOffices/UnitedKingdom/Aberdeen/in=
dex.aspx">Aberdeen</A></LI></UL></LI>
  <LI class=3Dsub-droplinetabs><A=20
  =
href=3D"http://www.the-eic.com/Events/index.aspx"><SPAN>Events</SPAN></A>=
=20
  <UL>
    <LI><A href=3D"http://www.the-eic.com/Events/index.aspx">Events =
Diary</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Events/Overseas/index.aspx">Overseas=20
    Events</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Events/Reports/index.aspx">Events=20
    Reports</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Events/NonEICEvents/index.aspx">Non EIC=20
    Events</A></LI></UL></LI>
  <LI><A=20
  =
href=3D"http://www.the-eic.com/News/PPLSearch.aspx"><SPAN>Publications</S=
PAN></A>=20

  <UL>
    <LI><A =
href=3D"http://www.the-eic.com/News/PPLSearch.aspx">News</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/ProcurementGuide/index.asp">Procurement=20
    Guide</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Publications/Publications.aspx">IEC=20
    61511 Guide</A></LI>
    <LI><A href=3D"http://www.energy-focus.co.uk/" =
target=3D_blank>Energy=20
    Focus</A></LI></UL></LI>
  <LI><A=20
  =
href=3D"http://www.the-eic.com/EICDataStream/index.aspx"><SPAN>EICDataStr=
eam</SPAN></A>=20

  <UL>
    <LI><A =
href=3D"http://www.the-eic.com/EICDataStream/MeetTheTeam.aspx">Business=20
    Information</A></LI>
    <LI><A href=3D"http://www.the-eic.com/eic/MyEIC/index.aspx">Account=20
    Management</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/eic/faqs/index.aspx">FAQs/Tutorials</A></L=
I></UL></LI>
  <LI><A=20
  =
href=3D"http://www.the-eic.com/Members/index.aspx"><SPAN>Membership</SPAN=
></A>=20
  <UL>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/ProcurementGuide/EICMembers.aspx">Membersh=
ip=20
    List</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Members/MembershipTeam.aspx">Membership=20
    Team</A></LI>
    <LI><A =
href=3D"http://www.the-eic.com/Members/MailingList.aspx">Mailing=20
    Lists</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/EICDataStream/AboutDataStream.aspx">About =

    EICDataStream</A></LI>
    <LI><A href=3D"http://www.the-eic.com/eic/MyEIC/index.aspx">Account=20
    Management</A></LI>
    <LI><A href=3D"http://www.the-eic.com/Events/index.aspx">Events =
Diary</A></LI>
    <LI><A href=3D"http://www.the-eic.com/ContactUs/index.aspx">Contact=20
  Us</A></LI></UL></LI>
  <LI class=3Dsub-droplinetabs><A=20
  =
href=3D"http://www.the-eic.com/Training/index.aspx"><SPAN>Training</SPAN>=
</A>=20
  <UL>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/AboutEICTraining/Services.aspx">E=
IC=20
    Training Services</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/TrainingProgramme/TechnicalWorksh=
ops.aspx">Technical=20
    Workshops</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/TrainingProgramme/IndustryOvervie=
ws.aspx">Industry=20
    Overviews</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/TrainingProgramme/GraduateDevelop=
ment.aspx">Graduate=20
    Development</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/TrainingProgramme/HealthSafetyEnv=
ironmentTraining.aspx">HS&amp;E</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/TrainingProgramme/ManagementProfe=
ssionalCourses.aspx">Management/Professional</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/HostCompanies/HostCompanies.aspx"=
>Host=20
    Companies</A></LI>
    <LI><A=20
    =
href=3D"http://www.the-eic.com/Training/HostCompanies/BecomingHost.aspx">=
Becoming=20
    a =
Host</A></LI></UL></LI></UL></DIV><!------------------------------- =
FINISH -------------------------------></DIV>
<DIV id=3Dspace-left-sub></DIV></DIV><!------ main image -->
<DIV style=3D"BACKGROUND-IMAGE: url(images/subbanner.jpg)" =
id=3Dsubpage-top><!------ LOGIN --><!------ LOGIN --></DIV><!------ main =
image --><!------ content -->
<DIV id=3Dmain-content-sub>
<DIV id=3Dleft-col>
<DIV class=3Dright-nav>
<UL id=3DNavMenu class=3D"menu collapsible">
  <LI id=3Dli0><A class=3Dm0=20
  =
href=3D"http://www.the-eic.com/News/templates/News.aspx?articleid=3D162&a=
mp;zoneid=3D1#"><IMG=20
  src=3D"http://www.the-eic.com/navigation/publications.jpg"></A>
  <UL id=3Dul0 class=3D"expandfirst subulright">
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/News/PPLSearch.aspx" =
alt=3D"">News</A></LI>
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/Publications/MonthlyNews.aspx" =
alt=3D"">Monthly=20
    News</A></LI>
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/Publications/NewsBrief.aspx"=20
    alt=3D"">NewsBriefs</A></LI>
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/ProcurementGuide/index.asp" =
alt=3D"">Procurement=20
    Guide</A></LI>
    <LI class=3Drightsitenavigation><A =
href=3D"http://www.energy-focus.co.uk/"=20
    target=3D_blank alt=3D"">Energy Focus</A></LI>
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/Publications/Publications.aspx" =
alt=3D"">IEC=20
    61511 Guide </A></LI>
    <LI class=3Drightsitenavigation><A=20
    href=3D"http://www.the-eic.com/Publications/ISO9001.aspx" =
alt=3D"">ISO=20
    9001</A></LI></UL></LI></UL></DIV>
<SCRIPT>
	var sectionID=3D9;
</SCRIPT>
</DIV>
<DIV class=3Dtext-content-sub>
<H6>Amarinth wins orders for $4m from Petrofac in the Middle East</H6>
<H4 class=3Dsubh4>27 April 2010</H4>
<P>
<SCRIPT language=3DJavaScript=20
src=3D"http://www.the-eic.com/News/templates/anmjs.aspx?a=3D162&amp;z=3D1=
"></SCRIPT>

<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt"><IMG=20
style=3D"MARGIN-RIGHT: 21px" border=3D0 alt=3D"" align=3Dleft=20
src=3D"http://www.the-eic.com/News/articlefiles/162-Amarinth2WEB.jpg" =
width=3D83=20
height=3D82>Amarinth, a leading company specialising in the design, =
application=20
and manufacture of centrifugal pumps and associated equipment to the =
chemical=20
and petrochemical industries, has secured orders from Petrofac totalling =
$4m for=20
delivery by June 2010. </SPAN><SPAN=20
style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt">The majority of the pumps =
are=20
destined for the ASAB Full Field Development project in Abu Dhabi, the =
biggest=20
on-shore project ever awarded in the region.</SPAN></DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: =
10pt"></SPAN>&nbsp;</DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt"></SPAN><SPAN=20
style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt">Underlining its continued =
growth in=20
the Middle East, Amarinth has secured orders for $4m of API 610 pumps =
from=20
Petrofac, one of the largest EPC contractors in the world. The main =
order of $3m=20
is to supply 33 VS4 Vertical, and 8 OH2 Horizontal pumps, some with =
Amarinth=20
Protect System seal support systems and others with Amarinth=E2=80=99s =
innovative=20
in-pump gulley sucker arrangement, for use in the ASAB Full Field =
Development=20
project in Abu Dhabi.</SPAN></DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: =
10pt"></SPAN>&nbsp;</DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt"></SPAN><SPAN=20
style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt">The ASAB project, the =
biggest=20
on-shore project ever awarded in the region, is to upgrade existing =
facilities=20
enabling the operator Abu Dhabi Company for Oil Operations (ADCO) to =
increase=20
production capacity to a peak rate of 720,000 barrels per day of =
stabilised=20
crude oil. The pumps will operate in particularly demanding and harsh=20
conditions, including low NPSH duties.</SPAN></DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: =
10pt"></SPAN>&nbsp;</DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt"></SPAN><SPAN=20
style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt">Prior to this order, =
Amarinth=20
secured a smaller order from Petrofac on the same ASAB project for 6 API =
610 OH2=20
pumps for use in pumping produced and potable water. Following both of =
these=20
contracts, Petrofac placed a further order for 15 API 610 VS4 Vertical =
sump=20
pumps for use on a Sonatrac project in the El-Merk field in Algeria. =
Again,=20
these pumps will operate in harsh conditions requiring low NPSH and this =
time=20
will have to withstand high operating temperature extremes that can =
reach 315=C2=B0C=20
in an upset condition, which is very rare for a vertical sump =
pump.</SPAN></DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: =
10pt"></SPAN>&nbsp;</DIV>
<DIV><SPAN style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt"></SPAN><SPAN=20
style=3D"FONT-FAMILY: Arial; FONT-SIZE: 10pt; mso-fareast-font-family: =
Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: =
'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: =
EN-GB; mso-bidi-language: AR-SA">Oliver=20
Brigginshaw, Managing Director of Amarinth commented: "We are delighted =
to have=20
been awarded these contracts from Petrofac which underlines our =
commitment to=20
providing the very best pumping technologies, short-lead time deliveries =
and=20
full documentation and support to such demanding major petrochemical =
projects in=20
the Middle East such as the ASAB Development".</SPAN></DIV><BR>
<P>Web :<SPAN class=3Dexternal-link-news><A =
href=3D"http://www.amarinth.com/"=20
target=3D_blank> http://www.amarinth.com/</A></SPAN></P>
<P></P></DIV></DIV><!------ content -->
<DIV id=3Dfooter>
<DIV id=3Dfooter-logo><!--img src=3D"/images/slices/logo-small.jpg" =
/--></DIV>
<DIV class=3Dcopyright>
<P class=3Dsubfooterp>Registered Office: Newcombe House, 45 Notting Hill =
Gate,=20
London, W11 3LQ</P>
<P class=3Dsubfooterp>Company Registration 493459 =C2=A9Energy =
Industries Council</P>
<UL class=3Dfooterlinks>
  <LI class=3Dfooterlinks><A=20
  href=3D"http://www.the-eic.com/ContactUs/index.aspx">Contact =
Us</A></LI>
  <LI class=3Dfooterlinks><A=20
  href=3D"http://www.the-eic.com/EICConstitution.aspx">EIC =
Constitution</A></LI>
  <LI class=3Dfooterlinks><A=20
  =
href=3D"http://www.the-eic.com/index.aspx">Homepage</A></LI></UL></DIV></=
DIV></DIV><!------ container end --><!------ wrapper end --></DIV>
<SCRIPT type=3Dtext/javascript>

    //build menu with DIV ID=3D"myslidemenu" on page:
    //jQuery(document).ready(droplinemenu.buildmenu("droplinetabs1"));
    droplinemenu.buildmenu("droplinetabs1");
  </SCRIPT>

<SCRIPT>var txtPasswordClientID=3D'ctl00_Login1_txtPassword';var =
WR_PasswordBackgroundURL=3D'url(/WebResource.axd?d=3DH4n9iT0M8-MWTQI7f5Hm=
AVfLjWWEKMKbPpqZc-goZh7MBTqT4Zm09uJ2obH1aXbtSEWdoZOkZLubn-YSdMfoAg2&t=3D6=
33921858185257500)';</SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
//]]>
</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.the-eic.com/navigation/publications.jpg

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

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.the-eic.com/News/articlefiles/162-Amarinth2WEB.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/4SPERXhpZgAATU0AKgAAAAgACwEPAAIAAAAJAAAAkgEQAAIA
AAARAAAAmwESAAMAAAABAAEAAAEaAAUAAAABAAAArAEbAAUAAAABAAAAtAEoAAMAAAABAAIAAAEx
AAIAAAAcAAAAvAEyAAIAAAAUAAAA2AITAAMAAAABAAIAAIKYAAIAAAAFAAAA7IdpAAQAAAABAAAA
9AAAAthGVUpJRklMTQBGaW5lUGl4NjgwMCBaT09NAAAK/IAAACcQAAr8gAAAJxBBZG9iZSBQaG90
b3Nob3AgQ1MzIFdpbmRvd3MAMjAxMDowNDoyNyAwOTozMzoyNQAgICAgAAAAAAAbgp0ABQAAAAEA
AAI+iCIAAwAAAAEAAgAAiCcAAwAAAAEAZAAAkAAABwAAAAQwMjEwkAMAAgAAABQAAAJGkAQAAgAA
ABQAAAJakQEABwAAAAQBAgMAkQIABQAAAAEAAAJukgEACgAAAAEAAAJ2kgIABQAAAAEAAAJ+kgMA
CgAAAAEAAAKGkgQACgAAAAEAAAKOkgUABQAAAAEAAAKWkgcAAwAAAAEABQAAkgkAAwAAAAEAAAAA
kgoABQAAAAEAAAKeoAAABwAAAAQwMTAwoAEAAwAAAAEAAQAAoAIABAAAAAEAAADboAMABAAAAAEA
AADhoAUABAAAAAEAAAK4og4ABQAAAAEAAAKmog8ABQAAAAEAAAKuohAAAwAAAAEAAwAAohcAAwAA
AAEAAgAAowAABwAAAAEDAAAAowEABwAAAAEBAAAAAAAAAAAAARgAAABkMjAwNTowNzowNSAxNTo0
MzowNgAyMDA1OjA3OjA1IDE1OjQzOjA2AAAAACAAAAAKAAABmgAAAGQAAAEsAAAAZAAAAN4AAABk
AAAAAAAAAGQAAAEsAAAAZAAAAz4AAABkAAAOeAAAAAEAAA54AAAAAQAAAAIAAQACAAAABFI5OAAA
AgAHAAAABDAxMDAAAAAAAAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAADJgEbAAUAAAABAAADLgEo
AAMAAAABAAIAAAIBAAQAAAABAAADNgICAAQAAAABAAAghgAAAAAAAABIAAAAAQAAAEgAAAAB/9j/
4AAQSkZJRgABAgAASABIAAD/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJ
CAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDP/AABEIAKAAnAMBIgACEQEDEQH/3QAEAAr/xAE/AAABBQEBAQEBAQAAAAAAAAAD
AAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwz
AQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXC
o3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3
EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNz
NPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG
1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/APVUkkklKSSSSUpJM5waC5xAaBJJ0AAXJ9W/xhYN
M1dHrHULJg5BOzGB1+hdDnZf/oKx9X/ditJT1qy8/wCtH1e6c81ZnUKK7mmDQHh9s+H2erff/wCB
rzfqPWOsdYdtzM617HT+q4010ETrW5lP6S2v/wANXWLofqf0/puF03Kw8rpT32ZNk7fQ3tsqexrG
t1Hp0fRc1/rvr/0qdEXqo6ebqWf4weiyRj05eSB+c2n0xP8A6Fux3f8ARTN+uxsP6Lp1kfy7amn7
mueuXPScTBkdT6xg4lwJml9zXvA/N9gc62z2e1EbZ0OB6fVHWj/SV49haf6vtSMfJF+b05+ubawD
b0+7/rb6n/lsrUqvr70AmMk34fabqX7Z/r0i5n/SXMWfsl8h3U20t7OuptA/te1rUPH6XRkZWM7G
zMPq1QvrN2NRe0WPrDgbmfZ7nN3e33el6n6T+bQETfRX2voeD1XpnUWb+n5dOW0ak02NfH9bYXbV
bXnP14wekV5VF+FhOxshoJuyW0PorIA/RBuRtqb6zd/+C/wf87YqnTPrf1zpkN9Y59PIpynSQPzt
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
fWaz1GN/R/Q/0ikjsFp3c8vPf8UJ79P7lN4QiyRKI3UXS6JnMZvx7m+pQyfUqGm/HthuTVp/o3fp
Wqx1LFuxLPSx2b3VF19TqiSQ2fUoyGPYWurdZ/If6iw2vtptZbSdtlZ3MJ1Bn6TXt/cd+cumwr8b
qfTmsseKG1uIZa4F5x3n6dOSxu31sNzvfT/of+3EDuno6HSs7Lxs3H6nfbbffU9pdZc91jjWRtez
dc5+32Of6npru/rKKL+nUuY9jqfXa97twAI2WbDu+ivP8duQbhVcNmQQP0Toc2Gna61t3t/Q3Rvq
dW1dTgOt+zVVX7XsZAv0lo2nfj5G14/Mb9NMJo2mrGjfw/rVi20jpt7i27IrfX0++4iqvKe39D6F
Ft231L2W2V0+36a5PLyuvdN6EK8muxvSn349PUS122KXFtWRW2/2vo9V36Cy/wD9KLoCM/Jy2ZeT
iYuX9iew4GZcLXWMY97Pte5tYsa652Oz1Ma6v+bu/MU/rb1HqORiPpwmB1D2ll9RDXtsa/s1xd/h
J2Ppvx67v9EmnuOihro8JmdQNbrrX42HhZOLfXX0x+JSKmwxxZfS29v6XOptx3fpPX/RrLrt6hkZ
hdh1Ndc9xcG2OaxoYwPue/fa5jf5tvsUh02o32U4QpblVj9Mxr5cwO+k1jHep72vd6dlVX83/hFt
YXRN2M3BptNQZY2zLfsD2ucS3+eH0XO/wdG2z/i0idQK+i8ARBNjzc+qrGZgZLKd4Bs9ahzvpAuG
+e35qsXYzMzp7LCI9atr3COBHl/KWj9Yui1dKtYyommzIaX/AGGwmx1TS5wpsrzIb6tNzv0fo5P6
7V/w1KE+oUYYxY1Y0NGpJIQ612K6VaSj5uBS99mJXv8A5ygmiz+zrX/0VLWdOFNjQDnBpnaa7NPM
lrv+iFAOHdOJY5b7sb6xbS+o/nBWcbJdldMrfZ/P0ONdh7e2GD/wNDa6uI7eCXSnNqzcrGsMVXs9
YE9i0iu0/wCY/cmmWn91QF9U9dzqt1jLLK2PbtvFT3MFjBuJqyPTc31qfd/NvXo/o/8ArrNms/sX
1P7X2f1v+rXn/UOkdQxOmUW5FBpb1Gt7cIEg2PJG6oPqb7m2WVv9Zlbvf/g/pr2L9nUfsv8AZcfq
/ofZo/kbPR/6hOvUoobP/9Xq/wDGThW5H1admUR63Sr6s9gcNwPpH9JLZH0arHv/AJa5z6zfWXC+
s+BhdIZsZkOIuuzYtFVNza3/AGeumssbdb9q3enb/wBxaX/4WxekZWNXlYt2LbPp31uqfGh2vBY7
b968QGBkdMyrMHJBbk4VhpeRMSyHMtbu/wAHkVelcz/jU4GlU0jinaXbS0jR9bvpMJ92x37zf3bW
/TVcVEaLoH+hfeQZrt+lU4DXa6NzWtPsfWx/+CVfKwmgS+K3OMNcCPTcf63+Cs/4FOEggit9nGdV
PZExL78DJZl0Ebm6WMeJY9n+juaPpN/6au/ZnTtOhGhB/gkcV39yEvFcAa0eh6fkY/UWPrxqfUdS
S9/SnvJurBG92V01/sfdTuH81S7/AI2paeH1bFxSH411vrM0trymxY1/MWW0N+hXu/RVvxf0X+EX
EnDbDXCWOqM12NkFjv6497Voftfqn811JjM/6JFl423Q0e01ZVY3WN2/n2JhvoVEdT6T+D6T0z6y
9Mz6Rj51lGNeD7Wss/Ru0ltlT/0bq/8AirULqFNlWdTtaWVusray0NL2E3ObS2xr3fovUbv3fvs+
muCxsjpuXkCimm/HyMrc+iu61r6Irabbffc31vR9v6Ox/wDhVdwquoY+/wCyZF+JUdXNpv8ATaZ/
4P3M3/1ECR1UIkq6d0ykXu+ygvvtucyzJDS1xLHmtjrbQ1v0/wDgv55dDXdjdA6O3OzLdl11xsx8
XbsteajtGOyp7vTdu/nPtD2enib/AFv+EWQzPd0ytllDaanY8iu20OsIc4bPVFZeyr19fprlsu/L
zM97rnPyM/IH6W2wy4MBltb7B7Kcd3031VNZUz+bSBCeE9/o6OX1W/Ltyes5hZZc4i0sBO2foYOE
yPpUV/8ATf8AaLvz1BnUm5WO27Z6b3OLXtGu2wfzlf8AV/Pr/kKrmOPp14wcHY9Jn1AI9awiHW/v
bWfQp/8AM1HpDX+rmUPA9Ok1Xhvb3tdW7d/moDv1K+XYbAKJ3OzXidtrK9s8+1z6tf6qrFp8Fo2V
xiWuDXCTXS3cI9zB6lzhH5rnusQG0iBMglGxr5rKuvJqGue2qh6Z+2Yr3AvrO6q0N5LLGua5q0Ri
90SvDl09kOIUoAh08PPyvrN1b6v9MyqWvyenZZvbmglsY1QbZZjmhnt/Sehj1vuf/hV6wuE/xc9J
YMrN6q7U1gYVMcfm5GU7+0/0Gf8AWl3iOteNLa1p/9b1VcH/AIwOjBmZR1qpp23AY2YREBzZdiXf
9KzH/wC2V3iBnYePn4luHlMFlF7Sx7T4Hu3917fpMckoPkVuJ6tYB1dWdPMH6Tf6yLRZ7PTvb69R
0dImQP32/ntWhk9Ov6fmvwcnWykSLIgPqPtrvb/6O/cuVcbGP9OdjpiDIhx19J37j/5D0wkjRlAB
1atnSNPUwHi6rkY9jocw/wDA2n/zzapdO6Zl528sBZs0IsYTB/c/R/nq56Ra6WmC7mNAfijU5WXj
ODsew1WCPe3XQHdtLHex6Qydwj2hvE157Mavq06za4W22nUbKMV7ntcBJrstvdTj1bv37XbFVq6M
91rK3ubUdwP2cbc+8ndAr+y43+S8b1HfSsy8t/8AxS1n5tL2frGBi5bpkuewsd97D7kWvrXT6m7f
2O5o5IZkuDRHgxPBh3QYZO1/VpM6E6k2WbXVnJbtfe+xtuQ2pn81VkP21UV0b2/0LErppZ+j9T1P
SVbMdfSSxjzfZoAwNkSfc4vsb7P+ktI/WGg2TT0ShscPvs36n3SRsduQczrGdmMDLCwMb9FlbdjW
x+6JKbMxrdUY5B/VDjZOPkuqfkZLm1sqAO5xisO/NZVPuuv/ALKo1TVVsppFb3ybbHkkuJ/N/q7v
zVfzKXPaHWO3Fhls6gE/nNCVdTX1tdwBA+JTL0ZscQNdye7ROPuMu9z+S46QR/J/dUemtsDuqW1e
423142vEUsP2j/p21q7mWNx6jb3ghoI5KsdNoqwumUHc573TdkOAHusscbW7fzt1TP8AwR/8hPB0
tbOiRAb/AKRQ5VENpxBJFDd1hOsvdO7X87a4uUG45AlXixzosIncSSRxwk411sLrNG8HSZn27Q1v
uc9/0GbVGZHXzXEC/IAfYhZS2B3RqMa+66vHxdcnIcK6BEw4gu9Vzf8ARUMb6tqnfjWYT2VZjPs9
tlAyhW76Taidm639xzH+x7V131Q6I7Gqd1PJaW35Iiit3NdPOrT9C7I/nLv+tVpRBJrZEjERvu7X
TOnYvTMKrCxW7aqh8S5x91lj3H6T7H+5ytpJKZrv/9f1VJJJJTm9b6OzqmO3a70sugl2Nd2BI91d
g/Pou/wrP+ufzlda5fpvU8zH6V1PovVsOut9Ac3Fgt3WOt3ObVbS76VlDtr/ALW39Fk0/pV3Kzes
dDxOqta55NOVUCKMln0mzrse3/C0u/Pqeh3PVcD0Oz5/bXY0tG6Txu8SrFTAB+kEHsE+fVmdPyDj
51IqcTDX6mqwHh2Pcdrdzv8ARv8A0tagy4sYDtLmdmnkf2/zlFR66M0ZDozIPDYUbQdmh+KkH1v/
AJsyR+aOR8lCzVun46JJsIGAOcfNS2AIWM+bXN8NFZAnUaoqvQoX1bw4eSrY5rpY83HaxpgO/DhX
bb6qAQ7V5gbR591Uy8Oqlpv6uHT/AIPpYJre+eLeo2/9osd7f+0v9Myf+DRjG99GKU+kdZFBViHq
Nv27Jmrp9Ly2k/Rda5v84zH/AOL/AMNkf4P+bqVl94tGg2sbIa0CP+inyLL8u0WWxG0NaGgNa1gE
V1VVt/m6q2fQYmcamCND8EpHoywjwA3rKXVnjFzgajo3kH8qsU+pX+nZZ9nsq/SMu0PplurXWb/0
f9feqlbtr2gEuseYqraC5ziPzWVV7rHrruifVU3Mqy+sVxw6vAMFoP0g/Lj23Wf8D/NV/wDCICJJ
0XTlEDXdp/V76tZPU+o2fWLreRZmNyGsGPTa0VtLGH1K9uO3+bw9/wClrpd/SP6Rf/wvbpk6lapN
qSSSSQ//0PVUkkklKSSSSUhysXGzMd+NlVtuotG2yt4kEFcj1T6k5tIL+jXNuqbxh5JIcABoyjM9
39j7Uyz/AI9dokkkEjZ8h6hZb0+4UdRpswrDoBeNrTEbvSymzjW/9auWr0ZvQ8zAvbmZ2RR1amu7
JOPIAFNe70nYzLGenk0Ora2/6fqr0a6mq+t1VzG21u0cx4Dmn+s1y53J/wAXX1RyHPsbhHGteSRb
j22VlpcZd6TGP9JjP+D9P00BEA2ni0fOsTqhbku9Zga+xgsc1ugafzmbXStOjqGNY4MfaMRjgXvu
fqNoE7GBvu9R62sr/FPi2ZHr4/VsqtwY6tptZXaQCZ2vdtq9Rv8AX9/8tVXf4pc81Bn7fOmg/VGf
+l9yHD5LjMEVq06urdMwx62JDsjVrbfpWNB+m6rf7KrXf6T+dWd1XNZkY7g2vdJG7a79IRuabTXY
/e1t7q9+y2z/AAn01rU/4nMve039ecWfnNZjwf7L3Xu2/wCYt/E/xXfValm3LGR1EzM5N74B8q8f
7PX/AJzU6u60Sr5Xjeo9Z+r+TlY2D9XWXN+zbm5Isa+669z2TU2lrX35Fv2axjvX/wDSSv8ASvqz
9Y+rO3fZj06hp2uyM1pa7+tRgtLbbv8Ar9mNV/xi9E6d0To/SgR03CoxC4Q51VbWucP5djRvf/bV
5AiPZQnICr179XK6H9Xen9FpIoBtyrB+nzLADbZ5S0BtdTf8HTX+jYtRJOitJJ3UkkkkpSSSSSn/
2f/tJs5QaG90b3Nob3AgMy4wADhCSU0EBAAAAAAAEBwCAAACAAIcAnQABCAgICA4QklNBCUAAAAA
ABBStHo8UV2kqNPjJlLhxjPdOEJJTQQvAAAAAABKsK4BAEgAAABIAAAAAAAAAAAAAADQAgAAQAIA
AAAAAAAAAAAAGAMAAGQCAAAAAcADAACwBAAAAQAPJwEAagBwAGcAAABqAHAAZwA4QklNA+0AAAAA
ABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQA
AAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhC
SU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEA
oZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAA
AHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gA
AAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAA
OEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0sA
AAAGAAAAAAAAAAAAAADhAAAA2wAAAAsAQQBtAGEAcgBpAG4AdABoAFcARQBCAAAAAQAAAAAAAAAA
AAAAAAAAAAAAAAABAAAAAAAAAAAAAADbAAAA4QAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
AAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAA
BAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAA4QAAAABSZ2h0
bG9uZwAAANsAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGlj
ZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3Jp
Z2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAA
BmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25n
AAAAAAAAAABCdG9tbG9uZwAAAOEAAAAAUmdodGxvbmcAAADbAAAAA3VybFRFWFQAAAABAAAAAAAA
bnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5j
ZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVt
AAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNl
VmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JU
eXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAA
DGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAM
AAAAAT/wAAAAAAAAOEJJTQQUAAAAAAAEAAAAAzhCSU0EDAAAAAAgogAAAAEAAACcAAAAoAAAAdQA
ASSAAAAghgAYAAH/2P/gABBKRklGAAECAABIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAoACcAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEF
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
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
Y2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1l
dGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMS1j
MDM2IDQ2LjI3NjcyMCwgTW9uIEZlYiAxOSAyMDA3IDIyOjQwOjA4ICAgICAgICAiPiA8cmRmOlJE
RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMi
PiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRv
YmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
IiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6eGFwTU09
Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMu
YWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpkYz0iaHR0cDovL3B1
cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2Jl
LmNvbS9waG90b3Nob3AvMS4wLyIgdGlmZjpPcmllbnRhdGlvbj0iMSIgdGlmZjpZQ2JDclBvc2l0
aW9uaW5nPSIyIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRp
b249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgdGlmZjpNYWtlPSJGVUpJ
RklMTSIgdGlmZjpNb2RlbD0iRmluZVBpeDY4MDAgWk9PTSIgdGlmZjpOYXRpdmVEaWdlc3Q9IjI1
NiwyNTcsMjU4LDI1OSwyNjIsMjc0LDI3NywyODQsNTMwLDUzMSwyODIsMjgzLDI5NiwzMDEsMzE4
LDMxOSw1MjksNTMyLDMwNiwyNzAsMjcxLDI3MiwzMDUsMzE1LDMzNDMyOzVBNEQzQkY0REYzMjQ5
QzY0M0I5MUFEMDUyNUQ4OEU4IiB4YXA6TW9kaWZ5RGF0ZT0iMjAxMC0wNC0yN1QwOTozMzoyNSsw
MTowMCIgeGFwOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1MzIFdpbmRvd3MiIHhhcDpD
cmVhdGVEYXRlPSIyMDEwLTA0LTI3VDA5OjMzOjI1KzAxOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIy
MDEwLTA0LTI3VDA5OjMzOjI1KzAxOjAwIiBleGlmOkV4aWZWZXJzaW9uPSIwMjEwIiBleGlmOkZs
YXNocGl4VmVyc2lvbj0iMDEwMCIgZXhpZjpDb2xvclNwYWNlPSIxIiBleGlmOkNvbXByZXNzZWRC
aXRzUGVyUGl4ZWw9IjMyLzEwIiBleGlmOlBpeGVsWERpbWVuc2lvbj0iMjE5IiBleGlmOlBpeGVs
WURpbWVuc2lvbj0iMjI1IiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDUtMDctMDVUMTU6NDM6
MDYrMDE6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDUtMDctMDVUMTU6NDM6MDYrMDE6
MDAiIGV4aWY6Rk51bWJlcj0iMjgwLzEwMCIgZXhpZjpFeHBvc3VyZVByb2dyYW09IjIiIGV4aWY6
U2h1dHRlclNwZWVkVmFsdWU9IjQxMC8xMDAiIGV4aWY6QXBlcnR1cmVWYWx1ZT0iMzAwLzEwMCIg
ZXhpZjpCcmlnaHRuZXNzVmFsdWU9IjIyMi8xMDAiIGV4aWY6RXhwb3N1cmVCaWFzVmFsdWU9IjAv
MTAwIiBleGlmOk1heEFwZXJ0dXJlVmFsdWU9IjMwMC8xMDAiIGV4aWY6TWV0ZXJpbmdNb2RlPSI1
IiBleGlmOkZvY2FsTGVuZ3RoPSI4MzAvMTAwIiBleGlmOkZvY2FsUGxhbmVYUmVzb2x1dGlvbj0i
MzcwNC8xIiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMzcwNC8xIiBleGlmOkZvY2FsUGxh
bmVSZXNvbHV0aW9uVW5pdD0iMyIgZXhpZjpTZW5zaW5nTWV0aG9kPSIyIiBleGlmOkZpbGVTb3Vy
Y2U9IjMiIGV4aWY6U2NlbmVUeXBlPSIxIiBleGlmOk5hdGl2ZURpZ2VzdD0iMzY4NjQsNDA5NjAs
NDA5NjEsMzcxMjEsMzcxMjIsNDA5NjIsNDA5NjMsMzc1MTAsNDA5NjQsMzY4NjcsMzY4NjgsMzM0
MzQsMzM0MzcsMzQ4NTAsMzQ4NTIsMzQ4NTUsMzQ4NTYsMzczNzcsMzczNzgsMzczNzksMzczODAs
MzczODEsMzczODIsMzczODMsMzczODQsMzczODUsMzczODYsMzczOTYsNDE0ODMsNDE0ODQsNDE0
ODYsNDE0ODcsNDE0ODgsNDE0OTIsNDE0OTMsNDE0OTUsNDE3MjgsNDE3MjksNDE3MzAsNDE5ODUs
NDE5ODYsNDE5ODcsNDE5ODgsNDE5ODksNDE5OTAsNDE5OTEsNDE5OTIsNDE5OTMsNDE5OTQsNDE5
OTUsNDE5OTYsNDIwMTYsMCwyLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2LDE3LDE4
LDIwLDIyLDIzLDI0LDI1LDI2LDI3LDI4LDMwOzJGODk1RUNGRTkwRkZEM0YzMUYxQkEzQUM0MUM3
N0JEIiB4YXBNTTpEb2N1bWVudElEPSJ1dWlkOjM5N0U5MTBFRDc1MURGMTFCNTZBRjVDRTQ1NDdE
RDJGIiB4YXBNTTpJbnN0YW5jZUlEPSJ1dWlkOjNBN0U5MTBFRDc1MURGMTFCNTZBRjVDRTQ1NDdE
RDJGIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rv
c2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgcGhvdG9zaG9wOkhpc3Rvcnk9IiI+
IDxleGlmOkNvbXBvbmVudHNDb25maWd1cmF0aW9uPiA8cmRmOlNlcT4gPHJkZjpsaT4xPC9yZGY6
bGk+IDxyZGY6bGk+MjwvcmRmOmxpPiA8cmRmOmxpPjM8L3JkZjpsaT4gPHJkZjpsaT4wPC9yZGY6
bGk+IDwvcmRmOlNlcT4gPC9leGlmOkNvbXBvbmVudHNDb25maWd1cmF0aW9uPiA8ZXhpZjpJU09T
cGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwv
ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlm
OlJldHVybj0iMCIgZXhpZjpNb2RlPSIwIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRF
eWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0idXVp
ZDozMzg5OUMxMEI2N0VEQTExOEFCRENCMDc3MDMwNjhFNyIgc3RSZWY6ZG9jdW1lbnRJRD0idXVp
ZDpFQkE5RkEyOEIzN0VEQTExOEFCRENCMDc3MDMwNjhFNyIvPiA8ZGM6cmlnaHRzPiA8cmRmOkFs
dD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij4gICAgPC9yZGY6bGk+IDwvcmRmOkFsdD4g
PC9kYzpyaWdodHM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBh
Y2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAH
zgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQ
ICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAAB
UAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFla
AAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2
aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAA
CAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXds
ZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAA
AAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZ
WiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2
z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8v
d3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABk
ZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IA
AAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0
aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlv
biBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAU
Xy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAA
AAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZ
AB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQA
qQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFF
AUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0C
JgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOAND
A08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE
tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZq
BnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4I
ggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrc
CvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4N
qQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5
ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcU
SRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgb
GEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIc
exyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc
IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3Jicm
VyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvR
LAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox
8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQ
OIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/
YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0ar
RvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5O
t08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3
V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng
BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlD
aZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz
XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2h
fgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmI
zokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQg
lIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qg
aaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQ
rUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6
O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/
yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHW
VdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T8
5YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0
wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZEAAAAAB
/9sAhAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgIC
AgIDAwMDAwMDAwMDAQEBAQEBAQEBAQECAgECAgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMDAwP/wAARCADhANsDAREAAhEBAxEB/90ABAAc/8QBogAAAAYCAwEA
AAAAAAAAAAAABwgGBQQJAwoCAQALAQAABgMBAQEAAAAAAAAAAAAGBQQDBwIIAQkACgsQAAIBAwQB
AwMCAwMDAgYJdQECAwQRBRIGIQcTIgAIMRRBMiMVCVFCFmEkMxdScYEYYpElQ6Gx8CY0cgoZwdE1
J+FTNoLxkqJEVHNFRjdHYyhVVlcassLS4vJkg3SThGWjs8PT4yk4ZvN1Kjk6SElKWFlaZ2hpanZ3
eHl6hYaHiImKlJWWl5iZmqSlpqeoqaq0tba3uLm6xMXGx8jJytTV1tfY2drk5ebn6Onq9PX29/j5
+hEAAgEDAgQEAwUEBAQGBgVtAQIDEQQhEgUxBgAiE0FRBzJhFHEIQoEjkRVSoWIWMwmxJMHRQ3Lw
F+GCNCWSUxhjRPGisiY1GVQ2RWQnCnODk0Z0wtLi8lVldVY3hIWjs8PT4/MpGpSktMTU5PSVpbXF
1eX1KEdXZjh2hpamtsbW5vZnd4eXp7fH1+f3SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6Slpq
eoqaqrrK2ur6/9oADAMBAAIRAxEAPwDf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r
3XvfutVzTrrj+vvRFet9d+/UHXuk3uTeG0tnUcmR3fujbm1cdEut8huTOYzB0aJ9C71OTqaWBFB4
uW9uRwvIQIo2Zq0oATk/Z1ptIFWNB0Vrcv8AMK+De0Kn7PPfKvo+CqLSKIaLfuEzMhaI2kCjCVGR
uY24a30IIPPt021wpKtCwI41FKV+316SPuFnE2hrlQ3D14ivl0GL/wA1/wDl/ieSGD5EYKujR/Gt
djdvbzr8dO1vV9tXUu3JYZhG90YqSA6ke7fR3WaxDH9Jf8BPTJ3ezBYB2YDzCkj/AFfy6UWM/mdf
A3JxrJF8kdmUitf1Zij3PhrBSVJZ8rgqONRcfW9vdTazjig/JlP+A9eXeLFqjx9P2qRw+0Z6FrZn
zN+JPYfGzvkh0vm5A+j7ePsTbVJVs+vxhVo8hkaSqcl+BZDfj+o9ssrIKsKDpRHe20holwpb7af4
ejF4/I47L0kddishQ5Shmv4q3HVcFbSygfXx1FM8kL2/wY+64YA+XSgUYVDV6m2A/wB8fegAOPXg
g65D/ef6e99WpTHXfv3Xuve/de697917r3v3Xuve/de697917r3v3Xuve/de697917r/0N/j37r3
Xvfuvde9+691737r3Xvfuvde9+69164/r7917r3v3XuitfI35n/Fz4nYpcr8gO6tm9ftUzR01DgK
msmy+8MpUSwpNFFjNmbfgyu6KtHR0LSpSeCMOpkdFYH3tFZyQpGPmB/h6rIREEaRWCtwNCRjHEDg
PM+XWvR8hP8AhSdlazIZPbPw3+MmSyL0y1Qp+yPkfUVO1cDWJGiwpPitkbSq63N1Our1tB9xkKfz
QBGZELFFcaMRf2ocmvBUZj+2lPt4gUyel1lbpdD+1RTjBdQcgHIJr50PClD0yfD3YX82b+a11dvz
tftr5+7s+OewH31/c7b+2un9gYLZ2G3PR7fo6XK5qPENtzMY3e1NiosjlExtTWVGZaaqakmCIACQ
LTdbNtm3bPPDYLJezxM51cUpLJGuoMDRmCV00FAQ1AGXoLX9juNxuu6wRbgY7CORFWmT/ZxuaFSK
irGtSfNSMU6pe+RPxf3L8du/dzdO/IOZ989kbMzn8QzG58lvrem/dtbk29l6Sg3Ht7MYKHeeVnyK
UuSo87SzSwVFP/kVYZaVWcU4dmLk3Vxbw3Nhr8E1oM4pQCuCKgBgc5rXpu329VlZJp01IKGrLxI1
EjVQ/i409QajpY7GwW08O8VZFhds4N5JZGEYxmHxsiSySv8ApVaeBkMxOv8AGq9/9ciFvuE6+Iyz
sx4nQ9TTH8PyHRm9zY2reAzJqX7CMivEceP7ejUYXfNFgHhQ1WMhY6dKy1VHTswcGRdEUkiFVK2t
ZbEc88e2/oLuRa+FORX/AH24yMfw9OJudgjBqqH+wef+XNeljm98RZDHGnlpKGs1xsIhJDSVAlRv
IrmnRtZkQHUDYEA3vz7Dl7tW5/VTyRw3OjHBJaV0r5haHhmhPRxb7ltzwxkrCSa5JWvn8/8AVQDo
mfYW3NlbkkkfL7F23XMrloHO3cYJQ6WDv54aaKUSIykA6iVt/hwyNt3bt1Q3JYD+CX/oHpsy7UwN
YoTX+kufTz9f9WOlf8Mfjh8ie/vkXQ9O/Eju3fnxq3Jido5vsvPb2wvYW7cPtrZu0Mbm9kbcnz9N
salzqQb5zldlM9LTwQeJaQS61nkjCOyjjaR9BssbX6M5WR1COp/FVgDqAK5zkcMgHzJJ4hPuFybQ
okTBT2sTwUA4UnJIPCg4Co49Wrd8fIv+ch/K4zuFj7V7h6f+X/T2X/gOJ2rvffmxKjaeR3Jknr6u
nrsNWSbTagyO390xYoQyuZshl46h1edUSK8aGMVjtG5QGW3YxTAnUpYVHChFcFcn04CmT09It7BV
lKSRcO46SM0HClPX8QpwNQR0aD48f8KF/jvvWrodv/JbrTfHx1zVXHDp3fjo5+1OrZppdY8FRkts
Y+PeeGqGfSumTCzU4JJNQFAYtJyxPJaR3Ftf2zSksDG0iRtgkY1vQ1ArxHyB6SPu8cMzQ3FvKtAD
qVWdcgGlVU/Zw4jq9/r/ALH2D2ptmk3j1tvHbe+dr1rOlNnNsZejzGPM0YVpqSaajlkFLXUwkAlg
lCTRE2dVPHsPTQyQSNFMhWQeX+ry+fRnHIkqCSNqoelrcWvcW/rfj231frv37r3Xvfuvde9+6917
37r3Xvfuvde9+691737r3X//0d/j37r3Xvfuvde9+691737r3XvdSfLr3XE+/KKVPXtVOHQA/JH5
P9CfETrDMdx/Irs3bXVuwMQUhOUz9WfvM1k5vTR7f2tg6ZKjNbo3JkZLLT0GPgqKqZuVTSGIcjSS
V9KKSf8AVn5D59NuVUFzw4/b9n7OtWH5g/z1/kX3RDldrfFbA1nxZ6prxUUdP2ZvDH0WU+R27IJP
D9vV7f2pVLWbU6qpsjTSurR1LZLcEFo5VFKzWCe/lW3UolXm/MD8jSpHmCKdGO22sk0iSuESEEGh
0sSMHK1K+tRU4zTqkKmmrM5umfN5k7z3xvvL1U9Nm94biy2S3/umtTIsauaGuyeWlrqyOerrJtZ9
YtcXtb2htLa/vFgazQmZiAaYqwxU8K+dTw8+APQiZHkRYdwvh9EnaoZgaDhTRwA4jh8gQcdHB6o+
GPyI7Xq8dFi+raKjhrXElHPkqtgtdjHllCZSrkWNlo5gg0iEtchAfz7HWz2252Kud5m0xg0HfUjz
pSlOFfzwegVvLbXYNq2+2E1ywrhMcKfEvlQjhnJxQdX+/EnD/Jn+Xz1JvTZ+5N+/GvBdTz5ip7Bi
3H31u+o2ptjrrI18dHT7ioKarwKrUtj8qlPFKlNWyRslWJJFkCylSZ7hLy5uLWlEufqI0CN4arWS
maksdNc8QPhoM8QUWf73kV7yOKIW09HUOSumnYQBxzprQnJNRjqt3vr5/wD8mqo7o3f292l8icn8
xO+M9E9Nu6g+L3T+9exMAtBgsPisZhcPt/P7RgfZlNi8TT42mpYamtqZGqTA00jO5dvayGfw7WK2
gt4YLZW0gtWRtRJrr0hiCDWvAKe3FKFmSy8WV5nLyytk0oowABSpUEDGRUk5rQ16Bql/mu/ERJg/
Tn8u/s/LGpWArm+5d19T7acySwxy+asodtV1fm6FqeaTRodRKFQagPZPuF9fW91cW/74HgIRpEeo
LQqpNKk8ST8uJp0YW1natbxSPtw8RhUlqauJHGnpSh6U1H/MJ3tl3iqKH4xdKQGpDEUU27N1ZIUM
IkdYIxXikInkFMqn6DSxKfRfaQbrIR3bjLX5Gnl/L/B6dPLZBmOi0XSfl6n/AFfl085L5oyzVdPk
t0fFnqHPzUoV1SLfu7qH08FoxTVdL/DoVtdbqRcC5HJ9rbfmCSGAJ9fICAa14kVxnHDHH+fVm2hJ
Ssj2gp+VB+Wfn+3pMZH51fB7KGCi7J/l3bzxlVPK6Nuzp3c3U2RqKNmnImqKeTcGQoNxVOkWMgRd
esEICoU+7Dmjc0B8Ddgy+jiQ8KgYHGtacP59a/cVhIp8SyIYZ7QtaHgQTQ/MeeD8uhm+MXyx/lt9
MfIXF97dN/JLsj447go9o5PYmZ64+Umyc/sjZvY+EzmQx2UyO2sj2FvKhGEP8MyG2osjQNh6lXR5
VRrksvteeYNs3LbGst6sYpNykenjRK3iIFJ0EGme06aMdIUcOB6bTYtwi3COawumXbqCiMV0mtA1
ACSO8k1Gf5gms/mHV3yq+ee09oxdT43409jfH7bu66zce3Jeod7z9i9lbhzT46opNu5eWeopMads
0lLjq53Iooi7ySHVK6BdOrHZ9jktTHHfXCXrx1LSKqIBUYU1IqWB4n04HpHe319AAGtkkiZqUWrV
8hUY9fnSv59a4u9uvt8dUz1eH3jtXcWzs1iqiWH7TcuIlx1WlXRNpdgZ4wtRBOVLQyks08ZDE3J9
lO4cu3mz3xtI7tZo9IYMrqwIcAipXFRWjDyIIz0XWm7y3MbyC3aJ1cqQQy0I+3j6/wCDqB03393d
8fN4x9ofH7uDevVu9C6z10+AyIzWz87PO3mWh3z1nknl27u7GSyAExSw+dr6opEazAsuL28Rfp7q
HxYcUDEkjOafw5J4eXEdL4jcSyGZHKknhinHJz6j186HrZu+Iv8Awoi6kz1Vguu/ndtgfHLdddX0
23qDvnEpXZf447gy0oENLDvLMSRnMdIbiyspX/JMykuLjaTjIhRYF0FvLPAZ0PfrI0AGtPXhQ/yP
y6USbqttd/SXkJTtUhgajNK1HFRqqK5GMkdbIeIymKzmLx+aweSx+ZwuYo6bJ4nL4qtp8jjMpjq6
FKmjyGPyFJJNS1tHWU8iyRSxO0ciMGUkEH2yVNSGFCMdGqlWAZSCp8x05e/AU63173vr3Xvfuvde
9+691737r3Xvfuvdf//S3+Pfuvde9+691737r3Xveqj16911ce/UAz14GvDqsH+YR/M56t+DmLpt
o0OOHaPyH3Zjais2T1PjKwU1NjIAgEO6OyM3EsybV2ujPrjVx95kdBjpk5MqIr26S0iMpIoPmMfl
UE8fsAyT6mVpt8l0A2VTgDT4j/kAzU+uAD5abHe3a3cXyG7Il7m717Ay/ZXaytXU216+skWj2h15
jK+bznbPU+2InqMR13SQofGKqljbL19yaqqlZrgnO63Eora21YXGaipJ4caZH5ADGOla7db28Vby
4QSLxYkAUrwIBpin2nHTx0p8Ru3e9KsxYzGOuPp66mlyFPkY2xNLQUlZIPt5a+oaKqqqytmPqWCI
NNJwdNtRMjctbPbXi+JfjSrLXhVq+gFQKnzrw+2nRVuW4x2ZK2kiSqCMoakeeOOftz+zq0yaX4Tf
y58FjMd8nd7Yqs7RqAlVQ9RdYYWk3v23mWij8sM+Xx1OZP7n4Sp1rH5q6ogjCgXCn2KpTacvqbra
p4tAGSXpQ/iCqDqJzUgD8yBQBaLZN63C4u7q6mPhzSawpK6hQAAGq+dK5NfPquX5P/zvflFvGgrN
sfE/Y+0fh5sCuWroJs0afBdo935DExxpFBNSZDJUS9b7RqZ3DswfF5qrj1KUqQf0x9f86xb2/wBM
bS5MgPxSK6qCScgGop6VI+ziOhns22WtiFO6wqVBWoAqacDUgqOBJ4H0rTrX97Wze6e2swNzd2bp
3x31uTVUSR53und24OxqiilqJGkmbE4XctXVbW20rCw8GLx9HTKihRHxyUvBOGY/UANXNAgHp5LT
0pToTg7U8arb28n0gPYGqdI+QYnTmvDzJ8z1jw24KuaSkgmT0xFIoxIGCIkRVY1VF0QokcahVCoA
ABb6e6rDODm6On/a/wCbpwvaMmkq5/1EdGq69ychkSEKQvkhsVv4/qpkN+Dyz2P9T7VrCPDUs1W9
f8H8ugtuE/h3cqxr+mKcePwg/wCHqxXr+VGEH7iXMKcD63vwLXuCf949tGEU+LptJ5DSkVcdC/mo
r4aSTzIgAa+ohbXLHnUDyRyLXvf2hkWkrCuOju2miWFFkQ66H/CaeY6Kpn6GaSpchZLuUN/Gp9Gl
SttQIYaCLcH/AANufdC8cZOqZRQ+tM9WaSCv9iSPsOf5/s6RGTkmieXHSU94XhgMyPqj8kU0evQ8
QBVgha4DDSeP6e2LiWyRdZj8SXzIGoft9QBQ+nn0aRqVtYpBMqp3UUmhweNPRjnHl9vQfYXb+M66
rsjl+qKzPdS5rJstTkst1JuPLdaVuUlLM89dnm2rW46izc8LsSFr6eqSRfrf2o2vct8aZEtJzCgO
PhHp/EhxWn2UPQWvE2vxg92wZgWNakkFhk1qPQfzp6dHw2v/ADLe94MJTbK+R+K6/wDmD1WmNhwt
PD2dtzC7Y7PpMZGpgiEW9sFQ0orWxdEVhp2lghdlQF3L3JFa311YrFb3FwzbkG1a0bUpqagUAVSc
1JHn5GteiO5a0ubg/QxrJYsqjh+KlD5muQfn8uk/V7U6D7uqp6r407mXDZrIEDJ9L70q6SkzGCqV
SNKpdrZmomFLmaKeUnwLfzMPqPyTKDc1umUXVs1RUE0IOK+VePz+XRY8jQN4cEUms5KspH20PmMn
7PPosu9dkZ/ZNbWYzcmKyFDU0sNVTTwZOnRHbHur009FLjBEFq6SugYgkFvKpIa/tYbVZnWeBSo+
dRnjxPnX/UOim4C3crTPDRgAtGBHDA+R88+vRv8A4E/zMvkV/Lbji2nsOiPcnxmfIvk8t8a90ZSo
pazaFPkZ0qK7I9BbxnNV/cmaQmSRtvVUM+EllY+GOlkcy+6XdvbXgrcnRcgU1AYNMdw8/wCRPr0q
s7iS0bwkCmH0rQAk1wfI8a1BHGtDnreh+Kvyu6T+ZPUOB7n6M3Smf21l4Yo8piK+Jcdu/ZGe8KSV
+0d9bdeWSs27uXFO2mWCW6OAJIXlhdJGCro0bsjeR/b8x6j06EEcqTIrocf4Pt/1fPh0ZH3Tq/Xv
fuvde9+691737r3Xvfuvdf/T3+Pfuvde9+6911x70O7r1PTr1x/Uf8b/AB79QenXuqufm382t/7L
3vtf4d/CvCbS7R+cPbWNy1ZhqHc+Tam656I2VjqbXne1O1MjTU9ZCanCx1EUuO2/xW5KR0ZkEBUT
K7CK1uGkkurjTbR4bTQsTUDSo9fU+X8wzcCeJUEMRMjHFQQoHEkmlM8AAa1/nr1fNn+Wh8xfjVsu
D5B9rdp7Z+SU279xL/px3fgMRmKPdO3N3bkl+3o9zzT5eSWfO7SmrmioYlEdKMZ5IlWIR2u9BsW2
75NNbwKyTkVAOdYHEYBzSp86/wCBZBud1t0CNK+sgiuAAM4H2Z9Bk/PAbfGz4Z7p31lMVk8zs3dO
TydfHFn9nbMp4DgKjPYCKItW713ZVZdIqHr3pGglN5t05V6ePI1C/b40VM7Rxk6suXbbaavuDLHb
KKajXsH8KqaFpDT+zGQMvpXPSK5puTf42rFXOBnI4j7F+dKNgCp6Rvzx+Z+e+Mu69rfEf4w93R1f
b+cxdXl+9+7dr7axzbE2TgpVlpMP130Z9zPLkqDL0aMEfcGRgZquFRNANJ9Nt03yxsEW6sYFJVqp
GHV3wBV3C9tGOQgrpyMkdbTYDDHIbUfqmtdNfUYHz41NdRB9cdUjviko8vnqyulzGYzmWdn3Zuuu
ytTnd0bomMrT/cPuKtkqKqamnaQMYvKYw17AcAAeSVbyabcnUC4uXMjYp3NStQeBx8qenQsjtZfA
gCYARaVqDUfxAioPHiKj869cDhpKuOeWqUAnkRsQZeAoAVQdJYooBI492LpQDXjp76SetSw1fb/s
dBjuPBoLqFBT1MqNwVvdbEen1WW9/wDH3Rgrfh6XREqoWtD6/mT/AJekfBgqg1cTKJPGWUpaFtPA
UOQ9gHtY355PumgVqP8AiunMCor0P+xYKineNROqQpVU9ETqGj7qXQ6UwY2AncSAqpOpvwPaxHRU
Ueeei24slnleV0GT5+f/ABXn1ZR1hRTTpFaGSWaGAPUzxwuyRJcAPKVGmNQukXNhx7ZY1HDrUUcc
AJ1KKDj/ALPRtts9E9p9oUjVW1djZ7K4yEPEudyUCbV2TCpZ/LJW7s3NJisLXLDPGyMtLNM8ZGkr
qFvZtb2m3S2sMlxMFc1xUfxECo48KcadIrncLZHmgDAyilW7SM0p5iuD5Zqes9f8NMVgnl/vv3Zi
KvJopnqdpdTYCq3bW0JkQyJTS5zJfw/GVAMTjX9u0gisVBJW/svuNu2hkJKnSaU1lRWnHzrxwPXj
9pTcbhdjSlvVm/oAvU0B8vka8PP0FegkyWxfjptKGord11FVO8MsqLVbu3th9tqpgZ1JqqateNQF
sB41f0Wtyfb8EG2QRiKCWMJUnBU8a/P/AA/LpqC+3G5QmWBjIK0wxpjB4eX2cBgjyAbcnc/xG2pB
KazdfSdRNEx1CLcM+YrkpZCBDDNHhzVJKsaaQpX63F/aox2Bb+3WvkCyca/Mj/D5HosuNvvLoqGt
2NSaMFalBitaEUHn+fQfQ/KX4VzS6ps51VW0jrokp5tu7vnljMRXUbLi0IQCzKwOk/g+6yRqs0Zt
8LihDKRUjOQSKg4I8utrbX22BbeOJAa6sV+I4/Pj/Kny6eYO3/5f2e0+XcHQRycX+UY+eXN7g2Xk
8VKrA/c4+vqFojQV6k31s4X/AGHPs4tlnLIhZjRxgEGtaUoRX8q/YfTosme/0q+h6l/6VR/L888f
5dGIxW6uju2sJjcQ/YnXm+Rj0ixWCrqLtbZ2azuBp4LvS0tWafMz5CtjiDXQTASPf+vHtZc3UlpI
UAbS1WI0mhPDzoPzFR/h6SF5WzcqQa4rWtPWhoT9vrjouHbnU9HsCky2eqTV0tHi6XKbgNXTeWob
MYzG05mqDi1F4J38SALpNhe/tyAJfhSynURShNOPmfQ9V0HJ4YzXo8+xOkv5jX8qHpnAfzZMR/dC
j6lzGP683H3h0ltufdm6N0npXdFRRUuNz/duBo8McbXY7D4/NU9VV12FFTmdseX7hhJTw1iJqP8A
cs31G2XLlZQTRyAFBHGhr5f0u0gcRQdGlpa3VpEJI6UYgla+RrSvlivka93D4utyn4nfLLqv5gdW
UfZXW1ZUUVVSyJit87Dznjpd4dcbqSMvVbd3RjbrJCSAZKOrVftshSlZoWKkhQxe2T2Nw8DMGAOG
Uggj1BFfzHkejmNvFjSUKQreoI+3j6dGfuOf8OD/AIH/AB9pOrde9+691737r3Xvfuvdf//U3+Pf
uvde9+691wNvz/vuL/717qmFz1ok8B1VJ/Mz/mJUHw/2xiOsOtpcdlfk32tiaqTZVNVww5DB9YbX
erXF1nbO96N3KSUVFUGVMHjpgBmsnA0P+ZhqdJLvO9xbXCZaB5MY9B888SOH7fkTTbbBr2VI2BEZ
IrT9lc+Q8/WlB6jW5+IXys3J0L8sOu+9q2Ws7LlytXuaLvuOG+W31uvBb3jXF7i31/FcrURvU5zF
7vpoao0Qlj/Yi8fpTSPdOR3ut0imt5opATXSzB6A1BrnArTNK8agV4nXMkFnZEAyxgHyBQH7cUHE
qBw7e0UHC9D5N/ODrXvrpyQ1WxtybJ6WxtXhN/br3D3PhsZjqLL4fb2XgTbddWbHgmzmSz+1MnvQ
0sWMokkpq7cGRpGQxrjIKhquQViOwzGSe8jS6KlAQ2kKWFD3sVAOkmpyFBFDqI0h/bbIbsdKxl4y
wpQVDfCc4OM8ME0xUGnVU1H8gd8b669372TulM11l1x2NSbh33nusM/VU9Xmc51ZsVslV4LJ90bm
bUm/NxZtqUVNBi4TRYTEYavgooYJPCbh7fedY9zgtrOz1rNEnhrIFYacBezvIVfiJemt2qxNT07t
lq1xNI0kTKgYkBhQ0XNSSM1xgYAx5Eda0ODr873x2dvPvHcccdJkN/5ubJ0MUVO1JBQbdpGenwON
WAxxxwQ09DbQqqoVSBaw5CVq1xaMGvbp5fIBm1UA4HIByMkeROOPQqMX0WrREpFSTpAIqckgLipP
n58OhCkwU0TOvjcqrsNYjkKn1H1Bl9JBv+PZp9RCxqGX9o/wdLVKsiu0RyPPHXc+F8UWoamk0glF
BJBsCRa5v9fdldXypBHWtUPmVA+0dIbMUqyNGhooXNgAzKGZz9b6W5Nz/vXtQpoPn/q/1fLpG5BZ
qEHPy6YhgJ5K1YRGItRjZY9Ij0rJbRZQOBIx9J/tH+p97NM54deCMc6T0d34pfFftDvPOZMdbYOF
6Pb7rTbz7Rz9VFjdidfY5LyVWO3TuqUJHQ0ilHc0EBeslkJAtqFrM6IsTSHtbgKceIx6/wAhX06R
3F68QkhWVQwPAngccc4qSCBThmnVx+ytgfGn48Yqfc2c3DiO2q/Bxxz13YXYdF/dfqbBhFjlFJsf
r+SenXfCR1YVYZ6wy1E7q8i3Uj3rvfShohPzBP5nyp+R4DoHX+7yxFmUSO6gVwxUVp8IHEVPHgPI
inRaO2/5kTb6zJxXVuy6js2jp4XmqN0bzlrtq9c4mPGQrS0kG3tt49KOWV6EQpCyFCplja3FiWJf
Ft28A3ixgKMK+TqoTXOKcMgHgfOvWtu2K65gtk3rgJWbschSojPh/Ayk50lwGJ1AimCKVw9t9udy
9p6qXce/K/EbcpX81Nt7ZkbYCOCWbTNUKuThaOulppJw7BSwIV7H6eyC5lumSiXD6jWtHJqOGeNf
9jHQx2rl+O0WHxs6eIIXSTRRUDSPSnHgfsoTfObA2pV10uSrsa2cqpig82erK7N1SyKixiVzV1TA
nSPSD9B+T7VWcV1JCpedtVT+I5yfWv8Aq4eXR7NYbYmnw4kBrwooWmOAAH50z/PqMu1ts4u1NDi8
Wy6ElUjF09JoMqhnh8cJKlYjwGuS35tx7WCxlarNKa/b0QXNxFaBY4kwSTRVx9uONeolbt3DMFnj
xmOVSQukUoLi35C6Sef9YezaxgMFFaSp1eZ/1f4eiv8AeyyqC8ABH9E1P216T8u09ru5FXgsVM0p
LFv4WkjFW4KuSg+t/oeB7Ftjq7Qj41euP8vRbc3UTBj9MGJbjoqafl/g4DpvrerOs8pKpn2fipH+
2uKvGJU4vLxHUGEcdXQzU4WJjbWObkf0+hy9m0x8eRwzg0zQ/wCHJHp6fl0HdyWOaeKSOOnZTIpm
vp/q/bXo3fTW78jsPEHb1PHmKjZ2VgjgyeM/iVUWxzR8wZpJ66rmWOWgVS8igEyxagOTYo5WW0PF
dI/4ry4+gqOPHoso61AU8fQn/V/PrbZ2d/Ow6g3T8Nq/ZnbvSm/d1b7m68g6pr8VgaHEZfrntJK/
AS7Xq8/JuON4qXaeL3DTQT1DUVbSiSMMyRh0GtQxNaza5Z7QmiHUKAllodQoMkkUxnyrx6Oo9zjR
IkuoW8Q9pBoNQ4MRWmM5FPOmePVQXxS+VnaPxp+SOf8AkhsWjrsjNvTcm69wdzdX1GanbE7v2Ln9
zV+4RtI5BUSirN3bG23lKd8BVyRfsz0s1PylRKCHDv7SXUdjez+HCCAhkJWhpknW2FJJqB5gU8qH
dxDcR2zXEUEjDTrKheJwSFwfnSlM1+fW8N0h3R1x8huq9l9zdS7hg3P1/v3C02b2/lYo3p5xBMCt
Rj8lRTBanG5bF1SPT1VNKFkgnjZGFx7Nzg01Aj5GoyK8R6inSWORZUWRa0PqCD+YOQehW966v173
7r3Xvfuvdf/V3+PfuvddH6H/AFvz9PfuvdFa+ZPyu62+Enxw7P8Akl2pLJNt7r7B+XF7coZokz2+
955GQY/aHX+16eQMavcW8M9UwUkCqriJXaaQCGKRl9QyMEUgE+vAfb8hx9T5cerRjUyipoT5ZP5D
zPXz1ty98dod69yb37b7Y3Cc/wBxdv5OTcPYleqrLt/EwrC0OzuruvZJj5KLZ3VSFqfGmZmdgfKW
8juzBXd9hfcXdYYRUvk/ibKnJ9a1pjAxgU6E1hdraW6Ox8q8TgEKaAUoMinqRUmpybLeiOtaHG7S
oMvuWjo4a3cuOlysu7Nxu9Njtp43a0kNVWZeakpGjWajo8hUxUtXKAwyE0oRCzED2PmkTlG0nupJ
iGRQKAgg1oB/FQ8a4qOHp0Gre2i5wSKeWEVZVNDTtyD56agYA4cM1PT52vvar7nyOG2tiGzX9zKX
MYPE7Px9ZWR47JSZWuLYKr7P3DQ0Upom3dmKUtWCkt9nt3Ghoaex9IhR+bzzzfS2U0YNsUZhqBKh
fwjuRSp8gCScZNa1lvkjYF2m7gj8XSrFaUwRSlfhNSSK4pilBSvQMfP7ez4T434XrjarJjavvXsO
k60xRpGhlki6i60wTV2ciqI7sVppBTQkFuENRGRbWLm8aKW0H4VQ4OKV9KfKv5j59BKDVdMQD3a2
AHGoU4yaE5ZeGKH8zXBs/bVDicZ9pAgWIRxxrwbNGieNQQw/sgf63Pu7trPHsFKV/wA/8uhZZWpt
Uo6Z9T9uPPp0ypCRkQ6o2RbWl4T0/TRc8gj/AG/tJDbB5CtBTV5f5fTrd0agtk9nQZzZJEd4xIsj
O1pCjIwDNr/thtCsWHsTWdoVDLpCr9n+Tj0E7+NhC2pTTPXGl/h9TWUscJlra+pdUp4Amq85bSIq
ccaydIFhck+xKlkywqCopTj/AKv9Q63BYqlvDJQVZQTX1z9vD1x/IdHm+N/w4oeytr7j+QXeVc2x
/i7siunoctuZJ3h3R2zuyGRxkek+ksaGGRz/AGDXyUCRGqKGgxzOSr+QuVo9jQqkTEzsK0FCFofi
Y1wB/l8sVc/eklqC1QI1yDXPnQADjU1z6g0rmg3d8fNkYnF4fr7YezcdsjaOLoaHIdX/ABY2dHTU
OA2fUVNLDJRb0783GBKm/d2xvNLNWy5BZ4/v2liSN1hR2r9N9P4UdasoKlq/mdHoM+R/w9EV1aDc
5ri/0ikrBwKA1oNPeKgk0XgR/nJLWq9z9zTz747k3Nkd14fD7oo4c3X1ME2N2/FnRi6NsdsPrrZ0
qLQ5qWgWVKh6xlZabWfHojVFUnu3VHVUWgINBj+jUk+oH8+PE9KotpZZC0ktVpQkHJOcABqZwCPQ
+fmsMyi0OJNsZGHbyBm1madVWWQR+Zg7H7mFAEfSdOtTY2+oVu7dZLyZgABjyFfhH+r1/wAgk20m
1jjgQ41E1PHNfn0VbcOXq5J5YkVjEsjBGk9KOTqV/rcHQ3pPI5+tvZ1YWmlWHrThn9n+H/Y6MNwo
YlcuTitPTh/hGa/Pz6QVSSsDFkJJd9TAFlJ9Zt5OQ1g3+Ps4WB2KqDj/AFeXQJkceLIWYV/1enTF
4g7M1wt2IILBbH+nI+vs1t4GNBxJA/ljrccsVKiTrIKXgsDcX5IJYfgDkKR+Pas2bkgqmOi2+OuV
WQ1GnritDI3qII1ci7Fbj+ououLj2bWumLBNTw6YWoFAepFJgTLKGCupuoBAZxbkfUG1ybj88+18
m4xRAKWBOfP/ACU6Q7gjSvGzZoKfz6Fza23ayaoiighBjCanSW6Bl5/DKR9V+n+Pshvdwj7jqq3+
Hh/gz1S2tHYinxU/Z0ZvrWSr2pWmpdJK/bFcPs87tyVZDThyrQQZiGEMqfeY+J5RGSrcOQLD6kS8
wmwnihV2IkPrThw8vVvXHHJ6WSbCbyW0vHUM0JI4VoGI8yeFRU/tr0Os2Ig2tVeegqi2CzOlKWvX
XMqhpoHj+6hGq8zuAtz6o734J5IuaNkh3tRdSIruFqAcgrQHzPlT0z0dxb3JBHHZrI+gkCmeBIwQ
BjIyfIk9WufysvmE3xi7dqOnuwcz9n8du9NxwRYrJZR1joOoe+s9XRwYyOSrCtfancBrBSNNM3io
clQU+qREnf2g5Tv4Ady2+VgskaRuuKaslH7QoyBoJNa8RQUPSG/tZoxBOSWjkYivGhoNIJBoA1CR
gdxPr1thr/Q2vbmwt7GYNSR0XU65e99a697917r/1t/j37r3XR5BH9Rb3qvXutBf+fB86av5ZfK+
o6M2Xl/ufjp8Qszl9tU0NDNG8PYvySlhkxO997JKoUTY7p2klbC403kSSvqK6aNrEW9P4kUS+EpZ
nUcM4JBpj1ArX8qYzTbJo7m7lcOnhRGgBPGhOphnPAqP21oeiF/FDrqffG5Y62WlmlxlAUhkxEsX
lnychljhjp6MMD5JqiQ6EsLMT7GXK+3Q3Jgkm7CHBq3aVpn8VPtz59LNwlKoFiKsGHkc5NMZ8v8A
Vno0XyJ+Ssdduip6l2RPS0W2dkVuITf9fj5Wahr90YRah6PrbDtYmTrzqSkyMlZVJz/E93VNdrZk
oICQJ7pSO+63G0WqEoxBBGQ1dPcWGKlqefCnngMctXS7S8FuZeyPiSOAqOHkQvGvm1TWlOlT8bd+
f3nzm4q8cQ9fbIzOVr49RaXz5mdNs7bSXi6tLlsyXW5BYJxwPYftOSLXlSzg3AKpM2kahxHGn2AV
IHlU04nqSW30xBLmJh2+YPqVH+Q5p5/PopfyW7AO7fl7BsSIQnbfRPSO1dEccvk8u8+4Uq9zbmIN
yv3H92Mft2JwvKrTMD9CPZfLGY7c6q1J8xTAp/s+XmDwI6TcnwfXPGB4Yqak6gODAV40OBTyrgeX
SerLJSt9prF1WxkPj0smtDcqNJvx+bce0gdfxMPs/n1IG8WvhwNhaJXhniF4eeOHQRZTc1Qn7VdI
0sal9ZDFUsCeR+QP94+nF+fZ5bxRlgQwDCnpnopuokWFiKCqYJ+wfl8/2+XQd1dc9UJacIaeOaRm
8kalvS1rNdf03Df0/HsTWsTsQgBwP2DoHbgw0kI1TT7a1/1fz6OP8KPj2nfPZUmCzNZlsb1ltKlp
9x9q7joIZPucJsNpPHV0GBrobzwbs3bUKKOiaP8AchZy/psD7elv2tAAq9wwMYJyQT8h6HGPt6DM
e8zyTC0JAjQ6WzmgIwF41NcAU446Ol84/kNuxNy4HqzZ+F2/s+XrrauO2v011YhLbS+Ouw5A5p87
kaiJkjzHam8seNeUq2vKssoUkWLe09tfFVd/E1KxOo+Zav7dI40+016U3C/UeG61FKAE4xjiR64z
WoUZ4Zr16w6v3J2vvvFbP2VXZCuym6c0sW6tzbtZ0psPW5mhrchl93ZvKSI3k25tLb9DWTq7Xjpx
BGG08e37ycOIriVQEYGn8hTiCKkeoNDw6cjkMcjw17ExUAkUyQRTFOOQcUzw6YM/8gtrbz3Xiodr
YHcWH6F6np4ut+n8RC8UuXy2I2rNNTbk723JPMBUZHcncOXgmrY9RaWHHVdPEbKhAI7mJiafEzZJ
GaggYxwAP7T0eC5EhVY0ZNDHHA11caZwft8vs6HSPenV+cxIG5tvdv4n7iOS0m31pq6Klc6oWAgi
QyyhJ/XweV/H5KJYW8RCYSGzVip/bnHDA4/5OrI0clyA7BanAY0HD+Q+3+degrqtodZ5urqIcP2b
kaNJRrppOw9p5LBGNgh1QM0FNo0xSAoGJOoWJP8AQ3gSRCALc8aUpT1zU/6vTp2+nTwZHFwhp/SH
cO3jTGOP7fPgzZPqPfWNw71uJo03XjlWaoXK7WqqbK0JiBJZTFG7TQvEt9aEXBH+t7NzGhnVFqMC
p9PI58/9Veo9mzK4Ykg8TSoA/wBjh0BGZxldRyD7xJIJb+uOaB4ikjE3VrLp1i3+v7PLW3DiiAUA
/wAH4vLPy6cV4qhEJ1DHCnDrEqTRUyesFNWpT+m0hB4/BJH+29nCwoVZajXwr6jpyN45UYo4qD69
KSkonqxSmodbooVX/I4B0kGwI+t/6/X2Q37iIllYM328RjPTbsAO0itf8nHoS8HgY6hk0khUK28Y
1nnVweCOSh/2/sL3t28ZQaga14n7OH5n/B0/bRB/EMq1NRx+da9DjgNvpTqhdblyoN04UC6rb6ci
5+vsJ3e4liNEmPLPH/iuj+C3DGjACvp8vToZsXjzCaemCuTVKwEhB0II0BGskW5Bt/jc2+nsp1C/
W5uTOoeFQckV9MDzPr+Vej22gjit7lC60wafxeRH5ev+foS9vx0sNJVYTLKGjqQv8JYuQlPVSMfN
Jy5UGVNIF/qRb6+2Ng5nkvLk2DPQAUqcVpUafsA/w+nQZm2spK0kdcZJpx6zYzGR5zHZvrvOw+VM
mqUziV0gdIFkkljkhmlC+OenlQTRkEESRqym/so5ouW2FrTdYNWqaYRkoCStRWp08B8zw6Xbese5
PdbW5GpYdQr55xT51z6/t62y/wCVn8m8h8hfjfR4DeuXkyvbXR9evWW/qyt0pk9xUWNhK7M37UxJ
FGirvDAQK7sCxasp6gk/S8q7LdLebdazrIpqvkakU8jnBH+CnQWvF8O4kUqRnzFK+pHyJ6soH6j/
ALH/AI37Nz0weHXP3rqvX//X39ze3H1/H+vfgf7H3ocB17quD+az8xx8H/hP2t23hq6mpO0Nw0i9
WdF0lUskgyHcG+aLIUu2HEcfqKYGCmqstKT6PDj2vwbFiaGSe3uxGKsIz50waKSPOtWFKZz0zdyt
DazSL8YXFPU4HkRjia4oD182Ot8qrT0MlRJWy/birz2ZVnSoq87Vu9VnckTKzESVGQnll1Ne5Yn8
8CHla2+nitx/ocYAz5Cgx+X2cB59By3jGkA1wAP9Xz9fn1YLR9i5P48/H/Zmdoqd6Dc2dNVQbene
PVk8lv2aEw0eZjUPG6bd69xMpragP/na90sSBYH99JHK15DqBPhsTXApT/CeA/Ifa/8ACuBgg09e
NK5/l6kcOiCUe42xNOIoZayujEeR8+UyEiy5LJ1UlQ9dlNwZ6VSVqsvl6+ZppWH65XYgcn2ENzQJ
a2Kg0URr514nhn7M/t6dgQfTqpU6qjPn9n+qnz6s6+C88c3R/au+a4FMhvbtnYWyMk66pPJgNm4P
OdgvEulSrrFUYGPUqm6NYOOVHtRzSpXYbSHUBiM0+2Vf8NQR9tfn0JEVBaS1FKlVPoPiJoa+oz+Q
+QqhwPbEm4PkR8lN85CMRS7l7drqXH6m1PFgMHt9MDgadtbHxoiMSABpQXAtYewtzHHLIGQggg4F
cH4akU+wADH2Z6OOS2Sz8IkCur7KjGT8+NfmPz6NvTbwpslSglVHOmS0iX5JKWRX1WuwuQByfYRt
bUhxpNSM5rTz44+R6la6v45kcRyjIPHy4f7PSL3JQq6sC2o2dvQb2Dsx5/1RH+2A9me32OiVWOEL
f4M/lmv29BfdrlLiM6R2gDHzxXz/ANnoPWnkx7wRuk2Wq637XE7YwmFpausym5t05WX7fGYejoaS
nqchUztKQJBFE/iW7PpUFhJO2OilC4AAAP5Vz0EIZ0inOpyKEH8q+laZx5jrZ6xm2Nq/yi/5dON3
f2Fi1zvzB+SYjn2NsaA68VV74yWPLUcOWhmsyYDq/HSmoqjIul5o7KCWA9heeZry/uFQ0tRIxBwK
DiP2+XnTjw6DdzYoJru60A3k0xpUk5BxWlR2j8jT59UV7C25ndzbkqc7vGrzu4tx7yqs7lc5u+OH
I1suezlYyT17+GSCRaenqJ7xxIbLHGqqB9Lu07xoAEYpQVAGOH7PT/UBPc3gTZZLQOfHoR8z6/zH
5/PqxjYvxx7m7U6t7nwvUtJU7a312fB1Z8fdtU9Zi6WgTbO3ew8jV4/tTdqVcMkcxnrOvoqynX6F
pGManyEKaXPhusXiLUBSxzk6cg/yHHzHD1b2+/CbXb2ushliAWgBA7jWtc8POgrkedQInVX8kfdG
083t/Ab2yM9VlGlo4oMZCftpYI6cRxSmSnASQvVaTMwZeDJp4tYPWLmCQSqoxxPrmo8gPL/D0siv
O8PJd6q8cV/mfI/6vQbFnR/8r/45deYLCzZ7ruTcmRpTHU1VBkEgyCPXJNJIHDSoWSNrqWGoc/ke
zCfdb2UOEcgHGONPtp/kp0XX8sVxPO7RodVMn5KAMVxSnD/L0u++/j5t/MUiUr9f/GDp3Y2Mp5EX
dXYEuLhyFSskJSSJ4YKClxkMUbDUGmq3awueeAXEzNlnIJHm3+yTUfYB5dIPETII1cPLHn9n2Zwe
qON6/DD4e5bL5LKN869m7Y3KlXMtNU9S4vBUm26YRvII6OSmmwdXR5GmjsFacMwktq/I9rLO+uEh
8MW2pdZI1E54cK/4PmPsDZuZI4pUjuAI61wfP7BXFMHIqOgB7K+Fnxz3NDjKfAfK7DZHNwGOkra2
g2ltWrx+UeMi9RXU9NT4yUVMg/UVljY3/wBsZRbhKAxa0oOIFc/tNc/5Og/dmSZKJPqckHC0oDwI
A/ZX5fPJNN4fy8dyQ5jKw7a371zuyiMLVWIlmlyGwZaoxKp/hyz5J83jJKipJLLMrxRR8Kbk39vN
uaydyx0AJBA8jnj/AKs4oB0isVv7dJRPGvikgg6iAVPpUZp5+vy8yr7j6J7A69ro6bd+yc7td28z
WyQiyuKIpXjTVQ7pxRqMPkIpWmBXVJG9rWU82Kp7iKQEhgaV+WPXj0dwXD6YmlUiQioFPQkV8wOH
rn0r09bZx6wGZDCsbqKZv02Hq8xBDEAAAj6/T2Dt8cH6bTw7v+ffn0dWU7z+IXJDimPlmh/w9DNi
aMGNNIvfSBYG/wBW/pwG/wBh7Bd9TxFPpX/AOj+1+GKvz6EOliSGKP6AsOb8GwDcc/Qgn2SOSzTe
gH+boyQUNOnFUaSOyWOkJLfg2aL1xkA35DgfT2SAgzgE41/ng9GNzTw1JOK9KKoz38XoKLMqyTZe
m0UuR1ODHHVQ+iKSRuPQIltewJP9PyOpIBLaugTtNP58P8/QdtZPDvpGUCoB/wBX+D16Ox/L/wDk
rF0B8qutNwVuR8Wxu2IIuoezmieCmww/jGTjfZW767yqzU77ZzrpA7gL/ktTIAQCfduTIUsN1uy9
QsicammPLyBrk5qek+/3JlggrViCBQD1NKn9vAUFPXrcTUEG3+8/1/x/1/p7lviOg35dc/futdf/
0N/f8f7Ef73/AMT70OHXutHD/hSl8ksjvv5mbA+NWNzdA+zPjV0hg+zc/j4DIKml7d7oze5EkTLK
QIJGwHWGycRUUbG5iTPz6SNbAnNrFGm3PI+GkYippTSun/n458uHSC8lHgyqGGn4W+06SK+XAgjq
iDqzb9Hn92UMeToZMvHVw0csGORbPma6slihweDhUabzbmzslNj4x/aepAHPBO7JPCiSM0ox9eJH
+HHpXzrx6LfDdVUBSG/zf5uvfJzs+n7F7JqMdhaxZdpda4+LYe3p4Lxw5PJUSwpujMU6sv6c5k4S
yki/jjHPPBXuMtxGwikqpNDT5HI+0AHjXNc+vVJifg09lP2/6v8AY8uitT5nSq0pJX96xa4ZgoOk
A/Qngck/X2Wb2yxi0BYVov8AlOP8g6VQj9OOnm3Vu/xoyA2d8Huvc02Rsa7dvyC7Mi1sFE3goI9p
0UsrAAGNJKiREv8AQX/F/ajmeN322yXT2NJbL6fjrg+deJoePmD0Im1LbIhrmQ8cZoMZoePn9vVB
vWuWqZsru3NVeiWuzG4s1WO8ZGjVLUNZ1KllDWRQSCR/T2h5gtU8WRVj0prOPkKAcaHOTw6cguXs
2kES6dWf5/8AFeleNK9GI21vupp6o6Wk1DlWLEqovcgo3pYXHHB59h62swO0gfP1P+bo7t91aVyX
Y6B5fkejJYLccuUKyGOTI1ZIEWJgUNNOW/RTwQ/V5ZeAg/LEf19rGtooEZwR86/L1PRlC4uGFR5/
nk5PVo/8pnYfX+/fm/jdoRYyl3PXdI7Tzvd3yh7jllDbR6nelpUO1es+q3nUpUVFXko6j7rNJdKl
4miUkgH3qad4rLxTKQjEAUpTzOSPOmaH/L0Et1cW91GukolNRxxAWvECgzT/AADpT/LvsHf38w/5
oTV8dflqLZmwoqjZPXGBqYWp6TGY6pnAbOw07grFlstBHdwVBsw4ANvdCkdjAuK6hUn/AIv0/OvT
vLYG7C5nfSYCop9oqa+uQQf5cR1Z30T8I8hhcPiZcPNVUb1ENLt/ESUFNFmclTZajIlrcjUQMjGK
oqpF5RgAB/t/aczh17yAvE+n+r16TbkZI74wBmoooDTzrg+dKivyz59W5dJfDyspqXOHfWKqqDF5
80CVuVq644HccNViKiLJ4rOYKCikeegytPXrenLhdLX4sfam20OqOgpQVrTBrXBHoQScf8UiV5op
JI6UiU0BJ8hwp/scKdSOyPkP0j8O8iMNV5vsf5O955fMjDYjELFRbi3Ziaz+H0Bp8XuPO46go8Lh
T9vOjtJMvmbnUFIuRJBtdzeRNKkKxWooS3Bck0NK1P2f8X0nud3gslEUkrM2cAVPrQkD7Oq3O8fn
Z8vt41eRx+b7Fj6Ax9XVeKg6z6XxmLzG/aJIoVgih3R2TlVqKvbL5DSaoiGngaPzKqsQl/aqOzgW
AukGt9OGaoFa0OlcBqcMnH29IU3GaeNZcKrMaBSGNBjLcOI9PT5jqtbNdHVXaGUqslv7Kbk3nlay
czT1m/ty7h37Usxfyo7vkqypgaoMaj1IgjLcqLW9prtvBDlUAXT6AYpT8v8AN+fTEiSSDVIrMpXj
n0/mKn5fzPSD3V8YcRBC9PR09VNLFTrGA6yUPjpdLKkMVLEmmOBDcL+bceyd7g66+WP8h6V2dxFD
D4MsXeWJyfX8sf5fPoqW9fjlHt6kqKvD1GcxtXUEib7HKZOELJrJM50SALIObW5/HtsTtTSRWh/1
cPL/AFV6EERsJvihBWmTU/l5DGM58vs6Q+3s13tshmO1+zarJRY6I0r4Xc0aZ3ExSylpUWvo6kLX
NqjWyshIW9zc2HtxLhSHDr3E8QeFOP2cPlnrV9YwXT2bxQYVCME5rQVz9nlx9RQ1W9J8u83t+lpK
HuLZGVfGrP48vltkvUbq2wxlMQSsl2jLG1fFDSmRvI8YZYlb1W4uT30+kOVbApWvE0NcU4Y9aCox
09b7WAzsw1BfOgFeNPsAHH7fn0YzD7D647Q21DurrLL09etYqzGTESfe4uqNUIjBSJpv9rW0z+QT
RE+ksP6+wne3ut0R5QWWvGgND5/y/Z0aybebRV1ElmagxxpT0888Ps6QVXiq7bdVLi8jB9rX0eoy
wWAZVV2QPoIB5K/n/Wtfj2TXtDoatVI4/aP9X7On7YFRHUZBI/P/AIvr1NVBh5bltTFTcfRrf0uA
L8Hjjn2UOD4kir/B/IHoyRgGqenZatlt4wwkijurWAFiigg3axFj/T8ew+tRKWxTV/l6MpgfpkkI
pw6aqfK0EFZ/DXT/ACbLrMtV428Z+/8ACRRsL2vpl03I54/p7lbZYBdS+Eykgx/b/qr/AJfXoF3c
phnd1pnHpx49MNZVUwGd21Wyqk09K0cMaTMKlPtmeVamnRWEq+B4Q4YX5W/49sb5cWuzS28kV3HH
LkrUgdwAI/YDn063tv8AuxndFjLqo1YBOM0r/h9cdbw38vr5BzfJz4h9JdsZSaJ93VO259mdjwRS
NL9n2d11kqzYu/oZC5Lq0m59u1MyhiT45V5PsfbZMLnbrScOG1RqajANQP8AP5Y9Oi28ha3uGiYe
h/aAfy48OPR0PazpN1//0d/OeWGCGSoqJYoIKdHnmnmdY4YYoVMkkssjlUjjjRSWYkAAXPvVCSAB
nr3Wpr/Ke+MHx5/mX/Iz+YR/MS+U3UXW/ftP2H8ot1Yj457c7RxuE7E2lhuntoh+s9l7nbY+dpsh
t6qmzGxeucFHSVNVTSiOSlnkh0udSizcru52uHbLK1mMUqxHUVNDVvioeNDUk09fXPRbBHHdSzzS
AOmoUqOHmKjhUYFTmq1FOia/zP8A+X70d/L37S7h7W6AiwWxen264673hgeqKWqimGy+0Owd1b26
Xj2Rsaid5J9sbGq8vvHbm44aKEKIJ8dMyWiUXEnL0v1WyzNNATKGKhgKDQgVtX8NR3LgU4D16Ddx
YLbbxcNHKTEyRtQtkM0mnzyf4qtnJz1rI5KGaaskWeoSqysooavM10dljydfHF4aySJNVlSOcgWA
sCLewTy5tRs7ffZyDpMSGpqTqLnUAxJOBTFBx+dOld1H4dzEoIAL8M57fn6VHSCracNUKeNLOfre
+osBYmxJuSLn2KrdQYwGUGn+rHTc4q44V4Hq474bbpFX0p0vDkqBKnC7ZzG4MNV0spTwZCCTL/cV
kEokXxrHOj2NxexJv7A29KGvp1dsFvn6/wCf5jyH2iTbdP0VuDqoAfQ/ZT8v2faT1Tt3Dsio607g
7dwFNhsfh8RN2Nm92YXHY+oMrQYXMVs1T4nIF1jSWbT+VsBb28sANG1jI9KVPrx444+dfXqplqfh
NeJP+r9mfTpB1GdalVW5+7sC1rix4Jv9OT/rj3s26jGsU60txUGikfOvXt09u5nrfryqyeHqIKfs
XfhrMXtTMSkfxbbG2YwpyuXkplIDR7tiQLA7KRzYD+hvBBp3g6iFopOkjyoAa5HDVUUNa+nVxO66
cENxH2fmP2eXA9bKf8nPa9f1N/KA+QPyLrKTRnfl53tF1btDPzyh8tndtbEkOByy0yFEmkf+KbPy
k5B1qz1HIuDcD3SNcc+2alSsauvEEcF404Go0mgpginHp2JzHBcSBDrcgDI8xmlcmuaj1BGePR9/
5d/QVa1flew85Rzbhqspl66OkxcdlmgpvNJ9hVyqBdGp4QAxFv02Nre0+3Fbafc4mAQtcOQSa8Wr
8/8AUehGl0FtAQ9H0gUGDSnE48uGTXPrQjak6R64x218Jj6yeOhyGZqqaKaSr+xSlmpImGoQrIvr
leNSFLnlyL+1cdTN4gFKfz6D7oGcyVBP+rh0FHye7nyOKqcZsfrud4N0M1XUZHcVPTNPX4uGNIKZ
cRtd31U53RmZK5YondWSNdR5PHs92+3j8Vp7igj9DwJPmfOg+XHh0W3l80Q8K3Usw40pXyoBXzNa
ft6pgrNjdnbh7g3L8fPjvQU29PkvLLlZu3u2suUfYHxvwOdjORpduGqpoXqIOzsnQ5WGpyWWRnrp
KyaaijK/bhEPtxu4p7VZXJS0xoUDMhBSp8uwH4QcAZPGpLrKa6S70xQCS4U9zGlEFfhrT4ioOaHJ
pmnR0upv5V3xr6VoaPMfKDues7B3bkII2qKXP79HWuxY6mPW1c2LpIMpi9y5oVTuXnlyORqWd2Y6
UVgigm6Q3erU+lB5KaEcBWuaZGABj16EEtjHdu088bu7YNCVXAHAJpofU1zWpHDow9R1z8R8rHDt
bo3dPx4rM3T0hpcdtjAdlbVnzUigEIqNSV2Zy9VMzLa8j6bj8eyaPZ2t5hcK1a4JqSSPzoPQmn20
6L7jZYGY+DFpahxmv+Gta+v+Hoo/anQe7tpvHLu7r9KJJY3GMaCTDZlZo4JbTSpXUFRWPdFK2SQx
yhSDoAI9nPjaaRBhXT5gVofn8+kA242pRdFYw2r1z5nPpx6I3vTrHBZepfIxrTJQw1IAhqYBSMYw
CZyi8eaJJV/V+kfT8+6/USjGK09P9X+r7OjaCXRrbiKn040p/L5dV/d59dY/BjN7oEWKxe3vvaTG
UlVUZOKkSfJVXkaKFBLoM2mKJrlSSNQvYkXq0usxqf7TSSaCg9K4xX5dLY5vGK0IGgcK+v5CuRTH
D8+iR7vxe26WtpHwm5cHlKuamkQ02Pz9HI1Pk40jL09QYpCUaRZxb8GxA/PvTgEVKUB6M7T4nIav
Dz6CSgwG69gZube3VeYnwO46jT/FaaXICpwGWrS7PPQZeMAJRrErDwvbUTI6/g+6Oy+GSwHaMYyP
Sn+r0PRgGPEn/L6D8+jq9Ud3bF+ReJq+vd0YrJbR7c21TAV22MpGPPXsk4hl3Htolb19Df6aVI0L
qNuQI33Pb5VuGk7TCThgCKHyqPXFeP8Am60dBWhrq41Bx/kofKnyHl0nd44qu6/y8mNrzLNjpVVM
XmY1vQ5hkADs7FQqVkQuCnBsP8CAxdWBv4I4V4q4amRSnlg/5+rRECUhjQEHPlX/AA9BbW73ooX0
RyNqufoeD/qgfTwQL3H19sQ8uTFmYx5+w/8AQXSoyf8ADuknVb6Imhej9dZTVVNVUUfk8flq6eoj
mpozJa0fmlRVvY/W/s6l2aW2jaZ1OhaeZHnjNfXpid08IkN5j/D1s9fEH4R/F35n/wAorfGB2ztD
Zdd3x3Zs7t6qyHaG4FpZ+2esfkZR1Odw/Wu4hu7HLHu/aM+w8lt7DVdFDTzQx1GPgUvFNBVzLLNs
G/7hCduRrpjtyIoKLlHRu6QFT2uxJOSDQgFSKKeglzFt0NzHcf4snjGIMjGoIcKrDuHcAGAqBQFc
EEE1RH/CcvffafW+W+Y/wQ+Q29do7x7w6b3D133LuXK7UydXnaLcGe7IxWS2d2XnI83U0lCuStuz
r6lM7xwwJ91VSN4kLkeyWRQYYJlFAar6cAKY8uJ8gcenBcwAt4arpepwaV4KeIJrSvqePE162hvb
HTPX/9Lb/wD5pXeNR8cP5d3zD7hoZIo8xtnoveuP248sxgA3TvGg/uTtcxyKyP513BuOmMYU3ZwA
PZjtEAudztIiKrqqRxqFqxH50p0mu5fBt5H88D82IUf4etAn4s/L75SfBDZG1NjfFTfm3trSR4nb
p3DWZ7bC5uomyOOxBMuLpMc8qR5PCDI1Mkz492+0mlUSFS1mA1nSymvbZr2HxISQlDXIY+RDLRqD
DVqPlToOyXU9vFI8TkOXH2efH+ePOvy6MZ/MN7U3zvT44fGCl7W3tN2Z3r8iOysz8ju5N65DGw4X
LT4fae092bQ2vt6Ta9JH/CtqbWwVbk8ScfQUgjp6eaKJkQML+zfmu4t9nWG1tEWO1jj8NFU9tBoL
EnUC2osTqOrURUknPRTFNWcGQ6p5HDsSBqrgKOOKDNAKDyPl1UDUUiRTyVRRCIBwCq2AmB1D6fpL
nVxa5+vIv7Cct0EtBbJjxfTzoQR55/Yejq8I+qthTJ1f4B0FuWgaonUx+kayF0jSOWAB0ixAH+39
mtv2qtTx6YuRqenmB1Zr8QchNN1dgsVXVtLDj6HeGShd0RQYDUQsjzutiJFRFH1Fy31ufYIuhr3a
FFNWaUYNacSaEelaf5MdCC1rFt9a4WOv8v8AL/xfRJvlBkcNvjam0ez9vR5GHcXXuW3j1J2zSfZP
FUVmPxWXqptrZaqkWL7irqcnDOUSWQszKBzZR7Fa2hR2GhNJyMevHy/1ZPRGbhQikM1QM/8AF1H5
f7J6JHjcJV53clJgaSr8dbWKKwV1RIRS0NLTkTVPmkdygkFOrcEH6XF/p7v9LXFEz/q9OvfUAtQF
q/b/AIc9Fx7F3xDuLdWZ3TSgz4SkrjSbehnIlkk29toy/wACUa9emCWAC6gBfURza5V2yqd2nkKj
w0FeHEAA4wa/Zn/J04HLTaATUmmf2ZyeHW/5Js6h2H/Ky/kxdHbfooqE13xs6770zvjijp41z3bf
VVPuitnqYoY40/iH8T3JUyGRx5NbMxZmJPuO7WGT+uEahyXjl059VQLWtMCij7ccOl13ItbNFJIY
s3n5gkflQmmcDHVnXwqoMJg8HgNrQVLYzJpUHK5qs8SszpMl/tklUcRykE6b6STz9PZLuUZt7yc4
H6h+zjX5eR/Z68elCXumNIg/d8smnn58Orudv5CmSN9twVkcuYosHR5Wuplb96ixmReePECcqT4K
ivamcqp0kqhP09mCRMsCTUOgk59acf8ACOllaqF86f8AFfn0U7uuPC7Kpdydk57b++tz1OztvZAU
mG6tgwdVvqtytcktfW1W1MduSqxlBX5jF4elkNz5zAVEkXr9qfEl8JERkCua91aAAgZI4VPDhXgc
HrcHgsQsijWopgCtTWtK0qQD/gz1qgdlfO35U9mYun6n+NWQxXwy+OuayNccTt3qXKVE3yG7SxuR
qpamm3Z3Z8jdzQpnqbdO456ufI5R8NHFURzVslLNWVRieeV2KVZWZptUkmKV4AADFAxBAGKUAx8I
60Hs4Vbw6LET5aa5Iqa14kmvEn1Jz1Xj3h1pSYZnzOXpMhvzdlS8dXns1vjK5jfW9qiSGMiotuLd
j12Rq6apkXVE4dY5oijDi1zMT+FP9GKAKB9ndQ+o9fME+vRLJu0K3Hga1pQUqQaYrnu4ceHpnzoT
PcibN3Vjqimfp44tGUMWyXXWNIlB1Dz4bJU9Khpp2YFrREShje9/ZreCK3hVg6ahmoIqSKfZXj6/
bTo4geJyusqW+RFPsIrw/wBVeuWxO2O7unZsW/XnePcnWkeILVW0sNk91bw3LtqmqmBjVZdmbkzW
QoqegkH7RECwoFuLC3AJ3K/W4uA40sNIBwKk1qcg/wAya9GcGzruafUwcF7QR8I/3lTj8+rWfjj/
ADed2ZHcGI2f88MPQjazVn8PxnyC6l2+rYjaktXTy00Ldj9eRQSZRqSqq2SaXIUrfZ0iI5kQtpb2
VtrpWEjhmvn9hLenGtQfIjpibbngIFwBpHmuK1pmnhrUV+z88Uaf5iG09znsPGbkTJS5/prcG2du
SdX7m2fOdy9PbteoM02ey2L3HQzy4yq3ApkoBUwyxRS0DSKqk+RrKrG4eVGV6VT9orx8zjh/OvoE
C272ty+P03AoRUg0FTQkChHmPmK+XVU+UgoqQ5KlpKSHHj7owusFPHTVkNS/req+7hjjmeWZALPf
ULAj2rf4QejqxJ8RieGP8tP9X+x0OO38jjJdtTVeAy2VxmTyMVLS1c8Y++o5Wx3+bappah2gZ45y
SXIJP5IIv7QzgnQPIn/J/P8Aw/b0vJpjyp/q/wBX+fpO57fE8maxFfmKmHDblxASPCdv4Zqtc9DV
x6vBg66GklRYcbWWXW1wtxpPAHvzberRlmFcfIiuD5qcVHD+R6dMbadRP5Zr/sfs+3o+vXvbVD3x
15BtHeuQoKHclMTTTCla0eQqI9a024YnBP8ADZGKK8gQqXJOr6XITth9PubAggEEeVAaY/IVySBj
5npKXKjJVaYrwHRMt5U+X29mq7BZRpIq7ETyU3m8rBMrj1k001XSlGY31kajck2PJA5FFpop2pWu
eHA58/8AY/w9MrcKX0sy/wCbj8+kjHkJUlgZTUu4qIAoRJqt1JmQeRYE0u5hvr4N103/AB7NpYoZ
onjdAQaeQ9fn088yyL4epM+lK+vr0Me0u1eyuuduxZvqHf8AvDrXclRUbi29uTc+0K6bERZ/C57X
Uotfd4MvQV1FThYY6ukmSpij/bVxGzqy7btwaNHtH0FDpIU18vPDAHhnHHP2B7mWMySWJjDBqFSR
kEYA4cOHA/s6sL/kOdyVexf5pewsTV5qevxvfXU3bPVW4MjkZZhV1m6tvRUfaO3HqKiokepyByEm
BrQnlZz5Z9QsSzF+Ya7B2IoFlBHHNag5PzPH0H2dL94QWf7mJyJCVrx4oSPIea0/MfYN/j2V9Juv
/9O/z/hSRuGan/l20PX9LWRwz9u/IzpTaFTRtOI2yGGwOXyPZWWj8XJqIYk2LGzi2lW0k/gERcsx
B724kZahIWPyqaKP8P58OirdpAkVuhI7pQP2Bm4efw/6uPWkr2HVRHKssKoA58KzBQHUhY6Z0R7F
iJWOgkeo3459idVDTVkWpUVH2+R+RFaj/N0Q3FDABSor/q/1evQi/M7dNZku0eu9tzST0x6m6P2x
s3wmViJJtw/w3cNX5FcLotNj4jb8gKfaO+Bvk/x9jcNqNDJ3UFaUB9D5/MDr1pBCzGQxL4gIzQeQ
GT8/n9o6J3kKkGlkJcnWv7lwAWGsWBB45/A/p7KtIa7QFe1SafLHRppVy7uAXFKH0rxp0HUtRHGs
8pAJp7z6eNREJ8pS1z/nApFvzf2ZrI4I0uRnHTbBDqYqK9G4+Iu66Slr+wsBxQigr8HumgpEjUU3
21V6slEkHPIlGt1sdTEG9/qVX8UIiecRrrQYbOoN5EHy40rx9OnoZWDpAWYwHtK506aVyPPgf9ny
Hbdh68232pufZvYeMx1Z1h3HFBjewavG1v2O4NsxbhpPP1/2fQUUHFbV4HKhQ/F/EWW4ANkFrc3k
vhn6mQtrPFj9hzx4cM/5+lU1vDG7hYVCaeAFBT5/Z/gr69VX99dMb1+LVV2ntrfVEMnXVG1jhetd
8owocDvxs/MTjN2bcML+iaDGyfukG4kGmwtb2KYHMkLurZ+HJyDnj6fs+yvRI6ohjXHDiOJ+fzxU
+nVdL7ap6mjq6dRLEIsdUw0wA/zQFO6RiMNay8e1RRopFeJmRsiq4NMcPt/2OvFmjcScXrXPmfn9
vX0c9jZXA949K/y9qygSOTaXX3xr+MnWmTg8SGno6peptq4eupLm8UT4xpioX+yCRb6+wJKTa3d3
cri8aRmDD4sNih48MV/n0YtSQWTgAhFCn+X+r/AePRqPitWZXE/KOs6m3JVGb7LJZesqo6N5YaDE
9e7NpqzcWYzFWCpMWQdKSCkFrMwqFAFifaC4sPHiW5fUy1BqaEktwH+anDpxIVW6kjde6n7Aua+e
TgH7fn1YPnuye1+sdsUvdOB603F2Dl+7O0KXdeZ27t+mrazKnrNBDidkUIjWNmppsTtaOGeSJrJc
tblva6C0N0zWcl7pSJG06iAuo5anCmRT/UOtyS3MK+MIyzO1dI9PLjTy9SPl8yGfzjv5sm5f5fe/
/jl1ttH4S95/KFO4tt7o7D7G3F16m4sbj9jdfGsots5qgxD4bae5Idxb2hxtVUeajq58XFSU0lMZ
Ki1WPGr2bZheavG1yIWK4UMqaRqDPVhQVppAqXo2kFlCsYi7t4H77ePXoB7scTTB8z6/w1X+LBed
1/EXrfo7am5ty9ObJ7O3t2F3XkI8n1dtU4Obdm5Np9fZG2bTZew9vU0ctTuOtocFkoaatoZj9ng4
42qKhvGrH2Qy288t8SkwjhBowUhFNBxIxTJNB58B6dJphDCKxwhmYghSCwA4gBaZp+0U8vOrPtT4
p/O7em29zN178IvkJWTYOsnwucwkeNpcRurb9PBIaip/hWaOQh/vXlJqXQ0aY0zQFJVWACPxgKrn
apJdxkng3kiN1Sh8RaEqBWvoCRT8uFa9FYiR7mVW2oBEAzoBp5grQ9x8jQcOHAdVgdMbJ7F3pke4
6/5t96Y3aex9pbcz2xulviRsDC0mK+VcncdJU0VH11VZbr0bYoN+bc2oUgmqc9mZaySnyepiNQ0G
JbuMF9aiVXlZ0NDqqStDxJatKg0FBxrUU4E+soYbqMm2TTilKaWrSuQeFTkk+f8AIbPiZt3a2097
DfudynW268xg/vttx9X9vYek3v1jXbonpVhrcxv7a2TWSnqaKOQrFRQTWaGouwA+oj/d5ma5CRll
QJxWor88A59eNAfQ9SDy3t06bFOWqXFwwNWFcjgM/DTj86elCkvkh01trblJJ2lsvCvtTBZXN1NH
vTC4wp/C9r7kyUzmCXCUFOfFj9lV0KSmlgVfHTRJbgD2usX1+HHJ3NorkVr6Z9aZqekM1nM0rNJI
WiJwpNaDB+31NPy416TPx4+UFb0JS7i6T7QxdLvj4wb+WOm35s+riOToNrvWSVCY7tTqLHVN6fbe
/wDBvUSmepgCO8cqXHpt7XOiUjlQaZQOIxUAmgPHAB6dvdqjjhg/RU11ajipqRT7GpivlwpwIZu/
evaPYG6IkpMg2e2hmqSHKbRz4kWo+/w08EM2KOQqRI6vmYqaYGct6/ITfkH2e2ypMshaFcH04dAV
47myuApvJNJocHBx9g8vlTPp0EGAyk9JFLjUkZaVfJPEY2ZfVI2lhoFhZha9/qfam9s7dIY3WBAd
Xp6j1/1fLo0e8WWBPDciaufmPWv+TqVPkUiSZSzGGVbVESkkSx6tfqQXDC459oSe3R+D08uqePca
aGZqfb0E9XvbdfTGQqOxNpGvymJiP3WXwkdTLpraVGs1EaZnAeIlgSnAOn2mSwsGkOq0iGqtTpFf
hP7T5CvWkLPKgkOqMnIORgYxn9nR7zu/ZvyU6U2l2htWfyZsJ94EADZahrSkNPXbXyDiTX/D6ame
V4o2Ng6BuSnAQs5bi33goZXa0DGgb4aVxinEVzT5jFejGGO3Ok+GpWvpTj8vL18/OvRd/uZ46izS
SU7xT+JgpMZBHDBfpyRx7kqZbWSItBGoPoB/qx0V3pMVypjNEqDj7B0vsZWq+1q6mqVEgpqyEUiO
dUahgU0Kht41IsLf09lHhJr1Kg1EcfPpmSTxCokYtQ1HyPr0Zj+XhmqvAfzF/gtuSWZaajoPkftz
A5B7iNWTdlDX7Widyo9RRMlo/rZtI+pvd2dYmRXIjwSBWhofTq7ym50LMxk0kFQ2dJAIBHoQDjr6
WntvqvX/1LQf+FP246SNP5fWyso2bXDV/Yvf3ZeW/g0UXl+w6r692qcksVXNOIaLJz4TeFXDTPNT
1VODK7MmtYj7GHK6D6fd5KCoES1/0zN/lAP5dEW8MRLYrxU6zTHkFz+VT1Wh2P8AycO4Or/jbt35
n9xZjY1T1RX7X2Nvze3XuC3lkqbffXWB3dk8VX7elrs3ktlUW3c41LNmaGDPrT+Mwkv9qJIkeUrI
N1gmvmtYQwmFQDQUJFa4rUVoaV/OmAEt5ZyxWaSsV0A1bJqA1ABwpUE5+0mpHVMXyn3FW5bvvsfM
5GWJp6vMw0hWCogqoI48NjoMbBSUksFNSwtj6KniURNZncklmN7e3JaCJApwc/7P59MWdKucVNT5
+vRcq7Jo8DDUNLA6hcDnUGvaxIt7J4lP1Zrkiv8Am6MVpolatcj/AFfz6QxroLVd7G0UzAavq6oz
JYf2rPYfTn/b+zL06Z1LkVyOl38fN+UO2e69pxZauhosfu6el21WzVBSKig+8WWSOarbRdI3qqdI
gQRpMg0jk3SX9TY3TAZCAj/ehj+fV7Y/4zATw1Z/Yc/sr1Y733i9rr1xsntHeFMI5OsNwr0zvH+7
9Fj6muzNNuCukbarVk9Sj+OCno5mWOfyRrGFuZLjghsCQ8cY4s+Bn7Dw+fHowutVG0ngKH7eP7T8
/Ly6RHXtd133zsWP4ifJM/wnr7G7gyGzfir3/uKvbIZrpTdWeMtdiNj9p5T7r+CVuwt1ZhkhxuSr
WeemqpFE1Z4wUcTxK0Y8dAdeoa1FKMBiqmhNVGOFfQdFErjVGklPKhrwJpStRTj51xg+tSnZf+T/
APzJaTf9b13s/wCIPZfa2Zgyf27ZDaIwz4+hwOp6eLJ5qurZ8PiUiqZwdOUWekwdQReCdlZfa2e/
stKP9SoTPE5/Yc19R5faOqNazs4jETVqfInz8znj68PmetxX+W38Ze0Nt/GHcPx77i2/R7Q7U6G3
B1lT7kxGIz9HuPMYir3b1fgczS0E1dR+WhWHAZSklpI28fLobk/QAXc7hTLBPGao6t9mD/qz0Y2k
DeFLA2HVv8IFK8QOj2947GPUO0vlf8qtv0WLpNwVfxjFO0Cy1KVEe8d5ZjHYOuanaqqphTVdfSbN
GuONRHaS6hST7M9vnSebbbGVqxCcZzgKCa4401Y+w8R0suwI47y5FA3hfz8sYHkKD16uR6k3Jit3
dWddbnwlRBVYrObI21kKKelZXhaOfD0jGJCnpUwyXRgLWZSPx7Jp1KTyq3HUf8PSqJg0UbD4So/w
dAx8gqjYwD4/sebIz7byNFDTVOBpN17t25TbkpJjPFWYbKUO18/hI9zY+phmZJKOuFTTSo7I8ZVm
BTC9e1lIhIEmoGtAacKEEglftFD+zqk0aMO8VQihyRX5HIr9h9aefQv4vbu0qnGYTMbQxONxE9LR
UDY+pxuPp6SvTEvHTyNizPAIq40MsIjVojJ4zoXg6RayTF1qWJH2nj69OiBKIQAKcDT/AC/Z8+n7
D1eCpMnlMFTV+HTcBmkz+RwdJkKH+Mlazx3r6vGx1P3MUNQzoqvIPGRp55HtxRIYlZkITgDmn+r/
ADdboAT6nP8As9aef85XfOD2H2L2FvHZWA2TF3tnKqq2z2p2LJTa87tvqnIK0adf0MtdJV0NHmRS
W8tTTxpXxa/2qiMcezS/OvaAjMwtaLQZozDieHCox/sdKtgvYl3IW+lWkZgGI/D8uHGucfbXh1r1
JW0G1duxZPa2h8RGXEtLJBFPUU+q9QktTVVIkq6xrqX11Ek8mrkt7itI31SLIDUE+f8AL9n2dS8r
W8G36C4ExOqlWzXzAIPHzzQk8OnXrX5JYtFpKHPvHk9mb7nr9s5SnqnkyjNNVtFF93TtVSVBhWjq
WjUFLeIuAhRdSk9tYcRNHX4TSgp5HjSnp0E3vIo5pJNWa5FSPwgenzr5fZXPQI742g2Oau2xR088
tHjq6pfCZaqQtPTVdIsvgg8pYr4aqGu0MrrIp0i/qAb2Y6SyKwGeJ/aePn69GF3uMMcNvGWFAWI4
muc0x6cOFenHp3ea762k/Su5atkym3qXKVWAgr5S82KqqeOWrqaOgnkIlnjyARQold9JAC24Hsyt
nKs7gHVpAPEVH2f5vT8+g/fWQuozJprGK/7WoXNaiuBwoflTpBxRVNBVhnLRNDDNSzROFYl/LdCL
lihUD6f48+zu9fVZxVr8QP8ALh0ERZyW10zOMaSPL1+3h1PjrLyhmYnhgeEtYgk8XtyfZPVTgdP1
641kVPkqd6JglplKKHCeJC3+7GjBKNo+vKkce3IgfEWhFenYK+KufX/B0j/ilump6c78y/TdU/2O
y+1xVZrZlZI0X2P994I61pqRvOkxhlytJJKFCtHCurgAi4KN7sVt7YTSPpA7gc4Pbj4vQV+H8jUd
GqjwwpJ+fy4k5zw+2nr0bHsbake3N01qVRZY8kKTKQQEAR0EjgPVwrIiguGVibSMxX8e/cv3xvIb
gD4UFOPp+X+DoN7jIyTGjYC/6v5+nQs/Dv4/N8s/kz0r8cZt/UfXW1u196Njt17uqZKWLJUuDw1L
V5ysxmymr0lx7733DSY56HGLPHPEaudCY3ICk1ftUnT3D8+Pr8h/qpXovS4WR0TxwGNAMfmfL8gf
Ujj0bz5c/GvFfCv+bN13050Bs7uGq6g2hvP4eZrb/ZHZaVLUFR3/ALw7ArVy22tvbtfB7cw+8sNB
tWrxeQfH0MUtRHkaeVHqY4pBAzGsyRSuXXSAeHE041A4Gop+w5Jr0/JMkUsKi4YSBgDqHHI4YGDU
Z4CjU+Gg+hl790u6/9Wwr/hVHvLPdY7g/lfdk7exWA3FV4XuL5BYer2ruqNpdt7qxeT652hnqvA5
2IPEJsZXybRjSVNaawdNwCfYr5bekd9FWgkeNa1yKLK2OOccfIVxw6KNyiEk1uxFdCOR6V1RjPyz
8ui8fJn+eFgvkf8AHbZ/xZ2L0hi+oNkZ3OdXYTf2R3d2jRb7gXYW3t24eao2fiqB8HRVjQ5GqxEN
OmuV9NKhhCqCB7ct9qa0u3uTcGSUVp26ctivH0NeFPM9Jr288a3WHwNKHjQ1wuaDHyHz61p/k3ka
Y98duPHJCKcbvy5pqSl1faUdM0v+SRROVF2+2KXUAW+vs0ADxRE1Jx/qPW7e3hV3QBgFHr8z8vOn
RcGyySrpv5QBp9Hp0hbek3/qD7L7mMWwMsYIcnz+fSi6iWG1Hh1qzA1r8s9Jqsr44WcLE6AkEk+o
fUNa7BQbX/2x/r7ctpPFEev86dFyqTxPSBy9ZrqBWRsv31G8dfREcJHXUDpW0TkBgbLU06m1+fp+
fauSzt54HWVGZG45p5/6j0sswDcxjGnP+A56uV+O/Zuzu89m4/a+9a+XDdZ9+7VxWw97VRhSqrdq
9h7WDSYbPUVSSTTVbVdN4pxEshqY6gKHX6+yt7K1tFMkET+LEdQ7qA1Oaigxng1OjhreGVXLBhqA
8/8AVj88jOcdA/2fsbFdXUvb+0K2OuymPwm7f4dn6HKVMlbj2gMMcFIMhi5Y0UYOWm/cji1WhkYu
H1C3tpLuaOa3WEgaqHK1yf4TWn+rh0jNjas2qQNUfOnCo+deh9+LP8wv5w7K2LX9K9c/LbvvZnWm
ElocDi8RQ7swufqdk49URcZBsTOZra+R3FgKaSJgJI6qqyEAAPjjjsGCncVRpEmeCEy0rUrxoadw
qBX8uFPs6u0dtGTFDMyoDQDX/seZ9OJP5dbFX8mbu2XZnffZvU255TuKbuLApGuXrs7UZvO1++dm
SVm56R6qtrjLXZKlTE5iphiFyQIo01WW3sGbtK5gikxQA+QFAaf5qGtMH1wb2FsqSSoqsCwBySSS
PtzwNfy+derkP5j+3FpPillsTQQskW8uy+usHXFIDJGlPHkcjVu1agsDj9cIUoeNTWvz7MNkif60
lvwxk/PhTH5GvSXc2ZrQqVBDsq5+2v8AhA6C/wCBXyOwPUm1Mf1R2duCmwuz30LsfNZWoDUuIr5Z
mhn2zU1MbztTQzSWkg8qxJFqC3sb+1O8fTMxuI/9yR8YrxA4NQnHz416tt9YoAJWoKgCvr6fn5Z4
DoGv54nb2N2bividU7a3JDJncpv/AHxkaakxNVUVIyVBg9h12QgklqsUKmngpIq0hg0p0SEFRc39
greIm+lNzbirsUrSpqK1BFOPzp9tcdGqeA8ginbCk4rQg0yflihz5dVDd0/zmu46joLo/wCH2B7J
oumMx8muzcB07uL5bYKWWv3t0f1TmaCTIbxye3KCKKCmG8MwurF4jLJOzYqSeSVEeoig8Z3ysks0
AnvSskqoSFChQWDdtdTGqheI0mrEVGnV1S7n1SqlpRIieJOqmKigHE58vIGlGIoQ/Odk/wAv3tLt
nYvxL64+G3YO3arbeQzu1s98+dz/ACl7c298nc7vejoaqvqN15Cemx8uazVDls+utErKyop5Ighi
SnQhFFKzXtpC0sd7p0glYiAV7jmhJH7P8IHRNuMME15LbpaEKPDySdVWoGrWq0rmlDjGPh6ru7q+
WW5t+9X0GxewK/Pbg3rsrcG5dnZDcmYAqMpv3B4arnpsFn8pkZal5ajLzwwozzya5GsNQ9kO630s
7OjaRFpoNICivA8P8GPkPUWcubHZQMs6rIWbjVyaCnnUeYxjorXWvfuFrd+bZ+PlXVu259/4epw1
VmirVeDwFVXYisrKCHIMhSrWvkihUNJHE6ReVWcgatIaeytTBNN4b+KDg6qjh/CBU5PCvQ9a724X
MO3bmzhmAYFTpCrSq6jnNPLhTBpXo1/xi6Kx+K6N3z15uDM0GVy23a+sylJmEidMmJKibLVZSgr5
0SeiCeOl1IgNyBe3F1Wwxwuqm5X9deCqdIAoK1FTUHI+09EW97SlgxmsYpDETjUWfBIyCMEUwT9l
DjoSOmqSbs/Z+TocjUUtXuXbG4p8Xmq2dhA0tOIolphBAqyMzxxU3LEj9YP5t7Rbjd3NldtFGALZ
uBIrXOc49T5cR0RbhNFcQbctuSZUkJajVpqCmjUrQju/I/Lomnfm28j1H2Phez8fDXUVHidx01DU
TAMtJUY9ihIJYr9xNFLMAWNmI4/p7PLD9cDWayFAcU9TWvpUDjwHQmtZV+jt3Yg0WjemTTNBxwT9
mOhC39JEc6mRx5jNBuCkos1BIhDJprYlklCqukKI2YjTbgj8+zW2k+olS2uGrAoPlQ1GBk+XD/VT
oJ7nLJ+oI0FA58vmPPPkfX+fSVqJ/D4WjIZSAZTYm2pWtpH1sTa1r+/XFvDG7CMnT5Zr6dE/jTY7
f5HqTFOrxBhqV2t6uVAUkBv8ReMn+nsslkeIO8ZFQMef/F9V+quY2LIgqPkfToFO8qKshpMJuzDw
yNkdtZLHZuBoC6zJ/B5o6kx0zKA0MtTFrQ2+oc3HsRSw2d/s2i6VmYoT2kCjeVMHAwT8q56MxuF5
JFRgv+88POvH/V+3qxCj3tje7+kdu9p0ckJrMuY61aLxKlTSVFBSxx18VSoZ3OpzcqeDe/I+sdbQ
wsNyiijkX6WRgGrnGqlK4ANPPjX+TLWyXCTSzLkggUOkU+zz45I8+Br0Esci1VD54qiqoZV01WNq
sXWVGNyWIrS0NTTZPC1tJLFPjcpQzwq8M8Z1ROSV+vsebjHDbyMLahjqR68D5/t/PoMG0kM8UTCs
RYBjn7Pi4jj/AIM9Hew3yk+VXyf+SfwS298iO9t0d01GE+YXxN6161xGYw21sNi9h7bzPdPXtVlM
xVUO1sFin3LvBsLt+aGpz2RknybxCzsbE+yiFY3tb4jSZBExxxIocZJxUjhjPQh3Oyt6QTQs+tWA
GpywBqM8BUk0yak0yT19LH3rq/X/1rH/APhWr1/msx0V8EeyqecttvZHyyr9m5+h+3SRGr+2Osdy
YrbuUeUxmSP+G1O35k061VxUm4JVbCflnw2kulP9ooVx9g1IaZ/pg/YCPPos3HDQk/CwZfzJUj/j
p6058NXEVMmRkNPUwUORxNfhHfFxwzw1FBkVrRTzwzI8c9PPVwjU2kMEUaWF7+xHL/aFRx/l/L/B
0UTVIXNVIx/xf+ojp5+UFDSUHeXbNFSS1NTSNuGlyVLVVYp1qa+ny2CxVcauYU8MdOA88zhAiquh
RxcE+246mOMjoytwCZxXu/w1Jz6eX7OioZCV4Agh0oyPKkhXVY3Mbf2iQR/j9f6+y7cG/QQerA/y
PT24geBCAM6v8g6RtbV1TM5kl1oGb0m91P0W3IFtVr8D3a0AHhKVpVf29Fa0IA8/9Xy6R1SZpBO6
mRZYxI0WghdRWMSajrDKdJB5PHHPs0DAxgH/AIrPSizJN1HQZz/gPRgvjjv7D7Y3A/V+48uMTg98
VeOyG3svPJJBRYLeCTGeneaeHSkFNVtGY4z6W+8kiLMV1AoLo1ViQK+fzGOP+r5cOjwlVVlIwQcH
5+WP+L9Oru+wcGfkv1VlstLA9dvfrCkmi7P2Ph6eCHcvZm3cYtO9LuPDEo75Osw6BRVn1xyJcKgs
fYeFIru3XSRExWh40Ncj8/8AVk9UcloZJKKWRSTX088f4RX58Oi+dK7X6+wuU35uaLBQbYnq58RW
ZXC42oOUzKijooaemWeaUS0WFqJYUHljnjcRt9Pz7OL/AFFgKkkA09OP7Tx+08OiqC48do3oB6kA
itPzOP8APgdWK9C7/wBxdcdj7I7X2Zm8fhs1svLUOWxdTTPjsjV0eJpJqudossTTGmqmy9JVtT1X
iRQ0KjSFNyQfe6WjWNh8S/4adCW2t2Z0lRe2uQf2EfLjQ19ePWypv35CZfuvovcGwqiXEPunK4Xa
G7Njy5tagYyuydBN5metlpZVeTHzm3naIiRVa6m/tBBu9J0kCMgJIalQQPlU/bg8cdB8x3HgywSC
r0FOJA8618v9X5kh3P8ACvaPcPVndlNuTfuQ7N7zqOmuxKXpbYcVTkOpeo9ld9V228jV9Z7woaDA
7ij7B3VT0maaBKqnyWTyELpGdECBvSZi8Ny8aN2xa8k0Y6Bg1qD5ZpivqOnobaLSfFkDyUNFPANU
EUBNS1aZJ8vKoHQg/wAr74YfPztr4VYrr3+aNmeuc7unEbkw+d6hy+F6666wnYHX2z8fQTbVyWyd
wbp6+o9ux5rMS0UMlSaibHCukqKt/vK+uUIErfG3eCOGJw0iKVYrXQRWq01ggkA07QooB26gWZ6F
Zo5JGIIjNCoND9tSDXPEAkketCFUun8674C/C/L/ABTp9u9bbzw/XXyg6X3ztrtbqDdmXndsTubc
WDrFiXqve1Nh2WWHF5Cgl1KUSOeGstLr0FoyHoNyfbJo4I2bvNCRjAAOBXGRk8DkelDq1sY7xXLA
DSuPWuAONcH/ACDIqetPXe3cHySff+897bh6XxG1+48s9DhaLsXG72ymc2Ht+qxFNFQVOb2vjsXk
6SeHIzsjmUVDzLe4bn6H5viYTGykr6+dP5f6vOvS9dlaeYu0KZ0lSdJWq8AapWnCnAg+vQDxYPcO
983tjrvHpH2RvCvypFZX5WWrwMBy+YkQZvM1VVSyqNFIJmkgAUJqAuCAfZNd3mklpJMAVxWgxxAq
TUkcM/z6EVpaLbqqKlZPkaU40OBXyoB8vlXqw7FdUbA2vujcXQ/W+39idq96dk4vb+LoclP1tQZD
vjbNRs+kOTyuO6ezT45YcpS7jp4TSSeJaipklKARMAGDe33InjliUkVYEauGSRQ54VznGKn06cv7
ZW3bbboEgQw6SMaiag8CTqpwFOAPDNOp22qp6aLfmKo6eTHZPGeSk3Th6p8nR5XZeco5YP4ttbcO
DysFLkcduHGRtGkyKqxtKJLIAgApI0m3yoGrQmgPkRQEZFB5j+XCo6k9bPY9320BGHiFKDUIwRw9
an0B4GuPLoTPiBgslS5bvikpoKn7bM5vG11HVxRUnif9h45xB54ZWUKtibHXq5Ykce0u90a02q4q
NTSNx+Kh0nPz8vTyHlSGtz2QbfeXKxkFNWACp4U4aVGP8J6TPy/2lR5fC1+EbH1zxRYef7ioE0LO
a0xa1lCNEYA2v+iXsLE+xHtdGRajOj+X+Yf7Pn0j+o0gRpULTI4Hia4/wdFO2Q65jpDZVXV1KtX7
erajblQGv96+gsF+6JUoDG6t9AoBvx7fErRXhCp5E5/2Kfl0lvo9dp4yJSOoB9SagZpWp9a8B6+W
RKeLhASb/wBQDe3q5sBe3vc1wzHUzf6vl/l6JhFqwK9SBTTqV/Y1QHiR0D+QI11bQLFSQf6j2R3F
4oEo8Tvp64/bXqjxAVUE/s/y069n9t/fYSaNf36aWKZXHpaoiRoyHdUZbAqD+Ra3t3bt31rHaCZq
/I8a/nTpVZwazpaukEfn8j/xX59Z/g1UU2Qw/YvVVdUvFV7R3LDlaOD0icYKvedKyZUfXGynUGsF
CKVIAA9lu6xfRqZYk7ga+goxB8qCo4evmTjo4Szbw30IKVAyeA4UXHDz88UqcdCTRbZyVFuDN4xp
KaZMKOLnwR10caqrRU7OAv3LKbgWtzb/AA9mlhvC7naPcNWgahwa588k/nnorksSk1TQoGHzOKHO
M540HDo5P8u3ryq31/Mw/l+YClglkNN8i8V2LlEBDSzY7q7Zu993ZKoqEKvD4sfk1pIw2kXjPHrI
b3Xl+7Mz7lbyAUMLeVQBgcTXNRj0+XDprdF8VIkU6P1FPmDihNM+enPH0p19Lv2Z9Mdf/9fYv/4U
Z9GUvdn8pr5E1uurjzvRdTsr5EbSejkMLjO9Y7jpZ5/LOElMFMdu5Sv1uEfSObeznYJhDuUQY9jg
g8R5ahwzxA+30PDpFuCk2zMB3KQf8h/kT/nHWlp8SP5f3zG+dm2Zt7/F7ovM9k9d4LVi852XnNz7
F692lLuanpo6yLbW1qveu4sM+6clRJWRmuNIjxUKSIZXDukbCRr61iMz3U6xt4hAUAsTTzIABArj
ODQ0PRbLbTO6rGjMgUHhp4+WaCuOHHhUDyKf8qNu7x2r3LuDa3Y+y9xdZ9l7Rw+19rdjdfbzpRRb
h25uXA0xw1czzU01ZjMzh8pS0a12Or6WeSnrqeUOh0kO1/FCxK8VHiJOQceVPnX1+wfk7CfCeSNg
K48qHieP5cPzpUZ6KTkadJGaYOztUNUtTwJGpBpYHEcNT5BITqmVOQVFhwCfaPS96AjqI1U1rWta
k+WKfz49LJY0uwFDkac8Py9R6dJBaJZ3kuCbPcoVGkjVzdix/T/rH2tgioDkalx/kx6dIJrYW4U6
yf8AVw6j1WPLS/tweM6XUNbWdDxmIlhZPrf+vt2WVYoR2kmo+Wf+K6TWV0RcqPDAwfP5dITJYRnH
21TGlRCrXYlWhlSAEu3hqQXemliA1o9iVdQQOOC+WcSI3Zx+f2Z6EMbeMApFCerSfgp8hq2uyeC2
JujcVdiO5tn08qdb7lhlFEN3be1KMdiKiaYw09dWwQhhPHLK/wB6tidGhQSt4wJ0uXI0qasKE4Fc
4JPpWg41PmAFP7t+otp/19MjIVGAfzy3mfWlBn59WQZHqqg7J3hh909RbV/uRvuc5Wi7i6ox9OlN
iO34ZoDJVbnwVbNNPXZnLo7FvsYqWElxojkYEWXXM9oYyfqqhhjDDSfzAGPtzXy6CRN5tojrBrpT
taRFOPMEE1qMfOtel70jtzae68gmL3HS4/aEW2dG3qXb1LQZnb+TkoqdRFEm66PJ0NNl8bWJFJZo
46SqCMunUfwF722u/EJjiLAYrVf20r8s1I6Fuw73BLbo13bLFKOIDsx9BWinjQmtGp50xS5rqHal
XXYDauzNqVqJuHqCEU+Epcxk6KsLbVr0kWHFZythrJDUw0pI/cOrWEJsAp9hm7luCpkWxw1M6wBk
jI9DxHrXHE9HV2kCx+HEpGngCST5YNcgD5jNelr3R8Lc78t9w4A0mP7Q2VmtmVFHRUmW2/lsx11u
bC5ujEDVGYGXxdVjxNU1Lx/sThZ4zAQDa5Ptyy+taV6yeHWoOEeg4itTQ+Qp9vnwAW6bU+4vSG5d
WFACFGGpkitK5884/aTR9WbE3f8AG3tDubfbZXtyl3H2vRdaY/eu5k7NfdWJpMv1ljKnE4uvPV+7
sfuTaMcuXpZ9GRmxjYqsr1JEtSzlZIzaz3ULHFttzao8ULMFcnSWBpUgIBSh4Alun0ilpGvjvFIi
KrMKNqZfMqRitKUBAp59Vd/zA+h96/JXci78krti4ff+6Kyh26M3tLaO99mNu/I1FFLQvkMvsVa7
smhxmSNPhIWetGSqSdZN1LFPZZu22W9xKl1FuTIUJ7THqAyKUaqV+zTx8j5ibb71rKMNpWVyhVyd
aZrVcAOKGg8zTrVW7G3l1Zs/vvb/AMS8/kuwI+xcrFhsbvbNbW2TS5fb22s9uLERZ2SCgnzu4dp5
XPfwemqv8trUoIofIrsNWlwq+KGx/da3su5Mbwa9SeHgaDRdThuMgoQFQ6SaN6k423mb+zSSyGgH
Pecn0PbUfs9OFag+vUXxhw3SIqd402OyO462sipKPbdVk8X93uXL455Him3FQtIBBR0s8hCw09mZ
CG/cP19g9Xvb2WC2FkVVmqWLofQ0oSPKuQfQdCdr6Iok0VkElK93cxxxP4ScZPn1cz8V/g/uLc3Z
vVG78p1aKDsTdVPlcl1lnq6erxeQ2thsYqVNdv2fcW3auPMbGylHKI2o56WSnqp5CIQ5VmUirbtg
S0aW6utwYaAOwxgip8gQ5Uk/MUpXOOgHzTzHdwbjtdla7XreeCRhJr06CrIKFdJz34NRQjPHAf8A
85nAdYbG7L2b0rW47Hdn/Jfr3aG1t4b3+R+Pp8ZtrsWp2LlzuSbEbL7b2rg8ZS4bs+ryE0UzUOdq
KijyMEMjfcQ1MkgmYn5lvRZRI629ICSAuqi5oagmtKEHia8c0AoJOT7bc5lLSX7FCCCSqZ4duAtK
YIwBXNK16ru6v2PFsfrrFZmmatpa3KzzZ+tptINRM+WY1AikfzM0QpY/QE0njn/D207Dddt29aeH
R9VQa1NB9mMDHRjuMrxyzLI+p0oK8CQKDyHp0DncVFJnIMjXx4+uraSopxR2gneSpNS66lk+0EF2
jUA6iDyf6exht0RjhUh60B4j/L5f8X0CLgMZy+qlfX7Sf9X+fok/WNA2Q6B7LanidKLG9sVU1JVT
U4jqo58fHRVVTjEvMWED/dPqa/5B0n6ey+WSt8gK5ZWr8uBHln/AM9Gl3fmHZ5wIQQkiEmtCatT0
OBgj9n2IxJ54CzoHuq076bt6vMhexA/C3t/xT3eSESaTqpSvQcbd9VD4P/Gv9jpyh3DPGVLUv6Tc
uXNh/UlfGL2/1/ZRc7STBIUuOArSn+z1Q7oWGnwhn5/7HTrDuankXxavEZlETtrDr6jpJEZAP0Jt
c/n/AGPsOWlhLbXS3KvUg/DQZ+01P8ulcF3pKNp4/P8A2Og26oya9b/LTZdVI4pMX2JFndrZXQCi
zK2Frp6CZra0meOppEAUgcSE3uoBOtz3GfcoRaraBGPBtQNCQBkEef25J+Q6EH1h0xp4NRwFWp6/
Ly+fnx4nrZa/l6fyqs7/ADHf9K3cma7Uw/TvVfXVenU+KXD7dp97ZreXaEGx9pbq3Nulx/Htt0+3
9tbWrN0rRxRTlq2skp2d46ZSPdeT7LRs0iNdu8zzMoXwxgBm89RJb4aLShznAqXXe6MZ5I/pFEaq
KHWa6ioORp4ZznI8h5Q/+E6eIxXef8wX/SZtetxO59u/G7qTu7bme3JRSLNRVG7svvDFdeYzLYCU
iMVmH3Jhqapq6WoUamge2m3q9uWlo218x7htpk1ugNTQKeNKFKsVzSuSK46SzyreW8N5p01UdvxC
vqDQeVfLNPLPW+Jcf7xq/wB5v/vfsT06Rdf/0N5vv3q+l7v6N7m6YrTQim7X6s3911K+TiefHwDe
m1crt1Kmrhi/eenp5MgJGCev0enm3t63l8C4gm/hcH9hr1SRPER0rSqkftx1p+f8JzvnNuL4mdfd
3fBz5d1vVOw9mdBdub/p4N77g7EwW0+xeu8vQVddTbuwnaGzczNRpWbXqa7DxSbfyOPkeqFNKY6i
KQaHjEl3tkd/bNuFrIzXTzMAlKhlxpIYfCwrwOCtK6SO4tW8aC9NrLGBCQM8KNShBzQ8AO0YPqK6
azP5s/aXXX8xnvzv35udF7Xo6TrXoHK7N6d3ZWPn3xO+O7utNqruLG0feu3Nr5paZKnAQZvPpTUi
xRfd1GJgidxqChTezjTbbSCynl1SsNRFRRSaHSKVpTzr+L7QOkUrm6mklSMeHinEEgVGoila1NKf
wgeZ6qBn67nxMFPWRmjzOEkheDF57GPLUY+tplWFonDlRLBMTKS8cv7iXGoAke/CWGVnjRhVaHFM
1GPnTy/1HpVC/wBIut0ozDzFDj+XE+WOgrrNuTUtXM7QCDyM7pGz6iULWLEgaAWYf7z7VcBWnTcr
SXD6FwK1+z5/Z1xjxk/jYyUrIt9PIA/UP6kD+vtLdNE0NK51DrQsWifxXPTNV7fZ3aRog0RA1x6T
cg2GkN6gVYnn6WHstIGnBHRnahqpn1/y9MtZtqeVaapSZqetxtQlXiaqCaainxc0RZqdqSqgKVMU
gnbgKQDe30J9priOWaCa3iajyKVBzgnzxStPP5D5dH8b/S2v1DU0qa1x5mlTXHH8vz6uq+N/zJ63
7C692p1t8k6CTafY+Fq8JgOv+8MRkf4YMlmDVxU+Kx29a6FoanGVNZUBUimgIQGwkJHHsKyWl5tc
glVgRWjAg0pSuAfKgNOHy8j0JNtuNv3e1/UiPinge2p9eFcU44wOHE9We7qlxHXu4qHGfJLbuRw2
4qWSKu2b8h9qVkOPzFdTZkM4pcRulHk2ruGtR5dResaQzMOLgWUws+ZY4E0h0qK9h0fPiD6Z4dR9
zHy9cyXUjWYqFNQwDElR8QBoBX0JFcZNCOjcbQ3B1v1tjdpy9Xd0be7U2piaBE+x31SxbO7Vy9bg
hapi3xuOFqXavjr0UrpRAQxa/wDT3S+3a1JKPHpmrxVgyjHliuPP5/l0w91cOqNHIrQ1NAQVYGgw
TWnz9KY+fVrPxR/mPTZbc+J6z7w6u3VtLGZctFsTt+KfHbr27PPOfJHt7eFdhnmlxFYIX00tRpeK
SNQr6Dz7RJJZNFJNBcpqVqMpoDw4j1Hmf2gnpZBLLIo8SIox4Amv5GnA+Xof8Ni3YnVm18zjMluX
B7bpc/U1tOamWLH1Y/3JhAzeSAiQ07zFr8i5JFvd5ohJHp1aZOIJr5j5eop03NbhmLKg1mn5ny/1
fn1SBk6zJz9q4qo2pmKTCSZ/dOI69oclSUrZ6nxWS3ZuKXarQ1WIIkrabP0EyyqjBV0BS309oDtV
w8jLJXSVxkjGnVU+n+WlMdJFt7hpl0VGo0NAT5/ypTjw/LqjHJ/HLanWfb/ced3ZlMTuLPda9l7l
2hRb53hTYiHdmMgqt0ZKhx9NQ4VPJM02Qo6dJ2EoZVWRLWJX2aPsNgmm7lue9lBChyOAHlwr8/To
wsrNbK3LzyVbW1QTmmrt7eNQAPUV45p0b7pv48bv7F3P1jsvauUxW3K7tDdAg24N9TVFatTSY3VX
5fKSw4x46mmxtTTU7mKkpmRowRwPbTXixIY7OGrKKZAbJ9T9pHE4ApXy63d7nfTMsETrljQkA4Az
+wVrmpPDq5D5efIjbX8q/buL7w3HS4mtz2b2xUdcbA6G2hlDWbg7x3fQ0VHS0GQpJsuzT7M682tm
cpRTZmv8cjU7VdMshBkjSVNt8NyY5RfKCdeoN5BQDUcaE8Dny/kss7eS/unMrgUoopQVBIr/AJT5
4BNK0B1Dq7efY/e2+919idyZGn3L2J21vPN9hdsbsiWWghwru9PU5Xa9DTVEqPR7V2dgqCkxWNpR
+1FSUyN+p5AQ3up/elyEjCtoQKKDBGkd3bk8KknJ8+pe2PbodstVdpwpKhgK+RK14+hNa14EU9Q2
dY/Mnavb+a3RtqLY8G1spsWtrqTCY6kqYnj3fsLFyjH0mboIpGdfMJYy0n6uCSf8VkdqbOGCMuaB
qfOvGlfM+X5AU6IN5nSZp3jIqxNQD8uNPnQkn/Z6hbp3piymSqny8lPDHTZR4Ri1VZIqxKSWSk+4
NR+2tMsxCSW5+tvYpsx+k4I/1U6A8xrJGK/ZT1r6/wCToquwBJjOlO1MPXh5amLsido0iBUpWZ3C
beqVrZUYDVTtFkCll/txMR/T2UOtL63NSRn7eA/wf4D8h0sulaXbrtF4AqRXyOqv25/l6cegklgK
lrRhgyQKVAH1hUoWs1gFIA9rxT16DxialNWeo7UxZWUwcMCp4QcEWPN+PdlUMyrUZPVfCk/iH8+o
VTio0s0cZLAauGP6gPwQF44Fv9j7V/RDgrAfl0qjTsWhFR/q/PoIe6KHK48dfbpptMdXt3d22a2K
Qaiaelr89jqaqWTSARppXnDH/awP6j2x9EDIjL8WoAevHH8z/gxx6PggaOIj4q8flX/N/s9bEXwk
/mxbw+D2drdltjF7A+J+/wCo3L2B2b1nR4bC1W5tw9jbv23isHk6Cm3FuCJ5qPC5CPFxJU21koo9
LC4JNy5otorq3nYJOsz6CcAUclWpXJPoflw6De6maKRJI0JiHxKaHFBQZGMmlBjjxr1bV/wmB6a2
UV+fnyw6z6qx3TnT3b3e1J190f17jJ6yqodnbP2RT1ud3Rt7G1VTKwrMZQbm3WkKTEGQywSKx9AH
s6vrQQ3STGviNH6ACjH0AAGVwAKCuOmrOZpLQBnBq5PHhxoD60DUqf8AP1tj3/w/H++Htrpyo6//
0d/RgS3AH9k3/wBZvp/XgX/2/urVxTrw49fNs/npfHCi6L/mq/IdsJteXFbZ+SWE2d38xypeop96
VudoEwm/sthJBFBHEuP31jJklhPm0vIGuL2Aksry4isF1SHwQxFFJ4nGR6lQPtA6Lz9LcbibOoF4
VBAPDTQgGprxOoYwDX1yW34+zyU+fnoM6sSUO7MFJhJ8gaOmrxTSUaWwCpBUoqMJZSIWa5WIXIQn
2U3V9NcHRESWDVGSK1Ock0wP+LwOjIWsUAPjsFJHkMeVCTjiaHy8zk9dZbqiuozk6/ZlLTvQ1GWy
ybi69epip6aor8Y9NHV5zEylZ44KurFRIWjVbVL6f02t7MdlvFt470bjKVZmTQR3UADBvSnl+WfL
pJve139x9BJYwLIiq+ok6SSxXT5VNADggU8jnoEs11JQZymnym2KfKAxsY6/C5KjNHm6GdglohjJ
2kaajZgQkqmzFSbDi52dytsgy+fpTGanpBCHsmUXpVWPoQ3DNK48iD+fQLPtGvoa5qSroawL+4sS
tCFGtALLIGt45FBAsVHvw/xj9OB6vxP+r/N/xaxbyyvXa3s5y06jURSg0+ta0+zrI22YpUlRoCjJ
p1xtpWT9YHpCpqYAjkg2t7YliliJDin59LoIyuksMiv+XqK+0oGV08DcAEXLE6lIkX0EG9mUH2gn
lkCslpm9I7ATpBPnVvLtr0YTvE1jJAa+IRSlD616hptCOOiyWMlpYavA51G/vDi8lRPXCduAlTRu
bNDUU4W8ZSzKfoR+St7Xd5R4l/Gqso/DIG4faPP/AD4z0Gy27WcgNgKUpwLKaedCBg/4ejr9AfN/
vn4yYE9bb2o8J8lPjOchj6rCdZdyUCZeHBxRqF+3wOblDV2JeEOREGkk0sfqbA+ya52a0lLSSqFm
PAhQajNa4+zApU4x0Pdr3qyCH96vpb/SlyCaDicevEedePE5O3u2PiT3RSb1l6x39ujoTPZKaHKY
/rbuJYc7gGrJ9QymOgyLRxNW08a2fUiqspNvSTYktztt+8KKFMj6aVqAfXzHHiK0+ytOk11Y7G2r
wRVsYMY0/h+zj3A14Ur5gBW5/pf5JY+Pb2U2PhcJvnbe5jSVFdVdT9kUeRyWHrdYSiG5sDR1uPgw
1ZKyKUhimqJCCFvcEA02mK2tZZfrnKDI4A1FADSvmPn6fYeg9dbVdPcJLbxh1NKkEAj7RQD9h4DP
p0OXXvym+cnxXmrsFs/sXsPrXKYeuNTJsHdUdFuPZjVtTokqq7MbZzUeV8n8QRwXkjkjYNZgTwSd
x7zJdzhdzjVrJBojapLeGMKRQilKfDWgGAPRmGC7jcxmGmljUGlCTk8ATwzUUz0aXb/81PsDeNTi
M12v8IOrOy9+4rdO199YLtjrXcG4OrK3J7r2lkxNTZje2Iw+Vo6jNZGGpjkEfkmekeJUEsMiHSEt
5um2wRKbS+kCMCCrLXFQO01wCMcK4IqOj+GBmVCqt5nBwKVBA1KSMfOnHyPQLdebco2TsDuPfdb1
bsrsHsXdO5t9Z3EbimUQ7Y3RvaumzLSRULw5BdySYCXIyRxSSTh5xGrEqWFiiPdrG9uFO5X0sdsA
uFXUKKAABqOKheNPWvn03LZzS3UkCxqJStaeXcFIpWoPHgTxx6dGo+SP81n4+/FLrPZWy/iFsGk7
3+QG0MEZ2+QfYm0Mvt/YGzNx5ijloKzJYzbM0lFW723BB528VLR6KClSzrUvcr7OLe52SQTzwX1X
JJSMI1WUeTPgJ6kdxNCMVBC5OUt3hKyPZRmCnHxUHEVJNM+lBQemOB1fO8e/O3e8d/ZHsr5BdkZ7
urt/dlB5d49hZ5qbFthsJHXyVWN6q2NgsRBR4PbnX1RJXPUjEYykpAKumidmZgzM3db8bjbp7S7s
0tpYz+gqamDg/E7FidLYA4kkHJ4dK4LeSG+2tVjBCJpOmhqcHNBxJJzXB+ZPQrdm53Edd9MJtfFT
ZKu7N7ZxVHT5iE1WmPYmw4kElNMJhKZJNw7glrnjqUZRIIKWK5axsFeXEuPrmkvKpbcMd1Tk5H8u
PQt5g3BLbbyIXKTfhFDWlVGCPkG+zSP4sEO2blcL1V3F1JurNVMqYyi3fQbekp4kkVmw+chGPXGS
qpKzx1lYwb1Cyn8c+xFuBhLRNFldXmMg5oT/AJfnT5dAiJrxwZJ1IhlGhCDUamPBgeHkMeZ4dWA5
nrabMRVeMx9LU+XPb1p9tUWOpkL1c0udzKUlFJrLqIqcazrcCyKp9NrD2Z2dwngs7tUUx5k8f8nz
40+Z6JN5uYNpufptxcpMuMDUK4B4ZH+D0Pn0nM7iVj6x7E3XHTSUtFl+1szh0EloamWlwW4sptvB
1SUupyUq6HbmouCQqBPpqHsONe2r7pbWiTH6ihwVoDVAa19SDWg/wdHfhv8ARyOV/QbSR8+4k/sx
/LoE6HBS1yCVKfyoeA1wzXsfSNYJ5P0A+p+ns2ZvDBLN0iFsshX9MVPDy/2Pz6mHbLDUGpWQrpBD
qq/qYKCP2+QCRf8Ap7Sm/gRlHiGp9B/xXTr7Y4U0iFaGmes0Wz6xhpmoUAPpLeRCQCOSDxwCfaj9
7wju8ck/n/n6KkhuBGtVGr0rXz+zqHL1+ubikw+RozWpUiSNleP9Cw1ongZHKHSbDVcWI+gv7p+9
kVlZZjSoz51/b/q8+jqOSigUqfQ9KXeW1chBhshURQO+Up6IYnb+Oo6b96tzFekWMwsQpQGaWWat
mRQ4DAuQSOfYa0Xd9fBdqUSy11HU2kcanND9vr6dI9wt3NqZpUGkEEniaZ+Rx5cD/n+j7/LM+L7f
Dv4KfGvoGrpUp9zbT63xeS7BmEaxVNf2Pu0PuffFXX6YKYyVg3BmJ42JQELEq/RR7G807zuHlprA
A41AoPI+f2+fRQqhVCgUxw9DxNPlWtP8/R8LN/h+m3/IX/FPabPXvy8uv//S3+Pfuvda+X/Chv4U
03fvxZxnyc2pRRJ2r8N5svvyrqoKH7mv3D0VloIIe4dtFYIGqK2bDYuiiz1EryCOnkx02kapjddZ
zuBNaUqktAB/SqKefnwPmaj0p0neJVnjuwdMiChPqtQaHPAHNetMfZFJXxpR5DGVYipq16KvomkI
KU0a6ZYRA68PHNCwe4P1PsnmnjglaNkJPRzLbDcEWYCrAivHIxjj5/sP+Ff5TcG5dh7pOSqUjyu3
N1tHk5noVL5DEZSArTtTUyWAf7mN2lZQSCEX26GEqKPEOFwDwIOak+o6NwEWML6L5fID9np0NGI2
xgO0aOm3RQSz0m4KV5IqDe1FNbI4eq0hGpMxjBczwzvEoTUt4yjEXP0ushUkFxSnn9v+QfP5faG7
7b1lSSPSSpPlxUgefnk/yr69Fx7I27V7ay0lH2Jgf4NVTtJBj9/4+bz7ZzLkalWrqLKlDk2VtbI1
gAQLsx4PdnvFWecq1R4Xp8/2/wCqvDoN2tmNiuHuJDhlAAoK1oT5H/iqdI+lwtHBPSQVVNBUM9PI
0GRgIlSrUCw0Sxl43Fuf9f8AxB9mc9wstQHByKV/b59CK03SCRy5cA5wfn5fy49KKTYFNNaZYFjl
fSIkbRqY/pICrYkFTcWPsObpLcJb3EtuakAUNM+Q+Xz6EdvNZ3RMC6fE/wBn/VX7OozdfVySRpBG
rTOwssiRiym/OlragQD/ALb2URbpfnV4shA6Xx2FszFWQKfLj/h8j/lp1wXZSSrNTyULZbDBycjQ
18bR+CWNtElRQCxEjQgkpbi4H9Pa5N3ijJZ6LMVoDjz8qfb/AJ+rPt1pAsswZQ6qft4V8/nQj/Zy
htwdP46kMlZjMlQ7vxjxGqpo8jD4N0bbpFUt53oP87O7ovPj8lrnm9rMpJTsbjwzwNKD/VXHr8we
l++hH8ddVK+QPl9hGakfZ1D3wu+fjht+i3bm87vnZWTyu7qfB9fdI4msyFN2n2tn8uIlpYNm7DpD
U5+SiaSdNFfU0yRCaVFTXIyodrJHICqUJA4/5/5jH2nPXmvGQNSVQxGccKjB8iOI8x8q8OrWuk9l
bxqejetMH8jKSorPkhT4jJ7p7CyVRvJsrmcTt7dFdG+2eud2q94TvzalD+3XAMWSUkMAQbFNxKRL
J4Z/ToBw8wKmny/Kh8scR9BtdvLa7fJLp+oe3UsfIHHmDx9R5D9gHHHdc9fbToakVmOr6vORM3EO
adFDfcvJStGiOUmjFKyEgWB1fm3sNTyyN4AV6JTzGP8AUf8AD59HEe028asZKFjwp5/Zw+WfT0PS
U3jvLZ22IZsvkIKJ4Y6XyCPIrFVPNJTqAkQR9fq9AGq34/p7pEssqshGeAx+VadF1+tlt0jHxV1g
V+fqB/PB6ql7s7RGfnw268tR1mIyNLmq6Hr/AAhcVMf38mtEyE9PEHigpJ4zZEkuARyARwJ7KBYw
xJ1BkzQUrjz/AMtB/g6Cqbpd391LbQ62iIyRkDjg09RWhNONAc0Kb6K6iy2D+37R7Mxqbgy8WWOS
2zsmpjUR02RmFTKMvmllJX7SjcoYlYC6O1h6faLeJ1ka1VDQaWqeIOV8q/b50BBB+Qv2vY7+yja4
uWOqQgqKZFKMCfUZoDSp49ROwKqGrzu59yTyT5jdGVrkq8nDCY3x+NkqFIhpaJRYQ0n6gigLyGNu
ePWDaBGBTT86+RP+r/iulm5WLXsFqvhaghPlnNM14UqPsHRT/krgoqDYG1Z55lg3FluzeuXxFWSf
2ar+8dJqgH0/cUeo/wCAN/Zz4mtdSrXSxx+XH5/s+yvRFfW6WVjZRyCgW6j/AGVqeFfL+fp1cx3N
TNs2qxUwyMmNzgxkGTx9TQ6PuJM5QNVLjKWmQ6Qa7OZYwUsN7XnqFHF7h6Gq28isMVz8vXh6efzp
noE80Qpue+QJA3EAEH8RJHA1J+XrkefQZ90bIbYnXvWfXNblp8vkoocnUZqpeN0avnwv2GNiy0gN
i65KoimqAzXJ1m/1PsERTlt9tpQQFVxk0JzEwIP58PTFPnIe7bbLY20MXhaJSCKEZBopGKeh/Ov7
Qmw+F+3pooaOxlFnUaSQrk8XW6kC/wCDz7EN1dKVZnwB+zooiszrHhx95HGvl/gA+zpe4rbDVpWP
I+FibMwjFgXBuSTYkEH/AHj2HLm8BLFAQa8fl6fZ0aRbe7q/iCmaD7OlENllvpTX+vGhr8C541X+
g91+qi/hb9nSYWbk0EYr0ssN16RV2kRFrY4kqGgdVRlSYgxyOOSA34P0Pto3gYsQp0g8fkBnrSWN
ceH/AKvz+XR6PgL8YMp8gvnd0XsebBR5TZ3VWSxvdPb1d9iaigxu3NuefKbLwubnUeOBd4blpYoK
dVbyExubKqlgLdktfCt3uw1DMAVHCgr3fn8+Hl59BndJz4zQKaGMUIx6ggfn6U+Hre3H+vfk/wC9
/T/YezocK9E3Xfv1R17r/9Pf49+69015jFY3PYvJYPNUFLlcLm8fWYjL4qugSpocli8lTyUdfQ1l
PKGinpKukneOVGBV0Yg3B96JKlWByOvdfPZ+UPxKn+JHyZ7j+PSYWSg2Tgd2VWX6hrJqmStnqOsd
zt/G9piSskUCrmxlFWijnZeI56dozZgQA5vEzmdWIbX5kjBNMkcft86V4DoZcu20bWEj6u4MRk+V
e0DzJ08SfPz6C+t2G24tt1uEqXgNXjT91iq6JQJZKpT43pC6kHUkfJ44sbfn3SGeXRG1CQDSg/y/
b0n+n8WSUEkRhsGmf+K/4rpG7ZxdftPNJVYSpkocrBCPuYWDGggkEjO33UAukz1R/QWBIAa3Fx7d
eeSlGYgH5/l+Xz9erpZK9SHqR8vOn+r/AAdGi2vu7Z+9cTJsnsnb9HNR5gyQT0GUpVbF5hgAkjSS
kaaFY4n1LIpVze309+hvZ7WRnRhRuNPz/njhw6cflc71ASD+nE4Jr2jUaAVJIovrTzwcdAzuv4c5
jaAr6/o3c2M3DtaZ/vDsPPyeKpx8z2ZqPbOULao6NFWzINQbi2n2IrPc0u2RZAA2QM8ft9TXhmvq
OHQUvOSLu3WWWObXEvmCCa/ZQ1Hp+Zz0H3SfV2d7N3jLt+fDZ/b2boaqalyePkop6unwsywu5nWR
Fc1SqouvjJJ4vaxsIpDAlkXeRWjoOFCTVqYGM14/ZXokhNxtk6XMitpj86Y7hpAJoOJOKcfsPViO
P+B20aTMnBdh91bjwMWTggXF7nx3WuXyVNLVzm4x7TJGUhYabBjbn6249h+ULdKGjtKAVxw9KHP+
ry6Ojv5VtZnC14GhPlkU+0ehyfy6V+R+DmxF2xu5Oteqfl58mew8BJS02Op8htrD9CdaNTS6VbJH
eO5/s6fI42MnXLLHr0xcgfj2ml5blkEMpuIUjLhj3hjSpPAZAA4eZ88jqg3ZpBIsayuSSDUaRn01
D8z6cMHoumZ+GlBQmLBd8909X/Fykr4qmrzvX3xRp6r5PfK6vxOhiseD7Ar6Wp2hs8BWJA8MoIC/
Xix/9Etw7NbxayxwWokYr55yceVOPTQjaIkTxRoBwValsDhUVANDX5+mSOjjYj4a4U7op94dT9RV
fR0OzNv4+pzPave+5pO3/lr2LW12HkWGh3Jv/NzVzbcpJZD+jDmKNQwF7Ae0htY0ASV0aRzSigBQ
AcjHGn2fmD054MjMyJahE9TXUTSh+QP5DzGMDpvl+M1FUUGK3NuPbmQ2lvJI6+TMmnyoGIyVEPK1
Llappj5aiWZAHJuzE/7H2H70GOafsLJqNMZ+QFOP2no3h3t41jjJ0CNdNC1AKDzr50x5Y8vPoifZ
NYuDiixvXWTzW6N05Grq1kq4IKyTG45hWTQxr91KDDKlPGqhtB0kiwHF/ZHPAWYeIlI6H8+Hr5H0
8ulEPNIBipJxU0pVsg/nQZwTSvSEx/THZu9crhkz1PVbs3FP5JY5KC1JtjZ8SG0NXnDUyIrkw6Xk
DFgHJ+gBsleZIFZKgcMDJP2U/YfT/DcWlzzBercVcxGgP8IKgLwoD51rnh+fRdt0UC7G7VyEOL/u
x2ZV7eUpkpqRVqsPS7ngOuWlhTmFWhF7W1LYAi/HswimMixor6e318vnXNM9ShsHKFrtsKXlwKlh
wxpIPA4yacRn0Hl0zZmu31v7KVdZnMhTY+Ovli1YzGRmlqaWmiBWogEiWdwyNpsD/wAQQi3ELH9F
pPxBuHDj/Ljj/B6jmOW3vttuWCrrgVeP4q5GDxpp6cKfZ9NTwx0dHSo9HI9K1SkwZqryQGUB3N7v
pVrjiy88c+9xyMpib5nP2+XRDsVmtwkikHVWgxjyNa/MnOeAA8uir93bNj3N3d8SemIaMZPJdh91
4DMy0mvxrHgdt18WQyNWHJCKtMtIxck6dPHs+ilb6ZpBJQq4JHHA40+dDxx8+gTz5CY0tokI7bkA
/wAQwcj1APr8qcerRMNt3J9qd3Ve4cxIk+xY9zz7wgoJ4NLU23KbJV+OxQhcpoX7Pd2PpZ1P4RDb
6A+1srCKyYqwBKjiR65rnyFa8D59ALarYX/M9lC8baPHUnBwp9CeOQMnHA56S3ZKz9i9i53Ofu/w
vC1WT2/RQ2Z9PiqAoMZZAzQqsSxgr6bLb6+45jfw5YGNNQ0kVx5Vpx+Z6nT3J29La/2tI2DiRzUi
h4ooBoK0rQnPqM9Q8XsgJGjLEV0arao9LkhbXWw1aAxH+9/66m6uVbWplqSa/L7P2V6C9tZ6SFIW
oH8vWvr/AJelrt/a8dPUr92oLj6lxYKCLpctbl+LfT2STTP3FVJHpmnz4cOjWOCPSAWWg4cP9WOh
DpcJTgEhWF+QSTeytZrcfke2jdow4E/6vy6TG3UYJJ/IdOb0NJt/G12bammrWxsMHixY8r1+dqMh
UJS0WNo0jBmmqJ6qdVSNTqa/HvTXirTtZqqfhFSPmQPLqy2g4UwfX5/bjrcI/ll/FGf4rfGrC43d
OPhg7V7HyNd2J2RUzRxy5LG1ue0TYvZ5yLqayfG7TxaxQRQOQkEzzaVBZiZW2p3l2naPEi0yLbgZ
GaEls+laioqeHHHUP7yIU3fdRbz+JAZyQRWhpRajh6caUPEYPVia/T6EWJHP55+v+x+vsyPDoq67
9t9b6//U3+PfuvddW5uf9h/h791vqob+bt8IY/k301TdtbFopI+8+gqPJZ7AT0MSzV+7uuW8ddv7
YX23/LwrajH0rVuJQ3ZclCEQf5Q3uzzt9LLaEAwuQaeh4Ag0J+35Z8unbOOEX0FwynxlNAQSOPkR
UA1r5ioNKHjXVdxePSrmo6inoajFrVBJP4bVeispRoCNHXRHUYsihUiVSbq4It9fYZhL2EMxlTuq
a4PkT60x0PDONwMTxkNQBQRTNOHA+f7Tx6yz7Ro6PMTV5jUwTjxVTSKjXrFjdYAtx6ikckhIsbX4
t7Kbq6e9BSNgVwTT7Qamn+H9tejC3hFqJVaq1OQfnSvH5gfs6cRhlqaWSjqaNamN7mKyqNAa41l1
GpQ3Fvpe1/ZIyPG1GUg09T0/fukscIGRn5f4Pn1NxD7jwULY6nmBxJjUpTeMtLDItlQxO95UGjg6
W/H+HugUE1LNUV4Mfz4H/V5cellqWUtWhqvoP9X7M9CpsDf9RsTOYzc+MqHwedw9S1bT5T7Z5Q7N
GyT0dXDBS1ElVFX0zNAS6SACS/ptcKLLcJNnvot0QszpqUAkkd6mOulmC41Ej0ORnHS++2ez5k2s
7JeuqWshRi2ENY3Ei1dUZhVkAOOGMVr0dHBfLeTtXC4nG9u9a7g+3wj5FTX9bb+nw1VWUlZVJMtV
UCbAiann0lWYRxMU/SL31exja82zyuULfHxqiAen8R4+X2HoF3PtdtkMYNvOupfhpJKaefkg4EUr
518hXpYZLLfAfdVfDQb07o+UOC8NEyS7d3hv3eO89q0QZGaVnp8lvrBYyoggC+qP7J0dQQV/HsU2
d3DOIZJTbBXkCnuWNj5UNMgH1/w9Ba75V5hhSQW1vckqhftilk4ig/CAx9B5k06E3rXZ38vDbtC1
LgfnJsPaWKyKqZcfktv9d7KWoQxqg8jfxOkqpIhpB0uzD8W/oJrm35fRmVdqtCRWmm+1f4cH7fXP
QSi233MaOPXdXhVlBNdsZcnOQMg8aA5FT0ut/bw/lr4Omkl33826jdWQpsRQ7fhm2tuvbMFRAlMT
4jFT01caVZfQAwLLa1j/AIMR7dtUz9llZxAk11XnGtAeB/nnHqK9Kzac/ogLSX7kUz+7WOaDyycV
qft6DCt+Vf8ALI2qjt1ttbsPvvcwj002X3PB2JmsfQVMCIzP9xVY3GbDWBnH6TkYacm3rAPul1uw
ijFvLulnHbx4pE8BqBUDv1FmNPUVP29JbLk263admv8AZr1pSKs08U6DPEhfDCoDXhUgDzNK9Eh7
/wDkxt7syqhq8RsnD7PTGvLW4+jx0e28bJQxLEEWKWj242WxMBZ1JMcWUrUYvqMgcvGkYbxuu0zP
JE06yJTNHU1B00Ioa4PE08iMcTKNlydtOxxLPKUEgpWjtj4QAVZKcOPzIrxoCBb43nvzcGAzWIxu
XqcPh84jffTUbGnqpopAxeJzQShvQxIVg/15NiB7D8P0hAe0oYqkAg1Hzz9vl0LttvoTaKtvR7UE
4GjjXNSAPsp9nRZeuNm47EZesxUlKlHTpDUVKyoS8mRrG4NRUudUsk817FpLnm+okn284JUVP+H/
AFcehNbTiZFYN3VGPTh+WKV+fyx0LdLsxjXxTTQheXswiRPQq8IGZC/p4uf6ce2hKYQVIrX/AFeZ
6XDa03KF5GkoyYwTwJHHT5elesmXwy42pirRGsS0jvUVU9tSGmSAmYONJb9Bt/h+Paq3RpTGVOa0
8/20H+ry6W2W7W+x27iST9OlFB0jga0BNMk8M/b0APxp6jyXf/yq3X2qKSPEbV6V6xz9FtvLV0zw
QUku4KhoKqlpZZmGmvyb2hjAKyMZSq/qsBtG62FkJPxsaZFag8cUp6EH8xSmcdd7vW5k5tktFYlA
rNxGBXj21ofIUritTSh6suq8gcLisvUTUFHispnVoqObCUXhkTCvV01bXY7D07xhpGx1Fi6Kqadt
XpqplDHXa4N3dhOSNXwjFDk0Izx41oMeWfsmbly3az2kpoADIe0rQg6k05Za5XOcnHpXoIo8EkMt
CQIxJVQTu/0IZWIszBiSxW1rn1G/19hJ4dV3b6wT3Cv5evSa/jpcQFQSFYHJJ8vz6U+OwkXJCjUE
4+gBW3OlbWUlh/vPtndy9uewHTWtBkjP+rHWpokuKBxqX1GP5jppzWGoDNHUvLUxS1lLH9xjpNcs
hgxQdnyUa00fqRUe50X+nI9pds5m3iDXLHZSaakn9IH/AAn1Hnx4dIX2jbRrdmIJGayMOA4jhTOc
cOlNR4vziKSNlaM2YkEhZUYXs2m5Wym9z9D9fp7btro7cJI3DVkzkev+mP8Ag/LoURJHW3tKL9Pp
FD5ZHm3H5f5Oraf5SHxAm7k7MyHyO7HxMWQ6j6nzr0PV+Nz2Nqo5t09p0A8dVuKMS6aTIbc2PG4W
iks0ctbJqswiNpI5c2BbUpubf2rgmmf8BGKnJoTkD59R/wA9781sTsVnIpiaMayNJ40IXVxGPL1r
wIHW0cDcX45v/tr/APEj2MhwHr1FJFDTrv3vrXXvfuvdf//V3+PfuvddX976rXPXC4JYg30kfi1m
sQefybH3RlOD59WBoD1rN/zMPgxjOj9/VvyX64w89L0r2BllTtjb+DpGNP1bvPInTDvvHU8Q0YXZ
G4a2xyniAipKltQVI5RYu3tUbY5tA/xtCSCdIqp/DWlSVPAeY4mor0J+WZXfcYoMtqIxX088ny9B
+zj0WP4p/CuP5jdhbn2bj+zsbsnA7Ow+D3Xv3I0UUOfzO4abOx5ai2rVbC23U1kFLhKaCrx5kq62
ZJI51KppLPf2Q8rWiywXlxNGT3hRXgPPic1x5U8/MdH3M16LaaAIp1AZpgZyKeQ4A17vs8+uHy0+
HO5/hPvHa22Mtv6k7K2Z2Bg8rk9g7wrsXR4HelTLtSoxke8cHurC4pEw4jwc26cbJQ1cIBqYq1kc
BoLe6cxww28lmIkprD14cRp/1V6Sbbfm+tirf2kZzXjRuGeB4HgAfUUoSSqqzVLTZOUuuoMoiGrT
bUXbjm/NiD7Dag0HQpgFMcTp/wA/8+lJT0TZVVMCW1fUEAKypbyfhvUQTY/4e2SUr+tTST9v2dCO
2tXuoooYXKNprUUHDPn6/wCXpVUG3Hx5MiIIp6jlpoy4d9J1BmYWZtOn8j6+7V7lEDkN+z7P9X/F
dPfSy2urvLv/AEj/AJvt/wBWeu8tiIsiiRVZScKRGxl0PZSGRwwABJ/2P19vpJua1ZZnBGcH09Md
M/vdv7F4gdXaAdXE+f2/PpI1+zcJTrFUSrFaKyQgwJI0S/QBLx3VQG/2APt76/eiMbjLQ/0uvG1u
lHaQRX+MZp+degdzW0ttVVRBJWY6erjmmE0yT02oSysVQu6NHdnKta5/B/p7dW83tR2bpMCBQUf0
6Z8C+I0hBWn8YI4V41p08xY6noI3gx9PFSU+tjGtOrwMkZb9pHRSoOgfg/19qlsribTLPeu1RmpF
K9CHcXsfo4VtLGNLsQKrUUjU1O5iRgsTxPp1Pp6dAvqiW5Xxu5hch0LE2Zyo1ByL2v7KL/ZPG1eH
dt8hgU4dAcbbLfSsL2QpCfQhuNPI+n/F9QctQrJL+3CBJLTxo7iIxNLEqBVQhgGsgAAv/T25tdqb
KyEGrVR2JJpXJrSo6reWdttV1JYWrHwgqkGgFSyhjgEjz4+fHosFZSS7e3cJp1MkT1BZVlBYEM/0
/AK/Swt7MaVWgHDpTZ3LRg6sLwqP9X7ejEw0rZAwTJHpSSBhDGttAMhUmVieB9OD/r+2mi8Sh4U6
OYt+G2R1Y1WU8c50+VB6auii/JrsKTbtJHtXbkivmqyqSnyVUKg09HSUlv3pMpVxKwhSojQxx3uJ
Hsv0HB/tUBqhYdlacPMZ/lX9vzPUX818ySylIY520PXTlgB50HGmT9n5nJg/iXsTL7F6trqvPVde
mG3vnBupKDMKYa6vjxMS1WGpcljZ7NS4nE5REqceSi6p1DLdufb29bl4VrIgID614V8zmlAPsz5G
vRryVypLPcJvtzCNHhN/CQzHgCRkgca54AcK0es1mZKvc7ZkeQ+SWoi8ZPEMNVMlVWCI/QCqkhjM
n0uyD8ews8/ihDxxxz1LFvYkII5DRPKn5DI+QAH2dDDWx4iox9BlKWlpmqBAqI0aAsfKqMy+gWP6
hq/x+v09o/BqWZWII4fl8/8AVjpq625mgkloNCgkmoBx/sD8/LqFSBmsyxBZCpHiVdNgP9pALAD8
+0DhZXpcHUvzzx6DcQLKfCJIoKD/AGOrHfirun+Wn8Lfjd2r87PmB371z2Bvnbe3d4bTquocxWbY
r9xbNwdFuEY7A9b7C6MzGROSzfZ+9MhhlNNlzBA9RSV51zw0Ec1QskbBs+0Tw2qGC3WM6SWeMFUB
ValqKxKqDgAMTq0gFmC9RjzVue72U80QmuKUooDkaq93hrkKM8akU+I6Vya2/wCVj1j2b/MVwOw4
8MNz4bb27t5763tvrfeQo/s5tj9G1u6q6o2hjnrKItjqjsKqxLQUNNSo5glS9QreNS3sJT8vRbpv
F/4SabaKcqF7RpCsc0NfI0IHA4+fQ0j5gXb+VNve9eu4tAM9x1EoKAOfnWpPAZIJx1vadc9f7S6q
2LtbrnYmHgwW0NnYekweAxcAutPQ0iFQ8rn1z1VVIzTTytd5ppGdiWYn3JEaLGioowBTyHD7AB/L
qIbi4muppLi4kZ5mNSSSSfzJJxwHoKAdLUe79NZ8+PXvfuvde9+691//1t/j37r3XVvfutUHXioN
/wDH6j8e/deIBFD005nC4ncGKyeCz2Noc1g8xRz47LYjKUsNdj8hjquEwVVHWUlSkkFTTTxMQ6Op
DAm/tqaCO5he3mTVEwII9QfsyPkRkeXTtvNNbTJPBIUkQ1UjiD/q49afXzf/AJdvyP8AhR8s+ufl
l8Su/N7dG7E29uZzT77xWPfde0cd1ruHMU1XunoTvfbeRmqaXdWxqeOneXAV2USrix7SK0XiqqeG
RV2zz2ew2E1nDAptnFHR/wBTUPVS+VbAoyESKRhtJKsJZztfMEVsXSSPdFoKq4C1yTinwHFQaioA
OOIrfN/5C4/5d9kbR3ljmrz1715syo23temqYnoaup3BuGpx2Q3tn4445GgahzM2DxyQSINEsNGp
/HsF79cWU/7vEifrJrr3ChDaKYyQRp8/U48+jXZNk3C0kvY7qOlu2kodJVjSoNSeI8xgUz1XLm9o
lsuiSCZ4nm/yR0aTQjt9TM4/UiC3Lfn2Fy0Hh6lBwMZ/1fP/AFDoVW8bB9Mg7Tj/AFfz/wBR6F/b
OHlwccMtUBVxrEUVKdi41teza7XsP6H2hkgS6JinVvCIrg0yOGR0J4W+mQGNgGA4keR+f+XpWVlX
HUyRqw0fty2iVQDoMbpp5Bs1iT/sD7Vw20UBUxg49TXzr/h68LkppPiCoP8Aq/LpNw42FpGmHkCI
wkIZ/SwQ6rGygjj+g9rTdTaSo0hDg4zn59We78TUNS1ODQeuCeo+dWGelCKoEYDXUMF/pfkN9Le0
ghQYWv8Ah6QyRW6ijPx+Z6AOqrdMgppJZCYUYx6HKuSo/L6vzq/JH/E+1PgxDuIPSeOK3bSdfH1J
4f6h0IlJTR1VCjPq1JFC40HTfUbHUedfpB+vtl7aENUaqEHiT5dU227n8eSJqGFSRwrjqC0Mylkh
CeNCVRdJDWBsPULnULfUe9JDEG+I1Pz6WbtYWt1bEXKvo9FJU5IByOsK4zz1EQIaRmGg2Z+CTZbs
bmwHP1PtSJhG3hgADoE21gls4trfX9ODXuJY1OT3Ek/5hgYHQIdp7NmNRDLSQMkpqY180kn7cY8g
YEAhlD6L/X68e3YxNLiAVPHhX/Nj/B0b3EtlZqTQhx6sT/L/AFHpm3b3PiOucFRYDwQV+YrYnpY8
g08MFHi8giQDHLkJJBq8FcZJEVIR5mmVFUi5uIdj2qO6F0+5I1F0FAKivxBuHEfDWvlkedIv5p5j
na6sE251JGuooGpXTQDy4Ak54cOmfpb40ywLU/IP5Q0dRgsTuWqWv6p6py7Iu59ypRStIm8N97YM
l8btKVmH2VDVqGmVRNbU3pMJ0tLKNYLVyZA1TVidNamlfkaD7fPHSXY9j3HmBraTdEb6dmWgClWp
gmtKBaep+2hBB6XW7+xcpu3dDTRwxLj/AAyUYq6c/bSLTQREY+hSmjbwjHU0kaBI7ERqfQOB7CF+
31DyLIwMZbVj1HzHn/qPWW20WqbZyq23WI0yhkI1GvbqGoZqTjgPIVz0x1krMUhVQZB6S1tRLOuo
BQLBvxbj8fT2lWFADprnoKzXe4I6iKVBGc0Kj5ev/FdCj1pSyktj82xqmidqmmSKRotDLeWCFyG5
Fh6gAL3/AML+25zIrKI6aTjh5dCrbLzbry0uYtwV6GLT8VK1FGIoOFeH5dClt/EB65qiaohmr2qT
NNCVEFJS4wSOQrryvmVFA1Eg8Hi3svvrWBz+mjUAOan5fP8Ab0QtYW9lHXadWgUrrOsipXHl86Vr
5Z6ELq34f4/5v92y9b7Y6w2huKow8VFR9w9kbp2/Q57a3V+DpojFTY+WpqKeoiy2/J6RtNBRI7Ks
bMzlEGoifluzu7NC8LsO8lcmmaFmNCKCvrSpAoD1GPNEloXmi3yN3gK6ezs1UABUVFdVKV4gA1Ir
jrbl+M/xn6o+KPU2B6i6iwiYvb2Iijkq6yU+TJ57JFVWoymTqCbszkWiiW0NPEBHGoUci+0tILPx
mgUh5XLuSWJLNxNWJIHoAaDyA6jvct0ud1e3NwR4MMSxRqAoCxphR2hdR/icjUxyTwAMIB/sPaml
TXz6Luu/e+vde9+691737r3X/9ff49+691737r3XvfuvdcCvqJJ/wH+25961gY62crTpj3HtvAbu
wOY2rujE0Of25uHH1OJzWFydOlVj8jjqyJoamlqYJAVeOWNrfgg2IIIB91ZfEBDLVTx6vA8lvIk0
T6ZEIIPoRw/1cOtcf5mfy5dxfGfG7h7V+PWL3T2T06kZr9wdVU/kzG6uuIqcgz5XbMjBqrMbLx9C
089RT+qopRGojDJcgKb5skt5cWz2ydtGDfIkrpx9moV8qfPqRbfnSS+jjW9CLPEoApgMDxp6GuaV
pStOFDU/S9i47J0nloYaWvwmRVvLl45UMQpYruzROPXBIjBlK/q1AgjjgnbZLmIfqqRp8v5Z/wAv
2fPpbFvccopqX5jjUZH+z07bd3E2LjM2FkhrcJKHnTFV0oTJTQJ6pchDNLzJHABYJe5JA96Yae0j
86fs/wBWOjVL0vHoU1hXAFeFOP2/t/z9CFjNx7f3SxOOj0ZCIsBBUkQvqEd5RECf3dEYb6Xvb20w
0gVH7P8AUPy6slwrYp1Hr4zTsUSZYzISrCoURIbg38ZNtTfgc29tgkf6v9jq5mr/AKH/AD6TmVM0
VIP0VClSA8LBtLW4EnNxwDz/AIe7qKH59NPcOoFEqf5D/L0Vnc9a+PziIdOmf0erj62sFuR9Cfaj
J8sf6v8AD0naYUHb5/y9eh+xUyPiaea40tBEnFzY6S9/8B6v949sSLpNa/6qdGW21Oqq0pX/ACdT
VgSJFDpzKQwaxL2Zy1xa34NvbsSA0NM+eOq7zuJihMfiEen8q9PFHDTUjR1dTJHTU0CyzyO+hCsU
OryNMh9Xp5IsP0/j2jns7me6JiFQQBQcK/6v8HQRj3eJbfxpX4A5J4UPGnHz9P206AHfe7DvnJ4v
bfXWOrd4ZzdWTTb+2Nv7ZpZMruDcmdqHEMNJg8bTh5Z5PKbO/EcY9TMoBPsb7HarbxqLh85rXFAP
U/t6AW+75dXUkkVoCfSlCWHlQfn/AIeuEnx+2D8QN04DNfKGp253L8rIMtFXbf6FwGUjy/W3S9TM
i1mG3J25kFL0uX3xgFaOY4gFvC4GpfULnu43KrFbC0qsDFgTwJpTAPkMnPqPQHpjlLl25vNzvBfJ
Vo1SQcCoqSCNQ86GoA408wa9JLsPeW7+yN112491ZWuz2fz9U1bnM3LaOpyRVfHAIYAfBSYqggCx
00EQtHGtj+SQTeXBwsXwg8f8nWTWwbbt1jbdxXxxRfnilK448fln7B084nbNLR0ayy08H4e8hvM9
lVS2vj63tb6W/wAfZSHMkixjz4/Lz6T7ru8tus0ls5Omg+WSMfl/h6wZGXHyN4seyNWxXEmtVSOE
f8dNViWYN/hY+36aR8v9Veiu2uWu+907ARXz/wBXl/qHTtgBUUtqyGsWarH7sazsadJFibVIi+Rl
jOoC3JJvx7TyFq6RGaevQht0j0gPMqYODTgRip4U+Q9K+VerFvhj8QOz/nRj4s7iKir6y6PpcjWU
+5+x63HSDK7mrGgaOowvX1HUKkGVgoZCPJXF/t0IsCSwua7Zs5l7ritARxHlxqfmQeH8ugxvvNlr
sAkitJhLO4wFwRQjLEg0HHyz5UKim0v0Z0H1V8cevcZ1n1Dtaj2vtjHlqicx/v5XO5SZV+8zu48t
KPvM1mq9l1TVEzF24A0qFUDGC3SBFRR2j+f+r06hPct0vd3m8e8nLvSg9FA8gPIf4TnoZAoA44uL
cf8AEf09vdIRgAHrkBYW9+631737r3Xvfuvde9+691//0N/j37r3Xvfuvde9+691xsb+/UB49V7g
ajrrSdX1utuR/j739nV6k8euIUg8C4APOrkkn9JBH0t70aNluPVcg9vDqov5f/yj+mu7cdujeHRn
2vQvduUfIZiHMYRJRsPcm4qoFw+7NqBKnHQpUzE656OnRxqLaHJ9tTh5IwqqhpwBAHy+IKTw9a9G
FldiCdGlLaC3cRxoStcVAPwj0OSa5IOuD2/svtn4n10eyfkx13V9aZuUHRvOphjyXWu7ZYGlhjye
0OwaMviYqSoIucdU/a1Sm2qMEH2SXnK25W1t+9XuLaSzeXQBHIWcEjUA8ZUMMfi9ajy6FW28w2G4
zPtVvHOt3HGZGaRAilQaHS4Yg/ZStM4GAEE2fgySNVUlZ91C0MdXBXUNWtPC0JtIstPWxSGKZGC2
srHWDbm/smeJkCsyHPyP88Y49Gjt4QAZuPz4/wCr/V59TIO28zSQRQmWgyuNZ1hkizLeCWOJSQzJ
USBiBHGL3BX9P59l09zawqzurVHoM+R4ev8Aqx05DKZZobeNjrdwBq4VNeJPAfM9Gh6m6e+TnenW
MXbXWPxe7X3F11VZ+rwWGz+Mi2hRHc0VEZkqNzbYw2e3dh8/ndoLVU7QpXw0hjlmUiMNYn2Idv2C
53G1hvYbm1SKRSQJHZHHz0+GwFfKrVPpSpCC+3aLb7p7GdnMwYglaFQRxyWGPy8uq9+8tx0WJ3rj
cPUmrxW4sXuGo27ufaGSgmx269r5jH138NrKfcWJqxCcfHFUk+ou4MYLfSx9lqI31LWTRnx+FdJK
5XUO6np/M06NRazvbrdNIvhgFvjocY4V/l5+WcdGewlQr4yOkjmQyxxwMzeT9li0ZIKSrdJVP4K3
v/X2ybeSSQ0IKrX+X+boQllsbXXOf1Cg+Eg8R5Z9OOelrV57H7fxmPau1SZDJgRYagiiVpq2XXoV
oVMiaoRKpBYXsQf6e3obG4diwKhR6t8v9R+fUecw8wWaQUKytIDT4K8SvnX1p01QdO9o9tV9B/E8
ttnZOJardXzWWrZYabA4eGwqqiCliQS7gy1TAdf2pWJY5G0hnC3IitTbRW4W4WsoJOAp8zTNK+VP
Ony6A8UW47jDqsGpEG0trYrSvyyDwwMY8+jNY3Odd9C4nNYj47wU+A3BWY+fF5f5DV70VH2zk2ng
NPkKHq2aupK6j6xxlYxPnnWOeWZT6CjFWHpXGr1NOFMA+RPqcn/VjoQbJtQikjkmA8IEamDAk5qQ
oIwKcTkeVM9U4dibL7G7D+Q3TvUfRGLHanbHbW781R7U6n27l6HHV+5ZNvYSXdm+d1ZfO7qq4IBS
YTERfe5rJZCv9XDICpKi62G5buHEMkSRwgF2d2UKGJC0HdXhTAxX5jqVtouOXNrg3SafUCsaFiFj
OAadpJQsSSQATUmnrmwX5ifGrt34G9c9E78+RFX1/gsn3v2HF1litmbSzGU3Xkdt7okxGRzdJDm6
+n2/R4pcXFj8ZIJqilnqoI5njS/qBJTc7HuJSZoTEVRak6zw4EiqqfQjz4+fQZfm+zvtwtbfb1mW
SbCh1CiuPi0yMAB6nolWS7Dp6wHw5IK6oHijg1TwzspkfwR+ESAS/tEWYKNVuRf2HBa3UTeJpLAc
eNcjyxXPy6GMN3bJIkG7q4U1FVWoqB6sQvH1P+ynNmbgzu9N/wCI6y65wGb7O7j3GKePF9a7Apav
P7qU1sopqP8AvC1BHLR7SpHeYtJVV8sVPHGGLMOfZvZ7XuF/R4gixjJLEqAPXINfyBPT1zzFyzZr
IY2nBFDQItK/kaUGKk4FATjrae+Hf8k/bu3cXhN6fNjP0PbW+gpq4eptrzVON6j2qKm0tNQ5SSBa
TJ73zePVgk1S7w0bzISiSIQxNbbZJVJed1qCDRSc09WIGONQF4HiOop3bme4u5pvpXYRMWzVlOT5
AN+YrwrTSOr4Nvbcwm1MLjdubZw2J29t/DUsdFh8FhKCnxmKxtHEP26aloqSOOmhjQ3NkVRck/Uk
+xAiKuAAF6CjyzTOZJ5C8p4sxLE/aTUk/M9PYB/w93PDHHqgAHDrl70K0zx69173vr3Xvfuvde9+
691737r3X//R3+Pfuvde9+691737r3Xvfuvde9+691737r3XFv8AWv8A4Wv+Rbjjn37r3ST3psbZ
vY23chs/sDaO3N67VysTwZHb+6sPj8/hq2OSKSFhPjsnT1NMzeOVgrFdS3NiPfgaEEGhHVlkaM6k
JB/yeh9QfMHB6ow+Rf8AIN6Q3Mud3H8St+7h+Nm68rNDUNsives370XUtHVU80kEGy8nVDLbUVkR
yjYytSGOQqRAVBU+uX+rBEyhpP4jWvlxzQ8MYGc54dKra8licO0j6aioFOFcilMVFeBFMcaU618P
kB/Lw/mO/G+ozE/afx4yXbGy6VcnJN2T8cpTv7a8e24kmimyu5Np1hot2YBoqQmUpHTTyI6jSG4J
Bl5sLLHPdo9EhXWVoAWApUK2qla/y44B6GO2blBKYYtamaVgvEYxU1BAPGnCtfImnTl/Lx/4UdZ/
4e7m+O3wn7o27hO2vijgduZjblN8opzn9n9obHp6Cbcldjdvb52zk6RcHX1G2JaWnxbKy0U8kU8b
iaZ42V5EtVsrrare5FlPHK0QowdWj1ACoYaARUZDB+Pbo4kBrd7aVt3lVZlcSEHCnjTIGfLGNP2V
6qv+bXdA7Kz/AMifkj/HqbPRdj9idg9jZPKYw46orMVtvJZfw4ylMeInkNNSwY5I/Fbnnjjn2Gk3
xYd2g8KykDrItASCp0pmhoozSp+fzx0JpLUDazH4o0eGfI4XJFRXhTga8M9Yuv8A5CVr7Z6yqk3F
X/Z53G05iqXNQ0E0CwaYyjqrKXK29LEMpNvrx7KWsZ3luJqdrsStPnQ/6iBQ+mel0t8JUWLUTppw
pwGP2U/Lz4Doz2wfmbUdG7gzu6ctgsX2JPNt2px+2qPeNqimwOSZpAlXjY30+EK/6eSQ5JP4Htlt
unYU8TSATX7PMGv2/l/gL5NrS61yNGpVuNa1GQQBQilaV9fl0iK7+aLka6LLyV8eGpslWBIaipSq
88i1UoBq4qKl0pDDBTzFlj9OrRb6D2bWli0dsojViATmn+UnJ/2eml223skaKR1BqSRqIPca14n5
Hj5n06Cv/Zytvyxz1Wf31BT071CM0udz1BiaKlWW7CNJKyemjjgZgCSTYN/Tge1wtpCCxjPrWmKf
acf5+i6S4jtiwjcIg41INa4xU8K8AM+vQB5H51bU2F3Z1f27092vUUPbfWG8JNxdfZvq1shufcqZ
Ssw1bhMjQxDEYzN4+sw+Yw1VPSVlFURyU9dHMEZGUcHezSJa/VpNb64pAqkcRgk1wa/n5eXn0lEh
3a3v4fEMUqoCO1mNcmo0inAGtSR3AcSOj4dQ1X89v+cF3Dldy9pdF93b962qt2YPI9Ib97o2BRdA
dKdK/wAJrJ0OYpFpMHtnE7jikxksYySYylytXXSxHVIrGxMAlqYryOdhDbU7BpGs8Kgrr154qTjj
lcDoI7Stxt+87fezyPJOA3iGraaV7CvboWgBBVaGpBIbLdXy9H/8JrO18ruXb+c+W/y9wk+01E39
8er/AI07Fr9jrnYVLz0tLS9jbjyNVlMb5KkRrVSxYsSS0/kjjMTOskZCtvt0RVo7TWQKdxb0pmjZ
/aOpK3rnSfd9vuLExujOVowKY0sDw0UIIBGfWtK9bH3xb+Fnxe+FmzX2L8Zumdp9XYeqdp8zkMZD
U5Lde5quQo8tZunemdqcpuzcdRJLGHH3lZKkbX8aoOPdNNKhTQV+Z/Z6cPL7egU8rysGfJApwAwP
sAr/AKh0aH8Hjm4IF/yPpc/j3cY+zps6iOsnvXW+ve/de697917r3v3Xuve/de697917r3v3Xuv/
0t/j37r3Xvfuvde9+691737r3Xvfuvde9+691737r3XvdWBNKde64m9uLH/XP4/PvwBHHr3XD1LY
KRa/Ibn8/QH3cFDUHj1SrVHQD7z+LXxl7Fosvjt9/HnpPdtJnROmZTcPWGysk2RNTdp3q56rCyVE
ksrEkuW1km9/dkkaFAkcmlPQcPThw4dPmWZyGaRiw+Zr1Ur8gf8AhNj/ACk/kCk5quh891BLU4+P
HTv0V2DuPr+jkihuYWmwRmzG2qmSE2sJaJ09Iup92SaBSWls4JCSDVlNcUplSrDh5EHq0k93KjRm
6koVA41oB5AGo/KlPl0SPcv/AAkE/l5zUeCousu/Pmh1XSYWWSpWlx3au2c9SVdZJIJHqHpMnsSG
GlLuLssAiDMSf7R9vJcxqO60QrWvFh+XxVI+R/z9VEk6KgW4caa8CPOny+X2YGONULu//hHv8Wd2
YqSnqfm58x4swSzRZSfK7IrqMFjfTUYZ8BDFNDpAuFlja4vqF/e3ntZBQ2IGOKsQf5gjPnUf4OnW
vrsiguWGPU/zoRWvRfcf/wAIkfjktWZs189O/sjTy1Ej1MeP622LjKyeleQkQmsqszmk+48PpaVo
XVm9XjA9PuoaxANLaXUfMSL/ANav8vSdp7h2q1wSaedSf+PdWUfHb/hJ5/J66Hq8XmN0dY9nfJHO
Y1VYVXfnZlbksPPVGB4ZZqjZ/XWN642nXQF5C6Q1lHVIhC/qIudeOuRFbRrinAsft7iQCfMgDz00
GOqaak9xpX/Vwp/Pq8jpz4h/FT4846hxHRHxu6O6jocfGkdIvX3V+zdrTxJGWaO9bicPTVs8iu5O
p5Ga5Jvc+07lpBSQ1Hzz/wAV04JJYSzRMVZsGhpUfOnEfLoxlz/WxP0Frcf737qPn1UH1HXhe/ux
OOtkqft65X90rXy61w6435v7t8Qp1rWtKZ65+/db697917r3v3Xuve/de697917r3v3Xuve/de6/
/9Pf49+691737r3Xvfuvde9+691737r3Xvfuvde9+691737r3XR+nvx4HrR4dcH+g/1x7qvxDrR/
D1ik/S//AC0X/ex703Efb04PLrP+W/2HvTcOveQ64P8AX/Yf8SfbnVeu0+v/ACD/AMT7917167H/
ABJ/3v3vqnmOvH9X/IJ/4n34dODrqP8AT/vv8ffj1tvLrmfp711Q8OuvezwPVRxHXj7ovHqzcOuv
dl6oeHXP37pzr3v3Xuve/de697917r3v3Xuve/de697917r/2Q==

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.the-eic.com/WebResource.axd?d=H4n9iT0M8-MWTQI7f5HmAVfLjWWEKMKbPpqZc-goZh6WUpTc6XTei6Dg9rMZqT0uezLela7V3AVlTwkBFyYNpA2&t=633921858185257500

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
+lt4ae1sz6OjE/2DVHMfMfZICftRiWzESB+C2KdFh9HQ/3Qf7ParDuOQKFOJQVrwBaemX1kg7QRY
AAAA+G1rQlT6zsr+AH6SkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeJzt0csKgCAQBdD+/6enVSDSpAk9PcLZONMlvEtE
LACF7bTmcbA7Os92n36TmdSdtGb1XbYzkqX/f/R/NqvOe/pNZrLXy53917OeLN7Zf+zMe/pvfcs3
+j/Ky7J6/4Vr+y/PmflIRtZ/dgcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAwH1WG626wk0CpLgAAAq1bWtCVPrOyv4Af1e6AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAB4nO2djZHbOAxGU0gaSSEpJI2kkBSSRlJIbpCbd/PuC0jJWa8d23gzntXqh6QIEqIAkPr5cxiG
YRiGYRiGYRiGYXhJvn///tvvx48f/x27J1WOe5fh2fnw4cNvv69fv/6q99q+Z/1XOaoMw/uBvM/i
9vCW/rm7to7Vbyd/rkdXDXs+fvzY1tVK/u7/bH/69OnX32/fvv388uXLf/qi9he1r/IpKi/O5Rjn
kU79XK7az7Hab/mTdp1baVpf1bFhz0rOnf4vOvl//vz51zb1T/8tuZQMkDkyYj/nVP7IFJnX/mwX
9GvOJT+3E9oC5Rv27ORfMvL4r+jkzzHkQn+1DJFztRX3WeTHNeA+vjqGPgDKYz0x7NnJ/6z+T/l3
7wzoeeRef6stINfatiz9zFjJ33oA6PuVnnXD0HNN+SPXklVd6z5IX/eYwHn4WZLHdroh24n1jOVf
bcRpDP9SdeL+c7QfXc1YnG0fp19n+ylZWd4pD/pt5l3XeSyXsqxt2iB6hjHJ6pphGIZhGIZheEUY
x9+TR7DXp//zby/vWfLd+h5c6mu6NvWueITL6O1qB8/mZ0id8Jb2vruW9/Od/M/Y8Y98hnme93W+
xC69lfz/hv7zFlz+9LNhz8Omjk0m/Xfp28MX5GvpI53PkPokP85d+QNN52+kjFyP/ci+LNsv7d/a
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
fd39j+o27nHd/SS+I7M/etA2lulC06nNaRfI7/bHP/JM/OUZzTeuIeMz7E9fUX3QnwF19e/qbxnf
HJoemelb+j2epQ90a6XIi/v4TcD/kcbvISd9LwP1xodkutByMvnJX8dD+of/77Ko/DqXqfTpuh0M
BoPBYDAYDDo495fdf83yb8E9uIQrOC3zNH3F257CY+XEpVjPZHGBe2JV/urZFZ/WcZiPwqnOrui4
4m3vIavGtqtnKs6q8h9VXHq3/Fv5tEdB5dY9E16nK3J18fx7tetMVuXV/P4J51WlPyn/Vj6t0pPz
hs4p+h4F53iQhXycA1nprNKBxhW7Zx5pf/TjnFzFeWncXmPmVfrT8m/h0yo9EaMLwLPC8yHzyv7E
7VQWlbPTWaUDtT9yZvJn/v/KHpoT+1ecl3PWyr1WHNlu+dT1Kp9W2R/uWPkj5RQ9/8xGyNz9f6oD
z6uSf5crW6Eaq+BG9H7FeQVIq1xMl363/Fv5tM5P0oejjGgP9DWe3bW/jhme9lQHp/a/Fepv4BqU
d698U2YXrvvcwdOflH8rn9bpKbO3zjsZF7TszEYB5RaztDs6eA3769jJx/fiKS+IT1POC3my61X6
k/Jv4dMy3s5lA8opVmUzJ3eulOeRZ0dnmY4970r+rl6DwWAwGAwGg8EKxL6I+ZyCdSBrmFUsqksT
c9sd/uce2JE1gG4eWeauLPcG52JYd3sMfwXiH6y/d9Ym3fr1mfsZM65R15SB+E6s8FFldtcfCY9d
B6ivxre69q9nY0iv+sue5xnuab2d94p77pf0zEGmM57p9El/8ziGx2iz8nfyymTM0nXXd8vI9LiD
VRxJ9+RX53GUg/A4re7V1+dJoz4HnSuXo/FA5eyUD3CZ9BxRxZ/h88hHY/5al6r8nfJcxqrM6vqO
vMQbVcYTrOzfnbcEXczS+S/4Ou3/6MrPM2TnO8mrOmdCOchSnY3I9O98R1d+lZfu13cZqzKr6zvy
Zno8QcePkd+KZ+zsX+l/52wR+fqnyxd50P2Oz9L+nsXis/I9r52zhFWZ1fUdeTM9niAb/5Vb9DZf
7fu52v8zXVX9X8vu7O8c9Kr/a95d/6/mf13/17KrMqvrO/Leav+Aji0+huGfdHzp+CuXaTX+q9xu
/4Ce4avOn2e6Ws1ZfDz1MU55xax8RTf+a/qqzOr6jrz3sD/1rtb/ei9rm9zXPuQ8ms//PY3OkX1O
n83luxiBzoX5ngEZ/D7ldeVXea1krMqsrq/SZHocDAaDwWAwGAwq6NxcP1c4wEejksvXHx8Bz+IC
Wbv7HszVOoL90s9EFWer9mO+ZzyLC8z2MiuyuIDu2dX9/yfrV7UVsTa9nnFu2J97ngdy6HXnIne4
PNJUa/TOLpke9FygcqSVvm7lG0/g++/VPlXsj5gTfmOHI1Q/o/Erruueefbve7xR+cIsjyxenXFG
HS9Yxft2OLou1qlnE+HXM33tyLjiAk9Q+X/sjwx+biXjaFUH3kc0Dqfn+Chf+4VzbnxXfVRnJnhe
Y+v0kyxG7f2Ftsf5FbDD0a24DvKr9LUr44oLPMHK/yMrfS/jVXc4Qs5SaF/Pyu/k0Xy7MzMhD22W
clw3VTmMberfKHvF0Z1wnZm+dmXc5QJ30Olb+6z6eK/rDkeo77XM+r+O313/37E/Zzv1LOdu39K9
A9pvdzi6Xa6z0teV/q/P32J/9//I7uM/+sdPVum8Pfm4Wtlf887G/x37oyO/dmX8P+HodrnOTl9X
xv+ds44VqvW/ct5ZTIDr2m87jhD5sJ/OMbNnsjlwVl6VR7V+PplbX+HodrhOT7dT9x0ZnxUzGAwG
g8FgMBi8f8Dn6NrvUbiSt75b4x7vvtfYwAl2ZX9PXBRrXjgA1pSPqAN2PAHrWmJ6uq+y2wdcAY7h
FBpP7HCljq8FYha+biR+FvB9rL4Ox2/oepUzGPHRmA1tS+ML6KvjdlXGzv5dXrtptE66D97luFcd
Qfa7I7T3eI7rlKvpApHmat/KdMT17BwLcQuNszoHo7/PRT3QDXol1oXfcfkpQ2Px1VkBtUXF0e2k
cZm0rsp5Ukf9LaErdQwoD0tcD/torFDTESel3Cpe2KGyv16v7K/xcdo9bRI9eXxL8/L4dsWrZfyJ
21z9mHLIip00AbWfxx89jpvxe1fquPrdMdL7+wSdOz3dt+XyeBza6xNw+ztvQD76m5TImOkGVFzU
jv0rHkOxkwY9Ku+Zyat8mL9H8EodT7hDyuUDV135lhV4jjEus5nvtaAPOV9Fn9CxqeINvf1W/XHH
/gH1f8rjKXbSKOeo46DKkX3P7L9bR+UE8fkdd6icn+7HugId2/Tjey3ig2/0vRzcUx1k15Vfy57v
zteDyv74MuXUHTtpVCafdyrfznf6h7eZkzoG1Aa6p8fHZ9ettpNT/k+h4wdzzOzeao/d6rrvJVqN
W35fy69k6daut6TxsiudnNbx9LnMd13Z/zcYDAaDwWAw+Lug6xhdz9xrHtntSYx1kL4rZadMXasS
787Wgu8Bb0Fej+ew7js9R1Khsz+cAOl27K+xFtY7PPcW9HmCtyBvFo8kTu4xG+e0iD0636VQ7lbj
FQGedZ+jPLTHIDwmq/y/6jNLq3kTQ6m4GC8X+TSWoxxyxylpPbX+Ki98zo5ekF3LUblO0J0xcY5H
uQiNpXc+w7l75ZXhCzxGqvXz843OwVb+n3KyMr1u2d5sb//Yjdinx3yxbbZvm7YCJ+JxYuyt7aLT
i8vucp1gZX/s6mVmsf8Vj+g2CjAHqGx6kp9zQd5fsryrGLDuD9J4N7HW7LejKu5VfY3urVKuJfMZ
K724v0OuE6z8v9tf5wm32p9+SVz9UfbXfrFrf/wGeanPI1+3/2pvB35EeVXlD8CuXqr6nmA1/6Oe
cIy6B+UW+2u57odvtT86pBzVy679yUPHDrW57nfZyQd/rvyfy+s+P9NLds/lOkG2/vN9RTq3yM5f
q24cK3vR/nX/wz3sr/O/6txyoLOb93HNk77Ms10+Pv/LZNF9GCu9+PzP5Rp8TLyF9eLg9TD2/7sx
/P5gMBgM7oVs/beKZYC39K75jmc6ha7XuvG2ip2eYFfX9ywzy0/jP6u9kQFdl74FXDn7UIH41+5+
zVuwo2tP/wj7V/lp7EdjFX7GKeMIHcQtPJ4Od6a8Lv2PM3HMfZUP455/J3aqdfB3JFaxkqxuGpPR
duHyKLJysrrC/7iuNY7vMqm9iFM7V7iLyv9rjF/PS9HPlPOtOEIvB93BnWj56EXP1aAflyeLOep3
P39LO9J4OvJ4G/C6BTyW7HxAtg/bY7PEz72uFYen+Vb64HnixhUHu2N/9/9A25aOUx53zThCBxyV
8nGuw+7/XfujFz2P6TIH9GyPQtNlNlZ9Zfb3uYieravyUv0ot9jpw8vh3glW/t9lyvZaVByh64Q0
3fsf72F/ZKKtZTIH3pL9K27xWfbP5n/4QvWXuo8Cn1RxhK5T/H/X/wO7/g7flOk8m8Pv+H+tWybP
Pfx/Zv+OW3yG//cP9fdzsHruUOcpGUfo5ejZwap9e1rXhc4zq7OZbjfFav4XcPtX87/Od2bldPbv
uEW/d8/531vHvdc7g/eFsf9gbD8YDAaDwWAwGAwGg8FgMBgMBoPBYPD34RF70dn79JHBfhP/rPa9
s8fS32kRYG9M9nmEPnVvqcPfaVxxiexL83x9/wjvANIP+zeeyVN2dTnNR/ft8ansr79jwr4j9tnp
Prcsz2pv8K3yd3v11Yb6HhCH1hvdsodM+wT5PattV+jq8sgydV+k9o2s/zjYr5bl6Z9qb54/u9ob
smt/3stE+vjf37Gh9n9tvIb9/XcH1D70ww7sI66gfanbyxbX9bdFOqzsT9uhTzs8/6z/c538eZeb
7qHUfZsB2pu+a4l9fvqM7rHVfLVNkobvJzgZQ1QX/q6hrG8rqFtXnvqCzPaMvfiGVZnkqe/vUZn1
/XIn9ve97lznf60n55J0nFRZuM939IrMei5E86U9qNxXfNPJfnE9X6G+AHmqvk273PHn2dkBzcf3
lq/kx49r/gF0p+9iUz0y5vt8pdKxz3m0TtpffU+v7mXX+ZTmkb3bj/bg/fB0TOCcUzafcWBD/+3M
ahxm/bQzliPL6dywsz961TEL/+ntSO2v/l33mpPnif31XCLtV8vM3l3l86zK/vxPO74yJ0C+7ONA
fnRHG878Orqr/Krne+XddYHK/uo3AW0xixXomVFd31BXnR9W5xsy+1OujuV6Xc+lep/Scx+d/ZHJ
29cz0MVdducWke6q3N14d9Ke9N062pc+2nmKwWDwofEPiCRqout3vRYAAAR5bWtCVPrOyv4Af6I2
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB4nO2aiW3rMBAFXUgaSSEpJI2kkBSSRlKIPzb4YzxsSNmxZPiaBwx0kOKxy0Mi
td8rpZRSSimllFJK/df39/f+6+trSoXfg7Iel0z7EulfU1Wf3W435fPzc//6+vpzfst1px5V1i1V
vn95eTnYY+v0r630//v7+y9Kdax6P6P/afvP4P+ZPj4+ftoAcwFto64rjHbBdYXVkfgVzr1ZmnXM
OLO0+rN1ThnSP6RXUD7KMUpzpIpXaVb/5/yR/V91S/BFH/+Jz7iIL3KczPmjwohf4ppnS5VXXdex
npnNRVke8mNsyvMsW6afVJxZG0i7VL7P4P8Otpv5/+3t7fCOiH14pvfHTCN9QZsgvNLinPZH/J5W
Hcs3vJeRXvd9PpNp0p66si3nHPjo/p9p5v/sO32eTEr4sOxY7SbHVMpQ9zP9VN4jr/TfqB1n/67w
Sh8f1vlsDiAeZeT9J+89itb4P4XNmG/p5/lugO2xYfbr7Jv0vXw3GI0V+T6a/T/HkPRVliXLO6vv
Eo+irfyPL/Ft9rWeTn8v6ONJjrXZ92bzUdaD/Hp7yPE802TM6TbpZJlu+Tvor9rK/6WyUb4Dlm37
e3v3Ne0k/cD7BGnRpnjmFP9nPMYk8iLNXr4lPer8r5RSSimlnlOX2ufNdO9lL/nWlOsgl7BhfRvN
vmv699RftfZ5tT+sOdSayWzNeo3S/31tI7/zR9/8S2shrJv082soyznqR/zjMbu/lN7oepbXLK1R
vybubM1pVua/iv2y3PsjX9Y88pz2wjO5zp5tJPdeOWcNl3s5JrB3sya82zrLmeuJdY/1Ztaa+rpS
hfc61r1MK21Xx/QZkFdeox6nxHol90mXve6lMp+j7pdsb6P+z1obtmY/vms09le83Mct6COs860J
P1Yv7JdjXv+3IfchEHsZdcy1yrRVptnzGtm3/xNBnNH9kf9HZT5Hff4/xf8Zf/b+kHbinL0Zjvgz
/8lYE35qvfqcl3sC+HpUp/RBt09ez/LKsNE+E/ezP3OdeY/KfK628H/fRymfUKY8LzHWMX4yltGe
14afUi/CGDf4jwAb074Qc233fx9zco/ymP/5fyLzKPX73f+zMp+rY/7PuR079H6SdS318Sl9g7+I
yzy2Vfgxu2cYtuT9OudhxnDiYue0NXud+DP3KI+Vg39r8SFtJ23KntnI/6Myn/MuyH5b1il9R9/O
umKP0VhF3Eyv59f92fvBmnDCluqVYdSDuaT7N+fy0TcYz/fnRnn1MNpA34tMGxM/856Vufe1S2hp
vUA9vvS/UkoppZRSSimllFJKXU07ERERERERERERERERERERERERERERERERERERERERERERERER
EREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREZE75B+Hl45q2TuO
nAAAAVNta0JU+s7K/gB/pYUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHic7dbhaYNgFIZRB3ERB3EQF3EQB3ERB7G8gQu3
piH/ignngUObT/vrTWzOU5IkSZIkSZIkSZIkSZIkSZIkSR/RcRznvu9P5znLtXf3v7pP929d13Mc
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
z6+8WbzmyHvnt7cAbSwHSrJ7Z2d9yXZ+KepdDxfR5nMhP3f46PdYm4mB5uiYHkeXRrClbCE3joZV
nNZ8Q27hFmbvs4U6LkBtcSWuweiHlLF/3P/TUgYXdT8HLpaPOq/oYULrvNa6zMwPRSNHHINnJ3lY
q0Tl/3WHU1e65JnHikQpjJgyMdfRtRmJVrWIYWdXrOBQjrOycY2956vPyJLPCwPNFnOUHz9/wraV
QOVnIimq7arnqXNc1lTy4vR73gHqq2YzZ/eJbwLR/s8dXhB3Ol7rvCIAld17uRiqZCOzFRghz4Z0
4H2pLG7GeVdGS3YIj8KEWJQSNJaDfDz7jUIrBKDorsI4iGk9jy07tAizWAk1HGw9L3hs6vOOd5WW
5fcdbrNd7CAKGeArU9vTvCx71Z4Ary/QlOJWAKH7uys8PA3YzAikrsBvIB6f4t7n6NSHZU5w+V5P
//4WvNn5jk92C3FStiCjE3dIAUYz+92B3z1v/Y87/GB+a5JSzwN3Q9/P7bKUdcKm4xlroWpFmBN8
+4lxz6mO1BQEgktWLM8L4M8qP97//nhr4dx9UZB4wVW56RMGnC9N2/zeA8TC4YE9nQuk1bBw/b7K
5j3nipAIHs5eePpCFsuP9xfe2kt4q6fTQPBbkPLOSZm+1FlCXRZUqqbinpAHmY/n//rRS3EFyS4C
4b2AUNbbdxv/vMPTQUdc9JpXws+LgdjiOfnjDs8yUx6zl+VBXOiTWVyc33k9x6jwR2r3vszpx/XV
osJN7kAa4ox01IK2hHYDRH++/IMOes4rstnMQg7Euly3n6z8vMPVrIX32es2y9trmTZM/rjKptpS
319y/W6dbHxVQc+vEDwRCqK5y3ymsiGCuDu6EsE4mV8x3Gfpc96N+cZDn4f/v+QgCz7qVkKJfuYs
trmuGaDLmF//JmaZ5NVqcPEvV9nUjcp3YQD5TyC8mrBIDBIzydv7/r4BSWCYyPJ12PkVu/W4MerN
pMn7twjIz/f/f+UrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf
+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nK
V77yla985Stf+cpXvvKVr3zlK1/5yle+8pWvfOUrX/nKV77yla985Stf+cpXvvKVr3zlK1/5yle+
8pWvfOUrX/nKV77yFYD/B92aGZl3Kab3AAAyE2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94
cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1w
bWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNC4x
LWMwMzQgNDYuMjcyOTc2LCBTYXQgSmFuIDI3IDIwMDcgMjI6Mzc6MzcgICAgICAgICI+CiAgIDxy
ZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4
LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHht
bG5zOnhhcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+CiAgICAgICAgIDx4YXA6Q3Jl
YXRvclRvb2w+QWRvYmUgRmlyZXdvcmtzIENTMzwveGFwOkNyZWF0b3JUb29sPgogICAgICAgICA8
eGFwOkNyZWF0ZURhdGU+MjAwOS0xMC0yMlQxMDowMDo1NFo8L3hhcDpDcmVhdGVEYXRlPgogICAg
ICAgICA8eGFwOk1vZGlmeURhdGU+MjAwOS0xMC0yMlQxMDoxMjoxNVo8L3hhcDpNb2RpZnlEYXRl
PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJv
dXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8x
LjEvIj4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgPC9y
ZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7y54J7AAACYklEQVRYhd1Wz2sTQRT+Njtra40JWIsW
ChahFsQeBK1IzcGCgr2oR8VIK1qUFutJ0f+ggodAxVLFlgo9eItoUA9SbYuI8ebBqhREQYst2iha
M29mPISsu8tmdwORkP1g2Jn3vvfmm31vf2hKKWRm56+0b9l4sbkpFlcID758za3Mf1i6qj2ae3ug
s6Plwb3pN8Z0dgF5TtXWVhE01K9Bd+dWHOpq5ywWrTv/PbdqPH21ACkVmK5XW19FkOcCD+feYd/O
VoMphfi33G/8yYejgk58XvoBxoWELiS4kNXW819AQoJxEmARDUThPCQnCUYkQboMdMh0KgkAODx0
x9NvhZPr5AT1p1NJV24pLUWQEP8OyYXwJFvhxs2M9AIAegYnbLZ0KmnaSnGs657BCVceAFsuLy1W
EBXblZXXrl5cN5/TZl0fPHu7rFyZkV5bjJ9uLiQiXBRalYT/MBMH9DltXvFBcnWfuQUAeDx6yrT5
6i48kwJcj4CXUUkvrpvPaeMkMTPeb64TfWOBcnGSSPSNYWa8H09unvbVAhQqHeFmFYXvMAMD+pw2
63rvyRsl85XKVZx7xboNxkmAqLxKPp88Z853Hb9uXrNTAzaf1e/Fse6dnRqw7WONt/KKufx0c5LQ
Ru++eNaw1khcm5wNcr6aw4UTXWBcCBDptjYJEzgJME6Fb2Q57VpLIPOPh+yv7jBBKQX2azWfa25a
D6UAEcKWjUXroW/bc2Sxo23zsTqD6e8/LoOThFKo6QEAG+LrcHT/drS1NnJNKYWh4fuXd+9oubSp
MRqv7n2vLBaXf668fP1p+C90g5xTNCBR0AAAAABJRU5ErkJggg==

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/styles/eic.css

* {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
HTML BODY {
=09
}
IMG {
	BORDER-BOTTOM: ; TEXT-ALIGN: center; BORDER-LEFT: ; BORDER-TOP: ; =
BORDER-RIGHT:=20
}
BODY {
	MIN-HEIGHT: 100%; FONT: 12px verdana, arial, helvetica, sans-serif; =
COLOR: #000
}
P {
	TEXT-ALIGN: justify; MARGIN-TOP: 10px; FONT: 12px/20px arial, verdana, =
helvetica, sans-serif; MARGIN-LEFT: 5px
}
.psmall {
	TEXT-ALIGN: left; MARGIN-TOP: 10px; FONT: 12px/20px arial, verdana, =
helvetica, sans-serif; MARGIN-LEFT: 5px
}
.psub {
	TEXT-ALIGN: left; MARGIN-TOP: 10px; FONT: 12px/20px arial, verdana, =
helvetica, sans-serif; MARGIN-LEFT: 5px
}
.plesspadding {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN-TOP: 10px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT: bold 12px verdana, arial, helvetica, =
sans-serif; COLOR: #1d4585; MARGIN-LEFT: 5px; PADDING-TOP: 0px
}
.subfooterp {
	TEXT-ALIGN: right; PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; FONT: 10px verdana, arial, helvetica, sans-serif; =
MARGIN-BOTTOM: 10px; COLOR: white; PADDING-TOP: 3px
}
.subfooterp-login {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT: 10px verdana, arial, helvetica, sans-serif; =
COLOR: white; PADDING-TOP: 0px
}
H1 {
	MARGIN-TOP: 10px; FONT: bold 17px verdana, arial, helvetica, =
sans-serif; MARGIN-BOTTOM: 10px; COLOR: #f37123; MARGIN-LEFT: 5px
}
H2 {
	BACKGROUND-IMAGE: url(../images/slices/titlebg.jpg); PADDING-BOTTOM: =
2px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; BACKGROUND-REPEAT: =
no-repeat; FONT: bold 15px verdana, arial, helvetica, sans-serif; COLOR: =
#ffffff; PADDING-TOP: 2px
}
.subh2 {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT: bold 15px verdana, arial, helvetica, =
sans-serif; COLOR: #ffffff; PADDING-TOP: 0px
}
H3 {
	TEXT-ALIGN: center; PADDING-BOTTOM: 10px; TEXT-TRANSFORM: uppercase; =
PADDING-LEFT: 10px; PADDING-RIGHT: 10px; FONT: bold 12px verdana, arial, =
helvetica, sans-serif; LETTER-SPACING: 2px; COLOR: #f37123; PADDING-TOP: =
10px
}
.subh3 {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 17px =
verdana, arial, helvetica, sans-serif; COLOR: #f37123; MARGIN-LEFT: 0px; =
PADDING-TOP: 5px
}
H4 {
	TEXT-ALIGN: right; PADDING-BOTTOM: 10px; MARGIN-TOP: 0px; PADDING-LEFT: =
10px; PADDING-RIGHT: 10px; FONT: 10px verdana, arial, helvetica, =
sans-serif; COLOR: white; PADDING-TOP: 10px
}
.subh4 {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN-TOP: 10px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT: bold 12px verdana, arial, helvetica, =
sans-serif; COLOR: #1d4585; MARGIN-LEFT: 5px; PADDING-TOP: 0px
}
.slidecontrol {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN-TOP: 10px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT: bold 12px verdana, arial, helvetica, =
sans-serif; COLOR: #1d4585; MARGIN-LEFT: 5px; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
H5 {
	TEXT-ALIGN: left; TEXT-TRANSFORM: uppercase; MARGIN-TOP: 5px; FONT: =
bold 9px/20px verdana, arial, helvetica, sans-serif; MARGIN-BOTTOM: 5px; =
LETTER-SPACING: 2px; COLOR: #999; MARGIN-LEFT: 0px
}
.h5sub {
	TEXT-ALIGN: center; TEXT-TRANSFORM: uppercase; BACKGROUND-COLOR: =
#ffffff; MARGIN-TOP: 10px; FONT: bold 11px verdana, arial, helvetica, =
sans-serif; MARGIN-BOTTOM: 10px; LETTER-SPACING: 2px; COLOR: #999; =
MARGIN-LEFT: 10px
}
.h5bold {
	MARGIN-TOP: 10px; FONT: bold 10px verdana, arial, helvetica, =
sans-serif; MARGIN-BOTTOM: 10px; COLOR: #000000; MARGIN-LEFT: 10px
}
H6 {
	MARGIN-TOP: 10px; FONT: bold 18px arial, verdana, helvetica, =
sans-serif; MARGIN-BOTTOM: 10px; COLOR: #1d4585; MARGIN-LEFT: 5px; =
TEXT-DECORATION: none
}
.h6date {
	FONT: bold 14px arial, verdana, helvetica, sans-serif; COLOR: #1d4585; =
TEXT-DECORATION: none
}
.fullyBooked {
	PADDING-LEFT: 5px; FONT: bold 14px arial, verdana, helvetica, =
sans-serif; COLOR: #ff0000; TEXT-DECORATION: none
}
UL.disc {
	LIST-STYLE-TYPE: disc; MARGIN: 0px 0px 0px 20px
}
LI.disc {
	MARGIN-TOP: 15px; FONT: 12px arial, verdana, helvetica, sans-serif
}
.lifacebox {
	BORDER-BOTTOM: #999 1px solid; BORDER-LEFT: #999 1px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 200px; PADDING-RIGHT: =
5px; DISPLAY: inline; FLOAT: left; HEIGHT: 200px; BORDER-TOP: #999 1px =
solid; MARGIN-RIGHT: 3px; BORDER-RIGHT: #999 1px solid; PADDING-TOP: 5px
}
.ulfacebox {
	MARGIN-TOP: 10px; WIDTH: 650px; FLOAT: left; HEIGHT: auto
}
.ulphotogallery {
	MARGIN-TOP: 10px; WIDTH: 600px; FLOAT: left; HEIGHT: auto; MARGIN-LEFT: =
20px
}
.photogallery {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 184px; PADDING-RIGHT: =
5px; DISPLAY: inline; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: 5px; =
PADDING-TOP: 5px
}
.cis A {
	BACKGROUND-IMAGE: url(/images/cis-button-faded.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.cis A:hover {
	BACKGROUND-IMAGE: url(/images/cis-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/cis-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
.asia A {
	BACKGROUND-IMAGE: url(/images/asia-button-faded.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.asia A:hover {
	BACKGROUND-IMAGE: url(/images/asia-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/asia-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
.me A {
	BACKGROUND-IMAGE: url(/images/middleeast-button-faded.jpg); =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: =
0px; DISPLAY: inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: =
312px; MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.me A:hover {
	BACKGROUND-IMAGE: url(/images/middleeast-button.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/middleeast-button.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.nca A {
	BACKGROUND-IMAGE: url(/images/nca-button-faded.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.nca A:hover {
	BACKGROUND-IMAGE: url(/images/nca-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/nca-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
.sa A {
	BACKGROUND-IMAGE: url(/images/sa-button-faded.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.sa A:hover {
	BACKGROUND-IMAGE: url(/images/sa-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/sa-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
.europe A {
	BACKGROUND-IMAGE: url(/images/europe-button-faded.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: =
inline; BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; =
MARGIN-RIGHT: 5px; PADDING-TOP: 0px
}
.europe A:hover {
	BACKGROUND-IMAGE: url(/images/europe-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(/images/europe-button.jpg); PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; WIDTH: 184px; PADDING-RIGHT: 0px; DISPLAY: inline; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: 312px; MARGIN-RIGHT: =
5px; PADDING-TOP: 0px
}
.subul {
	WIDTH: 203px; FLOAT: left; HEIGHT: auto
}
.subul-list {
	MARGIN: 5px; WIDTH: 100%; FLOAT: left; HEIGHT: auto
}
.subul-listb {
	MARGIN: 5px; WIDTH: 300px; DISPLAY: block; FLOAT: left; HEIGHT: auto
}
.subulright {
	WIDTH: 150px; HEIGHT: auto
}
.footerul {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN-TOP: 15px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: right; =
HEIGHT: auto; LIST-STYLE-IMAGE: none; MARGIN-RIGHT: 6px; PADDING-TOP: =
0px
}
LI.nav-button A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/worldwide.jpg); WIDTH: =
134px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; HEIGHT: 28px; =
MARGIN-RIGHT: 6px
}
LI.worldwide A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/worldwide.jpg); WIDTH: =
134px; DISPLAY: block; HEIGHT: 28px
}
LI.events A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/events.jpg); WIDTH: 87px; =
DISPLAY: block; HEIGHT: 28px
}
LI.news A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/news.jpg); WIDTH: 87px; =
DISPLAY: block; HEIGHT: 28px
}
LI.datastream A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/datastream.jpg); WIDTH: =
134px; DISPLAY: block; HEIGHT: 28px
}
LI.membership A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/membership.jpg); WIDTH: =
134px; DISPLAY: block; HEIGHT: 28px
}
LI.training A {
	BACKGROUND-IMAGE: url(../images/slices/tabs/training.jpg); WIDTH: 87px; =
DISPLAY: block; HEIGHT: 28px
}
LI.worldwide A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/worldwide-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/worldwide-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.events A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/events-rollover.jpg); =
WIDTH: 87px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/events-rollover.jpg); =
WIDTH: 87px; DISPLAY: block; HEIGHT: 28px
}
LI.news A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/news-rollover.jpg); WIDTH: =
87px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/news-rollover.jpg); WIDTH: =
87px; DISPLAY: block; HEIGHT: 28px
}
LI.datastream A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/datastream-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/datastream-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.membership A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/membership-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/membership-rollover.jpg); =
WIDTH: 134px; DISPLAY: block; HEIGHT: 28px
}
LI.training A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/training-rollover.jpg); =
WIDTH: 87px; DISPLAY: block; HEIGHT: 28px
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: url(../images/slices/tabs/training-rollover.jpg); =
WIDTH: 87px; DISPLAY: block; HEIGHT: 28px
}
.leftsitenavigation {
	WIDTH: 203px; DISPLAY: block; MARGIN-BOTTOM: 5px; HEIGHT: 31px
}
.procurement A {
	BACKGROUND-IMAGE: =
url(/images/slices/tabs/tab-png/procurement-small.png); WIDTH: 203px; =
DISPLAY: block; HEIGHT: 32px
}
.energy A {
	BACKGROUND-IMAGE: url(/images/slices/tabs/tab-png/energy-small.png); =
WIDTH: 203px; DISPLAY: block; HEIGHT: 32px
}
.procurement A:hover {
	BACKGROUND-IMAGE: =
url(/images/slices/tabs/tab-png/procurement-small-rollover.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: #ffffff
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: =
url(/images/slices/tabs/tab-png/procurement-small-rollover.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: #ffffff
}
.energy A:hover {
	BACKGROUND-IMAGE: =
url(/images/slices/tabs/tab-png/energy-small-rollover.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: #ffffff
}
LI.nav-button A:active {
	BACKGROUND-IMAGE: =
url(/images/slices/tabs/tab-png/energy-small-rollover.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: #ffffff
}
.rightsitenavigation A {
	MARGIN-TOP: 7px; WIDTH: 150px; DISPLAY: block; FONT: 12px verdana, =
arial, helvetica, sans-serif; MARGIN-BOTTOM: 4px; HEIGHT: auto
}
.rightsitenavigation SPAN {
	MARGIN-TOP: 7px; WIDTH: 150px; DISPLAY: block; FONT: 12px verdana, =
arial, helvetica, sans-serif; MARGIN-BOTTOM: 4px; HEIGHT: auto; COLOR: =
gray; CURSOR: pointer
}
.link-content A {
	WIDTH: auto; FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: =
#1d4585; TEXT-DECORATION: none
}
.link-content visited A {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.link-content A:hover {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: underline
}
.link-content active A {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.link-content-red A {
	WIDTH: auto; FONT: bold 14px arial, verdana, helvetica, sans-serif; =
COLOR: #ed1125; TEXT-DECORATION: none
}
.link-content-red visited A {
	FONT: bold 14px arial, verdana, helvetica, sans-serif; COLOR: #ed1125; =
TEXT-DECORATION: none
}
.link-content-red A:hover {
	FONT: bold 14px arial, verdana, helvetica, sans-serif; COLOR: #ed1125; =
TEXT-DECORATION: underline
}
.link-content-red active A {
	FONT: bold 14px arial, verdana, helvetica, sans-serif; COLOR: #ed1125; =
TEXT-DECORATION: none
}
.link-contentb A {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; DISPLAY: block; FONT: bold 14px arial, verdana, =
helvetica, sans-serif; COLOR: #1d4585; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.link-contentb visited A {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; DISPLAY: block; FONT: bold 14px arial, verdana, =
helvetica, sans-serif; COLOR: #f37123; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.link-contentb A:hover {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; DISPLAY: block; FONT: bold 14px arial, verdana, =
helvetica, sans-serif; COLOR: #f37123; TEXT-DECORATION: underline; =
PADDING-TOP: 5px
}
.link-contentb active A {
	PADDING-BOTTOM: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; DISPLAY: block; FONT: bold 14px arial, verdana, =
helvetica, sans-serif; COLOR: #f37123; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.licontentc A {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; WIDTH: =
260px; PADDING-RIGHT: 0px; FONT: 12px arial, verdana, helvetica, =
sans-serif; COLOR: #1d4585; LIST-STYLE-IMAGE: none; TEXT-DECORATION: =
none; PADDING-TOP: 0px
}
.licontentc visited A {
	PADDING-BOTTOM: 0px; MARGIN-TOP: 3px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; FONT: 12px arial, verdana, helvetica, sans-serif; =
COLOR: #1d4585; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.licontentc A:hover {
	PADDING-BOTTOM: 0px; MARGIN-TOP: 3px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; FONT: 12px arial, verdana, helvetica, sans-serif; =
COLOR: #f37123; TEXT-DECORATION: underline; PADDING-TOP: 0px
}
.licontentc active A {
	PADDING-BOTTOM: 0px; MARGIN-TOP: 3px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; FONT: 12px arial, verdana, helvetica, sans-serif; =
COLOR: #1d4585; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.licontentd A {
	PADDING-BOTTOM: 5px; LIST-STYLE-TYPE: none; MARGIN-TOP: 3px; =
PADDING-LEFT: 5px; WIDTH: 260px; PADDING-RIGHT: 5px; DISPLAY: block; =
FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #1d4585; =
LIST-STYLE-IMAGE: none; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.licontentd visited A {
	PADDING-BOTTOM: 5px; LIST-STYLE-TYPE: none; MARGIN-TOP: 3px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: block; FONT: 12px arial, =
verdana, helvetica, sans-serif; COLOR: #1d4585; LIST-STYLE-IMAGE: none; =
TEXT-DECORATION: none; PADDING-TOP: 5px
}
.licontentd A:hover {
	PADDING-BOTTOM: 5px; LIST-STYLE-TYPE: none; MARGIN-TOP: 3px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: block; FONT: 12px arial, =
verdana, helvetica, sans-serif; COLOR: #f37123; LIST-STYLE-IMAGE: none; =
TEXT-DECORATION: underline; PADDING-TOP: 5px
}
.licontentd active A {
	PADDING-BOTTOM: 5px; LIST-STYLE-TYPE: none; MARGIN-TOP: 3px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: block; FONT: 12px arial, =
verdana, helvetica, sans-serif; COLOR: #1d4585; LIST-STYLE-IMAGE: none; =
TEXT-DECORATION: none; PADDING-TOP: 5px
}
.link-content-list A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 12px =
arial, verdana, helvetica, sans-serif; MARGIN-BOTTOM: 5px; FLOAT: left; =
COLOR: #1d4585; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.link-content-list visited A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 12px =
arial, verdana, helvetica, sans-serif; MARGIN-BOTTOM: 5px; FLOAT: left; =
COLOR: #f37123; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.link-content-list A:hover {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
MARGIN-BOTTOM: 5px; FLOAT: left; COLOR: #f37123; TEXT-DECORATION: =
underline; PADDING-TOP: 5px
}
.link-content-list active A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT: 12px =
arial, verdana, helvetica, sans-serif; MARGIN-BOTTOM: 5px; FLOAT: left; =
COLOR: #f37123; TEXT-DECORATION: none; PADDING-TOP: 5px
}
#wrapper {
	BACKGROUND-IMAGE: url(../images/slices/shadow.jpg); MIN-HEIGHT: 100% =
!important; WIDTH: 915px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 100% =
!important; MARGIN-LEFT: auto; OVERFLOW: hidden; MARGIN-RIGHT: auto
}
#container {
	MIN-HEIGHT: 100% !important; WIDTH: 900px; HEIGHT: 100% !important; =
MARGIN-LEFT: auto; OVERFLOW: hidden; MARGIN-RIGHT: auto
}
#header {
	BACKGROUND-IMAGE: url(/images/slices/header2.jpg); WIDTH: 900px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 123px
}
#sub-header {
	BACKGROUND-IMAGE: url(../images/slices/sub-header.jpg); WIDTH: 900px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 123px
}
.logoclass {
	WIDTH: 109px; HEIGHT: 110px
}
.logoclass A {
	BACKGROUND-IMAGE: url(../images/eic_logo.png); LIST-STYLE-TYPE: none; =
MARGIN-TOP: 6px; WIDTH: 109px; BACKGROUND-REPEAT: no-repeat; FLOAT: =
left; HEIGHT: 110px; MARGIN-LEFT: 6px; LIST-STYLE-IMAGE: none
}
.logoclass A:hover {
	BACKGROUND-IMAGE: url(../images/eic_logo-rollover.png); =
LIST-STYLE-TYPE: none; MARGIN-TOP: 6px; WIDTH: 109px; BACKGROUND-REPEAT: =
no-repeat; FLOAT: left; HEIGHT: 110px; MARGIN-LEFT: 6px; =
LIST-STYLE-IMAGE: none
}
.sub-header-class-home {
	MARGIN-TOP: 6px; WIDTH: 130px; FLOAT: left; HEIGHT: auto; MARGIN-LEFT: =
6px
}
#navigation {
	BACKGROUND-IMAGE: url(../images/slices/tabgb.jpg); WIDTH: 900px; =
BACKGROUND-REPEAT: repeat-x; HEIGHT: auto
}
#top-tabs {
	BACKGROUND-IMAGE: url(/images/slices/tabgbx.jpg); WIDTH: 750px; =
PADDING-RIGHT: 0px; BACKGROUND-REPEAT: repeat-x; FLOAT: right; HEIGHT: =
28px
}
#top-tabs-sub {
	BACKGROUND-IMAGE: url(../images/slices/subnavbg.jpg); BACKGROUND-COLOR: =
pink; PADDING-LEFT: 0px; WIDTH: 750px; BACKGROUND-REPEAT: repeat-x; =
FLOAT: right; HEIGHT: 28px
}
#space-left {
	BACKGROUND-IMAGE: url(/images/slices/nav-space.jpg); WIDTH: 150px; =
BACKGROUND-REPEAT: repeat-x; HEIGHT: 28px
}
#space-left-sub {
	BACKGROUND-IMAGE: url(../images/slices/subnavspacebv2.jpg); WIDTH: =
150px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 28px
}
#sub-center {
	BACKGROUND-IMAGE: url(../images/map-bg.jpg); WIDTH: 900px; FLOAT: left; =
HEIGHT: 219px
}
#sub-center-b {
	WIDTH: 900px; FLOAT: left; HEIGHT: 219px
}
#subpage-top {
	WIDTH: 900px; FLOAT: left; HEIGHT: 75px
}
#left-buttons {
	WIDTH: 203px; FLOAT: left; HEIGHT: 193px; MARGIN-LEFT: 20px; =
PADDING-TOP: 25px
}
#map {
	WIDTH: 339px; FLOAT: left; HEIGHT: 219px; MARGIN-LEFT: 10px
}
#ticker {
	BACKGROUND-COLOR: #eff2f8; WIDTH: 900px; HEIGHT: 24px; PADDING-TOP: 0px
}
#ticker-space {
	BACKGROUND-COLOR: #f37123; WIDTH: 900px; HEIGHT: 6px; PADDING-TOP: 0px
}
#main-banner {
	WIDTH: 900px; HEIGHT: 100px
}
.memberlist {
	BACKGROUND-COLOR: #eff2f8
}
.news-summary {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #000000
}
.link-content-news A {
	FONT: 14px arial, verdana, helvetica, sans-serif; COLOR: #1d4585; =
TEXT-DECORATION: none
}
.news-search {
	FONT: 14px arial, verdana, helvetica, sans-serif; COLOR: #1d4585; =
TEXT-DECORATION: none
}
.link-content-news visited A {
	FONT: 14px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.link-content-news A:hover {
	COLOR: #f37123; TEXT-DECORATION: underline
}
.link-content-news active A {
	FONT: 14px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.external-link-news A {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #1d4585; =
TEXT-DECORATION: none
}
.external-link-news visited A {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.external-link-news A:hover {
	COLOR: #f37123; TEXT-DECORATION: underline
}
.external-link-news active A {
	FONT: 12px arial, verdana, helvetica, sans-serif; COLOR: #f37123; =
TEXT-DECORATION: none
}
.ticker-font {
	FONT: bold 11px verdana, arial, helvetica, sans-serif; COLOR: #fff; =
TEXT-DECORATION: none
}
.ticker-link A {
	FONT: bold 11px verdana, arial, helvetica, sans-serif; COLOR: #fff; =
TEXT-DECORATION: none
}
.ticker-link hover A {
	FONT: bold 11px verdana, arial, helvetica, sans-serif; COLOR: #1d4585; =
TEXT-DECORATION: none
}
.ticker-link visited A {
	FONT: bold 11px verdana, arial, helvetica, sans-serif; COLOR: #fff; =
TEXT-DECORATION: none
}
#latest-tab {
	WIDTH: 178px; FLOAT: left; HEIGHT: 26px; MARGIN-LEFT: 5px
}
#main-content-sub {
	BACKGROUND-IMAGE: url(../images/subpage-bg.jpg); WIDTH: 900px; =
BACKGROUND-REPEAT: repeat-y; HEIGHT: 100%; CLEAR: both; OVERFLOW: hidden
}
.text-list-cont-address {
	MARGIN-TOP: 10px; WIDTH: 415px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: auto; CLEAR: both; OVERFLOW: hidden
}
#main-content-home {
	BACKGROUND-IMAGE: url(../images/sidehomebg.jpg); WIDTH: 900px; =
BACKGROUND-REPEAT: repeat-y; HEIGHT: 100%; CLEAR: both; OVERFLOW: hidden
}
#text-content {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 0px; WIDTH: 490px; PADDING-RIGHT: =
0px; MARGIN-BOTTOM: 10px; FLOAT: left; HEIGHT: 100%; MARGIN-LEFT: 0px; =
PADDING-TOP: 3px
}
#text-content-submain {
	MARGIN-TOP: 0px; WIDTH: 630px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: auto
}
.news-item {
	BORDER-BOTTOM: #e7ecf2 1px solid; BORDER-LEFT: #e7ecf2 1px solid; =
PADDING-BOTTOM: 3px; MARGIN-TOP: 10px; PADDING-LEFT: 3px; WIDTH: 160px; =
PADDING-RIGHT: 3px; HEIGHT: 216px; MARGIN-LEFT: 2px; BORDER-TOP: #e7ecf2 =
1px solid; BORDER-RIGHT: #e7ecf2 1px solid; PADDING-TOP: 3px
}
.content-image {
	TEXT-ALIGN: center; MARGIN-TOP: 10px; WIDTH: 200px; FLOAT: right; =
HEIGHT: auto; MARGIN-LEFT: 10px
}
.content-image-events {
	TEXT-ALIGN: center; MARGIN-TOP: 10px; WIDTH: 200px; FLOAT: right; =
HEIGHT: auto; MARGIN-RIGHT: 10px
}
.event-image-placeholder {
	WIDTH: 200px; FLOAT: right; HEIGHT: auto; MARGIN-RIGHT: 5px
}
.top-table {
	BACKGROUND-IMAGE: url(/images/table-top.jpg); WIDTH: 623px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px
}
.staff-image {
	BORDER-BOTTOM: #e7ecf2 1px solid; BORDER-LEFT: #e7ecf2 1px solid; =
PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; WIDTH: 98px; PADDING-RIGHT: 3px; =
FLOAT: right; HEIGHT: auto; MARGIN-LEFT: 20px; BORDER-TOP: #e7ecf2 1px =
solid; BORDER-RIGHT: #e7ecf2 1px solid; PADDING-TOP: 3px
}
.testlogo {
	BORDER-BOTTOM: #e7ecf2 0px solid; BORDER-LEFT: #e7ecf2 0px solid; =
PADDING-BOTTOM: 3px; MARGIN-TOP: 10px; PADDING-LEFT: 3px; WIDTH: 98px; =
PADDING-RIGHT: 3px; FLOAT: right; HEIGHT: auto; MARGIN-LEFT: 20px; =
BORDER-TOP: #e7ecf2 0px solid; BORDER-RIGHT: #e7ecf2 0px solid; =
PADDING-TOP: 3px
}
.text-content-sub {
	PADDING-BOTTOM: 3px; MARGIN-TOP: 10px; PADDING-LEFT: 3px; WIDTH: 630px; =
PADDING-RIGHT: 10px; MARGIN-BOTTOM: 10px; FLOAT: left; HEIGHT: 100%; =
PADDING-TOP: 3px
}
.text-content-offices {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 0px; WIDTH: 420px; PADDING-RIGHT: =
0px; MARGIN-BOTTOM: 10px; FLOAT: left; HEIGHT: 100%; MARGIN-LEFT: 0px; =
PADDING-TOP: 3px
}
.text-list-cont {
	MARGIN-TOP: 10px; WIDTH: 640px; MARGIN-BOTTOM: 20px; FLOAT: left; =
HEIGHT: auto; OVERFLOW: hidden
}
.text-list-cont-sub {
	MARGIN-TOP: 10px; WIDTH: 413px; MARGIN-BOTTOM: 20px; FLOAT: left; =
HEIGHT: auto; CLEAR: both; OVERFLOW: hidden
}
.text-col-a {
	BORDER-LEFT: #f37123 0px solid; WIDTH: 200px; FLOAT: left; HEIGHT: =
auto; MARGIN-LEFT: 5px
}
.text-col-b {
	BORDER-LEFT: #f37123 0px solid; WIDTH: 200px; FLOAT: right; HEIGHT: =
auto; MARGIN-RIGHT: 25px
}
.text-col-a-sub-a {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; WIDTH: 300px; PADDING-RIGHT: =
3px; FLOAT: left; HEIGHT: auto; PADDING-TOP: 3px
}
.text-col-a-sub-b {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; WIDTH: 300px; PADDING-RIGHT: =
3px; FLOAT: right; HEIGHT: auto; MARGIN-RIGHT: 10px; PADDING-TOP: 3px
}
.text-list-events {
	MARGIN-TOP: 20px; WIDTH: 415px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: auto; CLEAR: both; OVERFLOW: hidden
}
.text-wrapper-events {
	MARGIN-TOP: 0px; WIDTH: 640px; MARGIN-BOTTOM: 10px; FLOAT: left; =
HEIGHT: auto; CLEAR: both; OVERFLOW: hidden
}
.text-col-events-sub-a {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; WIDTH: 150px; PADDING-RIGHT: =
3px; FLOAT: left; HEIGHT: auto; PADDING-TOP: 3px
}
.text-col-events-sub-b {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; WIDTH: 150px; PADDING-RIGHT: =
3px; FLOAT: right; HEIGHT: auto; MARGIN-RIGHT: 10px; PADDING-TOP: 3px
}
.left-col-a-home {
	WIDTH: 200px; FLOAT: left; HEIGHT: 100%; CLEAR: both; OVERFLOW: hidden; =
MARGIN-RIGHT: 0px; BORDER-RIGHT: #f37123 0px solid; PADDING-TOP: 5px
}
#side-content-wrapper {
	WIDTH: 710px; FLOAT: left; HEIGHT: 100%; OVERFLOW: auto
}
#latest-members {
	MARGIN-TOP: 5px; WIDTH: 709px; FLOAT: left; HEIGHT: auto
}
.member {
	BORDER-BOTTOM: #e7ecf2 1px solid; BORDER-LEFT: #e7ecf2 1px solid; =
PADDING-BOTTOM: 3px; MARGIN-TOP: 10px; PADDING-LEFT: 3px; WIDTH: 184px; =
PADDING-RIGHT: 3px; DISPLAY: inline; FLOAT: left; HEIGHT: 68px; =
MARGIN-LEFT: 3px; BORDER-TOP: #e7ecf2 1px solid; MARGIN-RIGHT: 8px; =
BORDER-RIGHT: #e7ecf2 1px solid; PADDING-TOP: 3px
}
#left-col {
	BACKGROUND-COLOR: #dfe5ee; WIDTH: 244px; MARGIN-BOTTOM: 10px; FLOAT: =
right; HEIGHT: 100%; OVERFLOW: hidden; PADDING-TOP: 20px
}
.right-col-home {
	BORDER-BOTTOM: #ffffff 80px solid; BORDER-LEFT: #ffffff 5px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 180px; FLOAT: right; HEIGHT: 100%; =
OVERFLOW: hidden; PADDING-TOP: 5px
}
.home-item {
	BORDER-BOTTOM: #e7ecf2 1px solid; BORDER-LEFT: #e7ecf2 1px solid; =
PADDING-BOTTOM: 3px; MARGIN-TOP: 10px; PADDING-LEFT: 3px; WIDTH: 164px; =
PADDING-RIGHT: 3px; HEIGHT: 341px; MARGIN-LEFT: 2px; BORDER-TOP: #e7ecf2 =
1px solid; BORDER-RIGHT: #e7ecf2 1px solid; PADDING-TOP: 3px
}
.right-nav {
	MARGIN-TOP: 0px; WIDTH: 233px; HEIGHT: auto; MARGIN-LEFT: 13px
}
.testimonials {
	BACKGROUND-IMAGE: url(../images/testquote.jpg); BORDER-BOTTOM: #f2f2f2 =
1px solid; BORDER-LEFT: #f2f2f2 1px solid; MARGIN-TOP: 10px; =
PADDING-LEFT: 50px; WIDTH: 560px; PADDING-RIGHT: 20px; =
BACKGROUND-REPEAT: no-repeat; FLOAT: left; HEIGHT: auto; MARGIN-LEFT: =
5px; BORDER-TOP: #f2f2f2 1px solid; BORDER-RIGHT: #f2f2f2 1px solid
}
.copyright {
	TEXT-ALIGN: right; MARGIN-TOP: 10px; WIDTH: 500px; FLOAT: right; =
HEIGHT: auto; MARGIN-RIGHT: 20px
}
#footer-logo {
	MARGIN-TOP: 70px; WIDTH: 55px; FLOAT: left; HEIGHT: 55px; MARGIN-LEFT: =
10px
}
#footer {
	BACKGROUND-IMAGE: url(../images/slices/footer.jpg); WIDTH: 900px; =
FLOAT: left; HEIGHT: 128px; CLEAR: both
}
.footerlinks UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT: bold 11px Verdana, =
sans-serif; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.footerlinks LI {
	DISPLAY: inline
}
.footerlinks A {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: right; BORDER-LEFT: medium =
none; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
DISPLAY: inline; FONT: bold 11px verdana, arial, helvetica, sans-serif; =
FLOAT: right; COLOR: #ffffff; MARGIN-LEFT: 20px; BORDER-TOP: medium =
none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.footerlinks visited A {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: right; BORDER-LEFT: medium =
none; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
DISPLAY: block; FONT: bold 11px verdana, arial, helvetica, sans-serif; =
FLOAT: left; COLOR: #ffffff; MARGIN-LEFT: 20px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.footerlinks A:hover {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; COLOR: =
#ffffff; MARGIN-LEFT: 20px; BORDER-TOP: medium none; BORDER-RIGHT: =
medium none; TEXT-DECORATION: underline; PADDING-TOP: 0px
}
.footerlinks active A {
	BORDER-BOTTOM: medium none; TEXT-ALIGN: right; BORDER-LEFT: medium =
none; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
DISPLAY: block; FONT: bold 11px verdana, arial, helvetica, sans-serif; =
FLOAT: left; COLOR: #ffffff; MARGIN-LEFT: 20px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; TEXT-DECORATION: none; PADDING-TOP: 0px
}
#mytable {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 592px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
CAPTION {
	TEXT-ALIGN: right; PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; WIDTH: =
700px; PADDING-RIGHT: 0px; FONT: bold 11px verdana, arial, helvetica, =
sans-serif; PADDING-TOP: 0px
}
TH {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; PADDING-BOTTOM: =
6px; PADDING-LEFT: 12px; PADDING-RIGHT: 6px; FONT: 10px verdana, arial, =
helvetica, sans-serif; BACKGROUND: url(images/bg_header.jpg) #586ba6 =
no-repeat; LETTER-SPACING: 1px; COLOR: #ffffff; BORDER-TOP: #1d4485 0px =
solid; BORDER-RIGHT: #1d4485 0px solid; PADDING-TOP: 6px
}
TH.nobg {
	BORDER-LEFT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
BORDER-TOP: 0px; BORDER-RIGHT: #c1dad7 1px solid
}
TD {
	COLOR: #586ba6
}
TD.alt {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; FONT: 10px Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND: #eff2f8; LETTER-SPACING: 1px; =
COLOR: #1d4485; BORDER-TOP: #1d4485 0px solid; BORDER-RIGHT: #1d4485 0px =
solid
}
TD.alt2 {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; FONT: 10px Verdana, =
Arial, Helvetica, sans-serif; LETTER-SPACING: 1px; COLOR: #000000; =
BORDER-TOP: #1d4485 0px solid; BORDER-RIGHT: #1d4485 0px solid
}
TD.alt2bi {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; FONT: 10px Verdana, =
Arial, Helvetica, sans-serif; COLOR: #000000; BORDER-TOP: #1d4485 0px =
solid; BORDER-RIGHT: #1d4485 0px solid
}
TD.altlogos {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; FONT: 10px Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND: #fff; LETTER-SPACING: 1px; =
COLOR: #1d4485; BORDER-TOP: #1d4485 0px solid; BORDER-RIGHT: #1d4485 0px =
solid
}
TD.alt2logos {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: left; FONT: 10px Verdana, =
Arial, Helvetica, sans-serif; BACKGROUND: #ffffff; LETTER-SPACING: 1px; =
COLOR: #000000; BORDER-TOP: #1d4485 0px solid; BORDER-RIGHT: #1d4485 0px =
solid
}
TD.altlogos {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: center; FONT: 10px =
Verdana, Arial, Helvetica, sans-serif; BACKGROUND: #ffffff; =
LETTER-SPACING: 1px; COLOR: #1d4485; BORDER-TOP: #1d4485 0px solid; =
BORDER-RIGHT: #1d4485 0px solid; PADDING-TOP: 10px
}
TD.alt2logos {
	BORDER-BOTTOM: #1d4485 0px solid; TEXT-ALIGN: center; FONT: 10px =
Verdana, Arial, Helvetica, sans-serif; BACKGROUND: #ffffff; =
LETTER-SPACING: 1px; COLOR: #000000; BORDER-TOP: #1d4485 0px solid; =
BORDER-RIGHT: #1d4485 0px solid; PADDING-TOP: 10px
}
TH.spec {
	BORDER-LEFT: #c1dad7 0px solid; FONT: 10px Arial, Helvetica, Verdana, =
sans-serif; BACKGROUND: url(images/bullet1.gif) #fff no-repeat; COLOR: =
#000000; BORDER-TOP: 0px
}
TH.specbi {
	TEXT-ALIGN: center; BORDER-LEFT: #c1dad7 0px solid; FONT: bold 12px =
Arial, Helvetica, Verdana, sans-serif; BACKGROUND: =
url(images/bullet2.gif) #eff2f8 no-repeat; COLOR: #000000; BORDER-TOP: =
0px
}
TH.specalt {
	BORDER-LEFT: #c1dad7 0px solid; FONT: 10px Verdana, Arial, Helvetica, =
sans-serif; BACKGROUND: url(images/bullet2.gif) #eff2f8 no-repeat; =
COLOR: #1d4485; BORDER-TOP: 0px
}
TH.specalt-events {
	BORDER-BOTTOM: #c1dad7 1px solid; BORDER-LEFT: #c1dad7 1px solid; FONT: =
10px Verdana, Arial, Helvetica, sans-serif; BACKGROUND: =
url(images/bullet2.gif) #eff2f8 no-repeat; COLOR: #1d4485; BORDER-TOP: =
#c1dad7 1px solid; BORDER-RIGHT: #c1dad7 1px solid
}
TD.alt-events {
	BORDER-BOTTOM: #c1dad7 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#c1dad7 1px solid; FONT: 10px Verdana, Arial, Helvetica, sans-serif; =
BACKGROUND: #eff2f8; LETTER-SPACING: 1px; COLOR: #1d4485; BORDER-TOP: =
#c1dad7 1px solid; BORDER-RIGHT: #c1dad7 1px solid
}
TH.speclogos {
	TEXT-ALIGN: center; BORDER-LEFT: #c1dad7 0px solid; FONT: bold 15px =
Verdana, Arial, Helvetica, sans-serif; BACKGROUND: =
url(images/bullet2.gif) #fff no-repeat; COLOR: #000000; BORDER-TOP: 0px
}
TH.specaltlogos {
	TEXT-ALIGN: center; BORDER-LEFT: #c1dad7 0px solid; FONT: bold 15px =
Verdana, Arial, Helvetica, sans-serif; BACKGROUND: =
url(images/bullet2.gif) #fff no-repeat; COLOR: #1d4485; BORDER-TOP: 0px
}
.gridRow {
	BACKGROUND-COLOR: #ffffff; HEIGHT: 20px
}
.gridRowAlternate {
	BACKGROUND-COLOR: #eff2f8; HEIGHT: 20px
}
TR.gridRow TD {
	PADDING-LEFT: 2px
}
TR.gridRowAlternate TD {
	PADDING-LEFT: 2px
}
TR.gridRowHover TD {
	PADDING-LEFT: 2px
}
.gridRowHover {
	BACKGROUND-COLOR: #e5e5e6; HEIGHT: 20px; CURSOR: hand
}
.gridRowDisabled {
	HEIGHT: 20px; COLOR: gray
}
.gridViewDetailsToFollow {
	COLOR: #000000
}
.gridViewEventStatus {
	COLOR: red; FONT-WEIGHT: bold
}
.test {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 5px
}

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/styles/droplinetabs.css

.droplinetabs {
	BORDER-BOTTOM: gray 0px solid; OVERFLOW: hidden
}
.droplinetabs UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT: bold 11px Verdana, =
sans-serif; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.droplinetabs LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px 2px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-TOP: 0px
}
.droplinetabs A {
	BACKGROUND-IMAGE: url(/images/slices/tabs/tab-png/tab.png); TEXT-ALIGN: =
center; PADDING-BOTTOM: 0px; MARGIN: 0px 4px 0px 0px; PADDING-LEFT: 0px; =
WIDTH: 132px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; FONT: =
bold 9px verdana, arial, helvetica, sans-serif; FLOAT: left; =
LETTER-SPACING: 1px; COLOR: white; TEXT-DECORATION: none; PADDING-TOP: =
0px
}
.sub-droplinetabs A {
	BACKGROUND-IMAGE: url(/images/slices/tabs/tab-png/tab2.png); Z-INDEX: =
100; PADDING-BOTTOM: 0px; MARGIN: 0px 4px 0px 0px; PADDING-LEFT: 0px; =
WIDTH: 85px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; FONT: =
bold 10px verdana, arial, helvetica, sans-serif; FLOAT: left; =
LETTER-SPACING: 1px; COLOR: white; TEXT-DECORATION: none; PADDING-TOP: =
0px
}
.subpage-droplinetabs A {
	BACKGROUND-IMAGE: url(/images/slices/tabs/tab-png/tab-hover.png); =
TEXT-ALIGN: center; PADDING-BOTTOM: 0px; MARGIN: 0px 4px 0px 0px; =
PADDING-LEFT: 0px; WIDTH: 132px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: =
no-repeat; FONT: bold 9px verdana, arial, helvetica, sans-serif; FLOAT: =
left; LETTER-SPACING: 1px; COLOR: white; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.subpageb-droplinetabs A {
	BACKGROUND-IMAGE: url(/images/slices/tabs/tab-png/tab-hover2x.png); =
PADDING-BOTTOM: 0px; MARGIN: 0px 4px 0px 0px; PADDING-LEFT: 0px; WIDTH: =
85px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; FONT: bold 10px =
verdana, arial, helvetica, sans-serif; FLOAT: left; LETTER-SPACING: 1px; =
COLOR: white; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.droplinetabs A SPAN {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 6px; PADDING-RIGHT: 9px; DISPLAY: =
block; BACKGROUND-REPEAT: no-repeat; FLOAT: right; CURSOR: pointer; =
PADDING-TOP: 7px
}
.droplinetabs A SPAN {
	FLOAT: none
}
.droplinetabs A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/tab-png/tab-hover.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: white
}
.sub-droplinetabs A:hover {
	BACKGROUND-IMAGE: url(../images/slices/tabs/tab-png/tab-hover2x.png); =
BACKGROUND-REPEAT: no-repeat; COLOR: white
}
.droplinetabs A:hover SPAN {
	BACKGROUND-COLOR: transparent
}
.droplinetabs UL LI UL {
	Z-INDEX: 100; POSITION: absolute; FILTER: alpha(opacity=3D90); WIDTH: =
750px; BACKGROUND: #1d4585; HEIGHT: 65px; VISIBILITY: hidden; CLEAR: =
both; OVERFLOW: auto; TOP: 0px; LEFT: 0px; opacity: 0.90
}
.droplinetabs UL LI UL LI A {
	PADDING-BOTTOM: 6px; MARGIN: 0px; PADDING-LEFT: 6px; WIDTH: 150px; =
PADDING-RIGHT: 8px; FONT: 11px arial; BACKGROUND: #1d4585; HEIGHT: 20px; =
PADDING-TOP: 6px
}
.droplinetabs UL LI UL LI A SPAN {
	BACKGROUND: #f37123
}
.droplinetabs UL LI UL LI A:hover {
	BACKGROUND: #0a1a34
}

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.the-eic.com/styles/right_menu_sub_pages.css

.menu {
	LIST-STYLE-TYPE: none; WIDTH: 244px; DISPLAY: block; HEIGHT: auto
}
.menu .current {
	COLOR: #f49d36; FONT-SIZE: 26px
}
.menu A {
	COLOR: #404040; TEXT-DECORATION: none
}
.menu A:hover {
	COLOR: #7f7f7f; TEXT-DECORATION: none
}
.menu LI {
	MARGIN-BOTTOM: 5px; HEIGHT: auto; FONT-SIZE: 18px
}
.menu LI LI {
	LIST-STYLE-TYPE: none; PADDING-LEFT: 15px; FONT-SIZE: 16px
}

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/WebResource.axd?d=H4n9iT0M8-MWTQI7f5HmAVfLjWWEKMKbPpqZc-goZh4C06JKzRrxXlCJynPe42k4hPtB_o9DKsKTaB4bjxI2oQ2&t=633921858185257500

.Login_Container {
=09
}
.Login_UserNameLabel {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold 11px =
verdana, arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.Login_TimeoutMessage {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold 11px =
verdana, arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.Login_WelcomeMessage {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold 11px =
verdana, arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.Login_KeepSessionActiveButton {
	BORDER-BOTTOM: #99ccff 3px outset; BORDER-LEFT: #99ccff 3px outset; =
BACKGROUND-COLOR: #60819a; WIDTH: 180px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; COLOR: #ffffff; FONT-SIZE: 9pt; BORDER-TOP: #99ccff 3px =
outset; BORDER-RIGHT: #99ccff 3px outset
}
.Login_LoginMessage {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: red; FONT-SIZE: 9pt
}
.Login_LoginMessageSub {
	FONT-FAMILY: Arial, Helvetica, sans-serif; COLOR: black; FONT-SIZE: 9pt
}
.Login_LoginButton {
	MARGIN-TOP: 22px; WIDTH: 58px; FLOAT: right; HEIGHT: 20px
}
.Login_LoginButtonSub {
	MARGIN-TOP: 12px; WIDTH: 58px; FLOAT: right; HEIGHT: 20px; =
MARGIN-RIGHT: 12px
}
.Login_JoinButton {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN-TOP: 15px; WIDTH: 174px; =
FLOAT: left; HEIGHT: 26px; MARGIN-LEFT: 10px; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px
}
.Login_ForgottenPassword A {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold 11px =
verdana, arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.Login_ForgottenPassword visited A {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT: bold 11px =
verdana, arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
.Login_ForgottenPassword A:hover {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #ffffff; =
BORDER-TOP: medium none; BORDER-RIGHT: medium none; TEXT-DECORATION: =
underline; PADDING-TOP: 0px
}
.Login_ForgottenPassword active A {
=09
}
.Login_sub_WelcomeMessage {
	FLOAT: right
}
A.Login_Logout {
	BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #264e8c; MARGIN: 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; FONT: bold 11px/23px verdana, =
arial, helvetica, sans-serif; COLOR: #ffffff; BORDER-TOP: #ffffff 1px =
solid; BORDER-RIGHT: #ffffff 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 3px
}
.Login_NormalText {
	BORDER-BOTTOM: #006699 1px solid; BORDER-LEFT: #006699 1px solid; =
BACKGROUND-COLOR: white; FONT-STYLE: normal; MARGIN-TOP: 10px; WIDTH: =
145px; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 18px; COLOR: =
black; MARGIN-LEFT: 5px; FONT-SIZE: 8pt; BORDER-TOP: #006699 1px solid; =
BORDER-RIGHT: #006699 1px solid
}
.Login_EmptyText {
	BORDER-BOTTOM: #006699 1px solid; BORDER-LEFT: #006699 1px solid; =
BACKGROUND-COLOR: white; FONT-STYLE: italic; MARGIN-TOP: 10px; WIDTH: =
145px; FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 18px; COLOR: =
gray; MARGIN-LEFT: 5px; FONT-SIZE: 8pt; BORDER-TOP: #006699 1px solid; =
BORDER-RIGHT: #006699 1px solid
}
.label {
	MARGIN-TOP: 5px; WIDTH: 145px; FLOAT: left; HEIGHT: 18px; MARGIN-LEFT: =
5px
}
.label-b {
	MARGIN-TOP: 10px; WIDTH: 145px; FLOAT: left; HEIGHT: 18px; MARGIN-LEFT: =
5px
}
.sublabel {
	MARGIN-TOP: 0px; WIDTH: 145px; DISPLAY: inline; FLOAT: left; HEIGHT: =
18px; MARGIN-LEFT: 5px
}
.sublabel-b {
	MARGIN-TOP: 0px; WIDTH: 145px; DISPLAY: inline; FLOAT: left; HEIGHT: =
18px; MARGIN-LEFT: 15px
}
.login-text {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN-TOP: 3px; =
PADDING-LEFT: 0px; WIDTH: 145px; PADDING-RIGHT: 0px; FONT: bold 15px =
verdana, arial, helvetica, sans-serif; HEIGHT: auto; COLOR: #ffffff; =
MARGIN-LEFT: 10px; PADDING-TOP: 0px
}
.login-subpage {
	MARGIN-TOP: 20px; WIDTH: 400px; FLOAT: right; HEIGHT: auto; =
MARGIN-RIGHT: 13px
}
.login {
	MARGIN-TOP: 30px; WIDTH: 230px; FLOAT: right; HEIGHT: 142px; =
MARGIN-RIGHT: 10px
}
.ul-login {
	MARGIN-TOP: 20px; WIDTH: 145px; FLOAT: left; HEIGHT: auto; MARGIN-LEFT: =
10px
}
.ul-login-subpage {
	MARGIN-TOP: 20px; WIDTH: 145px; FLOAT: right; HEIGHT: auto; =
MARGIN-LEFT: 10px
}

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/WebResource.axd?d=hFcBjXq601yWOblNbKr-xA2&t=634119086056600000

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded; charset=3Dutf-8");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (var i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D WebForm_EncodeCallback(name) + "=3D" + =
WebForm_EncodeCallback(value) + "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
function WebForm_FireDefaultButton(event, target) {
    if (event.keyCode =3D=3D 13) {
        var src =3D event.srcElement || event.target;
        if (!src || (src.tagName.toLowerCase() !=3D "textarea")) {
            var defaultButton;
            if (__nonMSDOMBrowser) {
               defaultButton =3D document.getElementById(target);
            }
            else {
                defaultButton =3D document.all[target];
            }
            if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
                defaultButton.click();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_TrimString(value) {
    return value.replace(/^\s+|\s+$/g, '')
}
function WebForm_AppendToClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index =3D=3D=3D -1) {
        element.className =3D (element.className =3D=3D=3D '') ? =
className : element.className + ' ' + className;
    }
}
function WebForm_RemoveClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D =
WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length));
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/WebResource.axd?d=H4n9iT0M8-MWTQI7f5HmAVfLjWWEKMKbPpqZc-goZh7trwZHSUji5bXKAF108MJHgQWNQ4NQWlyJQoVJQ6S-1Q2&t=633921858185257500

=EF=BB=BF//var callbackHeartbeat =3D 1; //minutes
//setHeartbeatTimer(callbackHeartbeat);

var usernameDefaultText =3D 'Username';

function UserName_focus(thisControl) {
  thisControl.value =3D '';
  thisControl.className =3D 'Login_NormalText';

  // Clear the password box
  var txtPassword =3D document.getElementById(txtPasswordClientID);
  txtPassword.value =3D '';
  txtPassword.style.backgroundImage =3D WR_PasswordBackgroundURL;  // =
'url(PasswordBackground.png)';
  txtPassword.className =3D 'Login_EmptyText';

 =20
}

function UserName_blur(thisControl) {
  if (thisControl.value.length =3D=3D 0) {
    thisControl.value =3D usernameDefaultText;
    thisControl.className =3D 'Login_EmptyText';
  }
}

function Password_focus(thisControl) {
  thisControl.style.backgroundImage =3D '';
  thisControl.value =3D '';
  thisControl.className =3D 'Login_NormalText';
}

function Password_blur(thisControl) {
  // probably do nothing
}


function setHeartbeatTimer(callbackHeartbeat) {
  setTimeout("doCallback()", callbackHeartbeat * 1000 *60); // minutes =
translated into milliseconds
}

function resetSessionTimeToLive() {
  ret =3D SessionManager.resetSessionTimeToLive( onComplete, onTimeout, =
onError);
  return (true)
}



function doCallback() {
  ret =3D SessionManager.GetTimeToLive(callbackHeartbeat, onComplete, =
onTimeout, onError);
  return (true)
}

function onComplete(args) {
  var lblTimeoutMessage;
  if (args =3D=3D 'False') {
    // the session has timed out and has been cleared/abandoned
    //window.location.reload();
    window.location.href =3D window.location.href + =
"?SessionEnded=3Dtrue"
  }
  else {
    if (args =3D=3D 0) args =3D 1;
    var lblTimeoutMessage =3D "Auto-logout within " + args + " mins"
    document.getElementById(lblTimeoutMessageID).innerHTML =3D =
lblTimeoutMessage;

    if (args <=3D callbackHeartbeat) =
document.getElementById(htmlbtnKeepSessionActiveID).style.display =3D =
"inline";
   =20
    setHeartbeatTimer(callbackHeartbeat);
  }
}

function onTimeout(args) {
  alert("service call timed out");
  setHeartbeatTimer(callbackHeartbeat);
  // reset timer
}

function onError(args) {
  alert("Error calling SessionManager");
  setHeartbeatTimer(callbackHeartbeat);

}
     
------=_NextPart_000_003F_01CB0C6E.237A3AE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.the-eic.com/ScriptResource.axd?d=fFTPPJcrY00AOFC23fvaqsPNa-AaRqgIU6Ia2bcwPM_K4Igppgu4aiG3Q3bixJzBBhCpUco88T6y-uYOcvvGvTLYCaWaePb6_QR9JyBcaO81&t=ffffffffcfc87de7

=EF=BB=BF// Name:        MicrosoftAjax.debug.js
// Assembly:    System.Web.Extensions
// Version:     3.5.0.0
// FileVersion: 3.5.30729.196
//-----------------------------------------------------------------------=

// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.
=20
Function.__typeName =3D 'Function';
Function.__class =3D true;
Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <summary locid=3D"M:J#Function.createCallback" />
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
            var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <summary locid=3D"M:J#Function.createDelegate" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    /// <summary locid=3D"M:J#Function.emptyMethod" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
    var e;
    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i=3D0; i < params.length; i++) {
        var expectedParam =3D expectedParams[Math.min(i, =
expectedParams.length - 1)];
        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName +=3D "[" + (i - expectedParams.length + 1) + "]";
        }
        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }
    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;
    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;
    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;
    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement) {
        var val;
        if (typeof(param.nodeType) !=3D=3D 'number') {
            var doc =3D param.ownerDocument || param.document || param;
            if (doc !=3D param) {
                var w =3D doc.defaultView || doc.parentWindow;
                val =3D (w !=3D param) && !(w.document && param.document =
&& (w.document =3D=3D=3D param.document));
            }
            else {
                val =3D (typeof(doc.body) =3D=3D=3D 'undefined');
            }
        }
        else {
            val =3D (param.nodeType =3D=3D=3D 3);
        }
        if (val) {
            e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType =3D=3D=3D Number && expectedInteger) {
        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
=20
Error.__typeName =3D 'Error';
Error.__class =3D true;
Error.create =3D function Error$create(message, errorInfo) {
    /// <summary locid=3D"M:J#Error.create" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var e =3D new Error(message);
    e.message =3D message;
    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }
    e.popStackFrame();
    return e;
}
Error.argument =3D function Error$argument(paramName, message) {
    /// <summary locid=3D"M:J#Error.argument" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <summary locid=3D"M:J#Error.argumentNull" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid=3D"M:J#Error.argumentOutOfRange" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    if (typeof(actualValue) !=3D=3D "undefined" && actualValue !=3D=3D =
null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}
Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <summary locid=3D"M:J#Error.argumentType" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}
Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <summary locid=3D"M:J#Error.argumentUndefined" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.format =3D function Error$format(message) {
    /// <summary locid=3D"M:J#Error.format" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}
Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <summary locid=3D"M:J#Error.invalidOperation" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);
    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}
Error.notImplemented =3D function Error$notImplemented(message) {
    /// <summary locid=3D"M:J#Error.notImplemented" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);
    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}
Error.parameterCount =3D function Error$parameterCount(message) {
    /// <summary locid=3D"M:J#Error.parameterCount" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}
Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    /// <summary locid=3D"M:J#checkParam" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }
    var stackFrames =3D this.stack.split("\n");
    var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }
    var nextFrame =3D stackFrames[1];
    if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =3D=3D=3D =
null) {
        return;
    }
    var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }
    this.fileName =3D nextFrameParts[1];
    this.lineNumber =3D parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
=20
Object.__typeName =3D 'Object';
Object.__class =3D true;
Object.getType =3D function Object$getType(instance) {
    /// <summary locid=3D"M:J#Object.getType" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <summary locid=3D"M:J#Object.getTypeName" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
=20
String.__typeName =3D 'String';
String.__class =3D true;
String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <summary locid=3D"M:J#String.endsWith" />
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}
String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <summary locid=3D"M:J#String.startsWith" />
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}
String.prototype.trim =3D function String$trim() {
    /// <summary locid=3D"M:J#String.trim" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd =3D function String$trimEnd() {
    /// <summary locid=3D"M:J#String.trimEnd" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart =3D function String$trimStart() {
    /// <summary locid=3D"M:J#String.trimStart" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format =3D function String$format(format, args) {
    /// <summary locid=3D"M:J#String.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String.localeFormat =3D function String$localeFormat(format, args) {
    /// <summary locid=3D"M:J#String.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];
    for (var i=3D0;;) {
        var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }
        result +=3D format.slice(i, open);
        i =3D open + 1;
        if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
        var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);
        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }
        if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();
        i =3D close + 1;
    }
    return result;
}
=20
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;
Boolean.parse =3D function Boolean$parse(value) {
    /// <summary locid=3D"M:J#Boolean.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
=20
Date.__typeName =3D 'Date';
Date.__class =3D true;
Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
    if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}
Date._expandYear =3D function Date$_expandYear(dtf, year) {
    if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}
Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");
    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;
    while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
    return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}
Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <summary locid=3D"M:J#Date.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}
Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <summary locid=3D"M:J#Date.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}
Date._parse =3D function Date$_parse(value, cultureInfo, args) {
    var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
    value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;
    var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
    if (match =3D=3D=3D null) return null;
   =20
    var groups =3D parseInfo.groups;
    var year =3D null, month =3D null, date =3D null, weekDay =3D null;
    var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =3D =
null;
    var pmHour =3D false;
    for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
        var matchGroup =3D match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date =3D parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month =3D cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    var month =3D parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year =3D Date._expandYear(dtf,parseInt(matchGroup, =
10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year =3D parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour =3D parseInt(matchGroup, 10);
                    if (hour =3D=3D=3D 12) hour =3D 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour =3D parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min =3D parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec =3D parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken =3D matchGroup.toUpperCase();
                    pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec =3D parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec =3D parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec =3D parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay =3D cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets =3D matchGroup.split(/:/);
                    if (offsets.length !=3D=3D 2) return null;
                    var hourOffset =3D parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    var minOffset =3D parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return =
null;
                    tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    var hourOffset =3D parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    tzMinOffset =3D hourOffset * 60;
                    break;
            }
        }
    }
    var result =3D new Date();
    if (year =3D=3D=3D null) {
        year =3D result.getFullYear();
    }
    if (month =3D=3D=3D null) {
        month =3D result.getMonth();
    }
    if (date =3D=3D=3D null) {
        date =3D result.getDate();
    }
    result.setFullYear(year, month, date);
    if (result.getDate() !=3D=3D date) return null;
    if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D weekDay)) {
        return null;
    }
    if (pmHour && (hour < 12)) {
        hour +=3D 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !=3D=3D null) {
        var adjustedMin =3D result.getMinutes() - (tzMinOffset + =
result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, =
10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format =3D function Date$format(format) {
    /// <summary locid=3D"M:J#Date.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <summary locid=3D"M:J#Date.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);
    var ret =3D new Sys.StringBuilder();
    var hour;
    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }
    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {
        var index =3D tokenRegExp.lastIndex;
        var ar =3D tokenRegExp.exec(format);
        var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
            ret.append(this.getDate());
            break;
        case "MMMM":
            ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
            ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
            ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
            ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
            ret.append(this.getFullYear());
            break;
        case "yy":
            ret.append(addLeadingZero(this.getFullYear() % 100));
            break;
        case "y":
            ret.append(this.getFullYear() % 100);
            break;
        case "hh":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
            ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
            ret.append(this.getHours());
            break;
        case "mm":
            ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
            ret.append(this.getMinutes());
            break;
        case "ss":
            ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
            ret.append(this.getSeconds());
            break;
        case "tt":
            ret.append((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator);
            break;
        case "t":
            ret.append(((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator).charAt(0));
            break;
        case "f":
            =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
            ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, =
2));
            break;
        case "fff":
            ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
=20
Number.__typeName =3D 'Number';
Number.__class =3D true;
Number.parseLocale =3D function Number$parseLocale(value) {
    /// <summary locid=3D"M:J#Number.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <summary locid=3D"M:J#Number.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
    value =3D value.trim();
   =20
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, numFormat.NumberNegativePattern);
    var sign =3D signInfo[0];
    var num =3D signInfo[1];
   =20
    if ((sign =3D=3D=3D '') && (numFormat.NumberNegativePattern !=3D=3D =
1)) {
        signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, 1);
        sign =3D signInfo[0];
        num =3D signInfo[1];
    }
    if (sign =3D=3D=3D '') sign =3D '+';
   =20
    var exponent;
    var intAndFraction;
    var exponentPos =3D num.indexOf('e');
    if (exponentPos < 0) exponentPos =3D num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction =3D num;
        exponent =3D null;
    }
    else {
        intAndFraction =3D num.substr(0, exponentPos);
        exponent =3D num.substr(exponentPos + 1);
    }
   =20
    var integer;
    var fraction;
    var decimalPos =3D =
intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer =3D intAndFraction;
        fraction =3D null;
    }
    else {
        integer =3D intAndFraction.substr(0, decimalPos);
        fraction =3D intAndFraction.substr(decimalPos + =
numFormat.NumberDecimalSeparator.length);
    }
   =20
    integer =3D integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator =3D =
numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !=3D=3D altNumGroupSeparator) {
        integer =3D integer.split(altNumGroupSeparator).join('');
    }
   =20
    var p =3D sign + integer;
    if (fraction !=3D=3D null) {
        p +=3D '.' + fraction;
    }
    if (exponent !=3D=3D null) {
        var expSignInfo =3D Number._parseNumberNegativePattern(exponent, =
numFormat, 1);
        if (expSignInfo[0] =3D=3D=3D '') {
            expSignInfo[0] =3D '+';
        }
        p +=3D 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern =3D function =
Number$_parseNumberNegativePattern(value, numFormat, =
numberNegativePattern) {
    var neg =3D numFormat.NegativeSign;
    var pos =3D numFormat.PositiveSign;   =20
    switch (numberNegativePattern) {
        case 4:=20
            neg =3D ' ' + neg;
            pos =3D ' ' + pos;
        case 3:=20
            if (value.endsWith(neg)) {
                return ['-', value.substr(0, value.length - =
neg.length)];
            }
            else if (value.endsWith(pos)) {
                return ['+', value.substr(0, value.length - =
pos.length)];
            }
            break;
        case 2:=20
            neg +=3D ' ';
            pos +=3D ' ';
        case 1:=20
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0:=20
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format =3D function Number$format(format) {
    /// <summary locid=3D"M:J#Number.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <summary locid=3D"M:J#Number.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
   =20
    var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function zeroPad(str, count, left) {
        for (var l=3Dstr.length; l < count; l++) {
            str =3D (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
   =20
    function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;
        var factor =3D Math.pow(10, precision);
        var rounded =3D (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded =3D number;
        }
        number =3D rounded;
       =20
        var numberString =3D number.toString();
        var right =3D "";
        var exponent;
       =20
       =20
        var split =3D numberString.split(/e/i);
        numberString =3D split[0];
        exponent =3D (split.length > 1 ? parseInt(split[1]) : 0);
        split =3D numberString.split('.');
        numberString =3D split[0];
        right =3D split.length > 1 ? split[1] : "";
       =20
        var l;
        if (exponent > 0) {
            right =3D zeroPad(right, exponent, false);
            numberString +=3D right.slice(0, exponent);
            right =3D right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent =3D -exponent;
            numberString =3D zeroPad(numberString, exponent+1, true);
            right =3D numberString.slice(-exponent, numberString.length) =
+ right;
            numberString =3D numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right =3D right.slice(0, precision);
            }
            else {
                right =3D zeroPad(right, precision, false);
            }
            right =3D decimalChar + right;
        }
        else {=20
            right =3D "";
        }
        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {
            if (curSize =3D=3D=3D 0 || curSize > stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }
            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);
            stringIndex -=3D curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;
    var number =3D Math.abs(this);
    if (!format)
        format =3D "D";
    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';
        if (precision !=3D=3D -1) {
            number =3D zeroPad(""+number, precision, true);
        }
        if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this) * 100, precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex =3D /n|\$|-|%/g;
    var ret =3D "";
    for (;;) {
        var index =3D regex.lastIndex;
        var ar =3D regex.exec(pattern);
        ret +=3D pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
=20
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
=20
Array.__typeName =3D 'Array';
Array.__class =3D true;
Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <summary locid=3D"M:J#Array.enqueue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] =3D item;
}
Array.addRange =3D function Array$addRange(array, items) {
    /// <summary locid=3D"M:J#Array.addRange" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.push.apply(array, items);
}
Array.clear =3D function Array$clear(array) {
    /// <summary locid=3D"M:J#Array.clear" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length =3D 0;
}
Array.clone =3D function Array$clone(array) {
    /// <summary locid=3D"M:J#Array.clone" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains =3D function Array$contains(array, item) {
    /// <summary locid=3D"M:J#Array.contains" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Array.indexOf(array, item) >=3D 0);
}
Array.dequeue =3D function Array$dequeue(array) {
    /// <summary locid=3D"M:J#Array.dequeue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <summary locid=3D"M:J#Array.forEach" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}
Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <summary locid=3D"M:J#Array.indexOf" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
        start =3D start - 0;
        if (isNaN(start)) {
            start =3D 0;
        }
        else {
            if (isFinite(start)) {
                start =3D start - (start % 1);
            }
            if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }
        for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}
Array.insert =3D function Array$insert(array, index, item) {
    /// <summary locid=3D"M:J#Array.insert" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 0, item);
}
Array.parse =3D function Array$parse(value) {
    /// <summary locid=3D"M:J#Array.parse" />
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove =3D function Array$remove(array, item) {
    /// <summary locid=3D"M:J#Array.remove" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}
Array.removeAt =3D function Array$removeAt(array, index) {
    /// <summary locid=3D"M:J#Array.removeAt" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
=20
if (!window) this.window =3D this;
window.Type =3D Function;
Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <summary locid=3D"M:J#Type.callBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}
Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <summary locid=3D"M:J#Type.getBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <summary locid=3D"M:J#Type.getBaseType" />
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}
Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <summary locid=3D"M:J#Type.getInterfaces" />
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}
Type.prototype.getName =3D function Type$getName() {
    /// <summary locid=3D"M:J#Type.getName" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}
Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <summary locid=3D"M:J#Type.implementsInterface" />
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }
    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }
        baseType =3D baseType.__baseType;
    }
    return cache[interfaceName] =3D false;
}
Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <summary locid=3D"M:J#Type.inheritsFrom" />
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <summary locid=3D"M:J#Type.initializeBase" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }
    return instance;
}
Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <summary locid=3D"M:J#Type.isImplementedBy" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <summary locid=3D"M:J#Type.isInstanceOfType" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    if (instance instanceof this) return true;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <summary locid=3D"M:J#Type.registerClass" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    if (interfaceTypes) {
        this.__interfaces =3D [];
        this.resolveInheritance();
        for (var i =3D 2, l =3D arguments.length; i < l; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <summary locid=3D"M:J#Type.registerInterface" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    /// <summary locid=3D"M:J#Type.resolveInheritance" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <summary locid=3D"M:J#Type.getRootNamespaces" />
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass =3D function Type$isClass(type) {
    /// <summary locid=3D"M:J#Type.isClass" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}
Type.isInterface =3D function Type$isInterface(type) {
    /// <summary locid=3D"M:J#Type.isInterface" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}
Type.isNamespace =3D function Type$isNamespace(object) {
    /// <summary locid=3D"M:J#Type.isNamespace" />
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}
Type.parse =3D function Type$parse(typeName, ns) {
    /// <summary locid=3D"M:J#Type.parse" />
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn =3D Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}
Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <summary locid=3D"M:J#Type.registerNamespace" />
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');
    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {
                __namespace: true,
                __typeName: namespaceParts.slice(0, i + 1).join('.')
            };
            if (i =3D=3D=3D 0) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] =3D =
ns;
            }
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
window.Sys =3D {
    __namespace: true,
    __typeName: "Sys",
    getName: function() {return "Sys";},
    __upperCaseTypes: {}
};
Sys.__rootNamespaces =3D [Sys];
Sys.__registeredTypes =3D {};
=20
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
=20
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <summary locid=3D"M:J#Sys.StringBuilder.#ctor" />
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.append" />
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.appendLine" />
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.clear" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.toString" />
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
            if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,
    appendLine: Sys$StringBuilder$appendLine,
    clear: Sys$StringBuilder$clear,
    isEmpty: Sys$StringBuilder$isEmpty,
    toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
=20
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
=20
Sys.Browser =3D {};
Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};
Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);
Sys.Browser.documentMode =3D 0;
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    if (Sys.Browser.version >=3D 8) {
        if (document.documentMode >=3D 7) {
            Sys.Browser.documentMode =3D document.documentMode;   =20
        }
    }
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
AppleWebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}
Type.registerNamespace('Sys.UI');
=20
Sys._Debug =3D function Sys$_Debug() {
    /// <summary locid=3D"M:J#Sys.Debug.#ctor" />
    /// <field name=3D"isDebug" type=3D"Boolean" =
locid=3D"F:J#Sys.Debug.isDebug"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !=3D=3D 'undefined') && Debug.writeln) {
            Debug.writeln(text);
        }
        if (window.console && window.console.log) {
            window.console.log(text);
        }
        if (window.opera) {
            window.opera.postError(text);
        }
        if (window.debugService) {
            window.debugService.trace(text);
        }
    }
    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid=3D"M:J#Sys.Debug.assert" />
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;
        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);
            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }
    function Sys$_Debug$clearTrace() {
        /// <summary locid=3D"M:J#Sys.Debug.clearTrace" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid=3D"M:J#Sys.Debug.fail" />
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;
        this._appendConsole(message);
        if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }
    function Sys$_Debug$trace(text) {
        /// <summary locid=3D"M:J#Sys.Debug.trace" />
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid=3D"M:J#Sys.Debug.traceDump" />
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        var text =3D this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object =3D=3D window) || (object =3D=3D=3D =
document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {
    _appendConsole: Sys$_Debug$_appendConsole,
    _appendTrace: Sys$_Debug$_appendTrace,
    assert: Sys$_Debug$assert,
    clearTrace: Sys$_Debug$clearTrace,
    fail: Sys$_Debug$fail,
    trace: Sys$_Debug$trace,
    traceDump: Sys$_Debug$traceDump,
    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
=20
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid=3D"M:J#Sys.Enum.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;
        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid=3D"M:J#Sys.Enum.toString" />
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) =3D=3D=3D 'undefined') || (value =3D=3D=3D null)) =
return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <summary locid=3D"M:J#Sys.UI.LineType.#ctor" />
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] =3D this;
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    Sys.__registeredTypes[name] =3D true;
}
Type.isEnum =3D function Type$isEnum(type) {
    /// <summary locid=3D"M:J#Type.isEnum" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}
Type.isFlags =3D function Type$isFlags(type) {
    /// <summary locid=3D"M:J#Type.isFlags" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
=20
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    /// <summary locid=3D"M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.addHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.getHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        return function(source, args) {
            for (var i =3D 0, l =3D evt.length; i < l; i++) {
                evt[i](source, args);
            }
        };
    }
    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
=20
Sys.EventArgs =3D function Sys$EventArgs() {
    /// <summary locid=3D"M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty =3D new Sys.EventArgs();
=20
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    /// <summary locid=3D"M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel =3D false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
=20
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    /// <summary locid=3D"M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyPropertyChange.propertyChanged" =
/>
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

=20
Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid=3D"M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
=20
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    /// <summary locid=3D"M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyDisposing.disposing" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
=20
Sys.Component =3D function Sys$Component() {
    /// <summary locid=3D"M:J#Sys.Component.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList" =
locid=3D"P:J#Sys.Component.events"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Component.id"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid=3D"E:J#Sys.Component.disposing" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        /// <summary locid=3D"E:J#Sys.Component.propertyChanged" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid=3D"M:J#Sys.Component.raisePropertyChanged" />
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);
function Sys$Component$_setProperties(target, properties) {
    /// <summary locid=3D"M:J#Sys.Component._setProperties" />
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
            var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}
function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}
var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid=3D"M:J#Sys.Component.create" />
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();
    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        app._createdComponents[app._createdComponents.length] =3D =
component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
=20
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <summary locid=3D"M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
=20
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <summary locid=3D"M:J#Sys.UI.Key.#ctor" />
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.backspace"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.tab"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.enter"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.esc"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.space"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageUp"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageDown"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.end"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.home"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.left"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.up"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.right"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.down"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.del"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
=20
Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <summary locid=3D"M:J#Sys.UI.Point.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.y"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
=20
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid=3D"M:J#Sys.UI.Bounds.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.y"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.height"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.width"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
=20
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton" =
locid=3D"F:J#Sys.UI.DomEvent.button"></field>
    /// <field name=3D"charCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name=3D"clientX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name=3D"clientY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name=3D"keyCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name=3D"offsetX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name=3D"offsetY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name=3D"screenX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name=3D"screenY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name=3D"target" =
locid=3D"F:J#Sys.UI.DomEvent.target"></field>
    /// <field name=3D"type" type=3D"String" =
locid=3D"F:J#Sys.UI.DomEvent.type"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var e =3D eventObject;
    var etype =3D this.type =3D e.type.toLowerCase();
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (etype =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (!etype.startsWith('key')) {
        if ((typeof(e.offsetX) !=3D=3D 'undefined') && =
(typeof(e.offsetY) !=3D=3D 'undefined')) {
            this.offsetX =3D e.offsetX;
            this.offsetY =3D e.offsetY;
        }
        else if (this.target && (this.target.nodeType !=3D=3D 3) && =
(typeof(e.clientX) =3D=3D=3D 'number')) {
            var loc =3D Sys.UI.DomElement.getLocation(this.target);
            var w =3D Sys.UI.DomElement._getWindow(this.target);
            this.offsetX =3D (w.pageXOffset || 0) + e.clientX - loc.x;
            this.offsetY =3D (w.pageYOffset || 0) + e.clientY - loc.y;
        }
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName =3D=3D=3D "error") throw =
Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            var e =3D {};
            try {e =3D Sys.UI.DomElement._getWindow(element).event} =
catch(ex) {}
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}
var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name=3D"element"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}
var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name=3D"element"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}
var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.UI.DomEvent._ensureDomNode =3D function =
Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() =3D=3D=3D =
"SCRIPT")) return;
   =20
    var doc =3D element.ownerDocument || element.document || element;
    if ((typeof(element.document) !=3D=3D 'object') && (element !=3D =
doc) && (typeof(element.nodeType) !=3D=3D 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
=20
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    return Array.contains(element.className.split(' '), className);
}
Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getBounds" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset =3D Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}
var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getElementById" />
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);
    var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }
    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }
    return null;
}
switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if (element.self || element.nodeType =3D=3D=3D 9) return new =
Sys.UI.Point(0,0);
            var clientRect =3D element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }
            var documentElement =3D =
element.ownerDocument.documentElement;
            var offsetX =3D clientRect.left - 2 + =
documentElement.scrollLeft,
                offsetY =3D clientRect.top - 2 + =
documentElement.scrollTop;
           =20
            try {
                var f =3D =
element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset =3D (f.frameBorder =3D=3D=3D "0" || =
f.frameBorder =3D=3D=3D "no") ? 2 : 0;
                    offsetX +=3D offset;
                    offsetY +=3D offset;
                }
            }
            catch(ex) {
            }   =20
           =20
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;
                    if (parentPosition && (parentPosition =3D=3D=3D =
"absolute")) break;
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }
            var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
            for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;
                elementPositioned =3D elementPositioned || =
(parentPosition && (parentPosition !=3D=3D "static"));
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                if ((parent.offsetLeft || parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
                if (previous !=3D=3D null && currentStyle) {
                    if ((tagName !=3D=3D "TABLE") && (tagName !=3D=3D =
"TD") && (tagName !=3D=3D "HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        if (currentStyle) {
                            offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                            offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                        }
                    }
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
}
Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setLocation" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}
Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}
Sys.UI.DomElement.getVisibilityMode =3D function =
Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.VisibilityMode"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode =3D function =
Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Sys.UI.VisibilityMode"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Sys.UI.VisibilityMode}
    ]);
    if (e) throw e;
    Sys.UI.DomElement._ensureOldDisplayMode(element);
    if (element._visibilityMode !=3D=3D value) {
        element._visibilityMode =3D value;
        if (Sys.UI.DomElement.getVisible(element) =3D=3D=3D false) {
            if (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                element.style.display =3D element._oldDisplayMode;
            }
            else {
                element.style.display =3D 'none';
            }
        }
        element._visibilityMode =3D value;
    }
}
Sys.UI.DomElement.getVisible =3D function =
Sys$UI$DomElement$getVisible(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !=3D=3D 'hidden') && (style.display !=3D=3D =
'none');
}
Sys.UI.DomElement.setVisible =3D function =
Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !=3D=3D Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility =3D value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
            element.style.display =3D element._oldDisplayMode;
        }
        else {
            element.style.display =3D 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode =3D function =
Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode =3D style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode =
=3D=3D=3D 'none') {
            switch(element.tagName.toUpperCase()) {
                case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': =
case 'BODY': case 'COL':
                case 'COLGROUP': case 'DD': case 'DL': case 'DT': case =
'FIELDSET': case 'FORM':
                case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': =
case 'H6': case 'HR':
                case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': =
case 'TABLE': case 'TD':
                case 'TH': case 'TR': case 'UL':
                    element._oldDisplayMode =3D 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode =3D 'list-item';
                    break;
                default:
                    element._oldDisplayMode =3D 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow =3D function =
Sys$UI$DomElement$_getWindow(element) {
    var doc =3D element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType =3D=3D=3D 3) return null;
    var w =3D Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element =3D element.documentElement;
    var computedStyle =3D (w && (element !=3D=3D w) && =
w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) && element.style) {
        var oldDisplay =3D element.style.display;
        var oldPosition =3D element.style.position;
        element.style.position =3D 'absolute';
        element.style.display =3D 'block';
        var style =3D w.getComputedStyle(element, null);
        element.style.display =3D oldDisplay;
        element.style.position =3D oldPosition;
        computedStyle =3D {};
        for (var n in style) {
            computedStyle[n] =3D style[n];
        }
        computedStyle.display =3D 'none';
    }
    return computedStyle;
}
=20
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid=3D"M:J#Sys.IContainer.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid=3D"M:J#Sys.IContainer.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
=20
Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._sessions =3D [];
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopSession();
        this._loading =3D false;
        if(this._events) {
            delete this._events;
        }
        this._sessions =3D null;
        this._currentSession =3D null;
        this._scriptLoadedDelegate =3D null;       =20
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.loadScripts" />
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;
        var session =3D {
            allScriptsLoadedCallback: allScriptsLoadedCallback,
            scriptLoadFailedCallback: scriptLoadFailedCallback,
            scriptLoadTimeoutCallback: scriptLoadTimeoutCallback,
            scriptsToLoad: this._scriptsToLoad,
            scriptTimeout: scriptTimeout };
        this._scriptsToLoad =3D null;
        this._sessions[this._sessions.length] =3D session;
       =20
        if (!this._loading) {
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.notifyScriptLoaded" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
        if(!this._loading) {
            return;
        }
        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                window.setTimeout(Function.createDelegate(this, =
function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }
    }
    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }
    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }
    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }
    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('script');
        scriptElement.type =3D 'text/javascript';
        for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }
    function Sys$_ScriptLoader$_loadScriptsInternal() {
        var session =3D this._currentSession;
        if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
            var nextScript =3D Array.dequeue(session.scriptsToLoad);
            var scriptElement =3D this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                scriptElement.innerHTML =3D scriptElement.text;
                delete scriptElement.text;
            }           =20
            if (typeof(nextScript.src) =3D=3D=3D "string") {
                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                this._currentTask.execute();
            }
            else {
                var headElements =3D =
document.getElementsByTagName('head');
                if (headElements.length =3D=3D=3D 0) {
                     throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
                }
                else {
                     headElements[0].appendChild(scriptElement);
                }
               =20
               =20
                Sys._ScriptLoader._clearScript(scriptElement);
                this._loadScriptsInternal();
            }
        }
        else {
            this._stopSession();
            var callback =3D session.allScriptsLoadedCallback;
            if(callback) {
                callback(this);
            }
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$_nextSession() {
        if (this._sessions.length =3D=3D=3D 0) {
            this._loading =3D false;
            this._currentSession =3D null;
            return;
        }
        this._loading =3D true;
       =20
        var session =3D Array.dequeue(this._sessions);
        this._currentSession =3D session;
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
        var callback =3D this._currentSession.scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopSession();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
            this._nextSession();
        }
        else {
            this._loading =3D false;
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
        if(loaded && this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                this._raiseError(true);
            }
            else {
                Array.add(Sys._ScriptLoader._getLoadedScripts(), =
scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
            this._raiseError(false);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._currentSession.scriptLoadTimeoutCallback;
        this._stopSession();
        if(callback) {
            callback(this);
        }
        this._nextSession();
    }
    function Sys$_ScriptLoader$_stopSession() {
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,
    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,
    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,
    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
    _nextSession: Sys$_ScriptLoader$_nextSession,
    _raiseError: Sys$_ScriptLoader$_raiseError,
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
    _stopSession: Sys$_ScriptLoader$_stopSession   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);
Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}
Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
    var dummyScript =3D document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}
Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];
        var existingScripts =3D document.getElementsByTagName('script');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}
Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
        errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }
    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}
Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}
=20
Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        var headElements =3D document.getElementsByTagName('head');
        if (headElements.length =3D=3D=3D 0) {
             throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[0].appendChild(this._scriptElement);
        }
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        this._scriptLoadDelegate =3D Function.createDelegate(this, =
this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate =3D Function.createDelegate(this, =
this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', =
this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', =
this._scriptErrorDelegate, false);
                this._scriptErrorDelegate =3D null;
            }
            this._scriptLoadDelegate =3D null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
       =20
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
=20
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid=3D"M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys.HistoryEventArgs =3D function Sys$HistoryEventArgs(state) {
    /// <summary locid=3D"M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name=3D"state" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state =3D state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type=3D"Object" =
locid=3D"P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype =3D {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', =
Sys.EventArgs);
=20
Sys._Application =3D function Sys$_Application() {
    /// <summary locid=3D"M:J#Sys.Application.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];
    this._appLoadHandler =3D null;
    this._beginRequestHandler =3D null;
    this._clientId =3D null;
    this._currentEntry =3D '';
    this._endRequestHandler =3D null;
    this._history =3D null;
    this._enableHistory =3D false;
    this._historyEnabledInScriptManager =3D false;
    this._historyFrame =3D null;
    this._historyInitialized =3D false;
    this._historyInitialLength =3D 0;
    this._historyLength =3D 0;
    this._historyPointIsNew =3D false;
    this._ignoreTimer =3D false;
    this._initialState =3D null;
    this._state =3D {};
    this._timerCookie =3D 0;
    this._timerHandler =3D null;
    this._uniqueId =3D null;
    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_stateString() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Application.stateString"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var hash =3D window.location.hash;
        if (this._isSafari2()) {
            var history =3D this._getHistory();
            if (history) {
                hash =3D history[window.history.length - =
this._historyInitialLength];
            }
        }
        if ((hash.length > 0) && (hash.charAt(0) =3D=3D=3D '#')) {
            hash =3D hash.substring(1);
        }
        if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Firefox) {
            hash =3D this._serializeState(this._deserializeState(hash, =
true));
        }
        return hash;
    }
    function Sys$_Application$get_enableHistory() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.enableHistory"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._enableHistory;
    }
    function Sys$_Application$set_enableHistory(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (this._initialized && !this._initializing) {
            throw =
Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
        }
        else if (this._historyEnabledInScriptManager && !value) {
            throw =
Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
        }
        this._enableHistory =3D value;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid=3D"E:J#Sys.Application.init" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_load(handler) {
        /// <summary locid=3D"E:J#Sys.Application.load" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_navigate(handler) {
        /// <summary locid=3D"E:J#Sys.Application.navigate" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("navigate", handler);
    }
    function Sys$_Application$remove_navigate(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("navigate", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid=3D"E:J#Sys.Application.unload" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$addHistoryPoint(state, title) {
        /// <summary locid=3D"M:J#Sys.Application.addHistoryPoint" />
        /// <param name=3D"state" type=3D"Object"></param>
        /// <param name=3D"title" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "state", type: Object},
            {name: "title", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        if (!this._enableHistory) throw =
Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDis=
abled);
        for (var n in state) {
            var v =3D state[n];
            var t =3D typeof(v);
            if ((v !=3D=3D null) && ((t =3D=3D=3D 'object') || (t =
=3D=3D=3D 'function') || (t =3D=3D=3D 'undefined'))) {
                throw Error.argument('state', =
Sys.Res.stateMustBeStringDictionary);
            }
        }
        this._ensureHistory();
        var initialState =3D this._state;
        for (var key in state) {
            var value =3D state[key];
            if (value =3D=3D=3D null) {
                if (typeof(initialState[key]) !=3D=3D 'undefined') {
                    delete initialState[key];
                }
            }
            else {
                initialState[key] =3D value;
            }
        }
        var entry =3D this._serializeState(initialState);
        this._historyPointIsNew =3D true;
        this._setState(entry, title);
        this._raiseNavigate();
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.beginCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid=3D"M:J#Sys.Application.dispose" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing =3D true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._end=
RequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._b=
eginRequestHandler);
                delete this._beginRequestHandler;
            }
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }
            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.endCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid=3D"M:J#Sys.Application.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <summary locid=3D"M:J#Sys.Application.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        /// <summary locid=3D"M:J#Sys.Application.initialize" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
            window.setTimeout(Function.createDelegate(this, =
this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys.Application.notifyScriptLoaded" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.registerDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        /// <summary locid=3D"M:J#Sys.Application.raiseLoad" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$setServerId(clientId, uniqueId) {
        /// <summary locid=3D"M:J#Sys.Application.setServerId" />
        /// <param name=3D"clientId" type=3D"String"></param>
        /// <param name=3D"uniqueId" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "clientId", type: String},
            {name: "uniqueId", type: String}
        ]);
        if (e) throw e;
        this._clientId =3D clientId;
        this._uniqueId =3D uniqueId;
    }
    function Sys$_Application$setServerState(value) {
        /// <summary locid=3D"M:J#Sys.Application.setServerState" />
        /// <param name=3D"value" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "value", type: String}
        ]);
        if (e) throw e;
        this._ensureHistory();
        this._state.__s =3D value;
        this._updateHiddenField(value);
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.unregisterDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_deserializeState(entry, skipDecodeUri) {
        var result =3D {};
        entry =3D entry || '';
        var serverSeparator =3D entry.indexOf('&&');
        if ((serverSeparator !=3D=3D -1) && (serverSeparator + 2 < =
entry.length)) {
            result.__s =3D entry.substr(serverSeparator + 2);
            entry =3D entry.substr(0, serverSeparator);
        }
        var tokens =3D entry.split('&');
        for (var i =3D 0, l =3D tokens.length; i < l; i++) {
            var token =3D tokens[i];
            var equal =3D token.indexOf('=3D');
            if ((equal !=3D=3D -1) && (equal + 1 < token.length)) {
                var name =3D token.substr(0, equal);
                var value =3D token.substr(equal + 1);
                result[name] =3D skipDecodeUri ? value : =
decodeURIComponent(value);
            }
        }
        return result;
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');
       =20
        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        if (Sys.WebForms) {
            this._beginRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerBeginRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._begi=
nRequestHandler);
            this._endRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerEndRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endReq=
uestHandler);
        }
       =20
        var loadedEntry =3D this.get_stateString();
        if (loadedEntry !=3D=3D this._currentEntry) {
            this._navigate(loadedEntry);
        }
=20
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_enableHistoryInScriptManager() {
        this._enableHistory =3D true;
        this._historyEnabledInScriptManager =3D true;
    }
    function Sys$_Application$_ensureHistory() {
        if (!this._historyInitialized && this._enableHistory) {
            if ((Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) {
                this._historyFrame =3D =
document.getElementById('__historyFrame');
                if (!this._historyFrame) throw =
Error.invalidOperation(Sys.Res.historyMissingFrame);
                this._ignoreIFrame =3D true;
            }
            if (this._isSafari2()) {
                var historyElement =3D =
document.getElementById('__history');
                if (!historyElement) throw =
Error.invalidOperation(Sys.Res.historyMissingHiddenInput);
                this._setHistory([window.location.hash]);
                this._historyInitialLength =3D window.history.length;
            }
           =20
            this._timerHandler =3D Function.createDelegate(this, =
this._onIdle);
            this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
           =20
            try {
                this._initialState =3D =
this._deserializeState(this.get_stateString());
            } catch(e) {}
           =20
            this._historyInitialized =3D true;
        }
    }
    function Sys$_Application$_getHistory() {
        var historyElement =3D document.getElementById('__history');
        if (!historyElement) return '';
        var v =3D historyElement.value;
        return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, =
true) : '';
    }
    function Sys$_Application$_isSafari2() {
        return (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) &&
            (Sys.Browser.version <=3D 419.3);
    }
    function Sys$_Application$_loadHandler() {
        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_navigate(entry) {
        this._ensureHistory();
        var state =3D this._deserializeState(entry);
       =20
        if (this._uniqueId) {
            var oldServerEntry =3D this._state.__s || '';
            var newServerEntry =3D state.__s || '';
            if (newServerEntry !=3D=3D oldServerEntry) {
                this._updateHiddenField(newServerEntry);
                __doPostBack(this._uniqueId, newServerEntry);
                this._state =3D state;
                return;
            }
        }
        this._setState(entry);
        this._state =3D state;
        this._raiseNavigate();
    }
    function Sys$_Application$_onIdle() {
        delete this._timerCookie;
       =20
        var entry =3D this.get_stateString();
        if (entry !=3D=3D this._currentEntry) {
            if (!this._ignoreTimer) {
                this._historyPointIsNew =3D false;
                this._navigate(entry);
                this._historyLength =3D window.history.length;
            }
        }
        else {
            this._ignoreTimer =3D false;
        }
        this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
    }
    function Sys$_Application$_onIFrameLoad(entry) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew =3D false;
            this._navigate(entry);
        }
        this._ignoreIFrame =3D false;
    }
    function Sys$_Application$_onPageRequestManagerBeginRequest(sender, =
args) {
        this._ignoreTimer =3D true;
    }
    function Sys$_Application$_onPageRequestManagerEndRequest(sender, =
args) {
        var dataItem =3D args.get_dataItems()[this._clientId];
        var eventTarget =3D document.getElementById("__EVENTTARGET");
        if (eventTarget && eventTarget.value =3D=3D=3D this._uniqueId) {
            eventTarget.value =3D '';
        }
        if (typeof(dataItem) !=3D=3D 'undefined') {
            this.setServerState(dataItem);
            this._historyPointIsNew =3D true;
        }
        else {
            this._ignoreTimer =3D false;
        }
        var entry =3D this._serializeState(this._state);
        if (entry !=3D=3D this._currentEntry) {
            this._ignoreTimer =3D true;
            this._setState(entry);
            this._raiseNavigate();
        }
    }
    function Sys$_Application$_raiseNavigate() {
        var h =3D this.get_events().getHandler("navigate");
        var stateClone =3D {};
        for (var key in this._state) {
            if (key !=3D=3D '__s') {
                stateClone[key] =3D this._state[key];
            }
        }
        var args =3D new Sys.HistoryEventArgs(stateClone);
        if (h) {
            h(this, args);
        }
    }
    function Sys$_Application$_serializeState(state) {
        var serialized =3D [];
        for (var key in state) {
            var value =3D state[key];
            if (key =3D=3D=3D '__s') {
                var serverState =3D value;
            }
            else {
                if (key.indexOf('=3D') !=3D=3D -1) throw =
Error.argument('state', Sys.Res.stateFieldNameInvalid);
                serialized[serialized.length] =3D key + '=3D' + =
encodeURIComponent(value);
            }
        }
        return serialized.join('&') + (serverState ? '&&' + serverState =
: '');
    }
    function Sys$_Application$_setHistory(historyArray) {
        var historyElement =3D document.getElementById('__history');
        if (historyElement) {
            historyElement.value =3D =
Sys.Serialization.JavaScriptSerializer.serialize(historyArray);
        }
    }
    function Sys$_Application$_setState(entry, title) {
        entry =3D entry || '';
        if (entry !=3D=3D this._currentEntry) {
            if (window.theForm) {
                var action =3D window.theForm.action;
                var hashIndex =3D action.indexOf('#');
                window.theForm.action =3D ((hashIndex !=3D=3D -1) ? =
action.substring(0, hashIndex) : action) + '#' + entry;
            }
           =20
            if (this._historyFrame && this._historyPointIsNew) {
                this._ignoreIFrame =3D true;
                this._historyPointIsNew =3D false;
                var frameDoc =3D =
this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + (title || =
document.title) +
                    "</title><scri" + "pt =
type=3D\"text/javascript\">parent.Sys.Application._onIFrameLoad('" +=20
                    entry + "');</scri" + =
"pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer =3D false;
            var currentHash =3D this.get_stateString();
            this._currentEntry =3D entry;
            if (entry !=3D=3D currentHash) {
                var loc =3D document.location;
                if (loc.href.length - loc.hash.length + entry.length > =
1024) {
                    throw =
Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);
                }
                if (this._isSafari2()) {
                    var history =3D this._getHistory();
                    history[window.history.length - =
this._historyInitialLength + 1] =3D entry;
                    this._setHistory(history);
                    this._historyLength =3D window.history.length + 1;
                    var form =3D document.createElement('form');
                    form.method =3D 'get';
                    form.action =3D '#' + entry;
                    document.appendChild(form);
                    form.submit();
                    document.removeChild(form);
                }
                else {
                    window.location.hash =3D entry;
                }
                if ((typeof(title) !=3D=3D 'undefined') && (title =
!=3D=3D null)) {
                    document.title =3D title;
                }
            }
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
    function Sys$_Application$_updateHiddenField(value) {
        if (this._clientId) {
            var serverStateField =3D =
document.getElementById(this._clientId);
            if (serverStateField) {
                serverStateField.value =3D value;
            }
        }
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_stateString: Sys$_Application$get_stateString,
    get_enableHistory: Sys$_Application$get_enableHistory,
    set_enableHistory: Sys$_Application$set_enableHistory,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_navigate: Sys$_Application$add_navigate,
    remove_navigate: Sys$_Application$remove_navigate,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    addHistoryPoint: Sys$_Application$addHistoryPoint,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    setServerId: Sys$_Application$setServerId,
    setServerState: Sys$_Application$setServerState,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _deserializeState: Sys$_Application$_deserializeState,
    _doInitialize: Sys$_Application$_doInitialize,
    _enableHistoryInScriptManager: =
Sys$_Application$_enableHistoryInScriptManager,   =20
    _ensureHistory: Sys$_Application$_ensureHistory,
    _getHistory: Sys$_Application$_getHistory,
    _isSafari2: Sys$_Application$_isSafari2,
    _loadHandler: Sys$_Application$_loadHandler,
    _navigate: Sys$_Application$_navigate,
    _onIdle: Sys$_Application$_onIdle,
    _onIFrameLoad: Sys$_Application$_onIFrameLoad,
    _onPageRequestManagerBeginRequest: =
Sys$_Application$_onPageRequestManagerBeginRequest,
    _onPageRequestManagerEndRequest: =
Sys$_Application$_onPageRequestManagerEndRequest,
    _raiseNavigate: Sys$_Application$_raiseNavigate,
    _serializeState: Sys$_Application$_serializeState,
    _setHistory: Sys$_Application$_setHistory,
    _setState: Sys$_Application$_setState,
    _unloadHandler: Sys$_Application$_unloadHandler,
    _updateHiddenField: Sys$_Application$_updateHiddenField
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);
Sys.Application =3D new Sys._Application();
var $find =3D Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
=20
Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }
        this._webRequest =3D value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value =
locid=3D"P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,
    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,
    get_started: Sys$Net$WebRequestExecutor$get_started,
    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,
    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,
    executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
=20
Sys.Net.XMLDOM =3D function Sys$Net$XMLDOM(markup) {
    /// <summary locid=3D"M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name=3D"markup" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;
    this._onReadyStateChange =3D (function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) =3D=3D=3D =
"undefined") {
                    return;
                }
            }
            catch(ex) {
                return;
            }
           =20
            _this._clearTimer();
            _this._responseAvailable =3D true;
            try {
                _this._webRequest.completed(Sys.EventArgs.Empty);
            }
            finally {
                if (_this._xmlHttpRequest !=3D null) {
                    _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                    _this._xmlHttpRequest =3D null;
                }
            }
        }
    });
    this._clearTimer =3D (function() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    });
    this._onTimeout =3D (function() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    });
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();
        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() =3D=3D=3D "post") {
            if ((headers =3D=3D=3D null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded; charset=3Dutf-8');
            }
            if (!body) {
                body =3D "";
            }
        }
        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }
        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }
        return this._xmlHttpRequest.getAllResponseHeaders();
    }
    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }
        return this._xmlHttpRequest.responseText;
    }
    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }
        var result =3D 0;
        try {
            result =3D this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }
        return this._xmlHttpRequest.statusText;
    }
    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }
        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml =3D Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted =3D true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();
           =20
            this._xmlHttpRequest =3D null;           =20
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
=20
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    /// <summary locid=3D"P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.invokingRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.completedRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._defaultTimeout =3D value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._defaultExecutorType =3D value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor =3D webRequest.get_executor();
        if (!executor) {
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }
            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }
            webRequest.set_executor(executor);
        }
        if (executor.get_aborted()) {
            return;
        }
        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,
    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,
    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,
    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,
    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,
    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
=20
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid=3D"M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
=20
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid=3D"E:J#Sys.Net.WebRequest.completed" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }
    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.completed" />
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._url =3D value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid=3D"P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb =3D value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._body =3D value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor" =
locid=3D"P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor =3D value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._timeout =3D value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,
    completed: Sys$Net$WebRequest$completed,
    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,
    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,
    get_headers: Sys$Net$WebRequest$get_headers,
    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,
    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,
    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,
    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,
    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,
    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,
    invoke: Sys$Net$WebRequest$invoke
}
Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }
    var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    qsStart =3D baseUrl.indexOf('#');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }
    if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
    if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;
    var sb =3D new Sys.StringBuilder();
    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }
        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));
        i++;
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }
    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
=20
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, =
Sys.Res.invalidTimeout); }
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if (onSuccess =3D=3D=3D null || typeof onSuccess =3D=3D=3D =
'undefined') onSuccess =3D this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;
    var request =3D new Sys.Net.WebRequest();
    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
    if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURICo=
mponent(methodName), urlParams));
    var body =3D null;
    if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body =3D=3D=3D "{}") body =3D "";
    }
    request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();
    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;
          =20
            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }
            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                if (result) {
                    result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
                }
            }
            else if (contentType.startsWith("application/json")) {
                if (!result || typeof(result.d) =3D=3D=3D "undefined") {
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));
                }
                result =3D result.d;
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    var error;
                    if (result && errorObj) {
                        error =3D result.get_exceptionType() + "-- " + =
result.get_message();
                    }
                    else {
                        error =3D response.get_responseData();
                    }
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, msg);
            }
        }
    }
    return request;
}
Sys.Net.WebServiceProxy._createFailedError =3D function =
Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage =3D "Sys.Net.WebServiceFailedException: " + =
errorMessage;
    var e =3D Error.create(displayMessage, { 'name': =
'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback =3D function =
Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error =3D err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
=20
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,
    get_statusCode: Sys$Net$WebServiceError$get_statusCode,
    get_message: Sys$Net$WebServiceError$get_message,
    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,
    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    /// <summary locid=3D"M:J#Sys.Net.ProfileService.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback =3D value;
    }
    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultSaveCompletedCallback =3D value;
    }
    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.load" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var parameters;
        var methodName;
        if (!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
            parameters =3D { authenticatedUserOnly: false };
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames), authenticatedUserOnly: false };
        }
        this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),
                                        [loadCompletedCallback, =
failedCallback, userContext]);
    }
    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.save" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true
