From: <Saved by Windows Internet Explorer 8>
Subject: Dropout Prevention: Dropout Reporting: High School Rigor, Relevance and Relationships
Date: Thu, 11 Mar 2010 09:54:54 -0600
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CAC100.E6A982F0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/default.aspx?tabid=12879

=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 lang=3Den-US xml:lang=3D"en-US" =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD=20
id=3DHead><TITLE>Dropout Prevention: Dropout Reporting: High School =
Rigor, Relevance and Relationships</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META id=3DMetaDescription name=3DDESCRIPTION=20
content=3D"Research shows that successful high schools provide rigorous =
academic coursework, relevant learning opportunities, and meaningful =
relationships with instructors who are qualified to help students =
achieve high standards.">
<META id=3DMetaKeywords name=3DKEYWORDS=20
content=3D"Articles/Briefs/Newsletters,Education,High Schools,Erica =
Cordova, Lamar Bailey,NCSL,National Conference of State Legislatures">
<META id=3DMetaCopyright name=3DCOPYRIGHT=20
content=3D"Copyright 2009 by National Conference of State Legislatures">
<META id=3DMetaAuthor name=3DAUTHOR=20
content=3D"National Conference of State Legislatures">
<META name=3DRESOURCE-TYPE content=3DDOCUMENT>
<META name=3DDISTRIBUTION content=3DGLOBAL>
<META name=3DROBOTS content=3D"INDEX, FOLLOW">
<META name=3DREVISIT-AFTER content=3D"1 DAYS">
<META name=3DRATING content=3DGENERAL>
<META content=3DRevealTrans(Duration=3D0,Transition=3D1) =
http-equiv=3DPAGE-ENTER>
<STYLE id=3DStylePlaceholder type=3Dtext/css></STYLE>
<LINK id=3D_Portals__default_ rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/_default/default.css"><LINK=20
id=3D_Portals__default_Skins_NCSL_ rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/_default/Skins/NCSL/skin.css"><LINK=20
id=3D_Portals__default_Containers_NCSL_ rel=3Dstylesheet type=3Dtext/css =

href=3D"http://www.ncsl.org/Portals/_default/Containers/NCSL/container.cs=
s"><LINK=20
id=3D_Portals_1_ rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/1/portal.css"><LINK rel=3Dstylesheet =

type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/_default/Skins/NCSL/ChildColumns.css"=
>
<SCRIPT type=3Dtext/javascript>
        <!--//--><![CDATA[//><!--
        sfHover =3D function() {
        	var sfEls =3D =
document.getElementById("nav").getElementsByTagName("LI");
        	for (var i=3D0; i< sfEls.length; i++) {
        		sfEls[i].onmouseover=3Dfunction() {
        			this.className+=3D" sfhover";
        		}
        		sfEls[i].onmouseout=3Dfunction() {
        			this.className=3Dthis.className.replace(new RegExp(" =
sfhover\\b"), "");
        		}
        	}
        }
        if (window.attachEvent) window.attachEvent("onload", sfHover);
        //--><!]]>
    </SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/_default/Skins/NCSL/ChildColumns.css"=
>
<SCRIPT type=3Dtext/javascript>
        <!--//--><![CDATA[//><!--
        sfHover =3D function() {
        	var sfEls =3D =
document.getElementById("nav").getElementsByTagName("LI");
        	for (var i=3D0; i< sfEls.length; i++) {
        		sfEls[i].onmouseover=3Dfunction() {
        			this.className+=3D" sfhover";
        		}
        		sfEls[i].onmouseout=3Dfunction() {
        			this.className=3Dthis.className.replace(new RegExp(" =
sfhover\\b"), "");
        		}
        	}
        }
        if (window.attachEvent) window.attachEvent("onload", sfHover);
        //--><!]]>
    </SCRIPT>

<META name=3DZOOMCATEGORY content=3DEDUC>
<META name=3DZOOMCATEGORY content=3DEDUCArticles/Briefs/Newsletters>
<META name=3DAuthor content=3D"Erica Cordova, Lamar Bailey">
<META content=3D"Fri, 16 May 2008 00:00:00" http-equiv=3DLast-Modified>
<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18876"></HEAD>
<BODY id=3DBody><NOSCRIPT></NOSCRIPT>
<FORM style=3D"HEIGHT: 100%" id=3DForm encType=3Dmultipart/form-data =
method=3Dpost=20
name=3DForm action=3D/default.aspx?tabid=3D12879 autocomplete=3D"off">
<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/wEPDwUJMjgzMDU3ODk3D2QWBmYPFgIeBFRleHQFeTwhRE9DVFlQRSBodG1sIFBVQ=
kxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3=
d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS10cmFuc2l0aW9uYWwuZHRkIj5kAgEPZBY=
MAgEPFgIeB1Zpc2libGVoZAICDxYCHgdjb250ZW50BdsBUmVzZWFyY2ggc2hvd3MgdGhhdCBz=
dWNjZXNzZnVsIGhpZ2ggc2Nob29scyBwcm92aWRlIHJpZ29yb3VzIGFjYWRlbWljIGNvdXJzZ=
XdvcmssIHJlbGV2YW50IGxlYXJuaW5nIG9wcG9ydHVuaXRpZXMsIGFuZCBtZWFuaW5nZnVsIH=
JlbGF0aW9uc2hpcHMgd2l0aCBpbnN0cnVjdG9ycyB3aG8gYXJlIHF1YWxpZmllZCB0byBoZWx=
wIHN0dWRlbnRzIGFjaGlldmUgaGlnaCBzdGFuZGFyZHMuZAIDDxYCHwIFfUFydGljbGVzL0Jy=
aWVmcy9OZXdzbGV0dGVycyxFZHVjYXRpb24sSGlnaCBTY2hvb2xzLEVyaWNhIENvcmRvdmEsI=
ExhbWFyIEJhaWxleSxOQ1NMLE5hdGlvbmFsIENvbmZlcmVuY2Ugb2YgU3RhdGUgTGVnaXNsYX=
R1cmVzZAIEDxYCHwIFO0NvcHlyaWdodCAyMDA5IGJ5IE5hdGlvbmFsIENvbmZlcmVuY2Ugb2Y=
gU3RhdGUgTGVnaXNsYXR1cmVzZAIFDxYEHwJkHwFoZAIGDxYCHwIFKU5hdGlvbmFsIENvbmZl=
cmVuY2Ugb2YgU3RhdGUgTGVnaXNsYXR1cmVzZAICD2QWAgIBD2QWAgIED2QWAmYPZBYIAgUPZ=
BYCZg8PFgYeCENzc0NsYXNzBQR1c2VyHwAFBUxvZ2luHgRfIVNCAgJkZAIHD2QWAmYPDxYGHw=
MFBHVzZXIfAAUUQWNjb3VudCBSZWdpc3RyYXRpb24fBAICZGQCFw9kFgICAg9kFgJmDw8WAh8=
BaGRkAisPZBYCAgIPZBYCAgEPZBYCZg8PFgIfAWhkZGRNmnb75/R54P+SneX9JGFfKTuMbg=3D=
=3D=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
<!--
var theForm =3D document.forms['Form'];
if (!theForm) {
    theForm =3D document.Form;
}
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.ncsl.org/WebResource.axd?d=3De8cwxHfJ_lLJWojLl6HYlA2&am=
p;t=3D633319021070636212"></SCRIPT>

<SCRIPT type=3Dtext/javascript =
src=3D"http://www.ncsl.org/js/dnncore.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.ncsl.org/ScriptResource.axd?d=3DNYef5cU9vQsi-Qo_v7O2fRP=
OcPIY7G1UzYrf5fqKskHiJFxhcGf6w2wJQgQ1qpWQ0&amp;t=3D633725518680045802"></=
SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.ncsl.org/ScriptResource.axd?d=3DNYef5cU9vQsi-Qo_v7O2fRP=
OcPIY7G1UzYrf5fqKskGQJ3O3dzkKGFxjUWi4HEXQSG6byd3L-Yw1&amp;t=3D63372551868=
0045802"></SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.ncsl.org/Portals/_default/Skins/NCSL/print.css" =
media=3Dprint>
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.ncsl.org/NCSLCustom/NCSLScripts.js"></SCRIPT>

<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" height=3D"100%">
  <TBODY>
  <TR vAlign=3Dtop>
    <TD align=3Dmiddle>
      <TABLE id=3Dbodyalign cellSpacing=3D0 cellPadding=3D0 width=3D980>
        <TBODY>
        <TR vAlign=3Dtop>
          <TD>
            <TABLE id=3Dheader cellSpacing=3D0 cellPadding=3D0 =
height=3D20>
              <TBODY>
              <TR vAlign=3Dcenter>
                <TD class=3Dheader_one>
                  <DIV id=3Ddnn_HeaderTitle></DIV></TD>
                <TD width=3D"100%">
                  <TABLE border=3D0 cellPadding=3D0 align=3Dright>
                    <TBODY>
                    <TR>
                      <TD class=3Dmenu_two =
width=3D"100%"><!--ZOOMSTOP-->
                        <DIV id=3Dnavupper>
                        <UL>
                          <LI id=3DnavupperP118><A=20
                          =
href=3D"http://www.ncsl.org/Home/tabid/118/Default.aspx">Home</A>=20
                          </LI></UL>
                        <UL>
                          <LI id=3DnavupperP243><A=20
                          =
href=3D"http://www.ncsl.org/MyNCSL/tabid/243/Default.aspx">MyNCSL</A>=20
                          </LI></UL>
                        <UL>
                          <LI id=3DnavupperP732><A=20
                          =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,120,=
820#1027">Help=20
                          &amp; Member Services</A> </LI></UL>
                        <UL>
                          <LI id=3DnavupperP734><A=20
                          =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,120,=
827#1027">Contact=20
                          Us</A> </LI></UL></DIV></TD>
                      <TD class=3Dmenu_two2 noWrap><A =
id=3Ddnn_dnnLOGIN_cmdLogin=20
                        class=3Duser=20
                        =
href=3D"javascript:__doPostBack('dnn$dnnLOGIN$cmdLogin','')">Login</A>=20
                      </TD>
                      <TD class=3Dmenu_two2 noWrap><A=20
                        id=3Ddnn_ncslUSER_cmdRegister class=3Duser=20
                        =
href=3D"javascript:__doPostBack('dnn$ncslUSER$cmdRegister','')">Account=20
                        Registration</A>=20
                =
</TD><!--ZOOMRESTART--></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></T=
D></TR>
        <TR vAlign=3Dtop>
          <TD>
            <TABLE id=3Dlogobar cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
            height=3D105>
              <TBODY>
              <TR vAlign=3Dtop>
                <TD><A href=3D"http://www.ncsl.org/"><IMG border=3D0=20
                  alt=3D"National Conference of State Legislatures - The =
Forum for America's Ideas"=20
                  =
src=3D"http://www.ncsl.org/portals/_default/skins/ncsl/images/logo.jpg"=20
                  width=3D404 height=3D105></A> </TD>
                <TD class=3Dlogoright>
                  <DIV id=3Ddnn_UpperRightPane class=3Dlogolinks></DIV>
                  <DIV class=3Dsearch><INPUT=20
                  onkeydown=3D"javascript: if(event.which || =
event.keyCode){if ((event.which =3D=3D 13) || (event.keyCode =3D=3D 13)) =
{document.getElementById('bt_Go').click();return false;}} else {return =
true}; "=20
                  size=3D15 type=3Dtext name=3Dzoom_query> <INPUT =
id=3Dbt_Go =
onclick=3D"window.location=3D'/Home/SearchResults/tabid/702/Default.aspx?=
zoom_query=3D' + this.form.zoom_query.value" value=3DGO type=3Dbutton>=20
                  </DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR vAlign=3Dtop>
          <TD>
            <TABLE id=3Dmenubar cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
              <TBODY>
              <TR vAlign=3Dcenter>
                <TD>
                  <DIV class=3Dnav><!--ZOOMSTOP-->
                  <DIV id=3Dnav>
                  <UL>
                    <LI id=3DnavP305><A=20
                    =
href=3D"http://www.ncsl.org/AboutUs/tabid/305/Default.aspx">About=20
                    Us</A>=20
                    <UL>
                      <LI id=3DnavC740><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,77,5=
44#1027">Mission=20
                      &amp; Governance</A> </LI>
                      <LI id=3DnavC741><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,78,5=
81#1027">Member=20
                      Services</A> </LI>
                      <LI id=3DnavC742><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,79,5=
51#1027">Executive=20
                      Committee</A> </LI>
                      <LI id=3DnavC743><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,80,5=
62#1027">Legislative=20
                      Staff Coord. Cmte.</A> </LI>
                      <LI id=3DnavC744><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,81,5=
57#1027">Standing=20
                      Committees</A> </LI>
                      <LI id=3DnavC745><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,82,5=
69#1027">NCSL=20
                      Foundation</A> </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP746><A=20
                    =
href=3D"http://www.ncsl.org/LegislaturesElections/tabid/746/Default.aspx"=
>Legislatures=20
                    &amp; Elections</A>=20
                    <UL>
                      <LI id=3DnavC17091><A=20
                      =
href=3D"http://www.ncsl.org/LegislaturesElections/tabid/746/Default.aspx"=
>News/Contacts/Overview</A>=20
                      </LI>
                      <LI id=3DnavC747><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,112,=
764#1116">Organization/Procedure/Facilities</A>=20
                      </LI>
                      <LI id=3DnavC823><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,113,=
776#1116">Legislator/Staff=20
                      Data</A> </LI>
                      <LI id=3DnavC748><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,114,=
796#1116">Elections=20
                      &amp; Campaigns </A></LI>
                      <LI id=3DnavC822><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,115,=
786#1116">Redistricting</A>=20
                      </LI>
                      <LI id=3DnavC749><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,84,2=
04#1116">Ethics=20
                      </A></LI>
                      <LI id=3DnavC750><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,86,5=
05#1116">Legislative=20
                      Leaders</A> </LI>
                      <LI id=3DnavC754><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,83,1=
95#1116">Women's=20
                      Legislative Network</A> </LI>
                      <LI id=3DnavC751><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,85,1=
86#1116">International=20
                      Programs</A> </LI>
                      <LI id=3DnavC753><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,87,2=
45#1116">Trust=20
                      for Representative Democracy</A> </LI>
                      <LI id=3DnavC755><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D746&amp;tabs=3D1116,88,4=
07#1116">Legislators=20
                      Back-to-School Program</A> </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP756 class=3Dselected><A=20
                    =
href=3D"http://www.ncsl.org/IssuesResearch/tabid/756/Default.aspx">Issues=
=20
                    &amp; Research</A>=20
                    <UL>
                      <LI id=3DnavC757><A=20
                      =
href=3D"http://www.ncsl.org/IssuesResearch/tabid/756/Default.aspx">News/C=
ontacts/Overview</A>=20
                      </LI>
                      <LI id=3DnavC758><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,59,15=
2#951">Agriculture/Rural=20
                      Development</A> </LI>
                      <LI id=3DnavC759><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,60,47=
2#951">Banking/Insurance</A>=20
                      </LI>
                      <LI id=3DnavC760><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,61,16=
1#951">Budget/Tax</A>=20
                      </LI>
                      <LI id=3DnavC761><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,62,94=
#951">Civil/Criminal=20
                      Justice</A> </LI>
                      <LI id=3DnavC762><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,63,48=
7#951">Economic=20
                      Development</A> </LI>
                      <LI id=3DnavC763><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,64,21=
6#951">Education</A>=20
                      </LI>
                      <LI id=3DnavC764><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,65,16=
3#951">Energy</A>=20
                      </LI>
                      <LI id=3DnavC765><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,66,15=
9#951">Environment/Natural=20
                      Resources</A> </LI>
                      <LI id=3DnavC160><A class=3Dparent=20
                      =
href=3D"http://www.ncsl.org/IssuesResearch/Health/tabid/160/Default.aspx"=
>Health</A>=20
                      </LI>
                      <LI id=3DnavC123><A=20
                      =
href=3D"http://www.ncsl.org/IssuesResearch/HumanServices/tabid/123/Defaul=
t.aspx">Human=20
                      Services</A> </LI>
                      <LI id=3DnavC768><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,119,8=
51#951">Immigration</A>=20
                      </LI>
                      <LI id=3DnavC769><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,69,16=
9#951">Labor/Employment</A>=20
                      </LI>
                      <LI id=3DnavC770><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,70,38=
3#951">State-Tribal=20
                      Institute</A> </LI>
                      <LI id=3DnavC771><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,71,53=
1#951">Telecommunications/IT</A>=20
                      </LI>
                      <LI id=3DnavC772><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D951,72,10=
6#951">Transportation</A>=20
                      </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP773><A=20
                    =
href=3D"http://www.ncsl.org/StateFederalCommittees/tabid/773/Default.aspx=
">State-Federal/Committees</A>=20

                    <UL>
                      <LI id=3DnavC774><A=20
                      =
href=3D"http://www.ncsl.org/StateFederalCommittees/tabid/773/Default.aspx=
">News/Contacts/Overview</A>=20
                      </LI>
                      <LI id=3DnavC775><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,19,60=
8#855">Agriculture/Energy</A>=20
                      </LI>
                      <LI id=3DnavC776><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,20,61=
3#855">Budgets/Revenue</A>=20
                      </LI>
                      <LI id=3DnavC777><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,21,62=
1#855">Communications/Financial=20
                      Services/Commerce</A> </LI>
                      <LI id=3DnavC778><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,22,62=
6#855">Education</A>=20
                      </LI>
                      <LI id=3DnavC779><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,23,63=
5#855">Environment</A>=20
                      </LI>
                      <LI id=3DnavC780><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,24,63=
6#855">Health</A>=20
                      </LI>
                      <LI id=3DnavC782><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,25,63=
7#855">Human=20
                      Services/Welfare</A> </LI>
                      <LI id=3DnavC783><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,26,63=
8#855">Labor/Economic=20
                      Development</A> </LI>
                      <LI id=3DnavC784><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,27,63=
9#855">Law/Criminal=20
                      Justice</A> </LI>
                      <LI id=3DnavC785><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,28,64=
0#855">Legislative=20
                      Effectiveness</A> </LI>
                      <LI id=3DnavC786><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,29,64=
1#855">Redistricting/Elections</A>=20
                      </LI>
                      <LI id=3DnavC787><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,30,64=
2#855">Transportation</A>=20
                      </LI>
                      <LI id=3DnavC1077><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D855,106,7=
00#855">Task=20
                      Forces</A> </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP788><A=20
                    =
href=3D"http://www.ncsl.org/LegislativeStaff/tabid/788/Default.aspx">Legi=
slative=20
                    Staff</A>=20
                    <UL>
                      <LI id=3DnavC789><A=20
                      =
href=3D"http://www.ncsl.org/LegislativeStaff/tabid/788/Default.aspx">News=
/Contacts/Overview</A>=20
                      </LI>
                      <LI id=3DnavC795><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,32,72=
6#856">Professional=20
                      Development</A> </LI>
                      <LI id=3DnavC805><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,35,83=
#857">Clerks=20
                      &amp; Secretaries</A> </LI>
                      <LI id=3DnavC790><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,36,36=
7#857">Education=20
                      Network</A> </LI>
                      <LI id=3DnavC791><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,37,39=
8#857">Fiscal=20
                      Offices</A> </LI>
                      <LI id=3DnavC793><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,38,37=
5#857">Information=20
                      Officers</A> </LI>
                      <LI id=3DnavC796><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,39,17=
6#857">Information=20
                      Technology</A> </LI>
                      <LI id=3DnavC797><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,40,51=
1#857">Leadership=20
                      Staff</A> </LI>
                      <LI id=3DnavC798><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,41,22=
8#857">Legal=20
                      Services</A> </LI>
                      <LI id=3DnavC800><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,43,49=
5#857">Program=20
                      Evaluation</A> </LI>
                      <LI id=3DnavC801><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,44,17=
0#857">Research=20
                      &amp; Committee</A> </LI>
                      <LI id=3DnavC802><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,45,39=
1#857">Research=20
                      Librarians</A> </LI>
                      <LI id=3DnavC803><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,46,23=
6#857">Services=20
                      &amp; Security</A> </LI>
                      <LI id=3DnavC804><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D857,47,60=
1#857">Legislative=20
                      Staff Coordinating Committee</A> =
</LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP714><A=20
                    =
href=3D"http://www.ncsl.org/Meetings/tabid/714/Default.aspx">Meetings</A>=
=20

                    <UL>
                      <LI id=3DnavC730><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D714&amp;tabs=3D2638,121,=
916#2638">Calendar</A>=20
                      </LI>
                      <LI id=3DnavC737><A=20
                      =
href=3D"http://ecom.ncsl.org/public/registration/">Online=20
                      Registration </A></LI>
                      <LI id=3DnavC739><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D714&amp;tabs=3D2638,122"=
>Spring/Fall=20
                      Forums</A> </LI>
                      <LI id=3DnavC735><A=20
                      =
href=3D"http://www.ncsl.org/Meetings/LegislativeSummit10/Home/tabid/19794=
/Default.aspx">Legislative=20
                      Summit</A> </LI>
                      <LI id=3DnavC736><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D714&amp;tabs=3D2638,121,=
914#2638">Professional=20
                      Development</A> </LI>
                      <LI id=3DnavC17099><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D714&amp;tabs=3D2638,121,=
928#2638">Webinars</A>=20
                      </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP806><A=20
                    =
href=3D"http://ecom.ncsl.org/bookstore/index.htm">Bookstore</A>=20

                    <UL>
                      <LI id=3DnavC808><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D715&amp;tabs=3D33898,129=
,943#33898">Mailing=20
                      Lists</A> </LI>
                      <LI id=3DnavC810><A=20
                      =
href=3D"http://ecom.ncsl.org/bookstore/index.htm">Publications</A>=20
                      </LI>
                      <LI id=3DnavC809><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D715&amp;tabs=3D33898,129=
,941#33898">StateConnect</A>=20
                      </LI>
                      <LI id=3DnavC820><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D715&amp;tabs=3D33898,129=
,940#33898">LegisBriefs</A>=20
                      </LI>
                      <LI id=3DnavC17777><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D715&amp;tabs=3D33898,129=
,942#33898">All=20
                      Access Package</A> </LI>
                      <LI id=3DnavC17778><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D715&amp;tabs=3D33898,128=
,912#33898">Magazine</A>=20
                      </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP715><A=20
                    =
href=3D"http://www.ncsl.org/Magazine/tabid/715/Default.aspx">Magazine</A>=
=20

                    <UL>
                      <LI id=3DnavC821><A=20
                      =
href=3D"http://www.ncsl.org/Magazine/tabid/715/Default.aspx">State=20
                      Legislatures Magazine</A> </LI>
                      <LI id=3DnavC706><A=20
                      =
href=3D"http://www.ncsl.org/Magazine/GrassCatcherTodaysPolicyNews/tabid/7=
06/Default.aspx">GrassCatcher:=20
                      Today's Policy News</A> </LI>
                      <LI id=3DnavC752><A=20
                      href=3D"http://ncsl.typepad.com/the_thicket/">The =
Thicket: A=20
                      Blog</A> </LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP807><A=20
                    =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,33,72=
0#856">Resources=20
                    &amp; Directories</A>=20
                    <UL>
                      <LI id=3DnavC816><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D756&amp;tabs=3D966,76,10=
06#966">A-Z=20
                      Issues/Contacts</A> </LI>
                      <LI id=3DnavC813><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,34,73=
5#856">Bill=20
                      Information Services</A> </LI>
                      <LI id=3DnavC17095><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D714&amp;tabs=3D2638,121,=
927#2638">E-Learning</A>=20
                      </LI>
                      <LI id=3DnavC3803><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D305&amp;tabs=3D1027,78,5=
88#1027">Jobs=20
                      Clearinghouse</A> </LI>
                      <LI id=3DnavC814><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,34,10=
10#856">Legislative=20
                      Documents</A> </LI>
                      <LI id=3DnavC815><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,33,10=
11#856">Legislative=20
                      Websites</A> </LI>
                      <LI id=3DnavC811><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,33,72=
2#856">StateConnect=20
                      Directory</A> </LI>
                      <LI id=3DnavC812><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D788&amp;tabs=3D856,33,10=
12#856">Staff=20
                      Directories</A> </LI>
                      <LI id=3DnavC19863><A=20
                      =
href=3D"http://www.ncsl.org/Default.aspx?TabID=3D773&amp;tabs=3D854,135,1=
078#1078">Standing=20
                      Cmte Rosters </A></LI></UL></LI></UL>
                  <UL>
                    <LI id=3DnavP239><A=20
                    =
href=3D"http://www.ncsl.org/PressRoom/tabid/239/Default.aspx">Press=20
                    Room</A> =
</LI></UL></DIV><!--ZOOMRESTART--></DIV></TD>
                <TD>
                  <DIV id=3Ddnn_RSSPane =
class=3Drss></DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR vAlign=3Dtop>
          <TD>
            <TABLE id=3Dcontent cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
              <TBODY>
              <TR vAlign=3Dtop>
                <TD>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR vAlign=3Dtop>
                      <TD>
                        <TABLE id=3Dmaincontent border=3D0 =
cellSpacing=3D0=20
                        cellPadding=3D0 width=3D"100%">
                          <TBODY>
                          <TR vAlign=3Dtop>
                            <TD colSpan=3D2>
                              <DIV class=3Dbread><SPAN=20
                              =
id=3Ddnn_NCSLBreadCrumb_lblBreadCrumb><SPAN=20
                              class=3DSkinObject>Issues &amp;=20
                              Research</SPAN>&nbsp;=C2=BB&nbsp;<SPAN=20
                              =
class=3DSkinObject>Education</SPAN>&nbsp;=C2=BB&nbsp;<SPAN=20
                              class=3DSkinObject>Dropout Prevention: =
Dropout=20
                              Reporting: High =
School</SPAN></SPAN></DIV></TD>
                            <TD>
                              <DIV class=3Dbread>
                              <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
                              width=3D"100%">
                                <TBODY>
                                <TR vAlign=3Dtop>
                                <TD><SPAN id=3Ddnn_NCSLGoID_lblGoID=20
                                class=3DSkinObject=20
                                title=3D"Use in Search to get back to =
Page Quickly">Go=20
                                12879</SPAN></TD>
                                <TD align=3Dright>
                                <SCRIPT type=3Dtext/javascript>
var addthis_config =3D {
    username:"ncsladmin",
    ui_cobrand: "NCSL",
    ui_click: true,
    ui_offset_top: -70,
    ui_offset_left: -10,=20
   // data_ga_tracker: pageTracker,
    services_exclude: 'email'
}

    //document.getElementById('at16pf').style.display=3D 'none';
</SCRIPT>
<!-- AddThis Button BEGIN -->
                                <DIV class=3Daddthis_toolbox>
                                <DIV class=3Dcustom_images><A=20
                                class=3Daddthis_button_compact =
title=3DShare=20
                                =
href=3D"http://addthis.com/bookmark.php?v=3D250&amp;username=3Dncsladmin"=
><IMG=20
                                alt=3DShare=20
                                =
src=3D"http://www.ncsl.org/portals/1/images/share.gif"=20
                                width=3D55 height=3D17></A> <A=20
                                title=3D"Send a comment"=20
                                =
onclick=3D"javascript:NCSLOpenWindow('/tabid/19804/Default.aspx',document=
.location.toString());"><IMG=20
                                alt=3D"Send a comment"=20
                                =
src=3D"http://www.ncsl.org/portals/1/images/comment.gif"=20
                                width=3D60 height=3D17></A> =
</DIV></DIV><!-- AddThis Button END -->
                                <SCRIPT type=3Dtext/javascript=20
                                =
src=3D"http://s7.addthis.com/js/250/addthis_widget.js#username=3Dncsladmi=
n"></SCRIPT>
                                =
</TD></TR></TBODY></TABLE></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD colSpan=3D3>
                              <DIV id=3Ddnn_TopBodyPane=20
                          class=3DTopBodyPane></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drightcolint colSpan=3D3>
                              <DIV id=3Ddnn_ContentPane><A =
name=3D26279></A>
                              <DIV id=3Ddnn_ctr26279_ContentPane=20
                              class=3DDNNAlignleft><!-- =
Start_Module_26279 -->
                              <DIV id=3Ddnn_ctr26279_ModuleContent>
                              <DIV=20
                              =
id=3Ddnn_ctr26279_HtmlModule_HtmlModule_lblContent=20
                              class=3DNormal>
                              <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0>
                                <TBODY>
                                <TR vAlign=3Dtop>
                                <TD id=3DcontentAreaFull><!-- Start =
Content -->
                                <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
                                width=3D"100%">
                                <TBODY>
                                <TR>
                                <TD id=3DcontentAreadoc>
                                <H1><B>Improving High Schools through =
Rigor,=20
                                Relevance and Relationships</B></H1>
                                <P>&nbsp;</P>
                                <P>Research shows that successful high =
schools=20
                                provide rigorous academic coursework, =
relevant=20
                                learning opportunities, and meaningful=20
                                relationships with instructors who are =
qualified=20
                                to help students achieve high =
standards.</P>
                                <HR>

                                <P><B>Rigorous Academic =
Coursework</B></P>
                                <P>Research shows that the rigor of high =
school=20
                                curriculum is one of the top indicators =
for=20
                                whether a student will graduate from =
high school=20
                                and earn a college degree.&nbsp; In =
fact, a=20
                                study by the U.S. Department of =
Education found=20
                                that the rigor of high school course =
work is=20
                                more important than parent education =
level,=20
                                family income, or race/ethnicity in =
predicting=20
                                whether a student will earn a =
postsecondary=20
                                credential.<A title=3D"" =
href=3D"about:blank#_ftn1"=20
                                name=3D_ftnref1=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn1"></A></P>
                                <P>Unfortunately, most recent high =
school=20
                                graduates report being only moderately=20
                                challenged in high school.&nbsp; In the =
2005=20
                                survey of almost 1,500 recent graduates, =
just 24=20
                                percent of graduates said they were=20
                                significantly challenged during high=20
                                school.&nbsp; One in five recent high =
school=20
                                graduates said that =
=E2=80=9Cexpectations were low=20
                                and=E2=80=A6it was easy to slide =
by.=E2=80=9D&nbsp; Among those=20
                                graduates who reported being =
significantly=20
                                challenged in high school, 80 percent =
felt well=20
                                prepared for the expectations of =
college.<A=20
                                title=3D"" href=3D"about:blank#_ftn2" =
name=3D_ftnref2=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn2"></A></P>
                                <P>A rigorous high school curriculum =
requires=20
                                challenging instruction and support for =
each=20
                                student to meet high standards.&nbsp; =
Components=20
                                of a rigorous high school curriculum =
include=20
                                higher expectations for all students, =
with=20
                                support for low-performing students =
through=20
                                intervention programs and extended =
learning=20
                                opportunities, and a requirement that =
each=20
                                student complete a college- or =
work-ready=20
                                curriculum in order to graduate from =
high=20
                                school.</P>
                                <P>Higher expectations for all high =
school=20
                                students</P>
                                <UL>
                                <LI>Studies show that higher =
expectations for=20
                                high school students=E2=80=94that they =
will go on to=20
                                some form of postsecondary=20
                                education=E2=80=94significantly improve =
performance.=20
                                When California=E2=80=99s San Jose =
Unified School=20
                                District required all students to enroll =
in a=20
                                college-prep curriculum, the test scores =
of=20
                                black 11th graders increased nearly =
seven times=20
                                more than those of other black students =
across=20
                                the state.<A title=3D"" =
href=3D"about:blank#_ftn3"=20
                                name=3D_ftnref3=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn3"></A></LI></UL>
                                <P>Requirement that all students =
complete a=20
                                college- or work-ready curriculum to =
graduate=20
                                from high school</P>
                                <UL>
                                <LI>Studies show that aligning high =
school=20
                                standards to college and workplace =
expectations=20
                                is a critical step toward giving =
students a=20
                                solid foundation in the academic, social =
and=20
                                workplace skills needed for success in=20
                                postsecondary education or a =
career.</LI>
                                <LI>Students who are adequately prepared =
for=20
                                postsecondary education are unlikely to =
require=20
                                remedial classes in college, a key =
indicator for=20
                                college success. Although approximately =
45=20
                                percent of all students who enroll in=20
                                postsecondary education will ultimately =
earn a=20
                                bachelor=E2=80=99s degree, only 17 =
percent to 39 percent=20
                                of students who take remedial courses =
will=20
                                successfully earn that degree, depending =
on the=20
                                number and type of remedial courses =
taken. Among=20
                                students who take no remedial courses, =
58=20
                                percent will earn a bachelor=E2=80=99s =
degree.<A=20
                                title=3D"" href=3D"about:blank#_ftn4" =
name=3D_ftnref4=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn4"></A></LI>
                                <LI>The American Diploma Project has =
found that=20
                                there is a common core of knowledge and=20
                                skills=E2=80=94particularly in English =
and math=E2=80=94that=20
                                students must master to be prepared for =
both=20
                                postsecondary education and well-paying =
jobs.=20
                                &nbsp;The research shows that there is a =
strong=20
                                correlation between scores in high =
school math=20
                                and English and wages earned once in the =

                                workplace. &nbsp;Students who are taking =

                                below-average or functional/basic =
English=20
                                increase their likelihood of being =
employed in a=20
                                low-paid or low-skill job. =
&nbsp;Students in the=20
                                top quartile of mathematics scores earn=20
                                significantly more in the decade =
following high=20
                                school than do students in the lower=20
                                quartiles.</LI></UL>
                                <P></P>
                                <HR>
                                <A title=3D"" href=3D"about:blank#_ftn5" =

                                name=3D_ftnref5=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn5"></A>
                                <P></P>
                                <P><B>Relevant Learning =
Opportunities</B></P>
                                <P>Research shows that creating multiple =

                                pathways to graduation, through a =
variety of=20
                                learning opportunities, provides =
students with a=20
                                meaningful high school structure that =
links=20
                                subject areas and encompasses both =
personal=20
                                experiences and connections to the world =
of=20
                                adult work.&nbsp; Relevant learning=20
                                opportunities may include in-depth =
projects that=20
                                take place both in the classroom and the =
work=20
                                place and internships or community =
partnerships=20
                                that provide students with a vision of =
their=20
                                future and an understanding of how their =
school=20
                                work is linked to what they will do =
after=20
                                graduation.</P>
                                <P>Personalized learning =
opportunities</P>
                                <UL>
                                <LI>A new body of research is finding =
that=20
                                learning works best when it is =
personalized.=20
                                Personalized learning opportunities =
provide=20
                                students with an opportunity to plan and =
prepare=20
                                for life after high school and to =
understand how=20
                                their school work is related to =
postsecondary=20
                                and career goals. Personalized learning =
means=20
                                designing a blend of courses and =
experiences=20
                                that match the needs and interests of =
each=20
                                student.</LI>
                                <LI>The career academy is a model of =
high school=20
                                design that creates personalized =
learning=20
                                opportunities through career-related =
experiences=20
                                during high school. Career academies =
originally=20
                                were developed to prepare students who =
otherwise=20
                                might drop out of high school for the =
world of=20
                                work. Since the early 1990s, the focus =
of career=20
                                academies has expanded to prepare a mix =
of=20
                                high-performing students and high-risk =
students=20
                                for both postsecondary education and =
employment.=20
                                Recent research finds that career =
academies=20
                                improve labor market preparation and =
successful=20
                                school-to-work transitions without =
compromising=20
                                academic goals and preparation for =
college.=20
                                There is compelling evidence that =
investments in=20
                                career-related experiences during high =
school=20
                                can produce substantial improvements in =
the=20
                                labor market prospects of youth during =
their=20
                                postsecondary years.<A title=3D""=20
                                href=3D"about:blank#_ftn6" =
name=3D_ftnref6=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn6"></A></LI></UL>
                                <P>College-level learning opportunities =
in high=20
                                school</P>
                                <UL>
                                <LI>Research shows that the expansion =
and=20
                                financing of college-level learning=20
                                opportunities in high school has the =
potential=20
                                to greatly increase the number of =
students who=20
                                successfully complete postsecondary =
programs=20
                                after graduation. Sometimes referred to =
as early=20
                                college programs or dual enrollment =
programs,=20
                                college-level learning opportunities in =
high=20
                                school have a number of benefits for =
students,=20
                                including preparing students for the =
academic=20
                                rigors of college; lowering the cost of=20
                                postsecondary education by enabling them =
to earn=20
                                free college credits and shortening =
their time=20
                                to degree completion; and providing =
students=20
                                with information about the academic =
skills they=20
                                will need to succeed in college.</LI>
                                <LI>A 2001 study conducted by the =
University of=20
                                Washington found performance of students =

                                enrolled in the state=E2=80=99s dual =
enrollment program=20
                                was comparable to college students =
enrolled in=20
                                two-year institutions. Another study =
conducted=20
                                by researchers at the University of =
Arizona=20
                                found that students who participated in =
dual=20
                                enrollment programs experienced lower =
drops in=20
                                their grade point averages during their =
freshman=20
                                year, compared with other University of =
Arizona=20
                                freshmen.<A title=3D"" =
href=3D"about:blank#_ftn7"=20
                                name=3D_ftnref7=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftn7"></A></LI></UL>
                                <P>Understanding of postsecondary =
admissions and=20
                                placement processes</P>
                                <UL>
                                <LI>Research shows that effective =
college=20
                                awareness programs can educate students =
and=20
                                their families about the need to obtain =
a=20
                                college education, how to prepare for =
college,=20
                                how to apply for enrollment, and how to =
apply=20
                                for financial aid. &nbsp;College =
awareness=20
                                programs can help raise expectations for =
high=20
                                school students so that all students are =

                                expected to participate in some form of=20
                                postsecondary education.</LI></UL>
                                <HR>

                                <P><B>Meaningful Relationships</B></P>
                                <P>Research shows that students perform =
better=20
                                when they are in schools where they have =
a=20
                                personal relationship with a caring =
adult.=20
                                &nbsp;Elements of meaningful =
relationships=20
                                include the following.</P>
                                <P>Excellent teachers and principals</P>
                                <UL>
                                <LI>Effective teachers are critical to =
helping=20
                                all students meet rigorous high school=20
                                coursework and standards. =
&nbsp;Excellent=20
                                teachers have high-level skills and =
knowledge in=20
                                the subjects they teach and are trained =
in=20
                                helping low-performing students =
succeed.</LI>
                                <LI>Excellent principals provide =
important=20
                                leadership in schools and are =
accountable for=20
                                results in student achievement, =
attendance and=20
                                truancy rates, graduation rates, and =
staff=20
                                retention. &nbsp;Effective principal =
training=20
                                programs include in-school clinical=20
                                opportunities for observing excellent =
principals=20
                                and on-the-job experience.</LI></UL>
                                <P>Continuous interaction between =
students and=20
                                adults</P>
                                <UL>
                                <LI>A key concept in high school reform =
is the=20
                                idea that successful high school =
students are=20
                                able to form meaningful relationships =
with=20
                                instructors who can help them meet high=20
                                standards, both academically and =
socially.=20
                                Evidence shows that this personal =
connection=20
                                with an adult helps ensure that students =
have an=20
                                advocate who understands their =
interests,=20
                                struggles and ambitions. &nbsp;n example =
of=20
                                continuous interaction between students =
and=20
                                adults occurs at the Metropolitan =
Regional=20
                                Career and Technical Center =
(=E2=80=9Cthe Met=E2=80=9D) in=20
                                Providence, Rhode Island. &nbsp;In ninth =
grade,=20
                                students are assigned to an advisor who =
works=20
                                with them throughout high school. =
&nbsp;The=20
                                advisory groups have 14 students and =
serve as a=20
                                constant community for each of the =
students.=20
                                &nbsp;The student and his or her =
advisor, with=20
                                input from parents and mentors, create =
an=20
                                individual learning plan that reflects =
the=20
                                student=E2=80=99s needs and postgraduate =
plans.=20
                                &nbsp;The Met high school has seen great =
results=20
                                from this personalization. Every student =
in the=20
                                school=E2=80=99s first two graduating =
classes was=20
                                accepted to college. &nbsp;Most of these =

                                students were the first in their family =
to=20
                                attend college.</LI></UL>
                                <P>No anonymity for high school =
students</P>
                                <UL>
                                <LI>Research suggests that, when each =
student is=20
                                well-known by at least one adult, they =
are more=20
                                likely to achieve. Having smaller =
teaching loads=20
                                allows teachers to focus on both the =
academic=20
                                and social development of students and =
allows=20
                                students to demonstrate their knowledge =
to=20
                                adults in a personalized structure. When =

                                teachers and students are able to build=20
                                relationships, both are motivated to =
make the=20
                                high school environment =
successful.</LI></UL>
                                <P></P>
                                <HR>

                                <P></P>
                                <OL>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref1"=20
                                name=3D_ftn1=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref1"></A>Clifford=20
                                Adelman, Answers in the Tool Box: =
Academic=20
                                Intensity, Attendance Patterns, and =
Bachelor=E2=80=99s=20
                                Degree Attainment (Washington, D.C.: =
U.S.=20
                                Department of Education Office of =
Educational=20
                                Research and Improvement, 1999).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref2"=20
                                name=3D_ftn2=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref2"></A>Peter=20
                                D. Hart Research Associates/Public =
Opinion=20
                                Strategies, Rising to the Challenge: Are =
High=20
                                School Graduates Prepared for College =
and Work?=20
                                A Study of Recent High School Graduates, =
College=20
                                Instructors, and Employers (Washington, =
D.C.:=20
                                Achieve Inc., February 2005).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref3"=20
                                name=3D_ftn3=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref3"></A>The=20
                                Education Trust-West, The A-G =
Curriculum:=20
                                College-Prep? Work-Prep? Life-Prep -=20
                                Understanding and Implementing a =
Rigorous Core=20
                                Curriculum for All (Oakland, California: =
The=20
                                Education West-Trust, 2004).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref4"=20
                                name=3D_ftn4=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref4"></A>Clifford=20
                                Adelman, Principal Indicators of Student =

                                Academic Histories in Postsecondary =
Education,=20
                                1972-2000 (Washington, D.C.: U.S. =
Department of=20
                                Education, Institute of Education =
Sciences,=20
                                2004).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref5"=20
                                name=3D_ftn5=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref5"></A>Anthony=20
                                P. Carnevale and Donna M. Desrochers, =
Connecting=20
                                Education Standards and Employment:=20
                                Course-taking Patterns of Young Workers=20
                                (Washington, D.C.: Achieve Inc., =
2002).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref6"=20
                                name=3D_ftn6=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref6"></A>James=20
                                J. Kemple and Judith Scott-Clayton, =
Career=20
                                Academies: Impacts on Labor Market =
Outcomes and=20
                                Educational Attainment (New York, New =
York:=20
                                MDRC, 2004).</LI>
                                <LI><A title=3D"" =
href=3D"about:blank#_ftnref7"=20
                                name=3D_ftn7=20
                                =
ncslsrc=3D"/Portals/1/about:blank#_ftnref7"></A>Thomas=20
                                R. Bailey, Katherine L. Hughes, and =
Melinda=20
                                Mechur Karp, What Role Can Dual =
Enrollment=20
                                Programs Play in Easing the Transition =
Between=20
                                High School and Postsecondary Education? =
(New=20
                                York, New York: Columbia University,=20
                                2002).</LI></OL>
                                <P>&nbsp;</P></TD>
                                <TD=20
                                =
id=3Dhighlightbar>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TAB=
LE></DIV><!-- End_Module_26279 =
--></DIV></DIV></DIV></TD></TR></TBODY></TABLE></TD>
                      <TD class=3DmainsepSL></TD>
                      <TD>
                        <TABLE id=3Drightcontent border=3D0 =
cellSpacing=3D0=20
                        cellPadding=3D0 width=3D"100%">
                          <TBODY>
                          <TR vAlign=3Dtop>
                            <TD class=3Drightleftint>
                              <DIV id=3Ddnn_RightColumnPane1></DIV></TD>
                            <TD class=3Drightsep></TD>
                            <TD class=3Drightrightint>
                              <DIV =
id=3Ddnn_RightColumnPane2></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drighttop colSpan=3D3>
                              <DIV =
id=3Ddnn_RightColumnPane3></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drightleftint>
                              <DIV id=3Ddnn_RightColumnPane4></DIV></TD>
                            <TD class=3Drightsep></TD>
                            <TD class=3Drightrightint>
                              <DIV =
id=3Ddnn_RightColumnPane5></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drighttop colSpan=3D3>
                              <DIV =
id=3Ddnn_RightColumnPane6></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drightleftint>
                              <DIV id=3Ddnn_RightColumnPane7></DIV></TD>
                            <TD class=3Drightsep></TD>
                            <TD class=3Drightrightint>
                              <DIV =
id=3Ddnn_RightColumnPane8></DIV></TD></TR>
                          <TR vAlign=3Dtop>
                            <TD class=3Drighttop colSpan=3D3>
                              <DIV=20
                        =
id=3Ddnn_RightColumnPane9></DIV></TD></TR></TBODY></TABLE></TD></TR></TBO=
DY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
        <TR vAlign=3Dtop><!--ZOOMSTOP-->
          <TD>
            <TABLE id=3Dfooterbar cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
              <TBODY>
              <TR vAlign=3Dtop>
                <TD class=3Dfooterpad>
                  <DIV id=3Ddnn_FooterPane><A name=3D1928></A>
                  <DIV class=3Dmargination>
                  <DIV class=3DfadebarF>
                  <DIV class=3DfadebodyF>
                  <DIV id=3Ddnn_ctr1928_ContentPane =
class=3DDNNAlignleft><!-- Start_Module_1928 -->
                  <DIV id=3Ddnn_ctr1928_ModuleContent>
                  <DIV id=3Ddnn_ctr1928_HtmlModule_HtmlModule_lblContent =

                  class=3DNormal>
                  <TABLE class=3Dfooterpad border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
                  width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD>
                        <P><SPAN class=3DNormalBold>Denver =
Office</SPAN><BR>Tel:=20
                        303-364-7700 | Fax: 303-364-7800 | 7700 East =
First Place=20
                        | Denver, CO 80230 <!--| <a =
href=3D"/Home/tabid/118/Default.aspx#">Map</a>--></P></TD>
                      <TD width=3D5>&nbsp;</TD>
                      <TD>
                        <P><SPAN class=3DNormalBold>Washington=20
                        Office<BR></SPAN>Tel: 202-624-5400 | Fax: =
202-737-1069 |=20
                        444 North Capitol Street, N.W., Suite 515 | =
Washington,=20
                        D.C. 20001 <!--| <a =
href=3D"/Home/tabid/118/Default.aspx#">Map</a> =
--></P></TD></TR></TBODY></TABLE></DIV><!-- End_Module_1928 =
--></DIV></DIV></DIV></DIV></DIV><A=20
                  name=3D1929></A><SPAN id=3Ddnn_ctr1929_ContentPane=20
                  class=3DDNNAlignleft><!-- Start_Module_1929 -->
                  <DIV id=3Ddnn_ctr1929_ModuleContent>
                  <DIV id=3Ddnn_ctr1929_HtmlModule_HtmlModule_lblContent =

                  class=3DNormal>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD>
                        <P style=3D"PADDING-LEFT: 8px">=C2=A92010 =
National Conference=20
                        of State Legislatures.&nbsp; All Rights =
Reserved.&nbsp; <!--<a href=3D"#">Terms of Use</a>&nbsp; |&nbsp; <a =
href=3D"#">Privacy Policy</a>--></P></TD></TR></TBODY></TABLE></DIV><!-- =
End_Module_1929 =
--></DIV></SPAN></DIV></TD></TR></TBODY></TABLE></TD></TR>
        <TR vAlign=3Dtop>
          <TD>
            <TABLE id=3Dbottombar cellSpacing=3D0 cellPadding=3D0>
              <TBODY>
              <TR vAlign=3Dtop>
                <TD class=3Dbotlinks>
                  <DIV =
id=3Ddnn_BottomLinks></DIV></TD></TR></TBODY></TABLE></TD><!--ZOOMRESTART=
--></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT type=3Dtext/javascript>
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
try {
var pageTracker =3D _gat._getTracker("UA-9062323-1");
pageTracker._trackPageview();
} catch(err) {}</SCRIPT>
<INPUT id=3DScrollTop type=3Dhidden name=3DScrollTop> <INPUT =
id=3D__dnnVariable=20
type=3Dhidden name=3D__dnnVariable> </FORM></BODY></HTML>

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.ncsl.org/portals/_default/skins/ncsl/images/logo.jpg

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAICAgICAgICAgIDAgICBAUEAgIEBQYFBQUFBQYHBgYG
BgYGBwcICAkICAcKCgsLCgoODg4ODg4ODg4ODg4ODg7/2wBDAQMDAwYFBgsHBwsODAoMDhEQEBAQ
EREODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg7/wAARCABpAZQDAREA
AhEBAxEB/8QAHQAAAgEFAQEAAAAAAAAAAAAAAgMBAAQFBggHCf/EAEkQAAECBQIDBQYEAgUJCQEA
AAECAwAEBQYREiEHEzEIIkFRYRQVMnGBkSNCUqEJchYkYmOxGCgzQ3OStMHhFyU0g4WisrXR8P/E
ABwBAAMAAwEBAQAAAAAAAAAAAAABAgMEBQcGCP/EAEQRAAEDAgQCBwUECAUDBQAAAAEAAhEDBAUS
ITFBUQYTIjJhcYEUkaGxwUJi0fAVIyVScoKy4QczNaLCU5LxFiY2Q7P/2gAMAwEAAhEDEQA/APAH
F5xH64X5JaFQVsM7CJJSITUr8cxjJUkItXrEylCrVnxhSiFMRKFGoxMohSkn/rEkoKL5RMpKh1hE
oKOFKlDv9oiU0WdoSSWRuYFUqQNoSCq0xKUqsYgTUHr/AMolCWQcwKlRTEIlKKYFUqsQJyo0HeJR
KApMCYKgo6Qk5S1NiBUHJRZGRAqzqCzCTD1AawCIaMyAt7+ENVmQqb3xpEKEw5Dy/QQoRKEt5OMR
UKpRpZ3xt4eMSWpFyks+g+WYUJByrk+SR94cJ51PI8MD7wynnRcjcDAP1hQjOiVL7dB94SYepTKn
YnT94pHWKfZfRPpvCR1icmWSBulP3hQpNRM9mTt3R94Ap6xGiVHilOPnDTNROTLpB6J+8LKoL1KZ
ZP6R94IUmonmXH6U7esIBAcqTL4/InPzhkIL032cH8o+8KFOdB7OB+VP+9Dyqsynkf2Uj6wQjMsM
pZ2GY+glIBRrMIpwmIXtGMlS4Iy7nw+phJZVIc8olLKnZ8IiVCJKVqCyhBUGhl0gdBnGT9TiJlOF
AVCUoswpShUDv4CJQjz9oUpQozCQmHp0iVKDMUqRDYRJSKrfpAkqxElNUfKFCSDxhwqUkRKJSyIU
KgphwkoxEkIlARDhUq0xKJQFEOE5Q6N4IVZlOn0gypSq0wsqJQaPQQ4TlRyvHEEJ5lXL3zgfOFCM
ygN75x/hFQnmTkN9fSJIUlyjl7nuph5UZlIZH6UxUJ51PJ9BEQjOm8jpsPWGAjOp5ORtiCEZkwMD
G4EOEs6NLA3PdiYRnTAx5hMEJZ1PI8MJioRnT0sp/swZVOZNSyPIQoUlykMHOQEw8qedO5Ox2T8o
UKcygMZ6hEEJ507kfyQoU50nkfyRUK86L2f+SFlU9YtFK/WOvK3oU6+giS5KEevEQSphTr8P3glE
IwtOR5+cTKUJvNHT7mIU5V6pY1IXO2Nxtq6QtfuOhyRSAnI/FrdPBz4jCUk58sxyMRuMlag3m8/C
m9djDbbPQuHcmD/9GLylh/mA77mOmDK472QrkHaGsakGEUk7O0SpVDc5hoRnpApUesCaJO8IpFTC
SU+W8BQo2hIQ/WCE0ZECSApgTlSBAiVOmFCUocbdYITlViCE5QFMOE5UaN4IRKMoHlAplSW/SCEZ
kGj0hwqlGUYTChTKApisqqUwN93cDfwhZUsyYlvY+sSWpFyHl5JioRmTOV0ghGZPQx8sQikXqVNA
Y8oYCQciDPygyp5k0ND/APhBCWZMDWD4faFCWZFyh6QBqM6dyAMbjPyhwpzIwwPT7QEJZ01LOP0m
FlSzJgZ2Hwj6QoSzJgY2/Lt6QJZ1XKHmn7QQqzIuUPNP2ghKUvkjr3ftFQrlMDOf0/aFCWZeQFfr
G3mXbhSF+sIuShMSvz3iJUlqLXBKMqNK4JUkL0jh/wAOqxfzlcmmHkUu2bSlFT943M6MtScqj0yO
Y6vGGmwcrPkMkc3EMTZbZQdXPMNHM/QczwXQw/DH3RcRoxglzuQ+pPAcVvctw/vu27Wr/KrfuK37
ot6n1i75QtpWpNJnKszKyPP8QpRPtOE/kAyd9uVXxGhWqN0lzXlrf4wwl0f0+a6dDDbijTdrla5g
c7+AvAbP9XksLVeB9227Q7zn1J9tqnDOoGQ4jUNsZck0Obys82f9bLPjOF4BGMkaSDGW0xyk97G8
Kglh582+DhyWC9wGsxj3caToeOXJ3i08/ovJkuAgHMd6V82WogdxvAlC+g3ZPqXBfibVqfwtvLg5
SHrgk6c47KXcFLUqbUwcrDzfdwrSrOoE9I866WC8tGm4pV3ZSe7ynkvS+hvsN64W1ag3MG97nHML
T+132c18Ja1/Ta0JFZ4c193DrKBkUyaWc8k+TS/9WfD4D+XO50S6Te2M6qqf1o/3Dn58/etHpn0S
9if11Efqnf7Ty8uXu8+NdXdz4GPtgV57C2ezbmlrSuOnXBOW3TLulJHmc63qk3zJV4ONqR30gg90
q1D1AjWvrc1qRYHFhPFu4W7YXIoVQ8sa+ODtjp+Su++0DO8KrC4J8Pb5tzgtarVW4x09HOWtpREg
JuQDqlS+kpw62pwaVDGCM9Y84wSpdVrypSqV3xSd/wB0O4+BjUL1LpBRs6FjTrUrenmrN/7Zbw8R
OhXzalnFTAQEAqU5slI6mPT2leRupwYXYtK4J8P+FFu029+0nVpySmaugO27wlpuPeUyj9U0SRyU
+YynHTWFdyPj7jHq95UNGwAMb1D3R5c/j5Rqvtrbo3b2VMVsSJBd3aTe+f4uQ93nOiupXtkWJZ6k
SvDns42vR5CX2bmptYfml4+FS3uSF5+a1fONOr0Xr1ta9y9x8NB7p+gXSo9K6FDS3tKbR46n3xPx
K26R7bnCC5V+y8T+zjS3pVZy9UJREpOryr4ilqYYZwfXm5jQf0Vu6OtC5d5GR8ifkug3pdZVtLm1
afEQfgQPmtc7TdpcDKfw24bcUOEtKfozPEOadDMuXHdBZZQoO/gurc0KS5hJ0nEdDoxid664qULo
zkHxPiPBcnpbhFg22pXNm3L1h+A30JMarmzhbw7rnFi9KNZdvpCZqqKzMzqhlEuwjd19fohPh4nA
6mPrcTxKnZUHVn7D4ngF8XhGE1L+4bQp7n4DifT+y6yrPFns89nKrTtlWNwrl+KdzUJZl7ivirrb
wZlo6XRL6mn8AKyk6Agbfn+I/FiwxDE2CrWrdU12oY3lwnUfGfRffOxDDcJeaNCgKz26Oe/mN40P
lpHruvYeEfGvgZ2nKsrhjdfBSQt2tz8u87TVoSy62vkp1Ocqaaal3mXNOSMDoD3vPiYlht7hQ6+n
XLgN9/iCSCF9BhWKYfjDvZ6tu1riNNvWCACD+ZXy4cmpNuszpkWg5Jyk0v2Vhw68toX3QojGrbrH
q1B5ezXeF4vcUhTfptK+rvDyb4R31wCvLjNW+BtkyFWs1iqKfpctJNMyz65CX9obCe7lPM1JR47/
AGjynFPa7W+ZatuKha7LqTJGYwvZsH9ivcOfePtqQczNoGgA5RI9+y+VFduZm7a/VK5L0SQtxmou
8xuiSCOXKsDAGhpG+BtHqdizJTDJLo4nc+a8fxB2eoX5Q2eA0A8lYaekdDKudKMIyYISlHogyqZU
aNxBCcphb2EKFMoC16bRWVVmTw0nAENTmT0t/wDSJhRmVBrvZz06xUJ5kXL36woRmVwG9toWVLMi
5RON4QajMjDGfExUKcyYln5/aBLMp5Z84IRmTUs5Ocn7QEILk8tfDvn6RMKMyalvbr+0IolNDf8A
aOPlEpIktavzfXENMlM5eMjP7QoSQ8vfGr9ocKpTQzgfEc/KJKnMgDfjqz9IpNM0f2j9BEpLnouZ
8Yyyvq8qLXEkpQmBY/8AyFKRCPX6w5UwjC94JSIX1QrPDRq0OFnZt7ObDKpes8dq4zU+JriNnXJW
UQ3NTjR8uSlTaU/7PPiY8nOLdddXF5wotys8zIB9dfevWP0R1Npb2XGs7M/yEEj009y2C4Ke3d07
/ELnQwPZqBRZCmUGXSghDSaTTHphTbYGOrraTgf4GOfRrmiLIfeJP8zo+S6Fe2FY3x+6AP5Wk/MK
qNUmKfxG7LHEKeZROW/2jrKZtXiJKuJy29Npk2ltF5KhhRdWoNfypP1KhLqFxSG9Gpnb4CTt8/NK
m0Nr29Y6tr0sj/EwN/PbyC+cvGqwzwl4uXtw+C1qkqPNa6K6rcqk5hKX5bJ8SG1hKj5gx6VgOJ+1
27Kh3I18xoV5h0gwn2O5fS4A6eR1HwXnja9zkx3V884LrTsSrbHaNs3UtKVuS9RDQz1PsTxwPoI+
S6bN/Zz/ADb/AFBfX9AzGJ0/J39JXZfDrtFW9xB4l8Y+zPxlZlp2VmrgrVNs+fmNm5uWE88hunuE
Y0utjHIWCCcADDgSVef3eDVLejSvLffK0nwOUdry5/gvR7PG6dzXq2N1qC9wHiMx7Pn+6frE8Ddo
HgXXuBN4OUqYS7P2hVlKctC4iNnWs/6F1QAAeb/MPHZQ2Mek9HMeZiFKdnjvD6+RXlXSfo3Uw2tG
7D3T9PMf3XhGcx9Ivll3T2o0j/JX7LI/uG/+CTHm2CD9qXXn9V6nj/8ApNp/D/xC1PsNcOJS+eLL
NXqkuJik2FLGolpQylc0VhuWSr5KJcHqiOt00xE21llbvUMenH8PVcjoNhTbrEM7+7TGb12b+Pou
d+M3EWpcW+KF2XbNzSn5eem3EUVsnIZk21FMu0nw2RjOOpyfGOrg9gLagyi3gNfE8SuNjeIOurl9
Z3E6eDeA9y0ZqSaSBkZPjHcbSC+fdWKf7Iwc9wRXVBY+uKbPOVObkqdS36pNv0mklZpdLcdWphgu
q1OcpsnSjWdzgbxq+xtDi4ASdzxK2hfvLQ0kwNhwHkvoV/Duapyb4v0uke900hoSPnyDMJ5/r8Qa
j4X/ABEzC3p/u5vjGn1Xof8AhhlN1VP2smnlOv0XFPFPhtdfDriLcdv3hTpiVf8Aan3KdPrSQ1OM
KcJQ+yvopKgfA7HY4IIj6nBr2leUWvYeG3I8ivkcesKtjVdTqCNd+Y5hYGjz1VtupStbturTlv1q
R1GSq8k6th9vWkoVocbIUNSVFJ33BI6R1Liyp1W5XgEcjqFxLa/q0X52OLXDiNCsJJyXs5OOhjJS
pQsdatmX044OD/MW42DzTW/+DYjzHpGP23R/l+ZXrfRU/wDt+v5v/pavl7Rmhyc9Y9Mtm6Lym8dq
s5p3EbsLRlPSnBMKFBKZiCFKoJ7whwnKcUQQplDo3+UVCcpwb3+UKFBcnhG8TCmUwNnvbEQJSiSz
kjOYaMyeUYwAImEg5EGz4gw4TlEEY2ghTKe2nr1iSFLio0KyesOFcq4bbwN8xJSJTQ2dviP0hJSn
JR12MIpFOSg4x3sRKmVKGzjfXAUEqQjJONeIITUhBBHxwJyrjlqPgvPpEpSlBsk4/E+sNVKlSVg4
HNx6QkaLljmROZfbQjDnSFKWVNDkKVOVFzB8oeZLKtvsKnsVy+LMoszhUvWKrJSswlW40vTCEHI+
RjXvqxp0XuHBpPuC2LOiKlZjTxcB7yvtpeEuuqduThCw7oUxbFl1WpSgOcpcfeXJrKeu5SsDw2zH
h1B2XDKnjUA+q9wuGZsUp/dpk++QtG4WU4z9M7fJVMFKqjcVek8katARILwrrv8A6Tp6Rs3tSDae
DWn4rWsactvPFzh8CvJq+4uW7IvYzuvK3J+1Lst2YlnuqtCXJlOjJzgbIxt4ARvUdb+5Zwcx30XP
r6YfbP4te36rx/8AiQyUtT+O9pVGXAbdrFtse2AfmWzNzSAsn+XA+kdvoJWPUEcnfQLidPqI9oB5
s+pXEzbmQD5x6UNl5e5q6p7Fp/zmOGn/AKp/9VOR8x0y/wBNq/y/1tX1PQj/AFSl/N/Q5eL8aStH
HrjI604pl5m7a0tl5B0qSoVB4hQI8RGbA6YdaUgf+m3+kLXx55beVSP+o7+or6Z8AeMNq9qGwJ7g
VxqDU3eLMviQqKylLk8hpPcmmFqzibY+JWBuO9gp1gfBY5hNXCK4urbuT7vA/dP54L0DAMYo4zbm
0uu/Hv8AEfeH54rgLjdwVurgTdyrcuAe3Umf1O2xciE4bnGEkDOMnS4jIC0eHqkpJ9FwHHKWI0sz
dHDccj+HIrzXpB0fq4dWyO1ae6eBH48wvf8AtTTKx2ZuydKAJ5b8gp1R8ctysuB/8zHy2BN/ad2f
vfUr63Hz+y7Mfd+jV6//AA2ESvsXFt0bzoVSEubdGyJzTg+pBz8o0f8AEaf1HLtf8V0P8MwP1549
j/mvl37rmaPWatR59BbnqPMOys42RulxlZQsfcR6LYvFQBw46ry/EKZpktO4WUjprlI0mCFJTTDh
StzsDiFc/C27KXetpTKWatSycsODUy+0sYcZeTkZQsdd8jqCCAY52KYbTvaJpVNj8PELqYPilWxr
itS3HuI4g+H53Xfcn/EO4d1qRbp/EjhFUFoUB7WxLmVqLBV0KkomfZ+vkenmY8uq9Brii6aNX5tP
wleu0/8AEC2rsivR+Th7jC9Htimdk3tY0itSNnW4xa1zU1rW6liUbptQYC+6mY5bB5T6dWxzqA2B
xlMatS+xXB3g1HlzTzOZp8NdR8Fs08NwbHGObTYGPHIZHDx00d8fkvlzfFrT1hXpc9kVRxL0/bM4
5KuzCRpS4EnuOJB6BacKHzj17Db9t3RbVb9oT+fJeJYphz7Ou+i7dpjz8fVd+8HCD2GeNgBBKU1r
UPL+psR5v0kH7co/y/1Fep9Ff/j9fzf/AEtXzFo6fwBHp1qNF5NdnVZkJ3EbkLTlXKU+XjChYiUz
QIamUaEDVAglOKYYUyqSjcwQglMSg+X1gUlyclPoYkqSU8phAIlMbb8d4RSJRlsk9DCSCYUfOGiV
QRnzhpyrxLf9kxjWOUPKOrOlUUsoKuUs/wA0QVBcmhrB+E7QksyYGz00mEiU4NK32V94mVMog2em
FQJyjDOOiV/eCUZlXK6d1UCqU5LJxslX3iVJKDlnJ2VFKlHLP6V/eHKcrj3Wdo05XoGVEF+EOUsq
aFdf8ImVEJwc2i5U5V012XuG9s8Tbpv2TuX2wN2talQrdHdlXiwtE5KOyyWlak74HMO0cDpJiNS1
pMLI7VQNM66EGV3+jmHU7qpUD57NMuEcwRCvE2XLTnZVqnHt24rhPEiQuT3HKVf3g/pTIqDSy3p1
Z+JRPWONWrftD2eG5MubbiutSo/s43MnPny78Fu91cIaDblU7G0lSa7cksx2hmqPMcUE+8n/AOtO
1FVPTMKTgjSVCYX1z4RpW926o26JDf1ObLpyzR8lv3Fk1jrUAu/XZc2vPLPzW12lwBs2s9pnjPwR
n6pcbnDzhxQXanalIFReHKmGPd5bUT0ODMLPSNeviL2WNK4Abne6Dpw7X4LNQw2m++q25LsjGyNe
PZ/FeLUfhtQrq7J188b7kqFWrF+2xcrVIpE9MTbjraJRSZBZRy153zMr8Y7PtJpYky3bAYWT69r8
FxfZG1cNfcOkva/Lvw7P4rnaWc1oTjwj7hhkL4So2F1n2KULX2l+HCkoKktCpqdV10j3XNjJ8tyB
HzXTP/Tan8v9bV9L0JH7Tpfzf0OXk/H5lMr2guMbSEcoKuOouafVyYWsnfzKsxsdHHTaUv4G/Ja/
SVsXdX+N3zWiSNQqNGqEhWqNPPUysUl5EzTaiyrS4082oKQtJHiCI71e3bVYWuEgr562rupPDmmC
Nl9gOFHEvh/2z+Gk5ww4oS7LHEOks82cDYS24pSO4ipyB30qGr8RHQZIIKFR47ieH3GBXPX0P8s/
nK76fivacLxG3x+16i4/zB+czfr+C8R7b9muWFwP7PNpz8y1UJ+01u05VRb1JQ4ESzYUoJPTVoB3
6R1eiV57Re16g0DtfiuR0wsfZ7G3pHUskT6BeXdhvihI2BxXbolZmUStG4gsCnKmFHCW5tKtcqVH
+0dTfzWI+g6bYYbmyzt71Mz6cfx9F870FxQWt7kd3agj14fh6raO2twAq1l33VOLdv09cxZV5uh+
vuNDIkai5s4XAOiJhXfCj+clJx3c8/oRjralMW7z227eI/t8lvdPej76VQ3LB2Hb+Dv7/P0XEgOo
Z6x6QF5emJilJV1oXpLmk6AcFfhk+sIKYW9Wnw4uO9KFe9w0ZMuqncP5NM9X+YvSvlKKgOWnB1Hu
k+HSNC8xOlb1KdN+9QwP7ro2WFVbmnUqMiKQk+XgvPjKsu5KkgxvOpgrn9aQuwuwtSKgnjxKz1LB
TISVKnTcCxsnkKSlKQr/AM4t/aPhuntNjLDXcuEef/iV99/h1UqvxHTYNM+X/mF4Lxwu6RvjjtxL
uWkOJmKTUKktFOmUnKXGpdKZdLiTnosN6h846nRq2db2tOm7cD56rkdKrplxdVKjdi7TxA0n1Xcf
AWVM32KO0I0FaSDXXcn+6pEq5++mPkelRjGrfyZ/W5fZ9DW5sBufN/wpsK+aFGH4Aj0222Xk94dV
u1Dtqt3H749ySCqgaDIvVKqpSUgtysvp5ruCRkI1ZOPDfwjJXuqdHLnMZjlHmdgotrSpXzZBOVpc
fBo3PosSjpGdaRTTCUpjY6GKUuKarpAkESU7Z84aCU1KdsQioKagDPhCSKaRAmnoTjIxEFIo0jfd
ECRTCgbd3rCCQKlLe+NGfSGVUq7SnA6YjGscotJ/T+8NZJVylG3T94hQSnaBt3OvrApUoT3h3f3g
ITJVwEZ/L+8QpVBvvfD09YpVKZywPyfvEolToH6Mn+aCESm6Dj4P/dCTBQBsj8v7xUqpRcv+7/eF
KWZcW9RGjK9DQ7w1Sek7QLGUY6iKUrpXszcU7U4UXHxDql3PTTUpcdo1KjUwsNF0mamXZZTYUARh
OGlbx8/0jw+pdUmNp/ZqB3oAfxX0PR2/p2tSoan2qZb6mPwVhK8XbRZ7IFW4Mrdm/wCm85dIqzLX
JPI9mCWhku5xq7h2jmuw+qcQFx9nJHqt9mIUv0ebf7WefCIXoV48f+H9aq3Ykm5F+fUzwLl6K3f+
qXI0qkV08vcjf8T/AMMvGOu0alvhNZgugf8A7c2X1zb+9blxi9F7rUif1WXN6ZdvctytDtMcMaP2
quOHFudmakLOvygP0633UyxLxfc936QtrOUj+rL3jBcYJcOsaVARma6T/u/FZ6GOUGX1WuZyvbA/
2/gvE7Y4u2lS+yDxA4NTbs2L3uK6GqrTWQ0SwZZKaeCVO5wD/V17YjqVcOquxBlx9kMj17X4rlUs
RpNw59v9ovnwjs/gvAaZnlCPs7fZfFXO67K7NXFvgfwVnP6c3fRrxrPEWUMwzTG5ESaqciXeQlGr
8R1p3m4Kwc5Tg7DMfMdJsMvL1vVUywUtJmc0j0IjZfTdGMTsrF3XVBUNUTERlg+oM7+C0PtE8Q+C
nE28XL34Y0i7aVcNxTLsxeSKyJZMuTobS2ZVLDzyhkpUVaj8vKH0btbq2b1VctLRo3LM+sgJdJbq
0un9bQDw5x7WaI9IJXimxGY+wavilk6DX67aNepd0WvU3qLcFFdD1NqTJwtCh+xBGyknYjIIIMa9
5ZsuKZY8SCtuzvH27w9hhwXXfaW7RdC498CeHvOQ1TOIlu1tCbqoY2BCpR4GZls7llxQG2coPdVn
uqV8DgmAVMPvX8aZbofUaHxHxXoGN9IaeI2LOFQO1HodR4H4e6eMpdOZfHj4R6QwS1eZ1DDl9EuD
Xbs9y0Vqw+OtEeuyhBr2VF1MtoedVLkaOXOyy8JfTp2KwdRHxJWcmPMcc6EnrOutDlO8ba/dPD87
L1HAenQ6vqbsZhtO+n3hx/O62Sr0D+Hxfrpq9K4iO2Kp465mRklvyadR6/gT8o6EY8mwB5RitcTx
62GUsD/PX4tcPisl1hPR65OcVDT8pHwc0/BaRM/5AtgZnGa5dXFydb7zNGBcSjPhqWlmnoIz17yv
kekdIXePXOkU6I5/kvXMdZdH7XWalY8vyGfMrnLi7xoleJ9Ro8lbdoSdgWRbjam6Bacnp5YW4fxJ
h0oQ2FOuAJBOOg6ncn6PBMONqCXvNSo7dx+AG+gXy2PYkLwgMYKVNmzR8SdtSvb+yrxn4VcMJe/a
DxQkZo02/mmJaaqSWPaJdMu2l5LjTzaPxcL5xzoSr5RyumGD3V31VS3OtOTyM6ajhpHFdboTjVnZ
9bTuQYqwJ3EayDx1ngvR5/h32B3lzFWluM9Vpkkr8QUmWmeYEJznSlDsg9MHywSTHHoY3jzRl6lp
PMj8HgLtXGAdHj2+veByB/FhcvLOIPaH4e2jaFY4Y9myhTFCpVwDl3bf83n2+ebwU6G9XfQkhRGT
jGTpQnJJ6dngtxcVhcX7szm91g7rf7/kkrlXmOW1tRdbYcwta7vPPfd4eA/vAC47pkoUkuq6mPta
FNfB3NXgvopwU48cCuG/A2s8PL5frNTfvJU8q6abJyysaJ1pMoppt0uN78hA3BGDnHnHnnSbAr66
vhcUsoDIyyeRmY8yvSeifSHD7TD3W1XMS8uzAD94ZYBnkFq9v3N/D+lwlDtr3mpLeSVzipjv+n9W
mgf8IojH47L6fpH1akP/AE5PaZUPnP8AxctunuM3Y4tKzuJMvwuoNXpV13fb1Qo0s+pE47q9rZKU
oJmphxKU8wJKiPKMAsMZr1qRuXtcxlRruA7p8GjhK2Tf4Hb0KwtGOa+pTcz7R7w+848YXAMg8X29
Zj0+i/MvIa7MpWRPhGZayagQKXJqoAoCYjwEMoKb9BCSTW/E7Qigo+sCFcADMSUimoTkZ2iVJTlA
enyhBIKQE+hz6w1Sum8eQx84xlSUwePSGmrhIGOgiVCPbHRMMITkgZ6JiSkU4YyNk4iUKEjf4UiG
mn6U+SfvCSlTpH6UwlSMAY6JP1hIQ4HgEfeKVIseiYlTK4nT0EaIXopUfmik0xPjApKYnrFBSj0h
RwYcJSo9jb8hGPqQgViiEm1ttD6kJdaUaJNvJ2+UV1ISdWKeiSa3EPqgoNYq+ZQGsJEZmiFgeZTl
NhwYMURKjNCFqVZSdhvECkAm6qVkQe7iM7Vrox1jIkkOS6HDkiMZpyrDyFet9xOnPyjKAsLtU9xt
DmyhnMSRKxtdCxrtMZJynx8IxezArZbclUzS05OTtB7Oh9ys0xKtNdBvGVlMBaT6hKuHEJcTpPSM
hbKhroWNNIbJyDiNc2y2PayrqXprbRz1i20IWJ9wSsqkaRgRsALWJlC+yh9KQvcRjdTlDHlqtPdj
AyMCI9nCze0OUClsZ6Q/Zgj2lyyzDSWUhKdoytblWq92ZXWqLWJNbXtAocEal7dIaQarhKvX6QKS
EYWIIRCe2ob9IkpEJgO56QITUqOQNokpEK4QcdMfKJUlGVasdNoAhoRA+qYE1eNkYBynMYypIRat
/wAsNOFcIO35REqSE4Ef2YFKalSdt0CEnCcVDw0H6RKkBUDnxTAmnf7v2hIhH4dUQk0SCD+iAoKj
u4/J9IEKM/yQJwuJk9MRoheilEYpARDrCSTYpQvZ+FPC6S4nSt5sIuVqgXDQZViYt2XmglEpOvPT
DcsiVXMKWnkrcW6lLZUNOdlEdY5mJYibUsOWWk68xpMxxjjxXSw7DhdB4zQ4DSdjrETwmdOCxFbs
ddAs1itVRM7T7jRXZ2i1WgTDXL5CpJlh1RVnvasv6SkjbHrts0bzrKuVsFuUOB5yT+C1atn1dLM6
Q7MWkcoA/FYN60LjlrTkL3fpbrdr1Sddp8lVj8CphlCVqR59FbHocKA+ExnF1TNU0p7QEx4LA61q
CmKsdkmJ8VsEvwwu9+23bubRSPcTKNbz6qvTEOjLLkwlBl1TQe5im2lqS3o1nGwJjEcSpCp1eub+
F3ON4iJO8wsow6qafWaZf4m8idpmYG0SrA2RdCXLQbRTPaXr8Z9otWXYdafcmGvaHJXOhpalI/GZ
WjCwDlJ8oze20+3r3NHcI0B+RGywGyqdjTv6t4zqR8wd1e1OwblpVGeuJ1uQn6LKTCJWfn5Cfk55
LDzgUW0vCVedLevQrQpXdVg6ScGClf03vyag76giR4SBMceSVWwqMZn0LZjQh0HxgmJ4c1fz3DK+
KVUmKTUaMmUm5ulGuU9a5iX5MxTky5mjMS7/ADeU8OUkqw2onYjGQRCZiVF7czTpmynQ6OmIIiRr
zRVwysx2Vw1y5txq2JkGYOnJYajWrX6/Triq9Jpzk5T7TlkzdemU9GmlupaB9TlWcDfSFK6JJGxV
umU3Na46uMD3StelavqNc5okNEn3x+fU8FUvb1WmbdqN1MsNqoVJm5eRn5svNBSX5tDrjCOSVh06
0sOHISR3TvDNw0VBT+0QSNOAidduI96xi2eaZqfZBAPmZjTfgfcsNneNqVrwvXZi1LKtN+mUu/Kj
XBWqhKSc9OS9NYYKJNmfl0TUvqLzgLyyy6hakgI05xqJzjlNu61YF1ENygkazqWmDsNBIidfJdR1
nRokNrF2YgHSNA4Ajc6mCDGkbStVkrUnay7V36E427QKU+Gvf086xINYcUvkhSn3QkOOJQVBtKlK
wFYyEkxuuvBTgP7x4CXeew2HPbbmtNlo6pOTujiYb5bnc8t9+SzTPDK+Zm6GLLlqIJm5ZuW9sp0i
1Myy0zLHKLwXLOpdLT+pAJTylqKuicnaMJxSgKXWl3YmDodDMaiJGvNU3Ca5q9SGy4iRqNRE6GYd
ptEysRL2nX5pqjOpkm0Cv1FylUxDj7DazONckONrQtwKa089vKnAlO/XrGybymM2vdbmOh7uvv2O
2qwCxqHLA7zso1G4jTw3G+izjfDW7TcqrUQ3S3q2iUmZx5luq05bSGZIOrmC5MJmSyhTSWHFKSpY
VgZxjEYTilHqut1yyB3XbuiIESZkaxCynCa3WdV2c0E95uzZmTmgRBMTMK7t7hpd91VaqUSgScjU
KhR1tNziRUZBDZW+8mXaDLy5hLb2t1aUJ5alZJHmIVxilGgwPeSAfuu4CTIiRA11hYrbCK9w8spg
Ej7zeJgQZgydNJWGt+1a3c8zU5Wksy3Mo0uqbqi5malpNtplLiGSpTk040j43UjGc7xnuLxlEAun
UwIBOsTwB5LBbWVSsSGx2RJkhsCQN3EDchXtOsi6KqxdczSqcmptWSjmXIZd9l0tNay2XkJQ4S62
kjvONBSUjBJAIMKpiFJhYHGM/dkEa8ttD4GCUMw6tUDy0T1feggwNp31HMiQOKFNo3EqcpMg3Jtv
TFckxUKeEPsLT7Lhai66tKylkIDaivmFOgAlWIr22nBdOjTB0O/Iaa76RM8Fj9gqZmtjVwkajbmd
dIgzMRxWSTw/uZ+sW7QZEUuq1G65gSlCRKVGSfQ5MKKE8pTjb5Q2rU4kd8pznbIjH+kqQY55kBgk
y1w05xGu3BZRhVU1GU25SXmBDmnXlIMDfisBV6XNUSaEhOuSbj4QleuVmmJxrCxkYelnHWz6jVt4
xs0K4qCRPqCPgQCtKvbupOymPQhw97SQhRS6q5KMVBumTa6fNPezS08Glltb+M8pK8YK8flG8X17
Acsid/Tn5JC3eW5oMTHhPLzWzXxZj1iVCXo1SqbD9fbQPflHQ28hcm6UoWG1qcQlK9l4ygkZCh0w
TrWF+Lludo7PA6drx029fBbeI4cbV2Rx7fEa9k8tRr6cZ8z6Dw64cU657WmLimKTXbtdROvyk3RK
FMyqJyRZaZadTOLlnm3nJlDhcUlKUBA/DVlwZEczE8VdRqimC1mgMvByuJJGXMCA0iNzO40XQwrB
2V6JqFr36kQwjM0AA5i0glwMnQZe6e0tHt6y5m4aZUKqzX6LTmKUnmT7E1MKQ4houtMBwpShXdLj
yE/9I6dzfik4NyuM7QPAmN+QK5drhprMLw5ojeTrEgTtzISrRsy4r1fqzFvSfta6HIv1Go740ssD
JA81KOEoSNyTFXt/StgDUMZiGjzP05rFZYbVui4UxOVpcfIfU7AcSri07RnLxmJmVkapTJKZlklf
s828W1OJQ0684WwEqJCEMqKvLbxIgvb5tuAXAkeHmB8SUrDDnXJIa5oI5nwJMeQGqyNFsSoVxVwG
Qq1LVLW5yfbZ8ur5S+eopQWyGzkZGCSBiMdfEm0suYOl0+enqroYS+rnyubDIk8NeWi0cLHiY6QX
Khb5d1GpVD/ov7sMz/3xR5SeneetC/xntWoI0NownbYHJ9Y51lcPq580dl5GnIepW/iVqylkyT2m
BxnmeWg0RV2zajbkjSp6dnJN730zLzEnKMqWpzlTLXObUQUAfCRnB2MFtiDazi0A9mRr4GCi6wx9
BrXOI7QBAG8ESOCualZj9GZqIqFxUZms0jHvK1ucv2ttWoIUj/RclS0E95CXSpO+RsYiliAqkZWu
yu2d9n5zB4GIKu4ws0muzOZnbu2e0PDbLI4gOkctEEjaFZqE3aslIcmZm7wbU7SZcK3CEvOsEuEg
BOFMr+gzDqX7GB5dszf3A6e8LAzDKjzTa3U1NR7yNfUFXH9Ep5VQrEhL1KnTaqHILqE1MNOKU2pt
sJKkJwnOsasaVAYPWF7c3K1xBGZ2X8+HiFX6Ldmc0Fpytzb8B6b+BhWVq27VryuGmW1REIcqNVc0
NFZ0toSBqW64rfShtIKlHwAJjLeXTLakar9h+YHidgseH2D7uq2lT7zvd4k+AGp8Ff0q2qlO1562
Jh6Wo1VlHlS8wxOK5Wl9LgaLXRR1azjAHr0EYq14xtPrRLmnXTXSJn3Ip4e99bqTDXTHa01mI85W
SXZs+ms1SiNVOmzc1SJWZm55bTi1ISmTC1PIzozrSEE4xGMYg3qw8ggOIA/m29NVmdhL+sdTBaS1
pJ1/dmRtvonU+zKtPz1m05h+U9ovlrnUEEqA0+0PSv4h0938VhafpnocxNTEGNbUcZinv7g75OCi
nhFV76TRE1RLf+4t1/maR/ZMm7NrFPu6Rsx56VNXqS5RuVUFZbzOpbWzqVjKchxOQoZHiIKeIMfQ
NYTlE+fZmfkirhFVlwLcxmOWNdO3BHlv6K7TY1ZeuBFtSkxJz06WHph5xpR5bbUulxbyl6khQ0Jb
UrGnJ2xnIjH+kmCl1pkCY9TEe+fxTGDVTW6lsF0E6bACSZ04AE/KVr1Rlfd847KKm5ad5WMTUurW
2rUArZW3nv5HYxt0amdswR57rn1qHVuyyD4jUKzDg/UNvSMqxlqeHBvvElKEWsdOYB9IEQpQsfrH
2gQQq5o/WPtBCoMU8weaftAiFxOk9I0V6GU2KUqoRQm/84pQt0ty6Zei27fFBdpjk47eMrLSrU6l
8NiXEvNNzWooLS+ZqU0kfEnAz18NWtbl9Rjp7pnzkRz8VtUq4Yx7Y7wA8oIP0W831xkrXEezrRt2
55GXm6/ar8wty9NhNTzTrMuy2mbOMuONpl0p5hOVJCQrdOTr2WFMtqr3sPZd9ngNSdOQM7LNfYo+
5pMY8dps9ridANeZEb8leznGeYnqFXrKfoyzYM3S5aSti1faRpp03KKQtufS5ye+6tznKd7qdfOc
6ZEJmEgPbVn9ZmJJjvA/Z322jllCp+KEsNKP1eUACe6R9rbfeeeYrQ2LoQ1Y1Rs32Alc/VZapmp8
34fZmH2A3ytHjzyc6vAbRvG3/XCpOzSPeQfoueLiKJpxu4H3Aj6rbqdxPXS5/hlPS9Cbe/7PKZMU
mYlnnSpE7Lzc3PTL+dKUFsqFQcQME42PWMD8NziqCf8AMcHeRAaB590FbDMRymmY/wAtpb5glxPl
3iFZVG8KA1QqvblnW9PUKQuGYYerL0/Pon3VIleYWWm1NSsmlKdTmpWUkkhOCBkHLStX5w+o4EtG
kDLvue85YKtywMLKTSATrJzHTYaNbzW8J44TiZOoUddAZnaHM0RNLpUnNO852nzApCaQ5OSbwQgt
l5tALreNKvmEKTqfoYSHZodmkx9oZ8+UjjB2O4987P6ZMFuWW5con7JyZMzTwkbjY+gIxtm8X56x
5Gg0ikUw+5m5l5++6Wp7uVtt9PJVLv4byhoS5W2BuRrWoHKozXeFC4LnOPaiGn9yNZHjOvoAsVni
ptw1rR2Z7Q/fnSD4ZZHqSsZQrytqm0G57ZqdrT1ToleqshVJRhuoJYcaNObnWmmnF+yucxKkTytZ
SEHYYKYzVbSo57ajXAOa0t7s97KSe8I7um6wULum1jqbmktc5rt47ucAHsme9rsvNQreOoubC9sq
fESybvkKG/e9l1Obu2gSMvTlVymVJuTbnpeUbDEsZpp2TmTzG2kpRrQoagNwD3o41KwrUHOFF4yO
JMFs5SdTBDhoTrB2+C69a+o1mt65hL2gCWujMAIEgtdqBAkbx6rXqJeVCl7drNq3FbMxVaJUJ5up
UwyM6JOYlX20LawHXZeaS42pC8FKkZyAQob526tq81BUY6HARqJBG+wLYM+PotWhdsFM03tlpMiD
BB24h2np6q+TxHQLjp9VFHcRSKNR5ih0WjomNLjUtMSj8sVGYLZ1OaplbpOgDUdglOAF+jv1ZbPa
Lg4mOIIO07aAb7c0/wBIfrA6OyGloE8CCN431J235BZKs8YZ+5E2A/XaPLTNZs2pPVCrV1o8p6qF
z2MAzWyk84CU0l7GV5BUCoEqx0MIFLrAx3Ze2ANwzvbeHa24cNNstbFnVerzt7THSTsX93vePZ73
HjrqSpfF6ps8SZziBU2pyprmGKpKS0mJoNusMVKWmZbS2+WVgFkTRUk8vGobjwh1MIabbqGwNWnb
QlpadRPHLzUsxZwuevdJ0cN9QHtc3QxwzaaK+tni8/Z1XvCs25TZhqaudthtozc0JjAQ+0++JnDD
YfTMcspWkBAwoiJusIFwxjKh0byEcCBGpjLOm+yx2uKm2e99MavjczxBM6DNmiDtulUDiTQ7Zua5
6zRLYnKPSLlkFSQo0tUMOynMdZeWWJl2Wd7uprCUrQohJwVKI1GrjDn1qTGPcC5pmS3fQjUAjnwI
14cFNviDKNV7mMIa5sQHajUHQlp5cQdOJ3WLoPEB+2Zy5ajbSJulVCquNuUOfEzqclA1Mh/8Qlr8
fUkaFfCDk5GO7GevYCs1rakEDcRvpHPTnxWtQvjQc51OQTsZ21nlry4fRbO5xal5i65S4XbMp0vT
F0lykV615VSmGHmphLiX1S575lyS5rRjIQroCjuxrDCiKRZ1hnNmDjqQRET+9tB5jx1Wc4uDWFTq
xly5S0aAgzMfu7yOAPhoteo93W/a962fd1s27Pst2rUZaorp0/PtzKn1yr6HkI5rUpLBAOjB7hjZ
rWtSvQfSqOHbaRIbESI2Lj81rULulQuKdak09hwdBdMwZ3DW/JYi669J3BVBUpSWn2NbaUzKp2aT
NvLWnbUXEMS6fhwkAI8Iz2dE0mZTHoIHzPzWreVm1X5hPqcx98N+S9YoHFmSqMhYNqXWxLUmz7Cf
l5+cZlm3VvVNUi6841L9SlorEy/3sAalkqONITybjCS11SrS1qVARrszMACfHut05DTjPbtsYD20
qVWBTpkExu/KSQPCcztebiTwjxWs1qeuCr1Kt1V8zNSq77kxPPk51LcVqV1PrHdoUm0mBjdgIXz9
eq6q8vduTJW92jxBYs6Xp0zIWrIPXZQ5pycoN2KceDjLi0oSgraSsId5JRrbB2BJ1BQJEaN5h5uC
Q55yOEFumu/HhMwePKFuWOIi3ALWDrGmWu1kHThsYiRwneVr9GuU0ek3VShTZec/pTKtSrk4sqC2
EtTDczlvSQN1spzqyMRtVrfrHsdPcM+ehGvvWpQuOrY9sA5xE8ocHaeoC2C2uJdxWfT5KUteYXQZ
pqfTPVGqyzjjb01ygOSy9hWC233iE4wdR1Z2xgusMpXDiavaGWADsJ3I8Tpr4aLNaYpVtmgUTlOa
SRuY2B8Brp46oJK+RTr0qF3yVvyMq3P+3BFAQXBLNJnmHWFpb72sBAdOnveXWG+xz0BSc46ZdeJy
kHX3aqKd/kuDWawCc3Z1gZgRpx0nRXdj8RJqypevyjMiJ+WuJDLc+jnzEsdDKyvRrlnG1aV5woE7
iJxDDhclpJjLMaA7+YO3BVh2JOtQ8ASHxOpG38JG/FaOt4LWpTaeWlRylsZIGfDfJjpt2XKIXpNT
v2Qq1ClaZM2bTjVJCny9OlLi5s0XkIYUFaw3zuVqVuN0dDHLpYe6nULhUMFxdl0jXxifiulcYiyp
TDDSbmDQ3NLp08JifROuLiXO3LRLepL8gJd22WpRimzwmJlQSiUZ5PcYW6WUFzCVLKUZyB65m1wt
tGo54PfkkQOJneJMbDVVeYq6vTYwjuBoBl32RG05ROhOnBXNY4jydafrlWcsyks3LczS0VurEKda
LrqtbszLy68pYeWRnUk4GToSnOyt8MNMNZ1jsjNhxgbAkbgf+SU7rFG1S5/VNzvHaO4k7uAPdceY
21gBWEreSWX7NdfpLUwi0Jdcu2lLr7KngqYfmQsuNrSpC0LfOkox0HXfOR9lIqDN3zPAxoBx3BA1
lajL6DTJb/liNyJ7Tnbg6EF2keC2GY4qVCoXHP1+p0tiooqNL90OyTrr6iZcIQ2FLfKy6tzCMlRV
18hgDXZhDWUhTaYh2bSN99tgPD6rafjbn1nVHtBlmTUnaI3mSdN5+GixVLvqZoblyvW7IIt+dr4S
3KVCVdfS9IshwOLal169Q16QlRJzjbOCc7FbDxVyCocwbwMQ4xEnTh81go4kaOc0hkLtiCZaJmGm
ePHjHqrmqX3NVm7abeM3IMe9JT2NdRwV4nH5QICn3d863tALmnGTk9TGOjh4p0TRB7JmPug8B4Dh
4JXWJGrcNuC0Zhln7xbGp8XR2o46qabefsd1VW45ijy0/LVoTiKhRHFOBvlzyVocCFpVrSU68pOd
iB1h1bLNRFMOILcsH+H86pUcQDK7qpYCHZpHCHzPjx0WdTxLLVdsWryFvydPbsFn2ek09Dj6kuJE
y/NguqW4pRVzJhRJBHoAI1/0VNOqxziesMk6fuhumnJoWc4yRVo1GsaOpEAa/vOfrJmZcVbv8Q52
arNr3FM06WfuC3H2nnqvhYdnuQ4lxr2rCsLUMaS4AFKHxEneKZhrRTfTBORwiODZEHLyHhsOCwnF
nuq06zmjOwg5uL4MjNzPCdzxkrIucRVTl1sXXMUt5U02ytt3E9Oc4rVrAdTMqdU4hSAoBIB04SNu
ucQwzLR6oHSf3Wxw0iI19+qp+Ll1yK5brH7zp465pJBE6cNNlrVx3JO3VW5+u1A6ZyfKeZjUrZCA
2nK1qUtZwkZUokk7k5Mblpatt6Ypt2H5/IGy0MQu3XNU1X7n8I4yT5nU7lYhDhwNzj5RnWoQrgu4
HxK+0SlCHnE/nV9opPKmpcz+Y/aJSyoOYrprV9opVCLmKH5lfaElC4vHjGmvQU0eECSmGUkYhhSU
XSGkrhJ8YYUIs75jIkmjzhKUwEbw1KIHeKShNCzAphN1dDmKlRCMKyPlDUwh1xUpwmBWYEoUa8bD
aKlEIw74Q1OVHzBjrDlGVG2vvdfCKlS4K4DsJY8qnmQSllTEu48YqUi1OS91iVBYi5sCWVNDwx4Q
KcqhTmN4aMqjn4xFp5FcB7ziViyo9Y84eZLKm8zyPSBRlRh71gRkTUujfqYUqS1ODvTrDCWVN5vq
YanKmpdxtvDTyJiXuu5gSyq6S9t47RBWMsR87YYJhSjImJcOdyraGlCuUu4O2YSmEYe695UJGVNS
50OVQJwrjm5xuoxCnKrht7Gd1RJUkIw/jxV8oISypofyB8RiU8iuA8MdXPQQksqlLm354FUIw9g/
6yElCHnf7UQ048lXOP8AewQnlXII2JEaa+6Uk4HygQmQ1KkQkkcZFKNJhJFOz1igVKnVDRCaDmGp
U5hqYRpVAlCZmGFMIgrG8UiFJUDv5wSlCHVjxignCLX6xSUKdYhSlCnmZikZUxte5glS4J3Mhyoy
qebAllR8yFKWVEHPWHKMqIPdN4JU5Uzm/WCVOVTzTDlGRTzYeZLKmc7xhyllVB7frDlGRXHtA8YS
x9WjDo84Esqelz94UqS1NS8dt4FORM50GZTlTeYc9TDzpwmhwwZ0squEuneFKjKmBw4HX7wApZU1
Lpx0P3i5Syp3NPrE5ksqYlwnzhZkZU5K/QwsykhODp2G8CITw6fDP3hKYTELz4K+8IpQnIc9D8sw
pThNLp07BX3hKYUh5WBnI+sCrKiDxH6vvCSyqQtXXvfLMCcJmsfpV94EQuVPGNFfaKDAkmJ+EQwk
UUCSYItQpEMoTB1iVCkdDAmjHwiMiCnxShVAkmD8kJQi84tNAfhgQgi0Ix0+hgQVHl84EKj4xaoJ
zfxGJWN2yuIFCjxEMIRiGpKkQgkpgCExPh84HKSj84aSowkIvCGkqENCIwwkmjqmKClNhJI4pSiP
h8oSSuEdVfOBIq6HwxCScICoTPyiGEI0dIkpK8HWBY0Q/wCcNNMEBQUZ8IYST0+MSkno8YFLk1HQ
wJFEehgCQRI8PlArCarw+UIJBDDQqhBUF//Z

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncsl.org/portals/1/images/share.gif

R0lGODlhNwARAOYAACFsIPH28XSxcXSjc8XgxUCIQbe3tyh8KbCwsNfX112WXZ2+nS1/L97e3vr9
+w50Dru7u0iUSZC1j1qnWiSBJjKCMrnRuR99IKTPo+Xl5YKsgdXj1TSUNlOPUlKUUvj4+C51LTx+
O2SkZcDdwR2BHEqHSRGAEt3s3SWMJmaZZmOqZU+hTubw5szkzKvIqzaTNHm3etXh1SGKIkuKSht8
HEmeSpG+k7HVsD2MPRuHHGmtay9+Lv///yiHK/r8+CmMKSl7IXGucWimZR6AIH67f1KhUjiWO16q
Xk+fUgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAHAP8ALAAAAAA3ABEAAAf/gDwJEAiFhoeIiYqLjIcQCYIGGQ48lZaXmJmam5yWGQiDGZ2jpKWY
GYSUPBsdFQevBxUdG6a1nR+FlTEKBxc4IiI4FAwKtJgBLhIulSwStpy5PCUUQwIsDg4BMD09M5kl
IB3hPAQAz5vRBw9BPCM1RS0YPz8MmOUB5AAb5eT4lQQEKgUgwMIYAWOYolWw4YCAiRoTUMiQQeMA
JhYAJLDoV64EgBKVPALokC9ECB4pAADQkClaARYsVqyodCSHDhEVMmlQWcJCvoMACKZgYcFcOYIW
QAwE4M9StB0RaphYge2FCh4BCmhisUDc0kpBebgYEMKoOR4SwnUIeyndBRlGmjgYmcfihJB6lxac
BAvwbFAXIDRIMFtJQgmABJpWisaAwY8bLIjAYOGjyAOLlzBqILCTBT8eQSWEIDCA8CoACxYoTYig
0gwGPVQkDjACCQkG3jC5KBti2eegLMqW9nwWLQgQy1j7WKWAAYUeESL0uEAM4blnPhBAELWqVePG
sqxft4UqgYEGqsarv/ShgQFIgxrJn0/f0CMegQAAOw==

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncsl.org/portals/1/images/comment.gif

R0lGODlhPAARAMQAAAAAAPHx8Z2+nYKsgUqHSczMzLa2tsjIyGaZZi51La2trSFsIP///9Xj1ZmZ
mbnRuTMzM1iQV+Xl5avIq729vZC1j8fax9bW1jx+O3Sjc97e3vj4+OPt46KiovH28QAAACH5BAAH
AP8ALAAAAAA8ABEAAAX/IHNRSmmeaKquLEtdoiFtTG3feK7v/C4ZI0lvSCz2JKTAyMhs8jYmQ6Gw
a1QEHKfW1rCVOo7ChYqbLCKYRHfb5CS8CgbpcjncOIsHw0PI1CxrHhaCHoI1hIOGNoCHFgyDDAIL
jgwlNQYKdGQMExg2HnsECwt+FguiEaIIj6dnqjUIowOsom+jCzWWl5l0NRUROBUYHg2TphYPk2as
yMq4DwmCC9IPxRamcDeYdRQMvzgRFTXh2OW45qzeCRERxrgM7tnaUgAMyaAMA7+zDAQC6ADP4apA
4NogbPCuvasUB4cBCBBqEEBgocKCCRMSPJDEIWA6dMUECIiG0J2FLLp4OXhol0BcvgUJJnwUODOd
upg2J/FZ0KUEDTZAjUChICSo0SMvDGj4ebQpgw0agIgg0aKq1asqXjAIAQA7

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/default.css

BODY {
	BACKGROUND-COLOR: white; MARGIN: 0px
}
.ControlPanel {
	BORDER-BOTTOM: #003366 1px solid; BORDER-LEFT: #003366 1px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 100%; BORDER-TOP: #003366 1px solid; =
BORDER-RIGHT: #003366 1px solid
}
.PagingTable {
	BORDER-BOTTOM: #003366 1px solid; BORDER-LEFT: #003366 1px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 100%; BORDER-TOP: #003366 1px solid; =
BORDER-RIGHT: #003366 1px solid
}
.SkinObject {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: =
8.5pt; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.SkinObject:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:hover {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.Language {
	MARGIN: 0px; VERTICAL-ALIGN: middle
}
.Language IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.Head {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #333333; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
.SubHead {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.SubSubHead {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.Normal {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.NormalDisabled {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.NormalDisabled {
	COLOR: silver
}
.NormalBold {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
bold
}
.NormalRed {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #ff0000; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
.NormalTextBox {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
normal
}
.DataGrid_AlternatingItem {
	BACKGROUND-COLOR: white; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: =
red; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.DataGrid_Container {
	BACKGROUND-COLOR: transparent
}
.DataGrid_Footer {
	BACKGROUND-COLOR: white
}
.DataGrid_Header {
	TEXT-ALIGN: center; BACKGROUND-COLOR: transparent; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.DataGrid_Item {
	BACKGROUND-COLOR: transparent; FONT-FAMILY: Tahoma, Arial, Helvetica; =
COLOR: black; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.DataGrid_SelectedItem {
	BACKGROUND-COLOR: silver; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: =
blue; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.TreeMenu_Node {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
normal
}
.TreeMenu_NodeSelected {
	BACKGROUND-COLOR: #dcdcdc; FONT-FAMILY: Tahoma, Arial, Helvetica; =
FONT-SIZE: 12px; FONT-WEIGHT: normal
}
A.TreeMenu_Node:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_Node:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_Node:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.TreeMenu_Node:active {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.FileManager {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; HEIGHT: =
400px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
.FileManager_ToolBar {
	BORDER-BOTTOM: black 1px solid; HEIGHT: 25px
}
.FileManager_Explorer {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
BACKGROUND-COLOR: white; MARGIN: 2px; HEIGHT: 100%; BORDER-TOP: #696969 =
1px solid; BORDER-RIGHT: #696969 1px solid
}
.FileManager_FileList {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
BACKGROUND-COLOR: white; MARGIN: 2px; HEIGHT: 100%; OVERFLOW: auto; =
BORDER-TOP: #696969 1px solid; BORDER-RIGHT: #696969 1px solid
}
.FileManager_MessageBox {
	TEXT-ALIGN: center; PADDING-BOTTOM: 25px; BACKGROUND-COLOR: white; =
PADDING-LEFT: 25px; PADDING-RIGHT: 25px; VERTICAL-ALIGN: middle; =
PADDING-TOP: 25px
}
.FileManager_Header {
	BORDER-BOTTOM: #696969 1px solid; BACKGROUND-COLOR: #9ebff6; =
FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 25px; COLOR: #e7e7ff; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.FileManager_Pager {
	BACKGROUND-COLOR: #eeeeee; FONT-FAMILY: Tahoma, Arial, Helvetica; =
HEIGHT: 25px; FONT-SIZE: 11px; BORDER-TOP: #696969 1px solid; =
FONT-WEIGHT: bold
}
.FileManager_StatusBar {
	BACKGROUND-COLOR: #dedfde; MARGIN: 2px; FONT-FAMILY: Tahoma, Arial, =
Helvetica; HEIGHT: 25px; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
.FileManager_Item {
	BORDER-BOTTOM: black 1px dashed; BACKGROUND-COLOR: #f8f8f8; =
FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; FONT-SIZE: 11px; =
BORDER-TOP: black 1px dashed; FONT-WEIGHT: normal
}
.FileManager_AltItem {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: =
#eeeeee; FONT-FAMILY: Tahoma, Arial, Helvetica; BORDER-TOP-STYLE: none; =
COLOR: black; FONT-SIZE: 11px; BORDER-LEFT-STYLE: none; FONT-WEIGHT: =
normal
}
.FileManager_SelItem {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: =
#99ffff; FONT-FAMILY: Tahoma, Arial, Helvetica; BORDER-TOP-STYLE: none; =
COLOR: white; FONT-SIZE: 11px; BORDER-LEFT-STYLE: none; FONT-WEIGHT: =
bold
}
.FileManagerTreeNode {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.FileManagerTreeNodeSelected {
	BACKGROUND-COLOR: #dcdcdc; FONT-FAMILY: Tahoma, Arial, Helvetica; =
FONT-SIZE: 11px; FONT-WEIGHT: normal
}
A.FileManagerTreeNode:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNode:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNode:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.FileManagerTreeNode:active {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.Wizard {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; WIDTH: =
650px; HEIGHT: 400px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black =
1px solid
}
.WizardButton {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #dcdcdc; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BORDER-TOP: #696969 1px solid; BORDER-RIGHT: #696969 =
1px solid; PADDING-TOP: 2px
}
.WizardHeader {
	BORDER-BOTTOM: black 1px solid; BACKGROUND: #ffffcc; HEIGHT: 40px
}
.WizardFooter {
	TEXT-ALIGN: right; BACKGROUND: #ccffcc; HEIGHT: 25px; BORDER-TOP: black =
1px solid
}
.WizardBody {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; HEIGHT: =
325px; PADDING-TOP: 10px
}
.WizardHelp {
	BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
#ccffff; PADDING-LEFT: 5px; WIDTH: 180px; PADDING-RIGHT: 5px; FONT-SIZE: =
9pt; PADDING-TOP: 5px
}
.WizardHelpText {
	WIDTH: 180px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; HEIGHT: =
300px; COLOR: black; FONT-SIZE: 8pt; OVERFLOW: auto
}
.WizardText {
	FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: black; =
FONT-SIZE: 9pt
}
.Help {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ffff99; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; =
FONT-SIZE: 11px; BORDER-TOP: black 1px solid; FONT-WEIGHT: normal; =
BORDER-RIGHT: black 1px solid; PADDING-TOP: 2px
}
.CommandButton {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
A.CommandButton:link {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:visited {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.CommandButton:active {
	COLOR: #003366; TEXT-DECORATION: underline
}
.StandardButton {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, =
sans-serif; BACKGROUND: #dddddd; COLOR: #000000; FONT-SIZE: 11px; =
FONT-WEIGHT: normal
}
H1 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #666644; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
H2 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #666644; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
H3 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
FONT-WEIGHT: normal
}
H4 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
FONT-WEIGHT: normal
}
H5 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
DT {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
H6 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
TFOOT {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px
}
THEAD {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px
}
TH {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
VERTICAL-ALIGN: baseline; FONT-WEIGHT: bold
}
A:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A:active {
	COLOR: #003366; TEXT-DECORATION: none
}
SMALL {
	FONT-SIZE: 8px
}
BIG {
	FONT-SIZE: 14px
}
BLOCKQUOTE {
	FONT-FAMILY: Lucida Console, monospace
}
PRE {
	FONT-FAMILY: Lucida Console, monospace
}
UL LI {
	LIST-STYLE-TYPE: square
}
UL LI LI {
	LIST-STYLE-TYPE: disc
}
UL LI LI LI {
	LIST-STYLE-TYPE: circle
}
OL LI {
	LIST-STYLE-TYPE: decimal
}
OL OL LI {
	LIST-STYLE-TYPE: lower-alpha
}
OL OL OL LI {
	LIST-STYLE-TYPE: lower-roman
}
OL UL LI {
	LIST-STYLE-TYPE: disc
}
HR {
	TEXT-ALIGN: left; HEIGHT: 1pt; COLOR: #696969
}
.ModuleTitle_MenuContainer {
	BORDER-BOTTOM: blue 0px solid; BORDER-LEFT: blue 0px solid; BORDER-TOP: =
blue 0px solid; BORDER-RIGHT: blue 0px solid
}
.ModuleTitle_MenuBar {
	BACKGROUND-COLOR: transparent; HEIGHT: 16px; CURSOR: pointer
}
.ModuleTitle_MenuItem {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 0px solid; =
BACKGROUND-COLOR: transparent; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; BORDER-TOP: white 1px =
solid; CURSOR: pointer; FONT-WEIGHT: bold; BORDER-RIGHT: white 0px solid
}
.ModuleTitle_MenuIcon {
	BORDER-BOTTOM: #eeeeee 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#eeeeee 1px solid; BACKGROUND-COLOR: #eeeeee; WIDTH: 15px; HEIGHT: 21px; =
BORDER-TOP: #eeeeee 1px solid; CURSOR: pointer
}
.ModuleTitle_SubMenu {
	Z-INDEX: 1000; BORDER-BOTTOM: #ffffff 0px solid; BORDER-LEFT: #ffffff =
0px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #ffffff 0px solid; =
CURSOR: pointer; BORDER-RIGHT: #ffffff 0px solid
}
.ModuleTitle_MenuBreak {
	BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 0px solid; =
BACKGROUND-COLOR: #eeeeee; HEIGHT: 1px; BORDER-TOP: #eeeeee 1px solid; =
BORDER-RIGHT: #eeeeee 0px solid
}
.ModuleTitle_MenuItemSel {
	BACKGROUND-COLOR: #c1d2ee; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; CURSOR: pointer; =
FONT-WEIGHT: bold
}
.ModuleTitle_MenuArrow {
	BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: webdings; FONT-SIZE: =
10pt; BORDER-TOP: #ffffff 0px solid; CURSOR: pointer; BORDER-RIGHT: =
#ffffff 1px solid
}
.ModuleTitle_RootMenuArrow {
	FONT-FAMILY: webdings; FONT-SIZE: 10pt; CURSOR: pointer
}
.MainMenu_MenuContainer {
	BACKGROUND-COLOR: transparent
}
.MainMenu_MenuBar {
	BACKGROUND-COLOR: transparent; HEIGHT: 16px; CURSOR: pointer
}
.MainMenu_MenuItem {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 0px solid; =
BACKGROUND-COLOR: transparent; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; BORDER-TOP: white 1px =
solid; CURSOR: pointer; FONT-WEIGHT: bold; BORDER-RIGHT: white 0px solid
}
.MainMenu_MenuIcon {
	BORDER-BOTTOM: #eeeeee 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#eeeeee 1px solid; BACKGROUND-COLOR: #eeeeee; WIDTH: 15px; HEIGHT: 21px; =
BORDER-TOP: #eeeeee 1px solid; CURSOR: pointer
}
.MainMenu_SubMenu {
	Z-INDEX: 1000; BORDER-BOTTOM: #ffffff 0px solid; BORDER-LEFT: #ffffff =
0px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #ffffff 0px solid; =
CURSOR: pointer; BORDER-RIGHT: #ffffff 0px solid
}
.MainMenu_MenuBreak {
	BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 0px solid; =
BACKGROUND-COLOR: #eeeeee; HEIGHT: 1px; BORDER-TOP: #eeeeee 1px solid; =
BORDER-RIGHT: #eeeeee 0px solid
}
.MainMenu_MenuItemSel {
	BACKGROUND-COLOR: #c1d2ee; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; CURSOR: pointer; =
FONT-WEIGHT: bold
}
.MainMenu_MenuArrow {
	BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: webdings; FONT-SIZE: =
10pt; BORDER-TOP: #ffffff 0px solid; CURSOR: pointer; BORDER-RIGHT: =
#ffffff 1px solid
}
.MainMenu_RootMenuArrow {
	FONT-FAMILY: webdings; FONT-SIZE: 10pt; CURSOR: pointer
}
.HeadBg {
	BACKGROUND-COLOR: #cccccc
}
.TabBg {
	BACKGROUND-COLOR: black
}
.SelectedTab {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #ffffff; FONT-SIZE: =
8.5pt; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.SelectedTab:link {
	COLOR: white; TEXT-DECORATION: none
}
A.SelectedTab:visited {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
A.SelectedTab:hover {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.SelectedTab:active {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
.OtherTabs {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: white; FONT-SIZE: 8.5pt; =
FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.OtherTabs:link {
	COLOR: white; TEXT-DECORATION: none
}
A.OtherTabs:visited {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
A.OtherTabs:hover {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.OtherTabs:active {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
.PagingTable {
	HEIGHT: 33px
}
.LabelEditTextClass {
	BORDER-BOTTOM: red 1px solid; BORDER-LEFT: red 1px solid; =
BACKGROUND-COLOR: transparent; BORDER-TOP: red 1px solid; BORDER-RIGHT: =
red 1px solid
}
.LabelEditWorkClass {
	BORDER-BOTTOM: red 0px solid; BORDER-LEFT: red 0px solid; =
BACKGROUND-COLOR: transparent; BORDER-TOP: red 0px solid; BORDER-RIGHT: =
red 0px solid
}
.SuggestTextMenu {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
WHITE-SPACE: nowrap; BACKGROUND: white; BORDER-TOP: black 1px solid; =
BORDER-RIGHT: black 1px solid
}
.SuggestNodeOver {
	BACKGROUND-COLOR: navy; COLOR: white
}
.eipbackimg {
	BORDER-BOTTOM: 1px outset; POSITION: absolute; BORDER-LEFT: 1px outset; =
MARGIN-TOP: -22px; WHITE-SPACE: nowrap; BACKGROUND: =
url(../../images/eip_toolbar.gif) #99cccc; HEIGHT: 22px; BORDER-TOP: 1px =
outset; BORDER-RIGHT: 1px outset
}
.eipbuttonbackimg {
	WIDTH: 21px; DISPLAY: inline-block; HEIGHT: 21px; CURSOR: pointer
}
.eipbutton_edit {
	BACKGROUND: url(../../images/eip_edit.gif) no-repeat 100% center
}
.eipbutton_save {
	BACKGROUND: url(../../images/eip_save.gif) no-repeat 100% center
}
.eipborderhover {
	BORDER-BOTTOM: 1px outset; BORDER-LEFT: 1px outset; BORDER-TOP: 1px =
outset; BORDER-RIGHT: 1px outset
}
.DNNEmptyPane {
	WIDTH: 0px
}
.DNNAlignleft {
	TEXT-ALIGN: left
}
.DNNAlignright {
	TEXT-ALIGN: right
}
.DNNAligncenter {
	TEXT-ALIGN: center
}
.LoginPanel {
=09
}
.LoginTabGroup {
=09
}
.LoginTab {
	BORDER-BOTTOM: #25569a 1px solid; BORDER-LEFT: #25569a 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) left =
top; FLOAT: left; COLOR: #fff; BORDER-TOP: #25569a 1px solid; =
BORDER-RIGHT: #25569a 1px solid; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.LoginTabSelected {
	BORDER-BOTTOM: #25569a 1px solid; BORDER-LEFT: #25569a 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) 0% =
-41px; FLOAT: left; COLOR: #fff; BORDER-TOP: #25569a 1px solid; =
BORDER-RIGHT: #25569a 1px solid; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.LoginTabHover {
	BORDER-BOTTOM: #c00 1px solid; BORDER-LEFT: #c00 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) left =
top; FLOAT: left; COLOR: #555; BORDER-TOP: #c00 1px solid; CURSOR: =
pointer; BORDER-RIGHT: #c00 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.LoginContainerGroup {
	CLEAR: both; PADDING-TOP: 5px
}
.LoginContainer {
=09
}
#tablist {
	PADDING-BOTTOM: 10px; MARGIN: 0px; WIDTH: 120px; FLOAT: left; =
BORDER-RIGHT: black 1px solid
}
.dashboardPanel {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
MARGIN-LEFT: 120px; PADDING-TOP: 0px
}
.dashboardPanel TABLE TD {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; =
PADDING-TOP: 2px
}
.dashboardPanel TABLE TH {
	BORDER-BOTTOM: #9fb1bc 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: =
4px; PADDING-RIGHT: 4px; COLOR: #036; FONT-SIZE: 1em; FONT-WEIGHT: bold; =
PADDING-TOP: 2px
}
.dashboardTableAlt {
	BACKGROUND-COLOR: #eee
}
.dashboardGrid {
	MARGIN: 10px
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/css/menu.css

.main_dnnmenu_bar {
	BACKGROUND-COLOR: #003366; FONT-SIZE: 11px; CURSOR: pointer
}
.main_dnnmenu_rootitem {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px; LINE-HEIGHT: 24px; =
TEXT-TRANSFORM: none; BACKGROUND-COLOR: #003366; PADDING-LEFT: 15px; =
PADDING-RIGHT: 15px; FONT-FAMILY: Times, serif; COLOR: #fff; FONT-SIZE: =
13px; FONT-WEIGHT: normal; PADDING-TOP: 4px
}
.main_dnnmenu_rootitem_hover {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px; LINE-HEIGHT: 24px; =
TEXT-TRANSFORM: none; BACKGROUND-COLOR: #003366; PADDING-LEFT: 15px; =
PADDING-RIGHT: 15px; FONT-FAMILY: Times, serif; COLOR: #ffffff; =
FONT-SIZE: 13px; FONT-WEIGHT: normal; PADDING-TOP: 4px
}
.main_dnnmenu_rootitem_selected {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px; LINE-HEIGHT: 24px; =
TEXT-TRANSFORM: none; BACKGROUND-COLOR: #003366; PADDING-LEFT: 15px; =
PADDING-RIGHT: 15px; FONT-FAMILY: Times, serif; COLOR: #ffffff; =
FONT-SIZE: 13px; FONT-WEIGHT: normal; PADDING-TOP: 4px
}
.main_dnnmenu_submenu {
	BORDER-BOTTOM: #999 1px solid; BORDER-LEFT: #999 1px solid; =
BORDER-RIGHT: #999 1px solid
}
.main_dnnmenu_submenu TD {
	Z-INDEX: 1000; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 2em; =
BACKGROUND-COLOR: #f8faff; MARGIN: 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #000000; FONT-SIZE: 11px; FONT-WEIGHT: bold; =
PADDING-TOP: 0px
}
.main_dnnmenu_itemhover TD {
	Z-INDEX: 1000; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 2em; =
MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BACKGROUND: #003377; =
COLOR: #ffffff; FONT-SIZE: 11px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.main_dnnmenu_itemselected TD {
	Z-INDEX: 1000; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 2em; =
MARGIN: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BACKGROUND: #003377; =
COLOR: #ffffff; FONT-SIZE: 11px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.main_dnnmenu_break {
	BACKGROUND-COLOR: #d5e0ff; HEIGHT: 2px
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/Skins/NCSL/skin.css

@import url( css/menu.css );
BODY {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; BACKGROUND: #fff; HEIGHT: 100%; PADDING-TOP: 0px
}
#bodyalign {
	TEXT-ALIGN: left
}
A {
	FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #3770b3; FONT-WEIGHT: =
normal; TEXT-DECORATION: none
}
A:link {
	FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #3770b3; FONT-WEIGHT: =
normal; TEXT-DECORATION: none
}
A:visited {
	FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #3770b3; FONT-WEIGHT: =
normal; TEXT-DECORATION: none
}
A:active {
	FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #3770b3; FONT-WEIGHT: =
normal; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px
}
P {
	PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; FONT-SIZE: =
11px; PADDING-TOP: 5px
}
UL LI {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.3em; MARGIN: 0px 0px 3px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, =
sans-serif; FONT-SIZE: 11px; LIST-STYLE-IMAGE: url(images/arrow.gif); =
PADDING-TOP: 0px
}
UL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.3em; MARGIN: 0px 0px 3px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, =
sans-serif; FONT-SIZE: 11px; LIST-STYLE-IMAGE: url(images/arrow.gif); =
PADDING-TOP: 0px
}
LI {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
OL {
	LIST-STYLE-POSITION: outside; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.3em; =
TEXT-INDENT: 10px; MARGIN: 0px 0px 8px 20px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 11px; PADDING-TOP: 0px
}
#header {
	BACKGROUND: url(images/bg-header.gif) repeat-x left top; HEIGHT: 26px
}
.headerline {
	WIDTH: 2px; BACKGROUND: url(images/topline.gif) repeat-y 50% top
}
.header_one {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; =
PADDING-TOP: 0px
}
.header_one DIV {
	COLOR: #003377; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.header_one P {
	COLOR: #003377; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.header_two {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 0px
}
.menu_two {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.menu_two2 {
	BACKGROUND: url(menu2_bg.gif) repeat-x; HEIGHT: 24px
}
#logobar {
	BACKGROUND: url(images/bg-head.jpg) no-repeat right top
}
.logoright {
	TEXT-ALIGN: right; PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; =
PADDING-RIGHT: 20px; PADDING-TOP: 20px
}
.logolinks {
=09
}
.logolinks P {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: none
}
.logolinks DIV {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: none
}
.logolinks A:link {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: none
}
.logolinks A:visited {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: none
}
.logolinks A:active {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: none
}
.logolinks A:hover {
	COLOR: #fff; TEXT-DECORATION: underline
}
.search {
	HEIGHT: 22px
}
.searcher {
=09
}
.searchbtn {
=09
}
#menubar {
	BACKGROUND: #003366 repeat-x left top
}
.nav {
	BACKGROUND: #003366; COLOR: #ffffff
}
.rss {
	BACKGROUND: #003366
}
.rss DIV {
	COLOR: #fff; FONT-SIZE: 10px
}
.rss A:link {
	COLOR: #fff; FONT-SIZE: 10px
}
.rss A:visited {
	COLOR: #fff; FONT-SIZE: 10px
}
.rss A:active {
	COLOR: #fff; FONT-SIZE: 10px
}
.rss A:hover {
	COLOR: #fff; FONT-SIZE: 10px; TEXT-DECORATION: underline
}
.bread {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
PADDING-TOP: 5px
}
.admin {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.portalpane {
=09
}
#content {
=09
}
#maincontent {
=09
}
#rightcontent {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 7px
}
#rightcontenttop {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 1px
}
.leftcol {
	WIDTH: 310px
}
.leftcol_press {
	WIDTH: 160px
}
.rightcol {
	WIDTH: 350px
}
.righttop {
=09
}
.rightleft {
	WIDTH: 135px
}
.rightright {
	WIDTH: 135px
}
.rightcolGC {
	WIDTH: 170px
}
.rightcol_press {
=09
}
.leftcolSL {
	WIDTH: 300px
}
.rightcolSL {
	WIDTH: 330px
}
.leftcolSLint {
=09
}
.rightcolSLint {
=09
}
.rightleftSL {
	WIDTH: 155px
}
.rightrightSL {
	WIDTH: 155px
}
.mainsepSL {
	WIDTH: 15px
}
.leftcolint {
=09
}
.rightcolint {
=09
}
.rightleftint {
	WIDTH: 50%
}
.rightrightint {
	WIDTH: 50%
}
.mainsepint {
	WIDTH: 20px
}
.mainsep {
	WIDTH: 20px; BACKGROUND: url(images/vertical_line.gif) repeat-y center =
50%
}
.portalsep {
	WIDTH: 15px
}
.rightsep {
	WIDTH: 10px; BACKGROUND: url(images/vertical_line.gif) repeat-y center =
50%
}
#footerbar {
=09
}
.footerpad P {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
10px; WORD-SPACING: 0.1em; PADDING-TOP: 0px
}
.footerpad .Normal {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
10px; WORD-SPACING: 0.1em; PADDING-TOP: 0px
}
.footerpad .Normal TABLE {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
10px; WORD-SPACING: 0.1em; PADDING-TOP: 0px
}
#bottombar {
=09
}
.botlinks {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
10px; WORD-SPACING: 0.1em; PADDING-TOP: 0px
}
.botlinks .Normal {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
10px; WORD-SPACING: 0.1em; PADDING-TOP: 0px
}
.botlinks A {
	FONT-SIZE: 10px
}
.botlinks P {
	FONT-SIZE: 10px
}
.botlinks DIV {
	FONT-SIZE: 10px
}
.clear_float {
	CLEAR: both
}
.Breadcrumb {
	COLOR: #231f20; FONT-SIZE: 10px
}
A.Breadcrumb:link {
	COLOR: #231f20; FONT-SIZE: 10px
}
A.Breadcrumb:active {
	COLOR: #231f20; FONT-SIZE: 10px
}
A.Breadcrumb:visited {
	COLOR: #231f20; FONT-SIZE: 10px
}
A.Breadcrumb:hover {
	COLOR: #231f20; TEXT-DECORATION: underline
}
.links {
	TEXT-ALIGN: center
}
.links {
	TEXT-TRANSFORM: uppercase; COLOR: #4f839f; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
A.links:link {
	TEXT-TRANSFORM: uppercase; COLOR: #4f839f; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
A.links:active {
	TEXT-TRANSFORM: uppercase; COLOR: #4f839f; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
A.links:visited {
	TEXT-TRANSFORM: uppercase; COLOR: #4f839f; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
A.links:hover {
	COLOR: #c00
}
.user {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
FONT-FAMILY: Tahoma, sans-serif; COLOR: #4f839f; FONT-SIZE: 11px; =
PADDING-TOP: 0px
}
A.user:link {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
FONT-FAMILY: Tahoma, sans-serif; COLOR: #4f839f; FONT-SIZE: 11px; =
PADDING-TOP: 0px
}
A.user:active {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
FONT-FAMILY: Tahoma, sans-serif; COLOR: #4f839f; FONT-SIZE: 11px; =
PADDING-TOP: 0px
}
A.user:visited {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
FONT-FAMILY: Tahoma, sans-serif; COLOR: #4f839f; FONT-SIZE: 11px; =
PADDING-TOP: 0px
}
A.user:hover {
	PADDING-BOTTOM: 6px; LINE-HEIGHT: 24px; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; BACKGROUND: #fff; COLOR: #000000; TEXT-DECORATION: =
none; PADDING-TOP: 6px
}
HTML > BODY .user {
	MARGIN-RIGHT: 4px
}
HTML > BODY A.user:link {
	MARGIN-RIGHT: 4px
}
HTML > BODY A.user:active {
	MARGIN-RIGHT: 4px
}
HTML > BODY A.user:visited {
	MARGIN-RIGHT: 4px
}
HTML > BODY A.user:hover {
	MARGIN-RIGHT: 4px
}
.copyright {
	COLOR: #333; FONT-SIZE: 10px
}
A.copyright:link {
	COLOR: #333; FONT-SIZE: 10px
}
A.copyright:active {
	COLOR: #333; FONT-SIZE: 10px
}
A.copyright:visited {
	COLOR: #333; FONT-SIZE: 10px
}
A.copyright:hover {
	COLOR: #231f20
}
.footer {
	COLOR: #333; FONT-SIZE: 10px
}
A.footer:link {
	COLOR: #333; FONT-SIZE: 10px
}
A.footer:active {
	COLOR: #333; FONT-SIZE: 10px
}
A.footer:visited {
	COLOR: #333; FONT-SIZE: 10px
}
A.footer:hover {
	COLOR: #231f20
}
.Head {
	FONT-FAMILY: Arial, sans-serif; COLOR: #ffffff; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.SubHead {
	FONT-FAMILY: Arial, sans-serif; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.SubSubHead {
	FONT-FAMILY: Arial, sans-serif; COLOR: #231f20; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.Normal {
	LINE-HEIGHT: 1.3em; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: =
#666666; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
TABLE {
	LINE-HEIGHT: 1.3em; FONT-FAMILY: Tahoma, Geneva, sans-serif; COLOR: =
#666666; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
.NormalTextBox {
	FONT-FAMILY: Arial, sans-serif; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.NormalRed {
	FONT-FAMILY: Arial, sans-serif; COLOR: #ff0000; FONT-SIZE: 10px; =
FONT-WEIGHT: bold
}
.NormalBold {
	LINE-HEIGHT: 1.3em; FONT-FAMILY: Arial, sans-serif; COLOR: #231f20; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.CommandButton {
	FONT-FAMILY: Arial, sans-serif; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
A.CommandButton:link {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:visited {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.CommandButton:active {
	COLOR: #003366; TEXT-DECORATION: underline
}
H1 {
	TEXT-ALIGN: left; LINE-HEIGHT: 24px; FONT-FAMILY: Arial, sans-serif; =
LETTER-SPACING: 0.1em; COLOR: #231f20; FONT-SIZE: 14px; FONT-WEIGHT: =
bold
}
H2 {
	TEXT-ALIGN: left; MARGIN: 10px 0px 6px; FONT-FAMILY: Arial, Geneva, =
sans-serif; LETTER-SPACING: 0.1em; COLOR: #003366; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
H3 {
	TEXT-ALIGN: left; FONT-FAMILY: Arial, sans-serif; COLOR: #231f20; =
FONT-SIZE: 12px; FONT-WEIGHT: bold
}
H4 {
	TEXT-ALIGN: left; FONT-FAMILY: Arial, sans-serif; COLOR: #003366; =
FONT-SIZE: 12px; FONT-WEIGHT: normal
}
H5 {
	TEXT-ALIGN: left; FONT-FAMILY: Arial, sans-serif; COLOR: #231f20; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
H6 {
	TEXT-ALIGN: left; FONT-FAMILY: Arial, sans-serif; COLOR: #003366; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
H2 .PageTitle {
	TEXT-ALIGN: left; FONT-FAMILY: Georgia, "Times New Roman", Times, =
serif; COLOR: #231f20; FONT-SIZE: 14px; FONT-WEIGHT: normal
}
.RedBoldType {
	COLOR: red; FONT-SIZE: 16px
}
.TitleStyle1 {
	LETTER-SPACING: 0.1em; FONT-WEIGHT: bold
}
HR {
	BACKGROUND-COLOR: #cccccc; MARGIN: 5px 0px; HEIGHT: 1px; COLOR: #cccccc
}
.tablepadding {
	PADDING-BOTTOM: 30px; PADDING-LEFT: 30px; PADDING-RIGHT: 30px; =
PADDING-TOP: 30px
}
BLOCKQUOTE {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; MARGIN: 0px 0px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, =
sans-serif; PADDING-TOP: 0px
}
#date {
	COLOR: #003366; FONT-SIZE: 10px
}
#table H6.spring {
	PADDING-BOTTOM: 3px; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: =
2px
}
H6.fall {
	PADDING-BOTTOM: 3px; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: =
2px
}
H6.annmtg {
	PADDING-BOTTOM: 3px; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: =
2px
}
#table H6.agenda {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #e5e5e5; FONT-SIZE: 11px; =
FONT-WEIGHT: bold; PADDING-TOP: 2px
}
#table TR.grayhead {
	BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #e5e5e5; =
VERTICAL-ALIGN: bottom; BORDER-TOP: #cccccc 1px solid
}
#table TR.gray {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #f2f2f2; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#table TR.goldhead {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #ffd86f; =
VERTICAL-ALIGN: bottom; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#table TR.gold {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #ffe091; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#table TR.bluehead {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #84b0c4; COLOR: =
#ffffff; VERTICAL-ALIGN: bottom; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#table TR.blue {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BACKGROUND-COLOR: #bed6e0; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#table P {
	PADDING-BOTTOM: 2px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; PADDING-TOP: 2px
}
#table TD {
	LINE-HEIGHT: 1.5em; VERTICAL-ALIGN: top
}
#contentArea {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; =
BACKGROUND-COLOR: #fff; PADDING-LEFT: 10px; WIDTH: 100%; PADDING-RIGHT: =
10px; BACKGROUND-REPEAT: repeat-x; VERTICAL-ALIGN: top; BORDER-TOP: =
#cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px
}
#contentArea H1 {
	COLOR: #003366; FONT-SIZE: 16px
}
#contentArea H3 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #dddddd; PADDING-LEFT: 1px; =
PADDING-RIGHT: 0px; DISPLAY: block; COLOR: #000000; FONT-SIZE: 13px; =
FONT-WEIGHT: 700; PADDING-TOP: 1px
}
#contentAreaFull {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; =
BACKGROUND-COLOR: #fff; PADDING-LEFT: 10px; WIDTH: 100%; PADDING-RIGHT: =
10px; BACKGROUND-REPEAT: repeat-x; VERTICAL-ALIGN: top; BORDER-TOP: =
#cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px
}
#contentAreaFull H1 {
	COLOR: #003366; FONT-SIZE: 15px
}
#contentAreaFull H3 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #dddddd; PADDING-LEFT: 1px; =
PADDING-RIGHT: 0px; DISPLAY: block; COLOR: #000000; FONT-SIZE: 13px; =
FONT-WEIGHT: 700; PADDING-TOP: 1px
}
#contentAreaFull P {
	LETTER-SPACING: normal; COLOR: #666666; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
#contentAreaFull TABLE {
	BORDER-BOTTOM: #cccccc 0px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#cccccc 0px solid; PADDING-BOTTOM: 2px; MARGIN: 0px auto; PADDING-LEFT: =
2px; WIDTH: 100%; PADDING-RIGHT: 2px; BORDER-COLLAPSE: collapse; =
BORDER-TOP: #cccccc 0px solid; BORDER-RIGHT: #cccccc 0px solid; =
PADDING-TOP: 2px
}
#contentAreadoc {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); PADDING-BOTTOM: =
10px; BACKGROUND-COLOR: #fff; PADDING-LEFT: 10px; WIDTH: 760px; =
PADDING-RIGHT: 10px; BACKGROUND-REPEAT: repeat-x; COLOR: #666; =
VERTICAL-ALIGN: top; PADDING-TOP: 10px
}
#contentAreadoc H1 {
	COLOR: #003366; FONT-SIZE: 15px
}
#contentAreadoc H3 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #dddddd; PADDING-LEFT: 1px; =
PADDING-RIGHT: 0px; DISPLAY: block; COLOR: #000000; FONT-SIZE: 13px; =
FONT-WEIGHT: 700; PADDING-TOP: 1px
}
#highlightbar {
	PADDING-BOTTOM: 18px; PADDING-LEFT: 18px; WIDTH: 210px; PADDING-RIGHT: =
18px; VERTICAL-ALIGN: top; PADDING-TOP: 18px
}
#highlightbar H2 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 8px; =
PADDING-RIGHT: 2px; DISPLAY: block; MARGIN-BOTTOM: 4px; COLOR: #ffffff; =
FONT-SIZE: 11px; FONT-WEIGHT: 500; PADDING-TOP: 1px
}
#highlightbar LI {
	FONT-FAMILY: Arial; FONT-SIZE: 10px
}
#highlightbar IMG {
	DISPLAY: none
}
#articleContent {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 10px; =
BACKGROUND-COLOR: #fff; PADDING-LEFT: 10px; WIDTH: 100%; PADDING-RIGHT: =
10px; BACKGROUND-REPEAT: repeat-x; VERTICAL-ALIGN: top; BORDER-TOP: =
#cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 10px
}
#articleContent H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#pagelinks {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; WIDTH: 210px; PADDING-RIGHT: =
8px; FLOAT: right; MARGIN-LEFT: 25px; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 8px
}
#pagelinks LI A {
	COLOR: #666666
}
#pagelinks LI A:hover {
	COLOR: #999999; TEXT-DECORATION: none
}
#pagelinks H3 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #093878; PADDING-LEFT: 8px; =
PADDING-RIGHT: 2px; DISPLAY: block; MARGIN-BOTTOM: 4px; COLOR: #ffffff; =
FONT-SIZE: 12px; FONT-WEIGHT: 500; PADDING-TOP: 1px
}
#pagelinks H4 {
	PADDING-BOTTOM: 1px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 8px; =
PADDING-RIGHT: 2px; DISPLAY: block; MARGIN-BOTTOM: 4px; COLOR: #ffffff; =
FONT-SIZE: 11px; FONT-WEIGHT: 500; PADDING-TOP: 1px
}
#img-articlecontent IMG {
	DISPLAY: none
}
.pretty-table {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-COLLAPSE: collapse; FONT-FAMILY: Arial, Helvetica, sans-serif; =
BACKGROUND: #d6dfe4; COLOR: #000; FONT-SIZE: 11px; BORDER-TOP: #cccccc =
1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 0px
}
.pretty-table CAPTION {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0.5em; FONT-STYLE: italic; =
PADDING-LEFT: 0px; CAPTION-SIDE: bottom; PADDING-RIGHT: 0px; COLOR: =
#990000; FONT-SIZE: 12px; PADDING-TOP: 0.5em
}
.pretty-table TH {
	BORDER-BOTTOM: #666 1px dotted; TEXT-ALIGN: left; BORDER-LEFT: #666 1px =
dotted; PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: =
0.5em; COLOR: #333333; BORDER-TOP: #666 1px dotted; BORDER-RIGHT: #666 =
1px dotted; PADDING-TOP: 0.5em
}
.pretty-table TD {
	BORDER-BOTTOM: #666 1px dotted; TEXT-ALIGN: left; BORDER-LEFT: #666 1px =
dotted; PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: =
0.5em; COLOR: #333333; BORDER-TOP: #666 1px dotted; BORDER-RIGHT: #666 =
1px dotted; PADDING-TOP: 0.5em
}
.pretty-table TH[scope=3Dcol] {
	BORDER-BOTTOM: #fff 2px solid; TEXT-TRANSFORM: uppercase; =
BACKGROUND-COLOR: #d6dfe4; COLOR: #000; FONT-SIZE: 0.9em; BORDER-RIGHT: =
#fff 2px solid
}
.pretty-table TH + TH[scope=3Dcol] {
	BACKGROUND-COLOR: #91a9b6; COLOR: #fff; BORDER-RIGHT: #666 1px dotted
}
.pretty-table TH[scope=3Drow] {
	BACKGROUND-COLOR: #d6dfe4; BORDER-RIGHT: #cccccc 2px solid
}
.pretty-table TR.alt TH {
	COLOR: #2a4763
}
.pretty-table TR.alt TD {
	COLOR: #2a4763
}
.pretty-table TR:hover TH[scope=3Drow] {
	BACKGROUND-COLOR: #ffffff; COLOR: #990000
}
.pretty-table TR:hover TD {
	BACKGROUND-COLOR: #ffffff; COLOR: #990000
}
.grasscatcher {
	BACKGROUND-COLOR: #9b2728
}
#basic H1 {
	MARGIN-BOTTOM: 5px
}
#basic UL {
	MARGIN-TOP: 12px; MARGIN-BOTTOM: 12px
}
#overview IMG {
	MARGIN: 0px 10px 10px 0px; FLOAT: left
}
#agenda TD {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
VERTICAL-ALIGN: top; PADDING-TOP: 3px
}
#agenda H6 {
	PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #d6dfe4; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; DISPLAY: block; PADDING-TOP: 4px
}
#agenda .time {
	PADDING-BOTTOM: 3px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BORDER-RIGHT: #cccccc 1px dotted; PADDING-TOP: 3px
}
#agenda .time P {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #d6dfe4; MARGIN: 0px; =
PADDING-LEFT: 8px; PADDING-RIGHT: 0px; COLOR: #000; BORDER-TOP: #cccccc =
1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 0px
}
#meeting_agenda H6 {
	BORDER-BOTTOM: #00ccff 1px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #b4e8fc; MARGIN: 0px; PADDING-LEFT: 4px; =
PADDING-RIGHT: 4px; DISPLAY: block; BORDER-TOP: #00ccff 1px solid; =
PADDING-TOP: 4px
}
#meeting_agenda H1 {
	BORDER-BOTTOM: #0aadea 1px solid; PADDING-LEFT: 8px; BORDER-TOP: =
#0aadea 2px solid
}
#meeting_agenda .time {
	BORDER-BOTTOM: #b4e8fc 1px solid; PADDING-BOTTOM: 3px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 3px
}
#meeting_agenda .time P {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 8px; PADDING-RIGHT: =
0px; COLOR: #000; PADDING-TOP: 0px
}
#meeting_agenda .border {
	BORDER-BOTTOM: #b4e8fc 1px solid; BORDER-LEFT: #b4e8fc 2px solid; =
PADDING-LEFT: 10px; WIDTH: 85%
}
#long_multi #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 15px 15px; WIDTH: 230px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#long_multi #bookmarkSS {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 12px 12px; WIDTH: 190px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#bookmarkSS H5 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLpdf.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#bookmarkSS H3 {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 2px
}
#bookmarkSS H4 {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 2px
}
#bookmarkSS H5 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLpdf.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#long_multi {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cccccc 1px solid; =
BACKGROUND-REPEAT: repeat-x
}
#long_multi H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#long_multi UL {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#long_multi H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#long_multi .rightspace {
	PADDING-RIGHT: 240px
}
#energy {
	WIDTH: 700px; DISPLAY: block
}
.cols2left {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 15px; =
PADDING-TOP: 5px
}
.cols2right {
	BORDER-LEFT: #cccccc 1px dotted; PADDING-BOTTOM: 10px; PADDING-LEFT: =
15px; PADDING-RIGHT: 15px; PADDING-TOP: 5px
}
#long_multi_climate {
	BACKGROUND-IMAGE: url(/Portals/1/images/globe.jpg); BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: 720px 45px
}
#long_multi_climate H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_climate H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_climate IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#long_multi UL {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#long_multi_climate H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #003366 3px solid; =
PADDING-TOP: 2px
}
#long_multi_generic {
	BACKGROUND-IMAGE: none; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: 720px 45px
}
#long_multi_generic H2 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e0e0e0; PADDING-TOP: 3px
}
#long_multi_generic H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_generic H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_generic IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#long_multi_generic H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #999999 3px solid; =
PADDING-TOP: 2px
}
#long_multi_generic #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 15px 30px; WIDTH: 165px; =
BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid
}
#long_multi_energy {
	BACKGROUND-IMAGE: url(/Portals/1/images/energy.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right bottom
}
#long_multi_energy H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #999999 3px solid; =
PADDING-TOP: 2px
}
#long_multi_energy H2 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e0e0e0; PADDING-TOP: 3px
}
#long_multi_energy H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_energy H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#long_multi_energy UL {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#grasscatcher {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cccccc 1px solid; =
BACKGROUND-REPEAT: repeat-x
}
#grasscatcher H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #990000; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#grasscatcher H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#grasscatcher IMG {
	MARGIN: 0px 0px 10px 15px; FLOAT: right
}
#grasscatcher {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#grasscatcher H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#grasscatcher #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 15px 15px; WIDTH: 230px; FLOAT: =
right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid
}
#grasscatcher #bookmark UL {
	PADDING-BOTTOM: 8px; PADDING-TOP: 8px
}
#notice {
	BORDER-BOTTOM: #91a9b6 1px solid; BORDER-LEFT: #91a9b6 1px solid; =
WIDTH: 440px; DISPLAY: block; MARGIN-LEFT: 25px; BORDER-TOP: #91a9b6 1px =
solid; BORDER-RIGHT: #91a9b6 1px solid
}
#notice H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#press {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 15px; PADDING-RIGHT: 15px; BACKGROUND-REPEAT: =
repeat-x; PADDING-TOP: 0px
}
#press H1 {
	BORDER-BOTTOM: #ffffff 2px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; FONT-FAMILY: =
Arial, Helvetica, sans-serif; LETTER-SPACING: 2px; FONT-SIZE: 12px; =
BORDER-TOP: #990000 3px solid; PADDING-TOP: 2px
}
#press H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#press H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 5px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#press #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 15px 15px; WIDTH: 230px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#press IMG {
	FLOAT: left; MARGIN-RIGHT: 15px
}
#ncsl_news {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); PADDING-BOTTOM: =
0px; PADDING-LEFT: 15px; PADDING-RIGHT: 15px; BACKGROUND-REPEAT: =
repeat-x; PADDING-TOP: 0px
}
#ncsl_news H1 {
	BORDER-BOTTOM: #ffffff 2px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; FONT-FAMILY: =
Arial, Helvetica, sans-serif; LETTER-SPACING: 2px; FONT-SIZE: 14px; =
BORDER-TOP: #990000 3px solid; PADDING-TOP: 2px
}
#ncsl_news H2 {
	PADDING-BOTTOM: 2px; MARGIN: 0px 0px 9px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 0px; DISPLAY: block; FONT-FAMILY: Arial, Helvetica, =
sans-serif; LETTER-SPACING: 2px; COLOR: #000000; FONT-SIZE: 13px; =
PADDING-TOP: 2px
}
#ncsl_news H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#ncsl_news H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 5px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#ncsl_news #date {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 6px; BACKGROUND-COLOR: #ffffff; MARGIN-TOP: 20px; =
PADDING-LEFT: 6px; WIDTH: 100px; PADDING-RIGHT: 6px; DISPLAY: block; =
FLOAT: right; COLOR: #333333; FONT-SIZE: 11px; BORDER-TOP: #cccccc 1px =
solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 6px
}
#ncsl_news #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 15px 15px; WIDTH: 230px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#basic_template {
	BACKGROUND-IMAGE: none; BORDER-BOTTOM: #cccccc 1px solid; =
BACKGROUND-REPEAT: repeat-x
}
#basic_template H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#basic_template H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#basic_template IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#basic_template UL {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#basic_template H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#basic_template IMG {
	FLOAT: left; MARGIN-RIGHT: 12px
}
#capitol ADDRESS {
	FONT-STYLE: oblique; LETTER-SPACING: 0.1em; COLOR: #042373
}
#capitol {
	BACKGROUND-IMAGE: url(/Portals/1/images/capitolbg.gif); PADDING-BOTTOM: =
10px; PADDING-LEFT: 15px; PADDING-RIGHT: 200px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: right bottom; PADDING-TOP: 10px
}
#capitol H1 {
	MARGIN-TOP: 15px; MARGIN-BOTTOM: 4px; BORDER-TOP: #042373 1px solid
}
#capitol H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#capitol H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 5px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#capitol_ideas {
	BACKGROUND-IMAGE: url(/Portals/1/images/capitolbg.gif); PADDING-BOTTOM: =
10px; PADDING-LEFT: 15px; PADDING-RIGHT: 210px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: right bottom; PADDING-TOP: 10px
}
#capitol_ideas H1 {
	MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px
}
#capitol_ideas H5 {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 10px; MARGIN: 0px
}
#capitol_ideas .description {
	LINE-HEIGHT: 16px; FONT-STYLE: italic; MARGIN: 5px 0px 20px; COLOR: =
#3770b3; FONT-SIZE: 12px; PADDING-TOP: 0px
}
#capitoltocapitol {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 15px; PADDING-RIGHT: 15px; =
PADDING-TOP: 10px
}
#capitoltocapitol ADDRESS {
	FONT-STYLE: oblique; LETTER-SPACING: 0.1em; COLOR: #042373; =
MARGIN-LEFT: 360px
}
#capitoltocapitol #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 8px; BACKGROUND-COLOR: #ffffff; MARGIN: 25px 0px 10px =
10px; PADDING-LEFT: 8px; WIDTH: 230px; PADDING-RIGHT: 8px; FLOAT: right; =
BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; =
PADDING-TOP: 8px
}
#capitoltocapitol H1 {
	MARGIN-TOP: 15px; MARGIN-BOTTOM: 4px; BORDER-TOP: #042373 1px solid
}
#capitoltocapitol H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#capitoltocapitol H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
.splitterMenu {
=09
}
.MenuTitle {
	MARGIN-TOP: 5px
}
#portal_main {
	BACKGROUND-IMAGE: url(/Portals/1/images/staffbg.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; BACKGROUND-REPEAT: =
repeat-x; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid
}
#portal_main IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#portal_main H3 {
	LETTER-SPACING: 0.2em
}
#long_multi TH {
	BORDER-BOTTOM: #91a9b6 2px dashed; TEXT-ALIGN: left
}
#award {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 8px; PADDING-LEFT: =
8px; PADDING-RIGHT: 8px; PADDING-TOP: 8px
}
#award H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#award H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; MARGIN: 3px 0px; =
PADDING-LEFT: 3px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 3px
}
#award IMG {
	MARGIN: 0px 15px 10px 0px; FLOAT: left
}
#award UL {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 1px; PADDING-RIGHT: 6px; =
PADDING-TOP: 8px
}
#award H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#award #bookmarkSS {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 35px 0px 12px 12px; WIDTH: 190px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#up_news {
	MIN-HEIGHT: 231px
}
#up_news H2 {
	MARGIN-BOTTOM: 2px
}
#up_news P {
	PADDING-BOTTOM: 10px; LINE-HEIGHT: 21px; MARGIN-TOP: 2px; MARGIN-LEFT: =
315px; BORDER-TOP: #a3c4d3 1px solid; MARGIN-RIGHT: 15px; PADDING-TOP: =
2px
}
#up_news IMG {
	MARGIN-RIGHT: 15px
}
#magazine {
	PADDING-BOTTOM: 18px; PADDING-TOP: 10px
}
#magazine P {
	PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; FONT-SIZE: =
11px; PADDING-TOP: 5px
}
#magazine IMG {
	FLOAT: left; MARGIN-RIGHT: 12px
}
#magazine #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 40px 0px 12px 12px; WIDTH: 220px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#magazine #bookmark_stats {
	BACKGROUND-IMAGE: url(/Portals/1/images/statestats.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; MARGIN: 40px 0px 12px =
12px; WIDTH: 220px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
center top; FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: =
#cccccc 1px solid
}
#magazine #bookmark_stats H5 {
	MARGIN-TOP: 150px
}
#magazine H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#magazine H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #000000; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; PADDING-TOP: 3px
}
#magazine H4 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLextra.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#magazine H5 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLpdf.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#magazine H2 {
	MARGIN-BOTTOM: 5px; FONT-SIZE: 14px; FONT-WEIGHT: bold
}
#magazine H2 A {
	MARGIN-BOTTOM: 5px; FONT-SIZE: 14px; FONT-WEIGHT: bold
}
#magazine_stateline {
	PADDING-BOTTOM: 18px; PADDING-TOP: 10px
}
#magazine_stateline IMG {
	FLOAT: left; MARGIN-RIGHT: 12px
}
#magazine_stateline #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 40px 0px 12px 12px; WIDTH: 220px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#magazine_stateline H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
#magazine_stateline H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #000000; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; PADDING-TOP: 3px
}
#magazine_stateline H4 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLextra.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#magazine_stateline H5 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLpdf.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#magazine_stateline H2 {
	MARGIN-BOTTOM: 5px; FONT-SIZE: 14px; FONT-WEIGHT: bold
}
#magazine_trends {
	PADDING-BOTTOM: 18px; PADDING-TOP: 10px
}
#magazine_trends IMG {
	FLOAT: left; MARGIN-RIGHT: 12px
}
#magazine_trends H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
9px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; PADDING-TOP: 2px
}
#magazine_trends #bookmark H3 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #000000; MARGIN-TOP: 160px; =
PADDING-LEFT: 8px; PADDING-RIGHT: 3px; COLOR: #ffffff; PADDING-TOP: 3px
}
#magazine_trends H5 {
	BACKGROUND-IMAGE: url(/Portals/1/images/SLpdf.gif); BORDER-BOTTOM: =
#000000 1px solid; BORDER-LEFT: #000000 1px solid; PADDING-BOTTOM: 3px; =
BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 36px; PADDING-RIGHT: 3px; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; COLOR: #000000; =
BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; =
PADDING-TOP: 3px
}
#magazine_trends #bookmark {
	BACKGROUND-IMAGE: url(/Portals/1/images/trends-1.gif); MARGIN-TOP: =
40px; WIDTH: 220px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
center top; FLOAT: right; MARGIN-LEFT: 14px
}
#hot_topics {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 8px; =
PADDING-TOP: 0px
}
#hot_topics #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 10px 0px 10px 10px; WIDTH: 160px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
#hot_topics IMG {
	POSITION: relative; BOTTOM: 0px; FLOAT: right; MARGIN-LEFT: 6px; RIGHT: =
-7px
}
#hot_topics P {
	PADDING-BOTTOM: 12px
}
#hot_topics H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #91a9b6; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#hot_topics LI {
	PADDING-BOTTOM: 6px
}
#hot_topics2 {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 8px; =
PADDING-TOP: 0px
}
#hot_topics2 #bookmark {
	BACKGROUND-IMAGE: url(/Portals/1/images/hot_news.jpg); BORDER-BOTTOM: =
#cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; MARGIN: 10px 0px 10px =
10px; WIDTH: 160px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
right bottom; FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: =
#cccccc 1px solid
}
#hot_topics2 #bookmark UL {
	PADDING-BOTTOM: 66px
}
#hot_topics2 P {
	PADDING-BOTTOM: 12px
}
#hot_topics2 H4 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #ff9900; PADDING-LEFT: 3px; =
PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; PADDING-TOP: 3px
}
#hot_topics2 LI {
	PADDING-BOTTOM: 6px
}
.reference {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BACKGROUND-COLOR: #ffffff; MARGIN: 0px 0px 12px 12px; WIDTH: 190px; =
FLOAT: right; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
.reference UL {
	MARGIN-TOP: 12px; MARGIN-BOTTOM: 12px
}
.rightcolbottom {
	WIDTH: 100%
}
.announcement {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; DISPLAY: =
block; MARGIN-BOTTOM: 10px; PADDING-TOP: 0px
}
.announcement H3 {
	BACKGROUND-IMAGE: url(/Portals/1/images/titleannouncement.jpg); =
BORDER-BOTTOM: #990000 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px; =
PADDING-LEFT: 10px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: repeat-x; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; FONT-SIZE: 12px; BORDER-TOP: #990000 3px solid; =
PADDING-TOP: 2px
}
.announcement IMG {
	MARGIN-RIGHT: 10px
}
.announcement P {
	PADDING-TOP: 7px
}
UL {
	PADDING-TOP: 7px
}
.announcement LI {
	LINE-HEIGHT: 16px
}
.announcement_mtg {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; DISPLAY: =
block; MARGIN-BOTTOM: 10px; PADDING-TOP: 0px
}
.announcement_mtg H3 {
	BACKGROUND-IMAGE: url(/Portals/1/images/mtg.jpg); BORDER-BOTTOM: =
#990000 0px solid; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; =
FONT-FAMILY: Arial, Helvetica, sans-serif; LETTER-SPACING: 2px; =
FONT-SIZE: 12px; BORDER-TOP: #003366 1px solid; PADDING-TOP: 3px
}
.announcement_mtg IMG {
	MARGIN-RIGHT: 10px
}
.announcement_mtg P {
	PADDING-TOP: 7px
}
UL {
	PADDING-TOP: 7px
}
.announcement_mtg LI {
	LINE-HEIGHT: 17px
}
.abrev {
	TEXT-ALIGN: center; PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #91a9b6; =
PADDING-LEFT: 8px; PADDING-RIGHT: 8px; DISPLAY: block; LETTER-SPACING: =
0.1em; COLOR: #ffffff; FONT-SIZE: 13px; PADDING-TOP: 2px
}
.abrev A:link {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.abrev A:visited {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.abrev A:hover {
	TEXT-DECORATION: underline
}
.announcement .mtg {
	BACKGROUND-IMAGE: url(/Portals/1/images/mtg.jpg); BORDER-BOTTOM: 0px; =
BORDER-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: 0px 0px 9px; =
PADDING-LEFT: 8px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 2px; HEIGHT: 24px; COLOR: #003366; FONT-SIZE: 12px; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 3px
}
.splitterMenu IMG {
	DISPLAY: none
}
#meetings H1 {
	BORDER-BOTTOM: #0aadea 1px solid; PADDING-LEFT: 8px; BORDER-TOP: =
#0aadea 2px solid
}
#meetings #bookmark {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
MARGIN: 10px; WIDTH: 230px; FLOAT: right; BORDER-TOP: #cccccc 1px solid; =
BORDER-RIGHT: #cccccc 1px solid
}
#meetings #bookmark H5 {
	PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #027fc2; MARGIN: 3px 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 5px
}
#meetings P.intro {
	PADDING-BOTTOM: 5px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: =
10px; PADDING-RIGHT: 0px; FONT-FAMILY: Tahoma, Geneva, sans-serif; =
COLOR: #666666; FONT-SIZE: 11px; PADDING-TOP: 5px
}
#meetings P.intro IMG {
	MARGIN: 0px 10px 10px 0px; FLOAT: left
}
.reg {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
WIDTH: 280px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px =
solid
}
.reg IMG {
	FLOAT: right
}
.reg H3 {
	BORDER-BOTTOM: #0aadea 1px dashed; PADDING-BOTTOM: 3px
}
#members_legisbrief {
	BACKGROUND-IMAGE: url(/Portals/1/images/legisbriefright190b.jpg); =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 99% 11px
}
#members_legisbrief H1 {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
4px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; FONT-FAMILY: =
Arial, Helvetica, sans-serif; LETTER-SPACING: 2px; FONT-SIZE: 12px; =
BORDER-TOP: #999999 3px solid; PADDING-TOP: 2px
}
#members_legisbrief H3 {
	MARGIN: 0px; LETTER-SPACING: 0.1em
}
#members_legisbrief .left {
	FONT-STYLE: italic; LETTER-SPACING: 0.1em; COLOR: #0099cc
}
#members_legisbrief .author {
	PADDING-BOTTOM: 0px; WHITE-SPACE: nowrap; PADDING-TOP: 0px
}
#members_legisbrief .author IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FLOAT: right; BORDER-TOP: 0px; =
MARGIN-RIGHT: 240px; BORDER-RIGHT: 0px
}
#public_legisbrief H1 {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; MARGIN: 0px 0px =
4px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; DISPLAY: block; FONT-FAMILY: =
Arial, Helvetica, sans-serif; LETTER-SPACING: 2px; FONT-SIZE: 12px; =
BORDER-TOP: #999999 3px solid; PADDING-TOP: 2px
}
#public_legisbrief .left {
	FONT-STYLE: italic; LETTER-SPACING: 0.1em; COLOR: #0099cc
}
#public_legisbrief .author {
	PADDING-BOTTOM: 0px; WHITE-SPACE: nowrap; PADDING-TOP: 0px
}
#public_legisbrief .author IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FLOAT: right; BORDER-TOP: 0px; =
MARGIN-RIGHT: 240px; BORDER-RIGHT: 0px
}
#public_legisbrief H3 {
	PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #093878; MARGIN: 3px 0px; =
PADDING-LEFT: 5px; PADDING-RIGHT: 3px; COLOR: #ffffff; FONT-WEIGHT: 500; =
PADDING-TOP: 2px
}
#public_legisbrief #general_info {
	BACKGROUND-IMAGE: url(/Portals/1/images/legisbriefright190b.jpg); =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 98% 21px; =
PADDING-TOP: 0px
}
#public_legisbrief .padding {
	PADDING-RIGHT: 25px
}
#public_legisbrief .note {
	BORDER-BOTTOM: #003366 1px solid; BORDER-LEFT: #003366 1px solid; =
PADDING-BOTTOM: 7px; MARGIN: 30px 0px 0px 20px; PADDING-LEFT: 7px; =
WIDTH: 112px; PADDING-RIGHT: 7px; DISPLAY: block; BORDER-TOP: #003366 =
1px solid; BORDER-RIGHT: #003366 1px solid; PADDING-TOP: 7px
}
#long_multi H1.summary {
	BORDER-TOP: #999999 3px solid
}
.blankspace {
	WIDTH: 220px
}
#long_multi_lsss H1 {
	BACKGROUND-IMAGE: url(/Portals/1/images/bghead.jpg); BORDER-BOTTOM: =
#ba9a26 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 22px; PADDING-LEFT: =
10px; BACKGROUND-REPEAT: repeat-x; PADDING-TOP: 0px
}
#long_multi_lsss #bookmark {
	BACKGROUND-IMAGE: url(/Portals/1/lsss_balance.jpg); BORDER-BOTTOM: =
#ba9a26 1px solid; BORDER-LEFT: #ba9a26 1px solid; PADDING-BOTTOM: =
300px; MARGIN-TOP: 20px; WIDTH: 180px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: 50% bottom; BORDER-TOP: #ba9a26 1px solid; =
BORDER-RIGHT: #ba9a26 1px solid
}
#long_multi_lsss H2 {
	BORDER-BOTTOM: #ba9a36 1px solid
}
#long_multi_lsss .col {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 0px
}
#long_multi_lsss .intro {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 0px
}
#left {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; WIDTH: 385px; PADDING-RIGHT: =
10px; PADDING-TOP: 0px
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/Containers/NCSL/container.css

.margination {
	MARGIN: 3px 0px 15px
}
.marginationGC {
	MARGIN: 3px 0px
}
.marginationlg {
	MARGIN: 0px 0px 15px
}
.marginationsm {
	MARGIN: 0px 0px 3px
}
.titlegray {
	BACKGROUND: #91a9b6 repeat-x left top; HEIGHT: 18px
}
.titlegraypad {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; =
PADDING-TOP: 2px
}
.titlegraypad SPAN.Head {
	FONT-FAMILY: Arial, san-serif; LETTER-SPACING: 0.1em; COLOR: #ffffff; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.titleblue {
	MARGIN-BOTTOM: 1px; BACKGROUND: url(images/bg-title-blue.gif) repeat-x =
left top; HEIGHT: 20px
}
.titlebluefade {
	MARGIN-BOTTOM: 3px; BACKGROUND: url(images/bg-title-blue.gif) repeat-x =
left top; HEIGHT: 20px
}
.titlebluepad {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; =
PADDING-TOP: 2px
}
.titlebluepad SPAN.Head {
	FONT-FAMILY: Arial, san-serif; LETTER-SPACING: 0.1em; COLOR: #ffffff; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.contfadepad {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BACKGROUND: =
url(images/bg-fade.gif) repeat-x left top; PADDING-TOP: 5px
}
.contfadepadwash {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 11px; PADDING-RIGHT: 11px; =
BACKGROUND: url(images/dateline-wash-capitol.jpg) no-repeat right =
bottom; PADDING-TOP: 8px
}
.contbluefadepad {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 11px; PADDING-RIGHT: 11px; =
BACKGROUND: #e5e9f2; PADDING-TOP: 8px
}
.contnofadepad {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.portalpad {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: =
#cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 0px
}
.portal2 {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
PADDING-BOTTOM: 0px; MARGIN-TOP: 3px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; =
PADDING-TOP: 0px
}
.washer {
	BACKGROUND: url(images/bg-fade.gif) repeat-x left top
}
.fadebar {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: =
url(images/bg-fade.gif) repeat-x left top; PADDING-TOP: 5px
}
.fadebarborder {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: =
3px; PADDING-RIGHT: 3px; BACKGROUND: url(images/bg-fade.gif) repeat-x =
left top; PADDING-TOP: 0px
}
.fadebarSL {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: =
5px; PADDING-RIGHT: 5px; BACKGROUND: url(images/bg-fade.gif) repeat-x =
left top; PADDING-TOP: 5px
}
.fadebarF {
	BORDER-BOTTOM: #cccccc 1px solid; PADDING-BOTTOM: 4px; PADDING-LEFT: =
8px; PADDING-RIGHT: 8px; BACKGROUND: url(images/bg-fade.gif) repeat-x =
left top; BORDER-TOP: #cccccc 1px solid; PADDING-TOP: 4px
}
.grassbar {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
url(images/bg-fade.gif) repeat-x left top; PADDING-TOP: 0px
}
#grassicon {
	BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND: no-repeat left top; =
BORDER-TOP: #cccccc 1px solid
}
.titleSL {
=09
}
.grasstitlelg {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 8px; PADDING-RIGHT: 5px; =
PADDING-TOP: 2px
}
.grasstitlelg_portal {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; =
PADDING-TOP: 2px
}
.fadetitle SPAN.Head {
	FONT-FAMILY: Arial, sans-serif; COLOR: #003377; FONT-SIZE: 16px; =
FONT-WEIGHT: bold
}
.fadetitlelg SPAN.Head {
	FONT-FAMILY: Georgia, Arial, sans-serif; COLOR: #000; FONT-SIZE: 32px; =
FONT-WEIGHT: bold
}
.grasstitlelg SPAN.Head {
	LINE-HEIGHT: 19pt; FONT-FAMILY: Georgia, serif; COLOR: #002851; =
FONT-SIZE: 24px; FONT-WEIGHT: normal
}
.grasstitlelg_portal SPAN.Head {
	LINE-HEIGHT: 19pt; FONT-FAMILY: Georgia, serif; COLOR: #002851; =
FONT-SIZE: 24px; FONT-WEIGHT: normal
}
.fadebody {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 3px
}
.fadebody2 {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.fadebody3 {
	TEXT-ALIGN: right; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 30px
}
.fadebodyG {
	TEXT-ALIGN: right; PADDING-BOTTOM: 3px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 5px; PADDING-TOP: 3px
}
.fadebodyF {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#SLbg {
	BACKGROUND: #fbfbfb
}
.SLborderL {
	WIDTH: 2px; BACKGROUND: url(images/sl-border-left.gif) no-repeat left =
top
}
.slborder {
	BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; =
BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid
}
.SLborderR {
	WIDTH: 2px; BACKGROUND: url(images/sl-border-right.gif) no-repeat right =
top
}
.SLimg {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 0.8em; PADDING-LEFT: 8px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Georgia, serif; COLOR: #073777; =
FONT-SIZE: 20px; FONT-WEIGHT: normal; PADDING-TOP: 16px
}
.SLtitle {
	TEXT-ALIGN: left; PADDING-BOTTOM: 6px; PADDING-LEFT: 8px; =
PADDING-RIGHT: 2px; PADDING-TOP: 3px
}
.SLtitle SPAN.Head {
	FONT-FAMILY: Arial, sans-serif; LETTER-SPACING: 0.1em; COLOR: #333; =
FONT-SIZE: 11px; FONT-WEIGHT: normal
}
.SLhead {
	BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND: #ebe8dd repeat-x left top
}
.SLbody {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: =
url(images/sl-bg-top_new.gif) #ebe8dd repeat-x left top; PADDING-TOP: =
8px
}
.portal_border {
	BORDER-BOTTOM: #999999 1px solid; BORDER-LEFT: #999999 1px solid; =
BACKGROUND: url(images/portal_gradient_bg.jpg) repeat-x 50% top; =
BORDER-RIGHT: #999999 1px solid
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/1/portal.css

.HeadBg {
=09
}
BODY {
	FONT-FAMILY: tahoma, Geneva, sans-serif; COLOR: #333333; FONT-SIZE: =
11px
}
.TabBg {
=09
}
.LeftPane {
=09
}
.ContentPane {
=09
}
.RightPane {
=09
}
.SelectedTab {
=09
}
A.SelectedTab:link {
=09
}
A.SelectedTab:visited {
=09
}
A.SelectedTab:active {
=09
}
A.SelectedTab:hover {
=09
}
.OtherTabs {
=09
}
A.OtherTabs:link {
=09
}
A.OtherTabs:visited {
=09
}
A.OtherTabs:active {
=09
}
A.OtherTabs:hover {
=09
}
.Head {
	COLOR: #333333
}
.SubHead {
=09
}
.SubSubHead {
=09
}
.Normal {
=09
}
.NormalTextBox {
=09
}
.NormalRed {
=09
}
.NormalBold {
=09
}
.CommandButton {
=09
}
A.CommandButton:link {
=09
}
A.CommandButton:visited {
=09
}
A.CommandButton:active {
=09
}
A.CommandButton:hover {
=09
}
H1 {
	TEXT-ALIGN: left; LINE-HEIGHT: 19px; FONT-FAMILY: Arial, sans-serif; =
LETTER-SPACING: 0.1em; COLOR: #231f20; FONT-SIZE: 14px; FONT-WEIGHT: =
bold
}
H2 {
	TEXT-ALIGN: left; MARGIN: 10px 0px 8px; FONT-FAMILY: Arial, Geneva, =
sans-serif; LETTER-SPACING: 0.1em; COLOR: #003366; FONT-SIZE: 13px; =
FONT-WEIGHT: bold
}
H3 {
	TEXT-ALIGN: left; FONT-FAMILY: Arial, sans-serif; COLOR: #231f20; =
FONT-SIZE: 12px; FONT-WEIGHT: bold
}
H4 {
=09
}
H5 {
=09
}
DT {
=09
}
H6 {
=09
}
TFOOT {
=09
}
THEAD {
=09
}
TH {
=09
}
A:link {
	COLOR: #3770b3; TEXT-DECORATION: none
}
A:visited {
	COLOR: #3770b3; TEXT-DECORATION: none
}
A:active {
	COLOR: #3770b3; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
SMALL {
=09
}
BIG {
=09
}
BLOCKQUOTE {
=09
}
PRE {
=09
}
UL LI {
=09
}
UL LI LI {
=09
}
UL LI LI LI {
=09
}
OL LI {
=09
}
OL OL LI {
=09
}
OL OL OL LI {
=09
}
OL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: decimal
}
HR {
	BACKGROUND-COLOR: #cccccc; HEIGHT: 1px; COLOR: #cccccc
}
.Message {
=09
}
.ItemTitle {
=09
}
.ModuleTitle_MenuContainer {
=09
}
.ModuleTitle_MenuBar {
=09
}
.ModuleTitle_MenuItem {
=09
}
.ModuleTitle_MenuIcon {
=09
}
.ModuleTitle_SubMenu {
=09
}
.ModuleTitle_MenuBreak {
=09
}
.ModuleTitle_MenuItemSel {
=09
}
.ModuleTitle_MenuArrow {
=09
}
.ModuleTitle_RootMenuArrow {
=09
}
.MainMenu_MenuContainer {
=09
}
.MainMenu_MenuBar {
=09
}
.MainMenu_MenuItem {
=09
}
.MainMenu_MenuIcon {
=09
}
.MainMenu_SubMenu {
=09
}
.MainMenu_MenuBreak {
=09
}
.MainMenu_MenuItemSel {
=09
}
.MainMenu_MenuArrow {
=09
}
.MainMenu_RootMenuArrow {
=09
}
.splitterMenu {
	BACKGROUND-COLOR: #ece9d8
}
.splitterMenu .TopItem {
=09
}
#newsletter_lsss {
	BACKGROUND-IMAGE: url(http://www.ncsl.org/portals/1/images/BGGOLD.jpg); =
WIDTH: 980px; BACKGROUND-REPEAT: repeat-y; BACKGROUND-POSITION: right =
50%
}
#newsletter_lsss .newsletter {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/portals/1/images/LSSS-title.jpg); BORDER-BOTTOM: =
0px; BORDER-LEFT: 0px; WIDTH: 980px; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: right top; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
#newsletter_lsss .gold {
	WIDTH: 218px
}
#newsletter_lsss .intro {
	BACKGROUND-IMAGE: url(http://www.ncsl.org/portals/1/images/LAWYER.jpg); =
PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 10px 3px; =
PADDING-TOP: 50px
}
#newsletter_lsss .col {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; WIDTH: 360px; PADDING-RIGHT: =
10px; PADDING-TOP: 0px
}
#newsletter_lsss .col {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; WIDTH: 360px; PADDING-RIGHT: =
10px; PADDING-TOP: 0px
}
#newsletter_lsss .col H2 {
	BACKGROUND-IMAGE: url(http://www.ncsl.org/portals/1/images/bghead.jpg); =
BORDER-BOTTOM: #ba9a26 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: =
22px; MARGIN-TOP: 20px; BACKGROUND-REPEAT: repeat-x; PADDING-TOP: 0px
}
#newsletter_lsss .box {
	PADDING-BOTTOM: 10px; OVERFLOW-X: auto; OVERFLOW-Y: auto; MARGIN-TOP: =
15px; PADDING-LEFT: 0px; WIDTH: 740px; PADDING-RIGHT: 0px; OVERFLOW: =
hidden; BORDER-TOP: #ba9a26 1px solid; PADDING-TOP: 15px
}
#newsletter_lsss .highlight {
	BORDER-BOTTOM: #ba9a26 1px solid; BORDER-LEFT: #ba9a26 1px solid; =
MARGIN-TOP: 20px; WIDTH: 94%; BORDER-TOP: #ba9a26 1px solid; =
BORDER-RIGHT: #ba9a26 1px solid
}
#newsletter_lsss #box_blank {
	BORDER-BOTTOM: #7f530a 1px solid; BORDER-LEFT: #7f530a 1px solid; =
PADDING-BOTTOM: 10px; BACKGROUND-COLOR: #ffffff; MARGIN-TOP: 340px; =
PADDING-LEFT: 10px; WIDTH: 160px; PADDING-RIGHT: 10px; MARGIN-LEFT: =
22px; BORDER-TOP: #7f530a 1px solid; BORDER-RIGHT: #7f530a 1px solid; =
PADDING-TOP: 10px
}
#newsletter_lsss IMG {
	FLOAT: left; BORDER-RIGHT: #ffffff 10px solid
}
#newsletter_lsss .col IMG.pdf {
	MARGIN-TOP: -5px; FLOAT: right
}
#ed_newsletter {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bell_l=
ogo.jpg); BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: right top
}
#ed_newsletter IMG {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 0px; PADDING-RIGHT: 8px; =
PADDING-TOP: 0px
}
#ed_newsletter .blue_col {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bg_r_c=
oll.jpg); PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 205px; =
PADDING-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
50% bottom; COLOR: #093f7b; PADDING-TOP: 0px
}
#ed_newsletter #left {
	WIDTH: 300px; PADDING-TOP: 0px
}
#ed_newsletter #right {
	PADDING-LEFT: 15px; PADDING-TOP: 0px
}
#ed_newsletter .meeting {
	PADDING-LEFT: 15px; PADDING-TOP: 0px
}
#ed_newsletter .meeting H2 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh3.j=
pg); BORDER-BOTTOM: #9ebdda 1px solid; LINE-HEIGHT: 22px; MARGIN-TOP: =
12px; TEXT-INDENT: 10px; WIDTH: 100%; DISPLAY: block; BACKGROUND-REPEAT: =
repeat-x
}
#ed_newsletter .blue_col H5 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh5.j=
pg); PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #6d9cc7; PADDING-LEFT: 4px; =
WIDTH: 80%; PADDING-RIGHT: 4px; DISPLAY: block; BACKGROUND-REPEAT: =
repeat-x; LETTER-SPACING: 0.1em; COLOR: #00337f; FONT-SIZE: 13px; =
PADDING-TOP: 4px
}
#ed_newsletter P.intro {
	MARGIN-TOP: 5px; WIDTH: 93%; DISPLAY: block; BORDER-TOP: #98bad8 1px =
solid; PADDING-TOP: 10px
}
#ed_newsletter .quote {
	BORDER-BOTTOM: #0a4c98 1px solid; BORDER-LEFT: #0a4c98 1px solid; =
WIDTH: 230px; FLOAT: right; BORDER-TOP: #0a4c98 1px solid; MARGIN-RIGHT: =
50px; BORDER-RIGHT: #0a4c98 1px solid
}
#ed_newsletter .quote P {
	PADDING-BOTTOM: 10px; LINE-HEIGHT: 21px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; COLOR: #2d516f; PADDING-TOP: 10px
}
ed_newsletter H2 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh3.j=
pg); BORDER-BOTTOM: #9ebdda 1px solid; LINE-HEIGHT: 22px; MARGIN-TOP: =
12px; TEXT-INDENT: 10px; WIDTH: 100%; DISPLAY: block; BACKGROUND-REPEAT: =
repeat-x
}
#ed_newsletter #right H2 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh3.j=
pg); BORDER-BOTTOM: #9ebdda 1px solid; LINE-HEIGHT: 22px; MARGIN-TOP: =
12px; TEXT-INDENT: 10px; WIDTH: 100%; DISPLAY: block; BACKGROUND-REPEAT: =
repeat-x
}
#ed_newsletter #left H2 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh3.j=
pg); BORDER-BOTTOM: #9ebdda 1px solid; LINE-HEIGHT: 22px; MARGIN-TOP: =
12px; TEXT-INDENT: 10px; WIDTH: 100%; DISPLAY: block; BACKGROUND-REPEAT: =
repeat-x
}
#ed_newsletter H3 {
	MARGIN: 8px 8px 6px 0px
}
#ed_newsletter H4 {
	MARGIN: 15px 0px 6px
}
#ed_newsletter .pub {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/book_b=
g1.gif); BORDER-BOTTOM: #0a4c98 1px solid; BORDER-LEFT: #0a4c98 1px =
solid; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 190px 15px; =
BORDER-TOP: #0a4c98 1px solid; BORDER-RIGHT: #0a4c98 1px solid
}
#ed_newsletter .pub P {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 10px
}
#ed_newsletter .pub H2 {
	BACKGROUND-IMAGE: =
url(http://www.ncsl.org/Portals/1/ImageLibrary/WebImages/Education/bgh3.j=
pg); BORDER-BOTTOM: #9ebdda 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: =
22px; MARGIN: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: repeat-x; PADDING-TOP: 0px
}
#foundation_newsletter {
	BACKGROUND-COLOR: #ffffff
}
#foundation_newsletter H1 {
	BORDER-BOTTOM: #c8a998 1px solid; BACKGROUND-COLOR: #fbe4c4; MARGIN: =
3px 0px; DISPLAY: block; COLOR: #003366; FONT-SIZE: 13px; FONT-WEIGHT: =
900; BORDER-RIGHT: #ffffff 10px solid
}
#foundation_newsletter H2 {
	BORDER-BOTTOM: #c8a998 1px solid; PADDING-BOTTOM: 4px; =
BACKGROUND-COLOR: #fbe4c4; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
DISPLAY: block; COLOR: #003366; FONT-SIZE: 12px; FONT-WEIGHT: 900; =
BORDER-RIGHT: #ffffff 10px solid; PADDING-TOP: 4px
}
#foundation_newsletter .article {
	BORDER-BOTTOM: #c8a998 1px solid; BORDER-LEFT: #c8a998 1px solid; =
PADDING-BOTTOM: 20px; BACKGROUND-COLOR: #fbe4c4; PADDING-LEFT: 20px; =
WIDTH: 220px; PADDING-RIGHT: 20px; BORDER-TOP: #c8a998 1px solid; =
BORDER-RIGHT: #c8a998 1px solid; PADDING-TOP: 20px
}
#foundation_newsletter IMG {
	BORDER-TOP: #ffffff 5px solid; BORDER-RIGHT: #ffffff 15px solid
}
#foundation_newsletter .center {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 20px; WIDTH: 550px; PADDING-RIGHT: =
0px; PADDING-TOP: 10px
}
#foundation_newsletter #right_column {
	MARGIN-TOP: 200px; WIDTH: 180px; MARGIN-LEFT: 14px
}
#foundation_newsletter #right_column .box {
	BORDER-BOTTOM: #ffffff 2px solid; BORDER-LEFT: #ffffff 2px solid; =
PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; WIDTH: 146px; PADDING-RIGHT: =
10px; DISPLAY: block; BORDER-TOP: #ffffff 2px solid; BORDER-RIGHT: =
#ffffff 2px solid; PADDING-TOP: 10px
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/Skins/NCSL/ChildColumns.css

#nav {
	MARGIN: 0px
}
#nav UL {
	POSITION: static
}
#nav UL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#nav A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
block; FONT: 8.5pt Tahoma, sans-serif; BACKGROUND: none transparent =
scroll repeat 0% 0%; COLOR: #fff; TEXT-DECORATION: none; PADDING-TOP: =
0px
}
#nav LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
FLOAT: left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#nav UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#nav UL LI A {
	BORDER-LEFT: #919191 1px solid; PADDING-BOTTOM: 4px; PADDING-LEFT: =
10px; PADDING-RIGHT: 10px; COLOR: #fff; BORDER-RIGHT: #848484 1px solid; =
PADDING-TOP: 6px
}
#nav UL LI UL {
	BORDER-BOTTOM: #0d3159 1px solid; POSITION: absolute; BORDER-LEFT: =
#0d3159 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 13em; =
PADDING-RIGHT: 0px; BACKGROUND: #e8edf1; MARGIN-LEFT: 0em; BORDER-TOP: =
#0d3159 1px solid; BORDER-RIGHT: #0d3159 1px solid; PADDING-TOP: 0px; =
LEFT: -999em
}
#nav UL LI#navP118 UL {
	Z-INDEX: 2000; WIDTH: 350px; MARGIN-LEFT: 0px
}
#nav UL LI#navP305 UL {
	WIDTH: 480px; MARGIN-LEFT: 0px
}
#nav UL LI#navP746 UL {
	WIDTH: 560px; MARGIN-LEFT: -66px
}
#nav UL LI#navP756 UL {
	WIDTH: 680px; MARGIN-LEFT: -165px
}
#nav UL LI#navP773 UL {
	WIDTH: 730px; MARGIN-LEFT: -217px
}
#nav UL LI#navP788 UL {
	WIDTH: 610px; MARGIN-LEFT: -262px
}
#nav UL LI#navP714 UL {
	WIDTH: 390px; MARGIN-LEFT: -140px
}
#nav UL LI#navP806 UL {
	WIDTH: 290px; MARGIN-LEFT: -90px
}
#nav UL LI#navP715 UL {
	WIDTH: 200px; MARGIN-LEFT: -50px
}
#nav UL LI#navP807 UL {
	WIDTH: 410px; MARGIN-LEFT: -190px
}
#nav UL LI#navP368 UL {
	WIDTH: 13em; MARGIN-LEFT: 0px
}
#nav UL LI UL LI {
	BORDER-BOTTOM: #e8edf1 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#e8edf1 1px solid; PADDING-BOTTOM: 1px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; COLOR: #0d3159; BORDER-TOP: =
#e8edf1 1px solid; BORDER-RIGHT: #e8edf1 1px solid
}
#nav UL LI UL LI A {
	BORDER-BOTTOM: #756 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 14px; =
PADDING-LEFT: 0px; WIDTH: 10em; PADDING-RIGHT: 0px; BACKGROUND: none =
transparent scroll repeat 0% 0%; COLOR: #0d3159; FONT-WEIGHT: normal; =
PADDING-TOP: 0px
}
#nav UL LI#navP118 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 12em; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP305 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 146px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP746 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 175px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP756 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 155px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP773 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 146px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP788 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 140px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP714 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 125px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP806 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 135px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP715 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 175px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP807 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 135px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP368 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 2px; LINE-HEIGHT: =
24px; PADDING-LEFT: 2px; WIDTH: 10em; PADDING-RIGHT: 2px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 2px
}
#nav UL LI#navP746 UL LI#navC823 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP746 UL LI#navC749 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP746 UL LI#navC751 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP756 UL LI#navC760 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC764 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC768 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC772 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP714 UL LI#navC735 A {
	LINE-HEIGHT: 15px; WIDTH: 105px
}
#nav UL LI#navP714 UL LI#navC730 A {
	LINE-HEIGHT: 15px; WIDTH: 105px
}
#nav UL LI#navP714 UL LI#navC739 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP773 UL LI#navC777 A {
	LINE-HEIGHT: 15px; WIDTH: 250px
}
#nav UL LI#navP788 UL LI#navC790 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC796 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC800 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC804 A {
	LINE-HEIGHT: 15px; WIDTH: 200px
}
#nav UL LI#navP807 UL LI#navC815 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC813 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC811 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC814 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC812 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC816 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC3803 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav LI:hover UL {
	LEFT: auto
}
#nav LI.sfhover UL {
	LEFT: auto
}
#nav LI:hover {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 0% -30px
}
#nav LI.sfhover {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 0% -30px
}
#nav LI:hover A {
	BACKGROUND-POSITION: 100% -30px; COLOR: #0d3159
}
#nav LI.sfhover A {
	BACKGROUND-POSITION: 100% -30px; COLOR: #0d3159
}
#nav UL LI.selected A {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 100% -30px; COLOR: =
#0d3159
}
#nav UL LI UL LI:hover {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid
}
#nav UL LI UL LI.sfhover {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid
}
#nav UL LI UL LI A:hover {
	COLOR: #000
}
#nav UL LI UL LI A.selected {
	COLOR: #000; TEXT-DECORATION: underline
}
#navupper {
	TEXT-ALIGN: right; BORDER-LEFT: #ccc 1px solid; MARGIN: 0px; WIDTH: =
auto; BACKGROUND: url(menu2_bg.gif) repeat-x; FLOAT: right; HEIGHT: 24px
}
#navupper UL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#navupper A {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: =
block; FONT: 8.3pt Tahoma, sans-serif; BACKGROUND: none transparent =
scroll repeat 0% 0%; COLOR: #4f839f; TEXT-DECORATION: none; PADDING-TOP: =
2px
}
#navupper LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
FLOAT: left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#navupper UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#navupper UL LI A {
	BORDER-LEFT: #fff 1px solid; PADDING-BOTTOM: 6px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #4f839f; BORDER-RIGHT: #ccc 1px solid; =
PADDING-TOP: 6px
}
#navupper UL LI UL {
	BORDER-BOTTOM: #0d3159 0px solid; POSITION: absolute; BORDER-LEFT: =
#0d3159 0px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 145px; =
PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; MARGIN-LEFT: 0px; BORDER-TOP: =
#0d3159 0px solid; BORDER-RIGHT: #0d3159 0px solid; PADDING-TOP: 5px; =
LEFT: -999em
}
#navupper UL LI UL LI {
	BORDER-BOTTOM: #e8edf1 0px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#e8edf1 0px solid; PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; COLOR: =
#0d3159; BORDER-TOP: #e8edf1 0px solid; BORDER-RIGHT: #e8edf1 0px solid
}
#navupper UL LI UL LI A {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 140px; PADDING-RIGHT: =
2px; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #0d3159; =
FONT-WEIGHT: normal; PADDING-TOP: 2px
}
#navupper LI:hover UL {
	LEFT: auto
}
#navupper LI.sfhover UL {
	LEFT: auto
}
#navupper LI:hover {
	BACKGROUND: #fff
}
#navupper LI.sfhover {
	BACKGROUND: #fff
}
#navupper LI:visited {
	BACKGROUND: #fff
}
#navupper LI.sfvisited {
	BACKGROUND: #fff
}
#navupper LI:hover A {
	BACKGROUND: #fff; COLOR: #0d3159; TEXT-DECORATION: none
}
#navupper LI.sfhover A {
	BACKGROUND: #fff; COLOR: #0d3159; TEXT-DECORATION: none
}
#navupper UL LI.selected A {
	COLOR: #0d3159
}
#navupper UL LI UL LI:hover {
	BORDER-BOTTOM: #fff 0px solid; BORDER-LEFT: #fff 0px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 0px solid; BORDER-RIGHT: #fff 0px solid
}
#navupper UL LI UL LI.sfhover {
	BORDER-BOTTOM: #fff 0px solid; BORDER-LEFT: #fff 0px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 0px solid; BORDER-RIGHT: #fff 0px solid
}
#navupper UL LI UL LI A:hover {
	BACKGROUND: #fff; COLOR: #000
}
#navupper UL LI UL LI A.selected {
	COLOR: #000; TEXT-DECORATION: underline
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/Skins/NCSL/ChildColumns.css

#nav {
	MARGIN: 0px
}
#nav UL {
	POSITION: static
}
#nav UL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#nav A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
block; FONT: 8.5pt Tahoma, sans-serif; BACKGROUND: none transparent =
scroll repeat 0% 0%; COLOR: #fff; TEXT-DECORATION: none; PADDING-TOP: =
0px
}
#nav LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
FLOAT: left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#nav UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#nav UL LI A {
	BORDER-LEFT: #919191 1px solid; PADDING-BOTTOM: 4px; PADDING-LEFT: =
10px; PADDING-RIGHT: 10px; COLOR: #fff; BORDER-RIGHT: #848484 1px solid; =
PADDING-TOP: 6px
}
#nav UL LI UL {
	BORDER-BOTTOM: #0d3159 1px solid; POSITION: absolute; BORDER-LEFT: =
#0d3159 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 13em; =
PADDING-RIGHT: 0px; BACKGROUND: #e8edf1; MARGIN-LEFT: 0em; BORDER-TOP: =
#0d3159 1px solid; BORDER-RIGHT: #0d3159 1px solid; PADDING-TOP: 0px; =
LEFT: -999em
}
#nav UL LI#navP118 UL {
	Z-INDEX: 2000; WIDTH: 350px; MARGIN-LEFT: 0px
}
#nav UL LI#navP305 UL {
	WIDTH: 480px; MARGIN-LEFT: 0px
}
#nav UL LI#navP746 UL {
	WIDTH: 560px; MARGIN-LEFT: -66px
}
#nav UL LI#navP756 UL {
	WIDTH: 680px; MARGIN-LEFT: -165px
}
#nav UL LI#navP773 UL {
	WIDTH: 730px; MARGIN-LEFT: -217px
}
#nav UL LI#navP788 UL {
	WIDTH: 610px; MARGIN-LEFT: -262px
}
#nav UL LI#navP714 UL {
	WIDTH: 390px; MARGIN-LEFT: -140px
}
#nav UL LI#navP806 UL {
	WIDTH: 290px; MARGIN-LEFT: -90px
}
#nav UL LI#navP715 UL {
	WIDTH: 200px; MARGIN-LEFT: -50px
}
#nav UL LI#navP807 UL {
	WIDTH: 410px; MARGIN-LEFT: -190px
}
#nav UL LI#navP368 UL {
	WIDTH: 13em; MARGIN-LEFT: 0px
}
#nav UL LI UL LI {
	BORDER-BOTTOM: #e8edf1 1px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#e8edf1 1px solid; PADDING-BOTTOM: 1px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; COLOR: #0d3159; BORDER-TOP: =
#e8edf1 1px solid; BORDER-RIGHT: #e8edf1 1px solid
}
#nav UL LI UL LI A {
	BORDER-BOTTOM: #756 1px solid; PADDING-BOTTOM: 0px; LINE-HEIGHT: 14px; =
PADDING-LEFT: 0px; WIDTH: 10em; PADDING-RIGHT: 0px; BACKGROUND: none =
transparent scroll repeat 0% 0%; COLOR: #0d3159; FONT-WEIGHT: normal; =
PADDING-TOP: 0px
}
#nav UL LI#navP118 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 12em; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP305 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 146px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP746 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 175px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP756 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 155px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP773 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 146px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP788 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 140px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP714 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 125px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP806 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 135px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP715 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 175px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP807 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
15px; PADDING-LEFT: 0px; WIDTH: 135px; PADDING-RIGHT: 0px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#nav UL LI#navP368 UL LI A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 2px; LINE-HEIGHT: =
24px; PADDING-LEFT: 2px; WIDTH: 10em; PADDING-RIGHT: 2px; BACKGROUND: =
none transparent scroll repeat 0% 0%; COLOR: #0d3159; BORDER-TOP: 0px; =
FONT-WEIGHT: normal; BORDER-RIGHT: 0px; PADDING-TOP: 2px
}
#nav UL LI#navP746 UL LI#navC823 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP746 UL LI#navC749 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP746 UL LI#navC751 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP756 UL LI#navC760 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC764 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC768 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP756 UL LI#navC772 A {
	LINE-HEIGHT: 15px; WIDTH: 155px
}
#nav UL LI#navP714 UL LI#navC735 A {
	LINE-HEIGHT: 15px; WIDTH: 105px
}
#nav UL LI#navP714 UL LI#navC730 A {
	LINE-HEIGHT: 15px; WIDTH: 105px
}
#nav UL LI#navP714 UL LI#navC739 A {
	LINE-HEIGHT: 15px; WIDTH: 125px
}
#nav UL LI#navP773 UL LI#navC777 A {
	LINE-HEIGHT: 15px; WIDTH: 250px
}
#nav UL LI#navP788 UL LI#navC790 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC796 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC800 A {
	LINE-HEIGHT: 15px; WIDTH: 140px
}
#nav UL LI#navP788 UL LI#navC804 A {
	LINE-HEIGHT: 15px; WIDTH: 200px
}
#nav UL LI#navP807 UL LI#navC815 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC813 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC811 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC814 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC812 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC816 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav UL LI#navP807 UL LI#navC3803 A {
	LINE-HEIGHT: 15px; WIDTH: 120px
}
#nav LI:hover UL {
	LEFT: auto
}
#nav LI.sfhover UL {
	LEFT: auto
}
#nav LI:hover {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 0% -30px
}
#nav LI.sfhover {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 0% -30px
}
#nav LI:hover A {
	BACKGROUND-POSITION: 100% -30px; COLOR: #0d3159
}
#nav LI.sfhover A {
	BACKGROUND-POSITION: 100% -30px; COLOR: #0d3159
}
#nav UL LI.selected A {
	BACKGROUND-COLOR: #e8edf1; BACKGROUND-POSITION: 100% -30px; COLOR: =
#0d3159
}
#nav UL LI UL LI:hover {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid
}
#nav UL LI UL LI.sfhover {
	BORDER-BOTTOM: #fff 1px solid; BORDER-LEFT: #fff 1px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid
}
#nav UL LI UL LI A:hover {
	COLOR: #000
}
#nav UL LI UL LI A.selected {
	COLOR: #000; TEXT-DECORATION: underline
}
#navupper {
	TEXT-ALIGN: right; BORDER-LEFT: #ccc 1px solid; MARGIN: 0px; WIDTH: =
auto; BACKGROUND: url(menu2_bg.gif) repeat-x; FLOAT: right; HEIGHT: 24px
}
#navupper UL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 18px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: left; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#navupper A {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; DISPLAY: =
block; FONT: 8.3pt Tahoma, sans-serif; BACKGROUND: none transparent =
scroll repeat 0% 0%; COLOR: #4f839f; TEXT-DECORATION: none; PADDING-TOP: =
2px
}
#navupper LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
FLOAT: left; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#navupper UL LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#navupper UL LI A {
	BORDER-LEFT: #fff 1px solid; PADDING-BOTTOM: 6px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; COLOR: #4f839f; BORDER-RIGHT: #ccc 1px solid; =
PADDING-TOP: 6px
}
#navupper UL LI UL {
	BORDER-BOTTOM: #0d3159 0px solid; POSITION: absolute; BORDER-LEFT: =
#0d3159 0px solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; WIDTH: 145px; =
PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; MARGIN-LEFT: 0px; BORDER-TOP: =
#0d3159 0px solid; BORDER-RIGHT: #0d3159 0px solid; PADDING-TOP: 5px; =
LEFT: -999em
}
#navupper UL LI UL LI {
	BORDER-BOTTOM: #e8edf1 0px solid; TEXT-ALIGN: left; BORDER-LEFT: =
#e8edf1 0px solid; PADDING-RIGHT: 5px; BACKGROUND: #e8edf1; COLOR: =
#0d3159; BORDER-TOP: #e8edf1 0px solid; BORDER-RIGHT: #e8edf1 0px solid
}
#navupper UL LI UL LI A {
	PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; WIDTH: 140px; PADDING-RIGHT: =
2px; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: #0d3159; =
FONT-WEIGHT: normal; PADDING-TOP: 2px
}
#navupper LI:hover UL {
	LEFT: auto
}
#navupper LI.sfhover UL {
	LEFT: auto
}
#navupper LI:hover {
	BACKGROUND: #fff
}
#navupper LI.sfhover {
	BACKGROUND: #fff
}
#navupper LI:visited {
	BACKGROUND: #fff
}
#navupper LI.sfvisited {
	BACKGROUND: #fff
}
#navupper LI:hover A {
	BACKGROUND: #fff; COLOR: #0d3159; TEXT-DECORATION: none
}
#navupper LI.sfhover A {
	BACKGROUND: #fff; COLOR: #0d3159; TEXT-DECORATION: none
}
#navupper UL LI.selected A {
	COLOR: #0d3159
}
#navupper UL LI UL LI:hover {
	BORDER-BOTTOM: #fff 0px solid; BORDER-LEFT: #fff 0px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 0px solid; BORDER-RIGHT: #fff 0px solid
}
#navupper UL LI UL LI.sfhover {
	BORDER-BOTTOM: #fff 0px solid; BORDER-LEFT: #fff 0px solid; BACKGROUND: =
#fff; BORDER-TOP: #fff 0px solid; BORDER-RIGHT: #fff 0px solid
}
#navupper UL LI UL LI A:hover {
	BACKGROUND: #fff; COLOR: #000
}
#navupper UL LI UL LI A.selected {
	COLOR: #000; TEXT-DECORATION: underline
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/Portals/_default/Skins/NCSL/print.css

BODY {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; BACKGROUND: =
#ffffff; COLOR: #000000; FONT-SIZE: 12pt
}
P {
	LINE-HEIGHT: 21px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif =
!important; BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: =
12pt !important
}
TBODY {
	LINE-HEIGHT: 21px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif =
!important; BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: =
12pt !important
}
TABLE {
	LINE-HEIGHT: 21px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif =
!important; BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: =
12pt !important
}
TABLE P {
	LINE-HEIGHT: 21px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif =
!important; BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: =
12pt !important
}
UL {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif !important; =
BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: 12pt =
!important
}
UL LI {
	FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif !important; =
BACKGROUND: #ffffff; COLOR: #000000 !important; FONT-SIZE: 12pt =
!important
}
H1 {
	LINE-HEIGHT: normal !important; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif !important; FONT-SIZE: 18pt !important
}
H2 {
	LINE-HEIGHT: normal !important; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif !important; FONT-SIZE: 16pt !important
}
H3 {
	LINE-HEIGHT: normal !important; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif !important; FONT-SIZE: 14pt !important
}
H4 {
	LINE-HEIGHT: normal !important; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif !important; FONT-SIZE: 14pt !important
}
H5 {
	LINE-HEIGHT: normal !important; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif !important; FONT-SIZE: 12pt !important
}
A {
	COLOR: #0000ff !important; TEXT-DECORATION: underline !important
}
#menubar {
	DISPLAY: none
}
#rightcontent {
	DISPLAY: none
}
#header {
	DISPLAY: none
}
#contentAreadoc H1 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 18pt
}
#contentAreadoc H2 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 16pt
}
#contentAreadoc H3 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 14pt
}
#contentAreadoc H4 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 13pt
}
#contentAreadoc P {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; BACKGROUND: #ffffff; COLOR: #000000; FONT-SIZE: 12pt
}
#contentAreaFull H1 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 18pt
}
#contentAreaFull H2 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 16pt
}
#contentAreaFull H3 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 14pt
}
#contentAreaFfull H4 {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; FONT-SIZE: 14pt
}
#contentAreaFull P {
	LINE-HEIGHT: normal; FONT-FAMILY: Verdana, Arial, Helvetica, =
sans-serif; BACKGROUND: #ffffff; COLOR: #000000; FONT-SIZE: 12pt
}
#long_multi H1 {
	FONT-SIZE: 22px
}
#basic_template H1 {
	FONT-SIZE: 22px
}
#magazine H1 {
	FONT-SIZE: 22px
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/WebResource.axd?d=e8cwxHfJ_lLJWojLl6HYlA2&t=633319021070636212

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");
        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 (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 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 && !(event.srcElement && =
(event.srcElement.tagName.toLowerCase() =3D=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_AppendToClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.charAt(current.length - 1) !=3D ' ') {
            current +=3D ' ';
        }
        current +=3D className;
    }
    else {
        current =3D className;
    }
    element.className =3D current;
}
function WebForm_RemoveClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.substring(current.length - className.length - 1, =
current.length) =3D=3D ' ' + className) {
            element.className =3D current.substring(0, current.length - =
className.length - 1);
            return;
        }
        if (current =3D=3D className) {
            element.className =3D "";
            return;
        }
        var index =3D current.indexOf(' ' + className + ' ');
        if (index !=3D -1) {
            element.className =3D current.substring(0, index) + =
current.substring(index + className.length + 2, current.length);
            return;
        }
        if (current.substring(0, className.length) =3D=3D className + ' =
') {
            element.className =3D current.substring(className.length + =
1, current.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_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/js/dnncore.js

//General
//for example: instead of each module writing out script found in =
moduleMaxMin_OnClick have the functionality cached
//

var DNN_COL_DELIMITER =3D String.fromCharCode(16);
var DNN_ROW_DELIMITER =3D String.fromCharCode(15);
var __dnn_m_bPageLoaded =3D false;

window.onload =3D __dnn_Page_OnLoad;

function __dnn_ClientAPIEnabled()
{
	return typeof(dnn) !=3D 'undefined';
}


function __dnn_Page_OnLoad()
{
	if (__dnn_ClientAPIEnabled())
	{
		var sLoadHandlers =3D dnn.getVar('__dnn_pageload');
		if (sLoadHandlers !=3D null)
			eval(sLoadHandlers);
	=09
		dnn.dom.attachEvent(window, 'onscroll', __dnn_bodyscroll);
	}
	__dnn_m_bPageLoaded =3D true;
}

function __dnn_KeyDown(iKeyCode, sFunc, e)
{
	if (e =3D=3D null)
		e =3D window.event;

	if (e.keyCode =3D=3D iKeyCode)
	{
		eval(unescape(sFunc));
		return false;
	}
}

function __dnn_bodyscroll()=20
{
	var oF=3Ddocument.forms[0];=09
	if (__dnn_ClientAPIEnabled() && __dnn_m_bPageLoaded)
		oF.ScrollTop.value=3Ddocument.documentElement.scrollTop ? =
document.documentElement.scrollTop : =
dnn.dom.getByTagName("body")[0].scrollTop;
}

function __dnn_setScrollTop(iTop)
{
	if (__dnn_ClientAPIEnabled())
	{
		if (iTop =3D=3D null)
			iTop =3D document.forms[0].ScrollTop.value;
=09
		var sID =3D dnn.getVar('ScrollToControl');
		if (sID !=3D null && sID.length > 0)
		{
			var oCtl =3D dnn.dom.getById(sID);
			if (oCtl !=3D null)
			{
				iTop =3D dnn.dom.positioning.elementTop(oCtl);
				dnn.setVar('ScrollToControl', '');
			}
		}
		window.scrollTo(0, iTop);
	}
}

//Focus logic
function __dnn_SetInitialFocus(sID)
{
	var oCtl =3D dnn.dom.getById(sID);=09
	if (oCtl !=3D null && __dnn_CanReceiveFocus(oCtl))
		oCtl.focus();
}=09

function __dnn_CanReceiveFocus(e)
{
	//probably should call getComputedStyle for classes that cause item to =
be hidden
	if (e.style.display !=3D 'none' && e.tabIndex > -1 && e.disabled =3D=3D =
false && e.style.visible !=3D 'hidden')
	{
		var eParent =3D e.parentElement;
		while (eParent !=3D null && eParent.tagName !=3D 'BODY')
		{
			if (eParent.style.display =3D=3D 'none' || eParent.disabled || =
eParent.style.visible =3D=3D 'hidden')
				return false;
			eParent =3D eParent.parentElement;
		}
		return true;
	}
	else
		return false;
}

//Max/Min Script
function __dnn_ContainerMaxMin_OnClick(oLnk, sContentID)
{
	var oContent =3D dnn.dom.getById(sContentID);
	if (oContent !=3D null)
	{
		var oBtn =3D oLnk.childNodes[0];
		var sContainerID =3D oLnk.getAttribute('containerid');
		var sCookieID =3D oLnk.getAttribute('cookieid');
		var sCurrentFile =3D =
oBtn.src.toLowerCase().substr(oBtn.src.lastIndexOf('/'));
		var sMaxFile;
		var sMaxIcon;
		var sMinIcon;

		if (dnn.getVar('min_icon_' + sContainerID))
			sMinIcon =3D dnn.getVar('min_icon_' + sContainerID);
		else
			sMinIcon =3D dnn.getVar('min_icon');

		if (dnn.getVar('max_icon_' + sContainerID))
			sMaxIcon =3D dnn.getVar('max_icon_' + sContainerID);
		else
			sMaxIcon =3D dnn.getVar('max_icon');

		sMaxFile =3D sMaxIcon.toLowerCase().substr(sMaxIcon.lastIndexOf('/'));

		var iNum =3D 5;
		if (oLnk.getAttribute('animf') !=3D null)
			iNum =3D new Number(oLnk.getAttribute('animf'));
		=09
		if (sCurrentFile =3D=3D sMaxFile)
		{
			oBtn.src =3D sMinIcon;			=09
			//oContent.style.display =3D '';
			dnn.dom.expandElement(oContent, iNum);
			oBtn.title =3D dnn.getVar('min_text');
			if (sCookieID !=3D null)
			{
				if (dnn.getVar('__dnn_' + sContainerID + ':defminimized') =3D=3D =
'true')
					dnn.dom.setCookie(sCookieID, 'true', 365);
				else
					dnn.dom.deleteCookie(sCookieID);
			}
			else
				dnn.setVar('__dnn_' + sContainerID + '_Visible', 'true');
		}
		else
		{
			oBtn.src =3D sMaxIcon;			=09
			//oContent.style.display =3D 'none';
			dnn.dom.collapseElement(oContent, iNum);
			oBtn.title =3D dnn.getVar('max_text');
			if (sCookieID !=3D null)
			{
				if (dnn.getVar('__dnn_' + sContainerID + ':defminimized') =3D=3D =
'true')
					dnn.dom.deleteCookie(sCookieID);
				else
					dnn.dom.setCookie(sCookieID, 'false', 365);			=09
			}
			else
				dnn.setVar('__dnn_' + sContainerID + '_Visible', 'false');		=09
		}
	=09
		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

function __dnn_Help_OnClick(sHelpID)
{
	var oHelp =3D dnn.dom.getById(sHelpID);
	if (oHelp !=3D null)
	{
		if (oHelp.style.display =3D=3D 'none')
			oHelp.style.display =3D '';
		else
			oHelp.style.display =3D 'none';

		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

function __dnn_SectionMaxMin(oBtn, sContentID)
{
	var oContent =3D dnn.dom.getById(sContentID);
	if (oContent !=3D null)
	{
		var sMaxIcon =3D oBtn.getAttribute('max_icon');
		var sMinIcon =3D oBtn.getAttribute('min_icon');
		var bCallback =3D oBtn.getAttribute('userctr') !=3D null;
		var sVal;
		if (oContent.style.display =3D=3D 'none')
		{
			oBtn.src =3D sMinIcon;			=09
			oContent.style.display =3D '';
			if (bCallback)
			    sVal =3D 'True';
			else
			    dnn.setVar(oBtn.id + ':exp', 1);
		}
		else
		{
			oBtn.src =3D sMaxIcon;			=09
			oContent.style.display =3D 'none';
			if (bCallback)
			    sVal =3D 'False';
			else
                dnn.setVar(oBtn.id + ':exp', 0);
		}
		if (bCallback)
		    dnncore.setUserProp(oBtn.getAttribute('userctr'), =
oBtn.getAttribute('userkey'), sVal, null);
		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

//Drag N Drop
function __dnn_enableDragDrop()
{
	var aryConts =3D dnn.getVar('__dnn_dragDrop').split(";");=09
	var aryTitles;

	for (var i=3D0; i < aryConts.length; i++)
	{
		aryTitles =3D aryConts[i].split(" ");
		if (aryTitles[0].length > 0)
		{		=09
			var oCtr =3D dnn.dom.getById(aryTitles[0]);
			var oTitle =3D dnn.dom.getById(aryTitles[1]);
			if (oCtr !=3D null && oTitle !=3D null)
			{
				oCtr.setAttribute('moduleid', aryTitles[2]);
				dnn.dom.positioning.enableDragAndDrop(oCtr, oTitle, =
'__dnn_dragComplete()', '__dnn_dragOver()');
			}=09
		}
	}
}

var __dnn_oPrevSelPane;
var __dnn_oPrevSelModule;
var __dnn_dragEventCount=3D0;
function __dnn_dragOver()
{
	__dnn_dragEventCount++;
	if (__dnn_dragEventCount % 75 !=3D 0)	//only calculate position every =
75 events
		return;
=09
	var oCont =3D dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);

	var oPane =3D __dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);
	=09
	if (__dnn_oPrevSelPane !=3D null)	//reset previous pane's border
		__dnn_oPrevSelPane.pane.style.border =3D =
__dnn_oPrevSelPane.origBorder;

	if (oPane !=3D null)
	{	=09
		__dnn_oPrevSelPane =3D oPane;
		oPane.pane.style.border =3D '4px double ' + DNN_HIGHLIGHT_COLOR;
		var iIndex =3D __dnn_getPaneControlIndex(oCont, oPane);

		var oPrevCtl;
		var oNextCtl;
		for (var i=3D0; i<oPane.controls.length; i++)
		{
			if (iIndex > i && oPane.controls[i].id !=3D oCont.id)
				oPrevCtl =3D oPane.controls[i];
			if (iIndex <=3D i && oPane.controls[i].id !=3D oCont.id)
			{
				oNextCtl =3D oPane.controls[i];
				break;
			}
		}		=09
	=09
		if (__dnn_oPrevSelModule !=3D null)
			dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border =3D =
__dnn_oPrevSelModule.origBorder;
		=09

		if (oNextCtl !=3D null)
		{
			__dnn_oPrevSelModule =3D oNextCtl;
			dnn.dom.getNonTextNode(oNextCtl.control).style.borderTop =3D '5px =
groove ' + DNN_HIGHLIGHT_COLOR;
		}
		else if (oPrevCtl !=3D null)
		{
			__dnn_oPrevSelModule =3D oPrevCtl;
			dnn.dom.getNonTextNode(oPrevCtl.control).style.borderBottom =3D '5px =
groove ' + DNN_HIGHLIGHT_COLOR;
		}
	}
}

function __dnn_dragComplete()
{
	var oCtl =3D dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);
	var sModuleID =3D oCtl.getAttribute('moduleid');
=09
	if (__dnn_oPrevSelPane !=3D null)
		__dnn_oPrevSelPane.pane.style.border =3D =
__dnn_oPrevSelPane.origBorder;

	if (__dnn_oPrevSelModule !=3D null)
		dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border =3D =
__dnn_oPrevSelModule.origBorder;
	=09
	var oPane =3D __dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);
	var iIndex;
	if (oPane =3D=3D null)
	{
		var oPanes =3D __dnn_Panes();
		for (var i=3D0; i<oPanes.length; i++)
		{
			if (oPanes[i].id =3D=3D oCtl.parentNode.id)
				oPane =3D oPanes[i];
		}
	}=09
	if (oPane !=3D null)
	{
		iIndex =3D __dnn_getPaneControlIndex(oCtl, oPane);
		__dnn_MoveToPane(oPane, oCtl, iIndex);

		dnn.callPostBack('MoveToPane', 'moduleid=3D' + sModuleID, 'pane=3D' + =
oPane.paneName, 'order=3D' + iIndex * 2);=20
	}
}

function __dnn_MoveToPane(oPane, oCtl, iIndex)
{

	if (oPane !=3D null)
	{
		var aryCtls =3D new Array();
		for (var i=3DiIndex; i<oPane.controls.length; i++)
		{
			if (oPane.controls[i].control.id !=3D oCtl.id)
				aryCtls[aryCtls.length] =3D oPane.controls[i].control;

			dnn.dom.removeChild(oPane.controls[i].control);
		}
		dnn.dom.appendChild(oPane.pane, oCtl);
		oCtl.style.top=3D0;
		oCtl.style.left=3D0;
		oCtl.style.position =3D 'relative';
		for (var i=3D0; i<aryCtls.length; i++)
		{
			dnn.dom.appendChild(oPane.pane, aryCtls[i]);
		}
		__dnn_RefreshPanes();
	}
	else
	{
		oCtl.style.top=3D0;
		oCtl.style.left=3D0;
		oCtl.style.position =3D 'relative';
	}
}

function __dnn_RefreshPanes()
{
	var aryPanes =3D dnn.getVar('__dnn_Panes').split(';');
	var aryPaneNames =3D dnn.getVar('__dnn_PaneNames').split(';');
	__dnn_m_aryPanes =3D new Array();
	for (var i=3D0; i<aryPanes.length; i++)
	{
		if (aryPanes[i].length > 0)
			__dnn_m_aryPanes[__dnn_m_aryPanes.length] =3D new =
__dnn_Pane(dnn.dom.getById(aryPanes[i]), aryPaneNames[i]);
	}
}

var __dnn_m_aryPanes;
var __dnn_m_aryModules;
function __dnn_Panes()
{
	if (__dnn_m_aryPanes =3D=3D null)
	{
		__dnn_m_aryPanes =3D new Array();
		__dnn_RefreshPanes();
	}
	return __dnn_m_aryPanes;
}

function __dnn_Modules(sModuleID)
{
	if (__dnn_m_aryModules =3D=3D null)
		__dnn_RefreshPanes();
=09
	return __dnn_m_aryModules[sModuleID];
}

function __dnn_getMostSelectedPane(oContent)
{
	var oCDims =3D new dnn.dom.positioning.dims(oContent);
	var iTopScore=3D0;
	var iScore;
	var oTopPane;
	for (var i=3D0; i<__dnn_Panes().length; i++)
	{
		var oPane =3D __dnn_Panes()[i];
		var oPDims =3D new dnn.dom.positioning.dims(oPane.pane);
		iScore =3D dnn.dom.positioning.elementOverlapScore(oPDims, oCDims);
	=09
		if (iScore > iTopScore)
		{
			iTopScore =3D iScore;
			oTopPane =3D oPane;
		}
	}
	return oTopPane;
}

function __dnn_getPaneControlIndex(oContent, oPane)
{
	if (oPane =3D=3D null)
		return;
	var oCDims =3D new dnn.dom.positioning.dims(oContent);
	var oCtl;
	if (oPane.controls.length =3D=3D 0)
		return 0;
	for (var i=3D0; i<oPane.controls.length; i++)
	{
		oCtl =3D oPane.controls[i];
		var oIDims =3D new dnn.dom.positioning.dims(oCtl.control);
		if (oCDims.t < oIDims.t)
			return oCtl.index;
	}
	if (oCtl !=3D null)
		return oCtl.index+1;
	else
		return 0;
}

//Objects
function __dnn_Pane(ctl, sPaneName)
{
	this.pane =3D ctl;
	this.id =3D ctl.id;
	this.controls =3D new Array();
	this.origBorder =3D ctl.style.border;
	this.paneName =3D sPaneName;
=09
	var iIndex =3D 0;
	var strModuleOrder=3D'';
	for (var i=3D0; i<ctl.childNodes.length; i++)
	{
		var oNode =3D ctl.childNodes[i];
		if (dnn.dom.isNonTextNode(oNode))=09
		{
			if (__dnn_m_aryModules =3D=3D null)
				__dnn_m_aryModules =3D new Array();

			//if (oNode.tagName =3D=3D 'A' && oNode.childNodes.length > 0)
			//	oNode =3D oNode.childNodes[0];	//DNN now embeds anchor tag=20
			=09
			var sModuleID =3D oNode.getAttribute('moduleid');
			if (sModuleID !=3D null && sModuleID.length > 0)
			{
				strModuleOrder +=3D sModuleID + '~';
				this.controls[this.controls.length] =3D new __dnn_PaneControl(oNode, =
iIndex);
				__dnn_m_aryModules[sModuleID] =3D oNode.id;
				iIndex+=3D1;
			}
		}
	}
	this.moduleOrder =3D strModuleOrder;

}

function __dnn_PaneControl(ctl, iIndex)
{
	this.control =3D ctl;
	this.id =3D ctl.id;
	this.index =3D iIndex;
	this.origBorder =3D ctl.style.border;
=09
}

//move towards dnncore ns.  right now only for personalization
function __dnncore()
{
    this.GetUserVal =3D 0;
    this.SetUserVal =3D 1;
}

__dnncore.prototype =3D {
getUserProp: function(sNameCtr, sKey, pFunc) {
    this._doUserCallBack(dnncore.GetUserVal, sNameCtr, sKey, null, new =
dnncore.UserPropArgs(sNameCtr, sKey, pFunc));
},

setUserProp: function(sNameCtr, sKey, sVal, pFunc) {
    this._doUserCallBack(dnncore.SetUserVal, sNameCtr, sKey, sVal, new =
dnncore.UserPropArgs(sNameCtr, sKey, pFunc));
},

_doUserCallBack: function(iType, sNameCtr, sKey, sVal, pFunc) {
    if (dnn && dnn.xmlhttp)
    {
        var sPack =3D iType + COL_DELIMITER + sNameCtr + COL_DELIMITER + =
sKey + COL_DELIMITER + sVal;
        =
dnn.xmlhttp.doCallBack('__Page',sPack,dnncore._callBackSuccess,pFunc,dnnc=
ore._callBackFail,null,true,null,0);
    }
    else
        alert('Client Personalization not enabled');
},

_callBackSuccess: function (result, ctx, req) {
    if (ctx.pFunc)
        ctx.pFunc(ctx.namingCtr, ctx.key, result);
},

_callBackFail: function (result, ctx) {
	window.status =3D result;
}
}

__dnncore.prototype.UserPropArgs =3D function(sNameCtr, sKey, pFunc)
{
    this.namingCtr =3D sNameCtr;
	this.key =3D sKey;
	this.pFunc =3D pFunc;
}

var dnncore =3D new __dnncore();

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/ScriptResource.axd?d=NYef5cU9vQsi-Qo_v7O2fRPOcPIY7G1UzYrf5fqKskHiJFxhcGf6w2wJQgQ1qpWQ0&t=633725518680045802

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.


Function.__typeName =3D 'Function';
Function.__class =3D true;

Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <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;


       =20
    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) {
    /// <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;


       =20
    return function() {
        return method.apply(instance, arguments);
    }
}

Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}

Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
                                                                         =
                                                          =20
    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 && (param !=3D=3D window) && =
(param !=3D=3D document) &&
        !(window.HTMLElement && (param instanceof HTMLElement)) &&
        (typeof(param.nodeName) !=3D=3D 'string')) {

        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;
}
Error.__typeName =3D 'Error';
Error.__class =3D true;

Error.create =3D function Error$create(message, errorInfo) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

                           =20
    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");
}
if (!window) this.window =3D this;

window.Type =3D Function;

window.__rootNamespaces =3D [];
window.__registeredTypes =3D {};

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) {
    /// <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) {
    /// <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() {
    /// <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() {
    /// <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() {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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 (window.__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;
    }
        if (!window.__classes) window.__classes =3D {};
    window.__classes[typeName.toUpperCase()] =3D this;

                if (interfaceTypes) {
        this.__interfaces =3D [];
        for (var i =3D 2; i < arguments.length; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            this.resolveInheritance();
            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);
        }
    }
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <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 (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.resolveInheritance =3D function 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() {
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(window.__rootNamespaces);
}

Type.isClass =3D function Type$isClass(type) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
        if (!window.__classes) return null;
        fn =3D window.__classes[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) {
    /// <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 {};
            if (i =3D=3D=3D 0) {
                window.__rootNamespaces[window.__rootNamespaces.length] =
=3D ns;
            }
            ns.__namespace =3D true;
            ns.__typeName =3D namespaceParts.slice(0, i + 1).join('.');
            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;
    }
}
Object.__typeName =3D 'Object';
Object.__class =3D true;

Object.getType =3D function Object$getType(instance) {
    /// <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) {
    /// <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();
}
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;

Boolean.parse =3D function Boolean$parse(value) {
    /// <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);
}
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) {
    /// <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) {
    /// <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 null) {
        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 =
Date._parseInt(matchGroup);
                                                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 =
Date._parseInt(matchGroup) - 1;
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'y': case 'yy':
                                                year =3D =
Date._expandYear(dtf,Date._parseInt(matchGroup));
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'yyyy':
                                                year =3D =
Date._parseInt(matchGroup);
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'h': case 'hh':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if (hour =3D=3D=3D 12) hour =3D 0;
                        if ((hour < 0) || (hour > 11)) return null;
                        break;
                    case 'H': case 'HH':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if ((hour < 0) || (hour > 23)) return null;
                        break;
                    case 'm': case 'mm':
                                                min =3D =
Date._parseInt(matchGroup);
                        if ((min < 0) || (min > 59)) return null;
                        break;
                    case 's': case 'ss':
                                                sec =3D =
Date._parseInt(matchGroup);
                        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 =
Date._parseInt(matchGroup) * 100;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'ff':
                                                msec =3D =
Date._parseInt(matchGroup) * 10;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'fff':
                                                msec =3D =
Date._parseInt(matchGroup);
                        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 Date._parseInt(offsets[0]);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        var minOffset =3D Date._parseInt(offsets[1]);
                        if ((minOffset < 0) || (minOffset > 59)) return =
null;
                        tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                        break;
                    case 'z': case 'zz':
                                                var hourOffset =3D =
Date._parseInt(matchGroup);
                        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), =
adjustedMin%60);
        }
        return result;
    }
}

Date._parseInt =3D function Date$_parseInt(value) {
        return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));
}

Date.prototype.format =3D function Date$format(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) {
    /// <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();
}
Number.__typeName =3D 'Number';
Number.__class =3D true;

Number.parseLocale =3D function Number$parseLocale(value) {
    /// <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) {
    /// <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) {
            var valueStr =3D value.trim();
    if (valueStr.match(/infinity/i) !=3D=3D null) {
        return parseFloat(valueStr);
    }
    if (valueStr.match(/^0x[a-f0-9]+$/i) !=3D=3D null) {
        return parseInt(valueStr);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var decSeparator =3D numFormat.NumberDecimalSeparator;
    var grpSeparator =3D numFormat.NumberGroupSeparator;

            var numberFormatRegex =3D new RegExp("^[+-]?[\\d\\" + =
grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");
    if (!valueStr.match(numberFormatRegex)) {
        return Number.NaN;
    }

        valueStr =3D valueStr.split(grpSeparator).join("");

        valueStr =3D valueStr.replace(decSeparator, ".");

    return parseFloat(valueStr);
}

Number.prototype.format =3D function Number$format(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) {
    /// <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();
        }
    }

        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 expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;

                var numberString =3D number.toString();
        var right =3D "";
        var exponent =3D "";
                var decimalSplit =3D numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString =3D decimalSplit[0];
            right =3D decimalSplit[1];
                        var exponentSplit =3D right.split(/e/i);
            if (exponentSplit.length > 1) {
                right =3D exponentSplit[0];
                exponent =3D "e" + exponentSplit[1];
            }
        }

                if (precision > 0) {
                        var rightDifference =3D right.length - =
precision;
            if (rightDifference > 0) {
                right =3D right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=3D0; i<Math.abs(rightDifference); i++) {
                    right +=3D '0';
                }
            }

                        right =3D decimalChar + right;
        }
        else {             right =3D "";
        }
        right +=3D exponent;

        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));

    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';

                if (precision !=3D=3D -1) {
            var numberStr =3D ""+number;
            var zerosToAdd =3D precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=3D0; i<zerosToAdd; i++) {
                    numberStr =3D '0'+numberStr;
                }
            }
            number =3D numberStr;
        }

                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), 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;
}
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
Array.__typeName =3D 'Array';
Array.__class =3D true;

Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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);
}
String.__typeName =3D 'String';
String.__class =3D true;

String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <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) {
    /// <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() {
    /// <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() {
    /// <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() {
    /// <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) {
    /// <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) {
    /// <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);

       =20
                var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex)) + 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;
}

Type.registerNamespace('Sys');
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');
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <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) {
        /// <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) {
        /// <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() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }

    function 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) {
        /// <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');
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
	   =20
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlHttp =3D new ActiveXObject(progIDs[i]);
                return xmlHttp;
            }
            catch (ex) {
            }
        }
	   =20
        return null;
    }
}

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);

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]);
    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(' Safari/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Safari\/(\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');

Sys._Debug =3D function Sys$_Debug() {
    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) {
        /// <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() {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }

    function Sys$_Debug$fail(message) {
        /// <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) {
        /// <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) {
        /// <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;
function Sys$Enum$parse(value, ignoreCase) {
    /// <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) {
    /// <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) =
{
    /// <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 (window.__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));
    }
    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;
    window.__registeredTypes[name] =3D true;
}

Type.isEnum =3D function Type$isEnum(type) {
    /// <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) {
    /// <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;
}
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}


    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <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) {
        /// <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) {
        /// <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);
        if (!evt._handler) {
            evt._handler =3D function(source, args) {
                for (var i =3D 0, l =3D evt.length; i < l; i++) {
                    evt[i](source, args);
                }
            };
        }
        return evt._handler;
    }

    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');
Sys.EventArgs =3D function Sys$EventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');

Sys.EventArgs.Empty =3D new Sys.EventArgs();
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    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"></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);
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    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');=

Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <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"></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);
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyDisposing$add_disposing(handler) {
    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");
Sys.Component =3D function Sys$Component() {
    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"></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"></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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        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) {
        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) {
        /// <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) {
    /// <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) {
    /// <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]);
        }
    }

    app._createdComponents[app._createdComponents.length] =3D component;
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }

    return component;
}
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true"></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");
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true"></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");
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton"></field>
    /// <field name=3D"charCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean"></field>
    /// <field name=3D"keyCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean"></field>
    /// <field name=3D"target" domElement=3D"true"></field>
    /// <field name=3D"type" type=3D"String"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;

    var e =3D eventObject;
    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 (e.type =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 (this.target) {
        var loc =3D Sys.UI.DomElement.getLocation(this.target);
        this.offsetX =3D (typeof(e.offsetX) !=3D=3D 'undefined') ? =
e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;
        this.offsetY =3D (typeof(e.offsetY) !=3D=3D 'undefined') ? =
e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
    this.type =3D e.type;
}

    function Sys$UI$DomEvent$preventDefault() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            window.event.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            window.event.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) {
    /// <param name=3D"element" domElement=3D"true"></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", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    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() {
            return handler.call(element, new =
Sys.UI.DomEvent(window.event));
        }
        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) {
    /// <param name=3D"element" domElement=3D"true"></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", domElement: true},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;

    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) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    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) {
    /// <param name=3D"element" domElement=3D"true"></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", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    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);
    var browserHandler =3D null;
    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.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}

    function Sys$IContainer$addComponent(component) {
        /// <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) {
        /// <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) {
        /// <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() {
        /// <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");


Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}

    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate =3D null;       =20
    }

    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <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;

        if(this._loading) {
            throw =
Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading =3D true;
        this._allScriptsLoadedCallback =3D allScriptsLoadedCallback;
        this._scriptLoadFailedCallback =3D scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback =3D scriptLoadTimeoutCallback;
       =20
        this._loadScriptsInternal();
    }

    function 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) {
        /// <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) {
        /// <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) {
        /// <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() {
                if (this._scriptsToLoad && this._scriptsToLoad.length > =
0) {
            var nextScript =3D Array.dequeue(this._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 {
                                                =
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
               =20
                                =
Sys._ScriptLoader._clearScript(scriptElement);

                                                                =
this._loadScriptsInternal();
            }
        }
        else {
                        var callback =3D this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }

    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
                var callback =3D this._scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopLoading();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            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._scriptLoadTimeoutCallback;
        this._stopLoading();

        if(callback) {
            callback(this);
        }
    }

    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie =3D null;
        }

        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }

        this._scriptsToLoad =3D null;
        this._loading =3D null;
       =20
        this._allScriptsLoadedCallback =3D null;
        this._scriptLoadFailedCallback =3D null;
        this._scriptLoadTimeoutCallback =3D null;
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
   =20
    loadScripts: Sys$_ScriptLoader$loadScripts,
   =20
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
   =20
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,

    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,

    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
   =20
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,  =20

    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
   =20
    _raiseError: Sys$_ScriptLoader$_raiseError,
   =20
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
   =20
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
   =20
    _stopLoading: Sys$_ScriptLoader$_stopLoading   =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;
}


Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <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"></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() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        =
document.getElementsByTagName('HEAD')[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
                        this._scriptErrorDelegate =3D =
Function.createDelegate(this, this._scriptErrorHandler);
        $addHandler(this._scriptElement, 'error', =
this._scriptErrorDelegate);
    }

    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);
            }
            $removeHandler(scriptElement, 'error', =
this._scriptErrorDelegate);
            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,
   =20
    dispose: Sys$_ScriptLoaderTask$dispose,
       =20
    execute: Sys$_ScriptLoaderTask$execute,
      =20
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20

    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
          =20
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean"></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._Application =3D function Sys$_Application() {
    Sys._Application.initializeBase(this);

    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];

    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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        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_init(handler) {
        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_unload(handler) {
        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) {
        /// <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$beginCreateComponents() {
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing =3D true;
            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() {
        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) {
        /// <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() {
        /// <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() {
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
                                                =
window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function 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) {
        /// <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() {
        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) {
        /// <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$unregisterDisposableObject(object) {
        /// <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$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');

        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_loadHandler() {
                        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,

    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    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,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,   =20
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
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');

Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    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"></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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value></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() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <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() {
        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');
window.XMLDOM =3D function window$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
    }
        else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        } catch (ex) {
            return null;
        }
    }
    return null;
    }

Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    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 ) {

            _this._clearTimer();
            _this._responseAvailable =3D true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest !=3D null) {
                _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                _this._xmlHttpRequest =3D null;
            }
        }
    }

    this._clearTimer =3D function this$_clearTimer() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    }

    this._onTimeout =3D function this$_onTimeout() {
        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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }

    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this._responseAvailable;
    }

    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }

    function 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');
            }

                        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) {
        /// <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() {
        /// <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"></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"></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'));
        }

        return this._xmlHttpRequest.status;
    }

    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String"></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></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 new =
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() {
        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();

            this._xmlHttpRequest =3D null;
            var handler =3D =
this._webRequest._get_eventHandlerList().getHandler("completed");
            if (handler) {
                handler(this, 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);
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    this._this =3D this;
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}


    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        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) {
        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"></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"></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) {
        /// <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) {
           =20
            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();
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <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"></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);
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    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) {
    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) {
        /// <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"></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></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }

    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String"></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"></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"></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"></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"></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() {
        /// <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() {
        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);
    }
    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');
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}


    function Sys$Net$WebServiceProxy$set_timeout(value) {
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }

    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <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 {
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_path: Sys$Net$WebServiceProxy$get_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) {
    /// <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+"/"+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;

            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) {
                result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
            }
            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();
                    }
                    alert(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 {
                                alert(msg);
            }
        }
    }

    return request;
}

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;
    }
}
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }

    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }

    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }

    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String"></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() =
{
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';








    function Sys$Services$_ProfileService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></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"></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"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_ProfileService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_ProfileService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_ProfileService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <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 =3D {};
        var methodName;
        if(!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames) };
        }
                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) {
        /// <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"></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: "saveCompletedCallback", 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 flattenedProperties =3D =
this._flattenProperties(propertyNames, this.properties);
                this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: flattenedProperties },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext]);
    }


    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups =3D [];
        var seen =3D {};
        for(var i=3D0; i < arr.length; i++) {
            var prop =3D arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); =
seen[prop]=3Dtrue; };
        }
        return nodups;
    }





    function =
Sys$Services$_ProfileService$_flattenProperties(propertyNames, =
properties, groupName) {
        var flattenedProperties =3D {};
        var val;
        var key;
        if(propertyNames && propertyNames.length =3D=3D=3D 0) {
            return flattenedProperties;
        }

        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
                        =
if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var groupProperties =3D =
this._flattenProperties(propertyNames, val, key);
                                                                         =
                                       for(var subKey in =
groupProperties) {
                    var subVal =3D groupProperties[subKey];
                    flattenedProperties[subKey] =3D subVal;
                }
            }
            else {
                                if(!propertyNames || =
Array.indexOf(propertyNames, key) !=3D=3D -1) {
                    flattenedProperties[key] =3D val;
                }
            }
        }
        return flattenedProperties;
    }

    function Sys$Services$_ProfileService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function Sys$Services$_ProfileService$_onLoadComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "object") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Object"));
        }

        var unflattened =3D this._unflattenProperties(result);
        for(var name in unflattened) {
            this.properties[name] =3D unflattened[name];
        }
       =20
        var userCallback =3D context[0];
        var callback =3D userCallback ? userCallback : =
this._defaultLoadCompletedCallback;
        if(callback) {
            callback(result.length, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "number") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Number"));
        }
       =20
        var userCallback =3D context[0];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultSaveCompletedCallback;
        if(callback) {
            callback(result, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function =
Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties =3D {};
        var dotIndex;
        var val;
        var count =3D 0;
        for(var key in properties) {
            count++;
            val =3D properties[key];

            dotIndex =3D key.indexOf('.');
            if(dotIndex !=3D=3D -1) {
                var groupName =3D key.substr(0, dotIndex);
                key =3D key.substr(dotIndex+1);
                var group =3D unflattenedProperties[groupName];
                if((!group) || =
(!Sys.Services.ProfileGroup.isInstanceOfType(group))) {
                    group =3D new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] =3D group;
                }
                group[key] =3D val;
            }
            else {
                unflattenedProperties[key] =3D val;
            }
        }
        properties.length =3D count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,

    get_defaultFailedCallback: =
Sys$Services$_ProfileService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_ProfileService$set_defaultFailedCallback,

    get_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,

    get_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
   =20
   =20
    get_path: Sys$Services$_ProfileService$get_path,
    set_path: Sys$Services$_ProfileService$set_path,
       =20
    get_timeout: Sys$Services$_ProfileService$get_timeout,
    set_timeout: Sys$Services$_ProfileService$set_timeout,
       =20
    load: Sys$Services$_ProfileService$load,

    save: Sys$Services$_ProfileService$save,
   =20
        _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20

                    _flattenProperties: =
Sys$Services$_ProfileService$_flattenProperties,
   =20
    _get_path: Sys$Services$_ProfileService$_get_path,   =20

    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
   =20
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
   =20
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
   =20
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
   =20
    _unflattenProperties: =
Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService'=
, Sys.Net.WebServiceProxy);
Sys.Services.ProfileService =3D new Sys.Services._ProfileService();

Sys.Services.ProfileGroup =3D function =
Sys$Services$ProfileGroup(properties) {
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if(properties) {
        for(var property in properties) {
            this[property] =3D properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');








Sys.Services._AuthenticationService =3D function =
Sys$Services$_AuthenticationService() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';








    function =
Sys$Services$_AuthenticationService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(val=
ue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoginCompletedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(va=
lue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLogoutCompletedCallback =3D value;
    }

    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._authenticated;
    }

    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_AuthenticationService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_AuthenticationService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_AuthenticationService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <param name=3D"username" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <param name=3D"password" type=3D"String" =
mayBeNull=3D"true"></param>
        /// <param name=3D"isPersistent" type=3D"Boolean" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"customInfo" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"loginCompletedCallback" 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: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, =
optional: true},
            {name: "customInfo", type: String, mayBeNull: true, =
optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: =
password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, =
this._onLoginComplete),
                                        Function.createDelegate(this, =
this._onLoginFailed),
                                        [username, password, =
isPersistent, redirectUrl, loginCompletedCallback, failedCallback, =
userContext]);
    }

    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"logoutCompletedCallback" 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: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Logout", false, {},=20
                                        Function.createDelegate(this, =
this._onLogoutComplete),
                                        Function.createDelegate(this, =
this._onLogoutFailed),
                                        [redirectUrl, =
logoutCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_AuthenticationService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D =
Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function =
Sys$Services$_AuthenticationService$_onLoginComplete(result, context, =
methodName) {
        if(typeof(result) !=3D=3D "boolean") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Boolean"));
        }
       =20
        var redirectUrl =3D context[3];
        var userCallback =3D context[4];
        var userContext =3D context[6];
        var callback =3D userCallback ? userCallback : =
this._defaultLoginCompletedCallback;
       =20
        if(result) {
            this._authenticated =3D true;

            if(callback) {
                callback(true, userContext, =
"Sys.Services.AuthenticationService.login");
            }
           =20
            if(typeof(redirectUrl) !=3D=3D "undefined" && redirectUrl =
!=3D=3D null) {
                                window.location.href =3D redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, =
"Sys.Services.AuthenticationService.login");
        }
    }

    function Sys$Services$_AuthenticationService$_onLoginFailed(err, =
context, methodName) {
        var userCallback =3D context[5];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[6], =
"Sys.Services.AuthenticationService.login");
        }
    }

    function =
Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, =
methodName) {
        if(result !=3D=3D null) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "null"));
        }
       =20
        var redirectUrl =3D context[0];
        var userCallback =3D context[1];
        var userContext =3D context[3];
        var callback =3D userCallback ? userCallback : =
this._defaultLogoutCompletedCallback;

        this._authenticated =3D false;
       =20
        if (callback) {
            callback(null, userContext, =
"Sys.Services.AuthenticationService.logout");
        }
       =20
                if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href =3D redirectUrl;
        }
    }

    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, =
context, methodName) {
        var userCallback =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
    }

    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
   =20
    get_defaultFailedCallback: =
Sys$Services$_AuthenticationService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_AuthenticationService$set_defaultFailedCallback,

    get_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,

    get_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,

    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,

    get_path: Sys$Services$_AuthenticationService$get_path,
    set_path: Sys$Services$_AuthenticationService$set_path,
   =20
    get_timeout: Sys$Services$_AuthenticationService$get_timeout,
    set_timeout: Sys$Services$_AuthenticationService$set_timeout,   =20
   =20
    login: Sys$Services$_AuthenticationService$login,
   =20
    logout: Sys$Services$_AuthenticationService$logout,
   =20
    _get_path: Sys$Services$_AuthenticationService$_get_path,
   =20
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
   =20
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
   =20
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
   =20
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
   =20
    _setAuthenticated: =
Sys$Services$_AuthenticationService$_setAuthenticated   =20
}

Sys.Services._AuthenticationService.registerClass('Sys.Services._Authenti=
cationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService =3D new =
Sys.Services._AuthenticationService();

Type.registerNamespace('Sys.Serialization');


Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');

Sys.Serialization.JavaScriptSerializer._stringRegEx =3D new =
RegExp('["\b\f\n\r\t\\\\\x00-\x1F]', 'i');

Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
                        if (Array.isInstanceOfType(object)) {
                stringBuilder.append('[');
                for (i =3D 0; i < object.length; ++i) {
                    if (i > 0) {
                        stringBuilder.append(',');
                    }
                    =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder);
                }
                stringBuilder.append(']');
            }
            else {
                                                                if =
(Date.isInstanceOfType(object)) {
                    stringBuilder.append('"\\/Date(');
                    stringBuilder.append(object.getTime());
                    stringBuilder.append(')\\/"');
                    break;
                }

                var properties =3D [];
                var propertyCount =3D 0;
                for (var name in object) {
                                        if (name.startsWith('$')) {
                        continue;
                    }
                    properties[propertyCount++] =3D name;
                }
                if (sort) properties.sort();

                stringBuilder.append('{');
                var needComma =3D false;
                for (i=3D0; i<propertyCount; i++) {
                    var value =3D object[properties[i]];
                    if (typeof value !=3D=3D 'undefined' && typeof value =
!=3D=3D 'function') {
                        if (needComma) {
                            stringBuilder.append(',');
                        }
                        else {
                            needComma =3D true;
                        }

                                                =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort);
                        stringBuilder.append(':');
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort);
                    }
                }
                stringBuilder.append('}');
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;

    case 'number':
        if (isFinite(object)) {
            stringBuilder.append(String(object));
        }
        else {
            throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
        }
        break;

    case 'string':
        stringBuilder.append('"');

                if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari || =
Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)) {
            var length =3D object.length;
            for (i =3D 0; i < length; ++i) {
                var curChar =3D object.charAt(i);
                                if (curChar >=3D ' ') {
                                        if (curChar =3D=3D=3D '\\' || =
curChar =3D=3D=3D '"') {
                        stringBuilder.append('\\');
                    }
                    stringBuilder.append(curChar);
                }
                else {
                    switch (curChar) {
                        case '\b':
                            stringBuilder.append('\\b');
                            break;
                        case '\f':
                            stringBuilder.append('\\f');
                            break;
                        case '\n':
                            stringBuilder.append('\\n');
                            break;
                        case '\r':
                            stringBuilder.append('\\r');
                            break;
                        case '\t':
                            stringBuilder.append('\\t');
                            break;
                        default:
                                                        =
stringBuilder.append('\\u00');
                            if (curChar.charCodeAt() < 16) =
stringBuilder.append('0');
                            =
stringBuilder.append(curChar.charCodeAt().toString(16));
                    }
                }
            }
        } else {
            stringBuilder.append(object);
        }
        stringBuilder.append('"');
        break;

    case 'boolean':
        stringBuilder.append(object.toString());
        break;

    default:
        stringBuilder.append('null');
        break;
    }
}

Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    var stringBuilder =3D new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, =
stringBuilder, false);
    return stringBuilder.toString();
}

Sys.Serialization.JavaScriptSerializer.deserialize =3D function =
Sys$Serialization$JavaScriptSerializer$deserialize(data) {
    /// <param name=3D"data" type=3D"String"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String}
    ]);
    if (e) throw e;

    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
                                                           =20
    try {   =20
        var exp =3D data.replace(new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"', 'g'), "$1new =
Date($2)");
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}

Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"numberFormat" type=3D"Object"></param>
    /// <param name=3D"dateTimeFormat" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;

    this.name =3D name;
    this.numberFormat =3D numberFormat;
    this.dateTimeFormat =3D dateTimeFormat;
}

    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf =3D this.dateTimeFormat;
            this._dateTimeFormats =3D
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths =3D =
this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays =3D =
this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result =3D [];
        for (var i =3D 0, il =3D arr.length; i < il; i++) {
            result[i] =3D this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
                        return value.split("\u00A0").join(' =
').toUpperCase();
    }
Sys.CultureInfo.prototype =3D {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse =3D function Sys$CultureInfo$_parse(value) {
    var cultureInfo =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, =
cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');

Sys.CultureInfo.InvariantCulture =3D =
Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits=
":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes"=
:[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparat=
or":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePatt=
ern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegat=
ivePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","Nu=
mberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":=
",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","Posi=
tiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","Per=
centGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","Na=
tiveDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution"=
:1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTi=
me":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","Algor=
ithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnl=
y":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"Ful=
lDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, =
dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","Sort=
ableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSepar=
ator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd =
HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy =
MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":true,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}');

if (typeof(__cultureInfo) =3D=3D=3D 'undefined') {
    var __cultureInfo =3D =
'{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecim=
alSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroup=
Sizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","Currency=
Symbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegative=
Pattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"Negativ=
eInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"=
NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositiveP=
attern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","Percent=
DecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",=
","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","=
2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{=
"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@=
","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarT=
ype":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparat=
or":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dd=
dd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, =
yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm =
tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","=
TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd=
 HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, =
yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":false,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}';
}
Sys.CultureInfo.CurrentCulture =3D =
Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;

Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <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"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></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');
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <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"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true"></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');
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    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) {
    /// <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) {
    /// <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) {
    /// <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) {
    /// <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) {
            /// <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 clientRects =3D =
element.getClientRects();
            if (!clientRects || !clientRects.length) {
                return new Sys.UI.Point(0,0);
            }

            var w =3D element.ownerDocument.parentWindow;
                                                var offsetL =3D =
w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft =
+ 2;
            var offsetT =3D w.screenTop - top.screenTop - =
top.document.documentElement.scrollTop + 2;

                                                                        =
var f =3D w.frameElement || null;
            if (f) {
                                                                         =
       var fstyle =3D f.currentStyle;
                offsetL +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingLeft) || 0) +
                    (parseInt(fstyle.borderLeftWidth) || 0) -
                    element.ownerDocument.documentElement.scrollLeft;
                offsetT +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingTop) || 0) +
                    (parseInt(fstyle.borderTopWidth) || 0) -
                    element.ownerDocument.documentElement.scrollTop;
            }

            var clientRect =3D clientRects[0];

            return new Sys.UI.Point(
                clientRect.left - offsetL,
                clientRect.top - offsetT);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <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;

                                                                         =
       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;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                for (var parent =3D element.parentNode; =
parent; parent =3D parent.parentNode) {
                    tagName =3D parent.tagName;

                    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) {
            /// <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;

                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"))))) {
                                       =20
                    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) {
            /// <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;
                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;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                                                         =
       for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                                                                         =
       tagName =3D parent.tagName;

                    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);
                        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) {
    /// <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) {
    /// <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) {
    /// <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._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    var w =3D (element.ownerDocument ? element.ownerDocument : =
element.documentElement).defaultView;
    return ((w && (element !=3D=3D w) && w.getComputedStyle) ? =
w.getComputedStyle(element, null) : element.style);
}
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    Sys.UI.Behavior.initializeBase(this);

    this._element =3D element;

    var behaviors =3D element._behaviors;
    if (!behaviors) {
        element._behaviors =3D [this];
    }
    else {
        behaviors[behaviors.length] =3D this;
    }
}


    function Sys$UI$Behavior$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var baseId =3D Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name =3D Object.getTypeName(this);
        var i =3D name.lastIndexOf('.');
        if (i !=3D -1) name =3D name.substr(i + 1);
        if (!this.get_isInitialized()) this._name =3D name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        if ((value =3D=3D=3D '') || (value.charAt(0) =3D=3D=3D ' ') || =
(value.charAt(value.length - 1) =3D=3D=3D ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !=3D=3D 'undefined')
            throw =
Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, =
value));
        if (this.get_isInitialized()) throw =
Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name =3D value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name =3D this.get_name();
        if (name) this._element[name] =3D this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name =3D this.get_name();
            if (name) {
                this._element[name] =3D null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype =3D {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);

Sys.UI.Behavior.getBehaviorByName =3D function =
Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Sys.UI.Behavior" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    var b =3D element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}

Sys.UI.Behavior.getBehaviors =3D function =
Sys$UI$Behavior$getBehaviors(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}

Sys.UI.Behavior.getBehaviorsByType =3D function =
Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"type" type=3D"Type"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;

    var behaviors =3D element._behaviors;
    var results =3D [];
    if (behaviors) {
        for (var i =3D 0, l =3D behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] =3D behaviors[i];
            }
        }
    }
    return results;
}
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}



Sys.UI.VisibilityMode.prototype =3D {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");

Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (typeof(element.control) !=3D 'undefined') throw =
Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);

    this._element =3D element;
    element.control =3D this;

    this._oldDisplayMode =3D this._element.style.display;
    if (!this._oldDisplayMode || (this._oldDisplayMode =3D=3D 'none')) {
        this._oldDisplayMode =3D '';
    }
}




    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type=3D"Sys.UI.Control"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) {
            return this._parent;
        }
        else {
            var parentElement =3D this._element.parentNode;
            while (parentElement) {
                if (parentElement.control) {
                    return parentElement.control;
                }
                parentElement =3D parentElement.parentNode;
            }
            return null;
        }
    }
    function Sys$UI$Control$set_parent(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.Control}]);
        if (e) throw e;

        var parents =3D [this];
        var current =3D value;
        while (current) {
            if (Array.contains(parents, current)) throw =
Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] =3D current;
            current =3D current.get_parent();
        }
        this._parent =3D value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type=3D"Sys.UI.VisibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._visibilityMode;
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.VisibilityMode}]);
        if (e) throw e;

        if (this._visibilityMode !=3D=3D value) {
            this._visibilityMode =3D value;
            if (this.get_visible() =3D=3D=3D false) {
                if (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                    this._element.style.display =3D =
this._oldDisplayMode;
                }
                else {
                    this._element.style.display =3D 'none';
                }
            }
        }
        this._visibilityMode =3D value;
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return (this._element.style.visibility !=3D 'hidden');
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        if (value !=3D this.get_visible()) {
            this._element.style.visibility =3D value ? 'visible' : =
'hidden';
            if (value || (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
                this._element.style.display =3D this._oldDisplayMode;
            }
            else {
                this._element.style.display =3D 'none';
            }
        }
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control =3D undefined;
            delete this._element;
        }
    }
    function Sys$UI$Control$initialize() {
        Sys.UI.Control.callBaseMethod(this, 'initialize');
        var elt =3D this._element;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var currentTarget =3D this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget =3D currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype =3D {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,

    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    initialize: Sys$UI$Control$initialize,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);

Type.registerNamespace('Sys');
Sys.Res=3D{
"argumentTypeName":"Value is not the name of an existing type.",
"methodRegisteredTwice":"Method {0} has already been registered.",
"cantSetIdAfterInit":"The id property can\u0027t be set on this object =
after initialization.",
"componentCantSetIdAfterAddedToApp":"The id property of a component =
can\u0027t be set after it\u0027s been added to the Application =
object.",
"behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already =
exists or it is the name of an existing property on the target =
element.",
"notATypeName":"Value is not a valid type name.",
"typeShouldBeTypeOrString":"Value is not a valid type or a valid type =
name.",
"boolTrueOrFalse":"Value must be \u0027true\u0027 or =
\u0027false\u0027.",
"stringFormatInvalid":"The format string is invalid.",
"referenceNotFound":"Component \u0027{0}\u0027 was not found.",
"enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t =
be used as an enum value name.",
"eventHandlerNotFound":"Handler not found.",
"circularParentChain":"The chain of control parents can\u0027t have =
circular references.",
"undefinedEvent":"\u0027{0}\u0027 is not an event.",
"notAMethod":"{0} is not a method.",
"propertyUndefined":"\u0027{0}\u0027 is not a property or an existing =
field.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. =
Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable =
\u0027Display a notification about every script error\u0027 under =
advanced settings.\r\n Missing call to =
Sys.Application.notifyScriptLoaded().",
"propertyNotWritable":"\u0027{0}\u0027 is not a writable property.",
"enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum =
value.",
"controlAlreadyDefined":"A control is already associated with the =
element.",
"namespaceContainsObject":"Object {0} already exists and is not a =
namespace.",
"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a =
function.",
"scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called =
while the ScriptLoader is already loading scripts.",
"invalidNameSpace":"Value is not a valid namespace identifier.",
"notAnInterface":"Value is not a valid interface.",
"eventHandlerNotFunction":"Handler must be a function.",
"propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.",
"typeRegisteredTwice":"Type {0} has already been registered.",
"cantSetNameAfterInit":"The name property can\u0027t be set on this =
object after initialization.",
"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 =
can\u0027t be added to the application.",
"appComponentMustBeInitialized":"Components must be initialized before =
they are added to the Application object.",
"baseNotAClass":"Value is not a class.",
"methodNotFound":"No method found with name \u0027{0}\u0027.",
"arrayParseBadFormat":"Value must be a valid string representation for =
an array. It must start with a \u0027[\u0027 and end with a =
\u0027]\u0027.",
"cantSetId":"The id property can\u0027t be set on this object.",
"stringFormatBraceMismatch":"The format string contains an unmatched =
opening or closing brace.",
"enumValueNotInteger":"An enumeration definition can only contain =
integer values.",
"propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 =
because it returned a null value.",
"componentCantSetIdTwice":"The id property of a component can\u0027t be =
set more than once.",
"createComponentOnDom":"Value must be null for Components that are not =
Controls or Behaviors.",
"createNotComponent":"{0} does not derive from Sys.Component.",
"createNoDom":"Value must not be null for Controls and Behaviors.",
"cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an =
id.",
"badTypeName":"Value is not the name of the type being registered or the =
name is a reserved word.",
"argumentInteger":"Value must be an integer.",
"scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains =
multiple calls to Sys.Application.notifyScriptLoaded(). Only one is =
allowed.",
"invokeCalledTwice":"Cannot call invoke more than once.",
"webServiceFailed":"The server method \u0027{0}\u0027 failed with the =
following error: {1}",
"argumentType":"Object cannot be converted to the required type.",
"argumentNull":"Value cannot be null.",
"controlCantSetId":"The id property can\u0027t be set on a control.",
"formatBadFormatSpecifier":"Format specifier was invalid.",
"webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.",
"argumentDomElement":"Value must be a DOM element.",
"invalidExecutorType":"Could not create a valid =
Sys.Net.WebRequestExecutor from: {0}.",
"cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is =
false.",
"actualValue":"Actual value was {0}.",
"enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.",
"scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.",
"parameterCount":"Parameter count mismatch.",
"cannotDeserializeEmptyString":"Cannot deserialize empty string.",
"formatInvalidString":"Input string was not in a correct format.",
"invalidTimeout":"Value must be greater than or equal to zero.",
"cannotAbortBeforeStart":"Cannot abort when executor has not started.",
"argument":"Value does not fall within the expected range.",
"cannotDeserializeInvalidJson":"Cannot deserialize. The data does not =
correspond to valid JSON.",
"invalidHttpVerb":"httpVerb cannot be set to an empty or null string.",
"nullWebRequest":"Cannot call executeRequest with a null webRequest.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"cannotSerializeNonFiniteNumbers":"Cannot serialize non finite =
numbers.",
"argumentUndefined":"Value cannot be undefined.",
"webServiceInvalidReturnType":"The server method \u0027{0}\u0027 =
returned an invalid type. Expected type: {1}",
"servicePathNotSet":"The path to the web service has not been set.",
"argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be =
converted to type \u0027{1}\u0027.",
"cannotCallOnceStarted":"Cannot call {0} once started.",
"badBaseUrl1":"Base URL does not contain ://.",
"badBaseUrl2":"Base URL does not contain another /.",
"badBaseUrl3":"Cannot find last / in base URL.",
"setExecutorAfterActive":"Cannot set executor after it has become =
active.",
"paramName":"Parameter name: {0}",
"cannotCallOutsideHandler":"Cannot call {0} outside of a completed event =
handler.",
"format":"One of the identified items was in an invalid format.",
"assertFailedCaller":"Assertion Failed: {0}\r\nat {1}",
"argumentOutOfRange":"Specified argument was out of the range of valid =
values.",
"webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.",
"notImplemented":"The method or operation is not implemented.",
"assertFailed":"Assertion Failed: {0}",
"invalidOperation":"Operation is not valid due to the current state of =
the object.",
"breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/ScriptResource.axd?d=NYef5cU9vQsi-Qo_v7O2fRPOcPIY7G1UzYrf5fqKskGQJ3O3dzkKGFxjUWi4HEXQSG6byd3L-Yw1&t=633725518680045802

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.


Type.registerNamespace('Sys.WebForms');


Sys.WebForms.BeginRequestEventArgs =3D function =
Sys$WebForms$BeginRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.BeginRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$BeginRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$BeginRequestEventArgs$get_request
}

Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginReque=
stEventArgs', Sys.EventArgs);

Sys.WebForms.EndRequestEventArgs =3D function =
Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <param name=3D"error" type=3D"Error" mayBeNull=3D"true"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    /// <param name=3D"response" =
type=3D"Sys.Net.WebRequestExecutor"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;


    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled =3D false;
    this._error =3D error;
        this._dataItems =3D dataItems || new Object();
    this._response =3D response;
}


    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type=3D"Error"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._error;
    }

    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._errorHandled =3D value;
    }

    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,

    get_error: Sys$WebForms$EndRequestEventArgs$get_error,

    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,

    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}

Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEv=
entArgs', Sys.EventArgs);

Sys.WebForms.InitializeRequestEventArgs =3D function =
Sys$WebForms$InitializeRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request
}

Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.Initi=
alizeRequestEventArgs', Sys.CancelEventArgs);

Sys.WebForms.PageLoadedEventArgs =3D function =
Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, =
dataItems) {
    /// <param name=3D"panelsUpdated" type=3D"Array"></param>
    /// <param name=3D"panelsCreated" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);

    this._panelsUpdated =3D panelsUpdated;
    this._panelsCreated =3D panelsCreated;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsCreated;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,

    get_panelsCreated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,

    get_panelsUpdated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}

Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEv=
entArgs', Sys.EventArgs);

Sys.WebForms.PageLoadingEventArgs =3D function =
Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, =
dataItems) {
    /// <param name=3D"panelsUpdating" type=3D"Array"></param>
    /// <param name=3D"panelsDeleting" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);

    this._panelsUpdating =3D panelsUpdating;
    this._panelsDeleting =3D panelsDeleting;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,

    get_panelsDeleting: =
Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,

    get_panelsUpdating: =
Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}

Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoading=
EventArgs', Sys.EventArgs);
Sys.WebForms.PageRequestManager =3D function =
Sys$WebForms$PageRequestManager() {
    this._form =3D null;
    this._updatePanelIDs =3D null;
    this._updatePanelClientIDs =3D null;
    this._oldUpdatePanelIDs =3D null;
    this._childUpdatePanelIDs =3D null;
    this._panelsToRefreshIDs =3D null;
    this._updatePanelHasChildrenAsTriggers =3D null;
    this._asyncPostBackControlIDs =3D null;
    this._asyncPostBackControlClientIDs =3D null;
    this._postBackControlIDs =3D null;
    this._postBackControlClientIDs =3D null;
    this._scriptManagerID =3D null;
    this._pageLoadedHandler =3D null;

    this._additionalInput =3D null;
    this._onsubmit =3D null;
    this._onSubmitStatements =3D [];
    this._originalDoPostBack =3D null;
    this._postBackSettings =3D null;
    this._request =3D null;
    this._onFormSubmitHandler =3D null;
    this._onFormElementClickHandler =3D null;
    this._onWindowUnloadHandler =3D null;
    this._asyncPostBackTimeout =3D null;

    this._controlIDToFocus =3D null;
    this._scrollPosition =3D null;
    this._dataItems =3D null;
    this._response =3D null;
    this._processingRequest =3D false;
    this._scriptDisposes =3D {};
}



    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request !=3D=3D null;
    }


    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("beginRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("beginRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("endRequest", =
handler);
    }

    function =
Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("initializeRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("initializeRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoaded", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoading", =
handler);
    }

    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request =3D null;
        }
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() =
{
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerTimeoutException: " + =
Sys.WebForms.Res.PRM_TimeoutError;
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(http=
StatusCode, message) {
                var displayMessage =3D message || =
("Sys.WebForms.PageRequestManagerServerErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e =3D Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(pars=
erErrorMessage) {
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerParserErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelID, =
sourceElement) {

        return { async:async, panelID:panelID, =
sourceElement:sourceElement };
    }

    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, =
destinationIDs, destinationClientIDs) {
        if (source) {
            for (var i =3D 0; i < source.length; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, =
this._uniqueIDToClientID(source[i]));
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_decodeString(encodedValue) =
{
        return encodedValue.replace(/\\\u00FF\\/g, =
"\u0000").replace(/\u00FF\u00FF/g, "\u00FF");
    }

    function Sys$WebForms$PageRequestManager$_destroyTree(element) {
                if (element.nodeType =3D=3D=3D 1) {
                                    var childNodes =3D =
element.childNodes;
            for (var i =3D childNodes.length - 1; i >=3D 0; i--) {
                var node =3D childNodes[i];
                if (node.nodeType =3D=3D=3D 1) {
                    if (node.dispose && typeof(node.dispose) =3D=3D=3D =
"function") {
                        node.dispose();
                    }
                    else if (node.control && =
typeof(node.control.dispose) =3D=3D=3D "function") {
                        node.control.dispose();
                    }
                    var behaviors =3D =
Sys.UI.Behavior.getBehaviors(node);
                    for (var j =3D behaviors.length - 1; j >=3D 0; j--) =
{
                        behaviors[j].dispose();
                    }
                    this._destroyTree(node);
                }
            }
        }
    }

    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', =
this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', =
this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', =
this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', =
this._pageLoadedHandler);
        }

        if (this._originalDoPostBack) {
            window.__doPostBack =3D this._originalDoPostBack;
            this._originalDoPostBack =3D null;
        }

        this._form =3D null;
        this._updatePanelIDs =3D null;
        this._oldUpdatePanelIDs =3D null;
        this._childUpdatePanelIDs =3D null;
        this._updatePanelClientIDs =3D null;
        this._asyncPostBackControlIDs =3D null;
        this._asyncPostBackControlClientIDs =3D null;
        this._postBackControlIDs =3D null;
        this._postBackControlClientIDs =3D null;
        this._asyncPostBackTimeout =3D null;
        this._scrollPosition =3D null;
        this._dataItems =3D null;
    }


    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, =
eventArgument) {
        this._additionalInput =3D null;

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
        }
        else {
                        var clientID =3D =
this._uniqueIDToClientID(eventTarget);
            var postBackElement =3D document.getElementById(clientID);
            if (!postBackElement) {
                                                                         =
       if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                                        this._postBackSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
eventTarget, null);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, =
eventTarget)) {
                                                this._postBackSettings =
=3D this._createPostBackSettings(false, null, null);
                    }
                    else {
                                                                         =
                       var nearestUniqueIDMatch =3D =
this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                                                                         =
           this._postBackSettings =3D =
this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                                                                         =
           this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
                        }
                    }
                }
            }
            else {
                                                this._postBackSettings =
=3D this._getPostBackSettings(postBackElement, eventTarget);
            }
        }

        if (!this._postBackSettings.async) {
                                    form.onsubmit =3D this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit =3D null;
            return;
        }

        form.__EVENTTARGET.value =3D eventTarget;
        form.__EVENTARGUMENT.value =3D eventArgument;
        this._onFormSubmit();
    }

    function Sys$WebForms$PageRequestManager$_elementContains(container, =
element) {
        while (element) {
            if (element =3D=3D=3D container) {
                return true;
            }
            element =3D element.parentNode;
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_endPostBack(error, =
response) {
        this._processingRequest =3D false;

        this._request =3D null;
        this._additionalInput =3D null;

        var handler =3D =
this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled =3D false;
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.EndRequestEventArgs(error, this._dataItems, response);
            handler(this, eventArgs);
            errorHandled =3D eventArgs.get_errorHandled();
        }
        this._dataItems =3D null;
        if (error && !errorHandled) {
            alert(error.message);
        }
    }



    function =
Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID =3D this._uniqueIDToClientID(uniqueID);
            var element =3D document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar =3D uniqueID.lastIndexOf('$');
            if (indexOfLastDollar =3D=3D=3D -1) {
                return null;
            }
            uniqueID =3D uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }

    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex =3D Math.max(0, location - 20);
        var endIndex =3D Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }

    function =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad) {
                                                                         =
                                                              =20
        var updated =3D [];
        var created =3D [];

                var oldIDs =3D this._oldUpdatePanelIDs || [];         =
var newIDs =3D this._updatePanelIDs;         var childIDs =3D =
this._childUpdatePanelIDs || [];         var refreshedIDs =3D =
this._panelsToRefreshIDs || [];=20
                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                        for (var i =3D 0; i < newIDs.length; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) =
!=3D=3D -1) {
                Array.add(created, =
document.getElementById(this._uniqueIDToClientID(newIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadedEventArgs(updated, created, =
this._dataItems);
    }

    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs() =
{
                                                                         =
                                                              =20
        var updated =3D [];
        var deleted =3D [];

        var oldIDs =3D this._oldUpdatePanelIDs;
        var newIDs =3D this._updatePanelIDs;
        var childIDs =3D this._childUpdatePanelIDs;
        var refreshedIDs =3D this._panelsToRefreshIDs;

                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                for (var i =3D 0; i < oldIDs.length; i++) {
            if (Array.indexOf(refreshedIDs, oldIDs[i]) =3D=3D=3D -1 &&
                (Array.indexOf(newIDs, oldIDs[i]) =3D=3D=3D -1 || =
Array.indexOf(childIDs, oldIDs[i]) > -1)) {
                Array.add(deleted, =
document.getElementById(this._uniqueIDToClientID(oldIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, =
this._dataItems);
    }

    function =
Sys$WebForms$PageRequestManager$_getPostBackSettings(element, =
elementUniqueID) {


        var originalElement =3D element;

                        var proposedSettings =3D null;

                        while (element) {
            if (element.id) {
                                if (!proposedSettings && =
Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
Array.contains(this._postBackControlClientIDs, element.id)) {
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var indexOfPanel =3D =
Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !=3D=3D -1) {
                                                        if =
(this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                                               =20
                                                                         =
                                                       return =
this._createPostBackSettings(true, this._updatePanelIDs[indexOfPanel] + =
'|' + elementUniqueID, originalElement);
                            }
                            else {
                                                                         =
                       return this._createPostBackSettings(true, =
this._scriptManagerID + '|' + elementUniqueID, originalElement);
                            }
                        }
                    }
                }

                                if (!proposedSettings && =
this._matchesParentIDInList(element.id, =
this._asyncPostBackControlClientIDs)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) =
{
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                }
            }

            element =3D element.parentNode;
        }

                                                if (!proposedSettings) {
                        return this._createPostBackSettings(false, null, =
null);
        }
        else {
            return proposedSettings;
        }
    }

    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d =3D document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d =3D document.body;
            if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || =
this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }

    function =
Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, =
formElement) {
        this._scriptManagerID =3D scriptManagerID;

        this._form =3D formElement;

       =20
                this._form._initialAction =3D this._form.action;

        this._onsubmit =3D this._form.onsubmit;
        this._form.onsubmit =3D null;
        this._onFormSubmitHandler =3D Function.createDelegate(this, =
this._onFormSubmit);
        this._onFormElementClickHandler =3D =
Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler =3D Function.createDelegate(this, =
this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', =
this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', =
this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', =
this._onWindowUnloadHandler);

        this._originalDoPostBack =3D window.__doPostBack;
                if (this._originalDoPostBack) {
            window.__doPostBack =3D Function.createDelegate(this, =
this._doPostBack);
        }

        this._pageLoadedHandler =3D Function.createDelegate(this, =
this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', =
this._pageLoadedHandler);
    }

    function =
Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, =
parentIDList) {
        for (var i =3D 0; i < parentIDList.length; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        var element =3D evt.target;
        if (element.disabled) {
            return;
        }

                this._postBackSettings =3D =
this._getPostBackSettings(element, element.name);


        if (element.name) {
            if (element.tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if (type =3D=3D=3D 'submit') {
                    this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
                }
                else if (type =3D=3D=3D 'image') {
                    var x =3D evt.offsetX;
                    var y =3D evt.offsetY;
                    this._additionalInput =3D element.name + '.x=3D' + x =
+ '&' + element.name + '.y=3D' + y;
                }
            }
            else if ((element.tagName =3D=3D=3D 'BUTTON') && =
(element.name.length !=3D=3D 0) && (element.type =3D=3D=3D 'submit')) {
                this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit =3D true;

                if (this._onsubmit) {
            continueSubmit =3D this._onsubmit();
        }

                if (continueSubmit) {
            for (var i =3D 0; i < this._onSubmitStatements.length; i++) =
{
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit =3D false;
                    break;
                }
            }
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    return;
        }

                        if (!this._postBackSettings.async) {
            return;
        }

                var formBody =3D new Sys.StringBuilder();
        formBody.append(this._scriptManagerID + '=3D' + =
this._postBackSettings.panelID + '&');

        var count =3D form.elements.length;
        for (var i =3D 0; i < count; i++) {
            var element =3D form.elements[i];
            var name =3D element.name;
            if (typeof(name) =3D=3D=3D "undefined" || (name =3D=3D=3D =
null) || (name.length =3D=3D=3D 0)) {
                continue;
            }

            var tagName =3D element.tagName;

            if (tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if ((type =3D=3D=3D 'text') ||
                    (type =3D=3D=3D 'password') ||
                    (type =3D=3D=3D 'hidden') ||
                    (((type =3D=3D=3D 'checkbox') || (type =3D=3D=3D =
'radio')) && element.checked)) {
                    formBody.append(name);
                    formBody.append('=3D');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName =3D=3D=3D 'SELECT') {
                var optionCount =3D element.options.length;
                for (var j =3D 0; j < optionCount; j++) {
                    var option =3D element.options[j];
                    if (option.selected) {
                        formBody.append(name);
                        formBody.append('=3D');
                        =
formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName =3D=3D=3D 'TEXTAREA') {
                formBody.append(name);
                formBody.append('=3D');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }

        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput =3D null;
        }

        var request =3D new Sys.Net.WebRequest();
        request.set_url(form.action);
        request.get_headers()['X-MicrosoftAjax'] =3D 'Delta=3Dtrue';
        request.get_headers()['Cache-Control'] =3D 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, =
this._onFormSubmitCompleted));
        request.set_body(formBody.toString());

        var handler =3D =
this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.InitializeRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
            continueSubmit =3D !eventArgs.get_cancel();
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

                this._scrollPosition =3D this._getScrollPosition();


                                this.abortPostBack();

        handler =3D =
this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.BeginRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }

        this._request =3D request;
        request.invoke();

                if (evt) {
            evt.preventDefault();
        }
    }

    function =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, =
eventArgs) {
        this._processingRequest =3D true;

        var delimitByLengthDelimiter =3D '|';
       =20
        if (sender.get_timedOut()) {
            =
this._endPostBack(this._createPageRequestManagerTimeoutError(), sender);
            return;
        }

        if (sender.get_aborted()) {
            this._endPostBack(null, sender);
            return;
        }

                if (!this._request || sender.get_webRequest() !=3D=3D =
this._request) {
            return;
        }

        var errorMessage;
        var delta =3D [];

                if (sender.get_statusCode() !=3D=3D 200) {
            =
this._endPostBack(this._createPageRequestManagerServerError(sender.get_st=
atusCode()), sender);
            return;
        }

                        var reply =3D sender.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex =3D 0;
        var parserErrorDetails =3D null;

        while (replyIndex < reply.length) {
                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            len =3D parseInt(reply.substring(replyIndex, =
delimiterIndex), 10);
            if ((len % 1) !=3D=3D 0) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            type =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            id =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        if ((replyIndex + len) >=3D reply.length) {
                parserErrorDetails =3D this._findText(reply, =
reply.length);
                break;
            }
            content =3D this._decodeString(reply.substr(replyIndex, =
len));
            replyIndex +=3D len;

                        if (reply.charAt(replyIndex) !=3D=3D =
delimitByLengthDelimiter) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }

            replyIndex++;

            Array.add(delta, {type: type, id: id, content: content});
        }

                if (parserErrorDetails) {
            =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), sender);
            return;
        }


        var updatePanelNodes =3D [];
        var hiddenFieldNodes =3D [];
        var arrayDeclarationNodes =3D [];
        var scriptBlockNodes =3D [];
        var expandoNodes =3D [];
        var onSubmitNodes =3D [];
        var dataItemNodes =3D [];
        var dataItemJsonNodes =3D [];
        var scriptDisposeNodes =3D [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, =
formActionNode;

                for (var i =3D 0; i < delta.length; i++) {
            var deltaNode =3D delta[i];
            switch (deltaNode.type) {
                case "updatePanel":
                    Array.add(updatePanelNodes, deltaNode);
                    break;
                case "hiddenField":
                    Array.add(hiddenFieldNodes, deltaNode);
                    break;
                case "arrayDeclaration":
                    Array.add(arrayDeclarationNodes, deltaNode);
                    break;
                case "scriptBlock":
                    Array.add(scriptBlockNodes, deltaNode);
                    break;
                case "expando":
                    Array.add(expandoNodes, deltaNode);
                    break;
                case "onSubmit":
                    Array.add(onSubmitNodes, deltaNode);
                    break;
                case "asyncPostBackControlIDs":
                    asyncPostBackControlIDsNode =3D deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode =3D deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode =3D deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode =3D deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode =3D deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode =3D deltaNode;
                    break;
                case "formAction":
                    formActionNode =3D deltaNode;
                    break;
                case "dataItem":
                    Array.add(dataItemNodes, deltaNode);
                    break;
                case "dataItemJson":
                    Array.add(dataItemJsonNodes, deltaNode);
                    break;
                case "scriptDispose":
                    Array.add(scriptDisposeNodes, deltaNode);
                    break;
                case "pageRedirect":
                    window.location.href =3D deltaNode.content;
                    return;
                case "error":
                                        =
this._endPostBack(this._createPageRequestManagerServerError(Number.parseI=
nvariant(deltaNode.id), deltaNode.content), sender);
                    return;
                case "pageTitle":
                    document.title =3D deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus =3D deltaNode.content;
                    break;
                default:
                                        =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), sender);
                    return;
            }
        }

        var i;

                if (asyncPostBackControlIDsNode && =
postBackControlIDsNode &&
            updatePanelIDsNode && panelsToRefreshNode &&
            asyncPostBackTimeoutNode && childUpdatePanelIDsNode) {

            this._oldUpdatePanelIDs =3D this._updatePanelIDs;
            var childUpdatePanelIDsString =3D =
childUpdatePanelIDsNode.content;
            this._childUpdatePanelIDs =3D =
childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') =
: [];

            var asyncPostBackControlIDsArray =3D =
this._splitNodeIntoArray(asyncPostBackControlIDsNode);
            var postBackControlIDsArray =3D =
this._splitNodeIntoArray(postBackControlIDsNode);
            var updatePanelIDsArray =3D =
this._splitNodeIntoArray(updatePanelIDsNode);
            this._panelsToRefreshIDs =3D =
this._splitNodeIntoArray(panelsToRefreshNode);

                                                for (i =3D 0; i < =
this._panelsToRefreshIDs.length; i++) {
                var panelClientID =3D =
this._uniqueIDToClientID(this._panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, panelClientID)), sender);
                    return;
                }
            }

            var asyncPostBackTimeout =3D =
asyncPostBackTimeoutNode.content;
            this._updateControls(updatePanelIDsArray, =
asyncPostBackControlIDsArray, postBackControlIDsArray, =
asyncPostBackTimeout);
        }

                this._dataItems =3D {};
        for (i =3D 0; i < dataItemNodes.length; i++) {
            var dataItemNode =3D dataItemNodes[i];
            this._dataItems[dataItemNode.id] =3D dataItemNode.content;
        }
        for (i =3D 0; i < dataItemJsonNodes.length; i++) {
            var dataItemJsonNode =3D dataItemJsonNodes[i];
            this._dataItems[dataItemJsonNode.id] =3D =
eval(dataItemJsonNode.content);
        }


        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs());
        }


                if (formActionNode) {
            this._form.action =3D formActionNode.content;
                                                =
this._form._initialAction =3D this._form.action;
        }

                                for (i =3D 0; i < =
updatePanelNodes.length; i++) {
            var deltaUpdatePanel =3D updatePanelNodes[i];

            var deltaPanelID =3D deltaUpdatePanel.id;
            var deltaPanelRendering =3D deltaUpdatePanel.content;

            var updatePanelElement =3D =
document.getElementById(deltaPanelID);

            if (!updatePanelElement) {
                =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, deltaPanelID)), sender);
                return;
            }

            this._updatePanel(updatePanelElement, deltaPanelRendering);
        }

                                for (i =3D 0; i < =
scriptDisposeNodes.length; i++) {
            var disposePanelId =3D scriptDisposeNodes[i].id;
            var disposeScript =3D scriptDisposeNodes[i].content;
            this._registerDisposeScript(disposePanelId, disposeScript);
        }

                for (i =3D 0; i < hiddenFieldNodes.length; i++) {
            var id =3D hiddenFieldNodes[i].id;
            var value =3D hiddenFieldNodes[i].content;

            var hiddenFieldElement =3D document.getElementById(id);
            if (!hiddenFieldElement) {
                                hiddenFieldElement =3D =
document.createElement('input');
                hiddenFieldElement.id =3D id;
                hiddenFieldElement.name =3D id;
                hiddenFieldElement.type =3D 'hidden';
                this._form.appendChild(hiddenFieldElement);
            }
            hiddenFieldElement.value =3D value;
        }

                var arrayScript =3D '';
        for (i =3D 0; i < arrayDeclarationNodes.length; i++) {
            arrayScript +=3D =
"Sys.WebForms.PageRequestManager._addArrayElement('" + =
arrayDeclarationNodes[i].id + "', " + arrayDeclarationNodes[i].content + =
");\r\n";
        }

                var expandoScript =3D '';
        for (i =3D 0; i < expandoNodes.length; i++) {
            var propertyReference =3D expandoNodes[i].id;
            var propertyValue =3D expandoNodes[i].content;
            expandoScript +=3D propertyReference + " =3D " + =
propertyValue + "\r\n";
        }

                        Sys._ScriptLoader.readLoadedScripts();

                                Sys.Application.beginCreateComponents();

        var scriptLoader =3D Sys._ScriptLoader.getInstance();

                                        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }

        for (i =3D 0; i < scriptBlockNodes.length; i++) {
            var scriptBlockType =3D scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                                        =
scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                                        var scriptTagAttributes;
                    eval("scriptTagAttributes =3D " + =
scriptBlockNodes[i].content);

                                        if (scriptTagAttributes.src && =
Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                        continue;
                    }

                    =
scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                                        if =
(Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) {
                        continue;
                    }

                                        =
scriptLoader.queueScriptReference(scriptBlockNodes[i].content);
                    break;
            }
        }

                        var onSubmitStatementScript =3D '';
        for (var i =3D 0; i < onSubmitNodes.length; i++) {
            if (i =3D=3D=3D 0) {
                onSubmitStatementScript =3D =
'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStateme=
nts, function() {\r\n';
            }

            onSubmitStatementScript +=3D onSubmitNodes[i].content + =
"\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript +=3D "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }

                this._response =3D sender;

                        scriptLoader.loadScripts(0, =
Function.createDelegate(this, this._scriptsLoadComplete), null, null);

                    }

    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }

    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad) {
        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad));
        }
        if (!initialLoad) {
                                    Sys.Application.raiseLoad();
        }
    }

    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) =
{
        this._pageLoaded(true);
    }

    function =
Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID, =
disposeScript) {
        if (!this._scriptDisposes[panelID]) {
            this._scriptDisposes[panelID] =3D [disposeScript];
        }
        else {
            Array.add(this._scriptDisposes[panelID], disposeScript);
        }
    }

    function Sys$WebForms$PageRequestManager$_scriptsLoadComplete() {
                       =20
                                                if =
(window.__theFormPostData) {
            window.__theFormPostData =3D "";
        }
        if (window.__theFormPostCollection) {
            window.__theFormPostCollection =3D [];
        }
        if (window.WebForm_InitCallback) {
            window.WebForm_InitCallback();
        }

                if (this._scrollPosition) {
                        if (window.scrollTo) {
                window.scrollTo(this._scrollPosition.x, =
this._scrollPosition.y);
            }
            this._scrollPosition =3D null;
        }

        Sys.Application.endCreateComponents();

                this._pageLoaded(false);

        this._endPostBack(null, this._response);
        this._response =3D null;

                if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) {
                                                                         =
       var targetControl =3D $get(this._controlIDToFocus);

                var focusTarget =3D targetControl;
                                if (targetControl && =
(!WebForm_CanFocus(targetControl))) {
                    focusTarget =3D =
WebForm_FindFirstFocusableChild(targetControl);
                }
                                                if (focusTarget && =
(typeof(focusTarget.contentEditable) !=3D=3D "undefined")) {
                    oldContentEditableSetting =3D =
focusTarget.contentEditable;
                    focusTarget.contentEditable =3D false;
                }
                else {
                    focusTarget =3D null;
                }
            }
            WebForm_AutoFocus(this._controlIDToFocus);
            if (focusTarget) {
                                focusTarget.contentEditable =3D =
oldContentEditableSetting;
            }
            this._controlIDToFocus =3D null;
        }
    }

    function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node) {
        var str =3D node.content;
        var arr =3D str.length ? str.split(',') : [];
        return arr;
    }

    function =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID) {
                return uniqueID.replace(/\$/g, '_');
    }

    function =
Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs, =
asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout) {
        if (updatePanelIDs) {
                                                this._updatePanelIDs =3D =
new Array(updatePanelIDs.length);
            this._updatePanelClientIDs =3D new =
Array(updatePanelIDs.length);
            this._updatePanelHasChildrenAsTriggers =3D new =
Array(updatePanelIDs.length);
            for (var i =3D 0; i < updatePanelIDs.length; i++) {
                var realPanelID =3D updatePanelIDs[i].substr(1);
                var childrenAsTriggers =3D (updatePanelIDs[i].charAt(0) =
=3D=3D=3D 't');

                                =
this._updatePanelHasChildrenAsTriggers[i] =3D childrenAsTriggers;
                this._updatePanelIDs[i] =3D realPanelID;
                this._updatePanelClientIDs[i] =3D =
this._uniqueIDToClientID(realPanelID);
            }
            this._asyncPostBackTimeout =3D asyncPostBackTimeout * 1000;
        }
        else {
            this._updatePanelIDs =3D [];
            this._updatePanelClientIDs =3D [];
            this._updatePanelHasChildrenAsTriggers =3D [];
            this._asyncPostBackTimeout =3D 0;
        }

        this._asyncPostBackControlIDs =3D [];
        this._asyncPostBackControlClientIDs =3D [];
        this._convertToClientIDs(asyncPostBackControlIDs, =
this._asyncPostBackControlIDs, this._asyncPostBackControlClientIDs);

        this._postBackControlIDs =3D [];
        this._postBackControlClientIDs =3D [];
        this._convertToClientIDs(postBackControlIDs, =
this._postBackControlIDs, this._postBackControlClientIDs);
    }

    function =
Sys$WebForms$PageRequestManager$_updatePanel(updatePanelElement, =
rendering) {

        for (var updatePanelID in this._scriptDisposes) {
            if (this._elementContains(updatePanelElement, =
document.getElementById(updatePanelID))) {
                                var disposeScripts =3D =
this._scriptDisposes[updatePanelID];
                for (var i =3D 0; i < disposeScripts.length; i++) {
                    eval(disposeScripts[i]);
                }

                                delete =
this._scriptDisposes[updatePanelID];
            }
        }

        this._destroyTree(updatePanelElement);

                updatePanelElement.innerHTML =3D rendering;
    }

    function Sys$WebForms$PageRequestManager$_validPosition(position) {
        return (typeof(position) !=3D=3D "undefined") && (position =
!=3D=3D null) && (position !=3D=3D 0);
    }
Sys.WebForms.PageRequestManager.prototype =3D {

    _get_eventHandlerList: =
Sys$WebForms$PageRequestManager$_get_eventHandlerList,

    get_isInAsyncPostBack: =
Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,

        add_beginRequest: =
Sys$WebForms$PageRequestManager$add_beginRequest,
    remove_beginRequest: =
Sys$WebForms$PageRequestManager$remove_beginRequest,

    add_endRequest: Sys$WebForms$PageRequestManager$add_endRequest,
    remove_endRequest: =
Sys$WebForms$PageRequestManager$remove_endRequest,

    add_initializeRequest: =
Sys$WebForms$PageRequestManager$add_initializeRequest,
    remove_initializeRequest: =
Sys$WebForms$PageRequestManager$remove_initializeRequest,

    add_pageLoaded: Sys$WebForms$PageRequestManager$add_pageLoaded,
    remove_pageLoaded: =
Sys$WebForms$PageRequestManager$remove_pageLoaded,

    add_pageLoading: Sys$WebForms$PageRequestManager$add_pageLoading,
    remove_pageLoading: =
Sys$WebForms$PageRequestManager$remove_pageLoading,

    abortPostBack: Sys$WebForms$PageRequestManager$abortPostBack,

    _createPageRequestManagerTimeoutError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,

    _createPageRequestManagerServerError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,

    _createPageRequestManagerParserError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,

    _createPostBackSettings: =
Sys$WebForms$PageRequestManager$_createPostBackSettings,

    _convertToClientIDs: =
Sys$WebForms$PageRequestManager$_convertToClientIDs,

    _decodeString: Sys$WebForms$PageRequestManager$_decodeString,

    _destroyTree: Sys$WebForms$PageRequestManager$_destroyTree,

    dispose: Sys$WebForms$PageRequestManager$dispose,

        _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,

    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,

    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,

            _findNearestElement: =
Sys$WebForms$PageRequestManager$_findNearestElement,

    _findText: Sys$WebForms$PageRequestManager$_findText,

    _getPageLoadedEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,

    _getPageLoadingEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,

    _getPostBackSettings: =
Sys$WebForms$PageRequestManager$_getPostBackSettings,

    _getScrollPosition: =
Sys$WebForms$PageRequestManager$_getScrollPosition,

    _initializeInternal: =
Sys$WebForms$PageRequestManager$_initializeInternal,

    _matchesParentIDInList: =
Sys$WebForms$PageRequestManager$_matchesParentIDInList,

    _onFormElementClick: =
Sys$WebForms$PageRequestManager$_onFormElementClick,

    _onFormSubmit: Sys$WebForms$PageRequestManager$_onFormSubmit,

    _onFormSubmitCompleted: =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,

    _onWindowUnload: Sys$WebForms$PageRequestManager$_onWindowUnload,

    _pageLoaded: Sys$WebForms$PageRequestManager$_pageLoaded,

    _pageLoadedInitialLoad: =
Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,

    _registerDisposeScript: =
Sys$WebForms$PageRequestManager$_registerDisposeScript,

    _scriptsLoadComplete: =
Sys$WebForms$PageRequestManager$_scriptsLoadComplete,

    _splitNodeIntoArray: =
Sys$WebForms$PageRequestManager$_splitNodeIntoArray,

    _uniqueIDToClientID: =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID,

    _updateControls: Sys$WebForms$PageRequestManager$_updateControls,

    _updatePanel: Sys$WebForms$PageRequestManager$_updatePanel,

    _validPosition: Sys$WebForms$PageRequestManager$_validPosition
}

Sys.WebForms.PageRequestManager.getInstance =3D function =
Sys$WebForms$PageRequestManager$getInstance() {
    /// <returns type=3D"Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Sys.WebForms.PageRequestManager._instance || null;
}

Sys.WebForms.PageRequestManager._addArrayElement =3D function =
Sys$WebForms$PageRequestManager$_addArrayElement(arrayName, arrayValue) =
{
    if (typeof(window[arrayName]) =3D=3D=3D "undefined") {
                window[arrayName] =3D [ arrayValue ];
    }
    else {
                Array.add(window[arrayName], arrayValue);
    }
}

Sys.WebForms.PageRequestManager._initialize =3D function =
Sys$WebForms$PageRequestManager$_initialize(scriptManagerID, =
formElement) {
    if (Sys.WebForms.PageRequestManager.getInstance()) {
        throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
    }
    Sys.WebForms.PageRequestManager._instance =3D new =
Sys.WebForms.PageRequestManager();
    =
Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptM=
anagerID, formElement);
}

Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestMa=
nager');
Sys.UI._UpdateProgress =3D function Sys$UI$_UpdateProgress(element) {
    Sys.UI._UpdateProgress.initializeBase(this,[element]);
    this._displayAfter =3D 500;
    this._dynamicLayout =3D true;
    this._associatedUpdatePanelId =3D null;
    this._beginRequestHandlerDelegate =3D null;
    this._startDelegate =3D null;
    this._endRequestHandlerDelegate =3D null;
    this._pageRequestManager =3D null;
    this._timerCookie =3D null;
}

    function Sys$UI$_UpdateProgress$get_displayAfter() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._displayAfter;
    }
    function Sys$UI$_UpdateProgress$set_displayAfter(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._displayAfter =3D value;
    }
    function Sys$UI$_UpdateProgress$get_dynamicLayout() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dynamicLayout;
    }
    function Sys$UI$_UpdateProgress$set_dynamicLayout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._dynamicLayout =3D value;
    }
    function Sys$UI$_UpdateProgress$get_associatedUpdatePanelId() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._associatedUpdatePanelId;
    }
    function Sys$UI$_UpdateProgress$set_associatedUpdatePanelId(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        this._associatedUpdatePanelId =3D value;
    }
    function Sys$UI$_UpdateProgress$_handleBeginRequest(sender, arg) {
        var curElem =3D arg.get_postBackElement();
        var showProgress =3D !this._associatedUpdatePanelId;=20
        while (!showProgress && curElem) {
            if (curElem.id && this._associatedUpdatePanelId =3D=3D=3D =
curElem.id) {
                showProgress =3D true;=20
            }
            curElem =3D curElem.parentNode;=20
        }=20
        if (showProgress) {
            this._timerCookie =3D window.setTimeout(this._startDelegate, =
this._displayAfter);
        }
    }
    function Sys$UI$_UpdateProgress$_startRequest() {
        if (this._pageRequestManager.get_isInAsyncPostBack()) {
            if (this._dynamicLayout) this.get_element().style.display =
=3D 'block';
            else this.get_element().style.visibility =3D 'visible';
        }
        this._timerCookie =3D null;
    }
    function Sys$UI$_UpdateProgress$_handleEndRequest(sender, arg) {
        if (this._dynamicLayout) this.get_element().style.display =3D =
'none';
        else this.get_element().style.visibility =3D 'hidden';
        if (this._timerCookie) {
            window.clearTimeout(this._timerCookie);
            this._timerCookie =3D null;
        }
    }
    function Sys$UI$_UpdateProgress$dispose() {
       if (this._pageRequestManager !=3D=3D null) {
           =
this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDel=
egate);
           =
this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegat=
e);
       }
       Sys.UI._UpdateProgress.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_UpdateProgress$initialize() {
        Sys.UI._UpdateProgress.callBaseMethod(this, 'initialize');
    	this._beginRequestHandlerDelegate =3D Function.createDelegate(this, =
this._handleBeginRequest);
    	this._endRequestHandlerDelegate =3D Function.createDelegate(this, =
this._handleEndRequest);
    	this._startDelegate =3D Function.createDelegate(this, =
this._startRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
           this._pageRequestManager =3D =
Sys.WebForms.PageRequestManager.getInstance();
    	}
    	if (this._pageRequestManager !=3D=3D null ) {
               	    =
this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelega=
te);
    	    =
this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);=

    	}
    }
Sys.UI._UpdateProgress.prototype =3D {
    get_displayAfter: Sys$UI$_UpdateProgress$get_displayAfter,
    set_displayAfter: Sys$UI$_UpdateProgress$set_displayAfter,
    get_dynamicLayout: Sys$UI$_UpdateProgress$get_dynamicLayout,
    set_dynamicLayout: Sys$UI$_UpdateProgress$set_dynamicLayout,
    get_associatedUpdatePanelId: =
Sys$UI$_UpdateProgress$get_associatedUpdatePanelId,
    set_associatedUpdatePanelId: =
Sys$UI$_UpdateProgress$set_associatedUpdatePanelId,
    _handleBeginRequest: Sys$UI$_UpdateProgress$_handleBeginRequest,
    _startRequest: Sys$UI$_UpdateProgress$_startRequest,
    _handleEndRequest: Sys$UI$_UpdateProgress$_handleEndRequest,
    dispose: Sys$UI$_UpdateProgress$dispose,
    initialize: Sys$UI$_UpdateProgress$initialize
}
Sys.UI._UpdateProgress.registerClass('Sys.UI._UpdateProgress', =
Sys.UI.Control);

Type.registerNamespace('Sys.WebForms');
Sys.WebForms.Res=3D{
"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. =
If it is being updated dynamically then it must be inside another =
UpdatePanel.",
"PRM_ServerError":"An unknown error occurred while processing the =
request on the server. The status code returned from the server was: =
{0}",
"PRM_ParserError":"The message received from the server could not be =
parsed.",
"PRM_TimeoutError":"The server request timed out.",
"PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized =
more than once.",
"PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.",
"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. =
If it is being updated dynamically then it must be inside another =
UpdatePanel.",
"PRM_ServerError":"An unknown error occurred while processing the =
request on the server. The status code returned from the server was: =
{0}",
"PRM_ParserError":"The message received from the server could not be =
parsed. Common causes for this error are when the response is modified =
by calls to Response.Write(), response filters, HttpModules, or server =
trace is enabled.\r\nDetails: {0}",
"PRM_TimeoutError":"The server request timed out.",
"PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.",
"PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized =
more than once."
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncsl.org/NCSLCustom/NCSLScripts.js

=EF=BB=BFfunction NCSLOpenWindow(tablocation, sender)
{
    var newWin =3D window.open(tablocation+'?NCSLRef=3D'+sender,'', =
'width=3D600,height=3D550,toolbar=3Dno,location=3Dno,menubar=3Dno,scrollb=
ars=3Dno');
    newWin.focus();
   =20
}
function NCSLIPLogOut()
{
 __doPostBack('dnn$dnnREGISTER$cmdRegister','')
 window.location =3D =
"https://www.ncsl.org/AccountRegistration/tabid/12402/Default.aspx";
  =20
}

function OpenTab(tabLocation, type)
{
//type 1 pulls up program staff, type 2 pulls up the email form
var location =3D '';
    if (type=3D=3D1)
    {
    location =3D =
'http://ecom.ncsl.org/legis/ncsl/staffprg.cfm?programid=3D' + =
tabLocation
    }
    else if(type=3D=3D2)
    {
    location =3D 'http://www.ncsl.org/tabid/17453/default.aspx?ct=3D' + =
tabLocation
    }
    else if(type=3D=3D3)
    {
    location =3D 'http://www.ncsl.org/tabid/17453/default.aspx?st=3D' + =
tabLocation
    }
    var newWin =3D window.open(location,'', =
'width=3D800,height=3D620,toolbar=3Dno,location=3Dno,menubar=3Dno,scrollb=
ars=3Dyes');
    newWin.focus();
}

------=_NextPart_000_0000_01CAC100.E6A982F0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://s7.addthis.com/js/250/addthis_widget.js#username=ncsladmin

/* (c) 2008, 2009, 2010 Add This, LLC */=0A=
if(!window._ate){var =
_atd=3D"www.addthis.com/",_atr=3D"//s7.addthis.com/",_atn=3D"//l.addthisc=
dn.com/",_euc=3DencodeURIComponent,_duc=3DdecodeURIComponent,_atu=3D"unde=
fined",_atc=3D{dr:0,ver:250,loc:0,enote:"",cwait:500,tamp:-1,samp:0.005,x=
amp:0.073,camp:1,vamp:1,famp:0.02,pamp:0.1,addr:-1,addt:1,xfl:!!window.ad=
dthis_disable_flash,abf:!!window.addthis_do_ab};(function(){try{var =
G=3Dwindow.location;if(G.protocol.indexOf("file")=3D=3D=3D0){_atr=3D"http=
:"+_atr}if(G.hostname.indexOf("localhost")!=3D-1){_atc.loc=3D1}}catch(M){=
}var =
K=3Dnavigator.userAgent.toLowerCase(),N=3Ddocument,u=3Dwindow,t=3Du.addEv=
entListener,m=3Du.attachEvent,I=3DN.location,O=3D{win:/windows/.test(K),x=
p:/windows nt 5.1/.test(K)||/windows nt =
5.2/.test(K),chr:/chrome/.test(K),iph:/iphone/.test(K),saf:/safari/.test(=
K),web:/webkit/.test(K),opr:/opera/.test(K),msi:(/msie/.test(K))&&!(/oper=
a/.test(K)),ffx:/firefox/.test(K),ff2:/firefox\/2/.test(K),ie6:/msie =
6.0/.test(K),ie7:/msie =
7.0/.test(K),mod:-1},f=3D{vst:[],rrev:"75012",rev:"$Rev: 74899 =
$",bro:O,show:1,dl:I,upm:!!u.postMessage&&(""+u.postMessage).toLowerCase(=
).indexOf("[native =
code]")!=3D=3D-1,camp:_atc.camp-Math.random(),xamp:_atc.xamp-Math.random(=
),vamp:_atc.vamp-Math.random(),pamp:_atc.pamp-Math.random(),ab:"-",seq:1,=
dcp:0,inst:1,wait:500,tmo:null,cvt:[],avt:null,sttm:new =
Date().getTime(),max:4294967295,pix:"tev",sid:0,sub:!!window.at_sub,dbm:0=
,uid:null,spt:"static/r07/widget13.png",api:{},imgz:[],hash:window.locati=
on.hash};window._ate=3Df;var v=3Dfunction(r,p,q,d){if(!r){return q}if(r =
instanceof Array){for(var =
l=3D0,a=3Dr.length,b=3Dr[0];l<a;b=3Dr[++l]){q=3Dp.call(d||r,q,b,l,r)}}els=
e{for(var e in r){q=3Dp.call(d||r,q,r[e],e,r)}}return =
q},B=3DArray.prototype.slice,D=3Dfunction(b){return =
B.apply(b,B.call(arguments,1))},C=3Dfunction(a){return(""+a).replace(/(^\=
s+|\s+$)/g,"")},L=3Dfunction(a,b){return =
v(D(arguments,1),function(e,d){return =
v(d,function(p,l,i){p[i]=3Dl;return p},e)},a)},n=3Dfunction(b,a){return =
v(b,function(i,e,d){d=3DC(d);if(d){i.push(_euc(d)+"=3D"+_euc(C(e)))}retur=
n i},[]).join(a||"&")},j=3Dfunction(b,a){return =
v((b||"").split(a||"&"),function(p,r){try{var =
l=3Dr.split("=3D"),i=3DC(_duc(l[0])),d=3DC(_duc(l.slice(1).join("=3D")));=
if(i){p[i]=3Dd}}catch(q){}return p},{})},Q=3Dfunction(){var =
a=3DD(arguments,0),d=3Da.shift(),b=3Da.shift();return function(){return =
d.apply(b,a.concat(D(arguments,0)))}},H=3Dfunction(b,e,a,d){if(!e){return=
}if(m){e[(b?"detach":"attach")+"Event"]("on"+a,d)}else{e[(b?"remove":"add=
")+"EventListener"](a,d,false)}},k=3Dfunction(d,a,b){H(0,d,a,b)},g=3Dfunc=
tion(d,a,b){H(1,d,a,b)},c=3D{reduce:v,slice:D,strip:C,extend:L,toKV:n,fro=
mKV:j,bind:Q,listen:k,unlisten:g};f.util=3Dc;L(f,c);(function(p,r,s){var =
i,R=3Dp.util;function =
q(U,T,W,S,V){this.type=3DU;this.triggerType=3DT||U;this.target=3DW||S;thi=
s.triggerTarget=3DS||W;this.data=3DV||{}}R.extend(q.prototype,{constructo=
r:q,bubbles:false,preventDefault:R.noop,stopPropagation:R.noop,clone:func=
tion(){return new =
this.constructor(this.type,this.triggerType,this.target,this.triggerTarge=
t,R.extend({},this.data))}});function =
e(S,T){this.target=3DS;this.queues=3D{};this.defaultEventType=3DT||q}func=
tion a(S){var T=3Dthis.queues;if(!T[S]){T[S]=3D[]}return T[S]}function =
l(S,T){this.getQueue(S).push(T)}function d(T,U){var =
V=3Dthis.getQueue(T),S=3DV.indexOf(U);if(S!=3D=3D-1){V.splice(S,1)}}funct=
ion b(S,W,V,U){var =
T=3Dthis;if(!U){setTimeout(function(){T.dispatchEvent(new =
T.defaultEventType(S,S,W,T.target,V))},10)}else{T.dispatchEvent(new =
T.defaultEventType(S,S,W,T.target,V))}}function w(T){for(var =
U=3D0,W=3DT.target,V=3Dthis.getQueue(T.type),S=3DV.length;U<S;U++){V[U].c=
all(W,T.clone())}}R.extend(e.prototype,{constructor:e,getQueue:a,addEvent=
Listener:l,removeEventListener:d,dispatchEvent:w,fire:b});p.event=3D{Poly=
Event:q,EventDispatcher:e}})(f,f.api,f);f.ed=3Dnew =
f.event.EventDispatcher(f);var =
o=3D{isBound:false,isReady:false,readyList:window.addthis_onload||[],onRe=
ady:function(){if(!o.isReady){o.isReady=3Dtrue;var =
a=3Do.readyList;for(var =
b=3D0;b<a.length;b++){a[b].call(window)}o.readyList=3D[]}},addLoad:functi=
on(a){var b=3Du.onload;if(typeof =
u.onload!=3D"function"){u.onload=3Da}else{u.onload=3Dfunction(){if(b){b()=
}a()}}},bindReady:function(){if(y.isBound){return}y.isBound=3Dtrue;if(N.a=
ddEventListener&&!O.opr){N.addEventListener("DOMContentLoaded",y.onReady,=
false)}var =
a=3Dwindow.addthis_product;if(a&&a.indexOf("f")>-1){y.onReady();return}if=
(O.msi&&window=3D=3Dtop){(function(){if(y.isReady){return}try{N.documentE=
lement.doScroll("left")}catch(d){setTimeout(arguments.callee,0);return}y.=
onReady()})()}if(O.opr){N.addEventListener("DOMContentLoaded",function(){=
if(y.isReady){return}for(var =
d=3D0;d<N.styleSheets.length;d++){if(N.styleSheets[d].disabled){setTimeou=
t(arguments.callee,0);return}}y.onReady()},false)}if(O.saf){var =
b;(function(){if(y.isReady){return}if(N.readyState!=3D"loaded"&&N.readySt=
ate!=3D"complete"){setTimeout(arguments.callee,0);return}if(b=3D=3D=3Dund=
efined){var d=3DN.gn("link");for(var =
e=3D0;e<d.length;e++){if(d[e].getAttribute("rel")=3D=3D"stylesheet"){b++}=
}var =
l=3DN.gn("style");b+=3Dl.length}if(N.styleSheets.length!=3Db){setTimeout(=
arguments.callee,0);return}y.onReady()})()}y.addLoad(y.onReady)},append:f=
unction(b,a){y.bindReady();if(y.isReady){b.call(window,[])}else{y.readyLi=
st.push(function(){return =
b.call(window,[])})}}},y=3Do,P=3Df;L(f,{plo:[],lad:function(a){f.plo.push=
(a)}});L(f,{pub:function(){return =
_euc(window.addthis_config&&addthis_config.username?addthis_config.userna=
me:(window.addthis_pub||""))},igv:function(a,b){if(!u.addthis_share){u.ad=
dthis_share=3D{}}if(!addthis_share.url){u.addthis_share.url=3Du.addthis_u=
rl||a}if(!addthis_share.title){u.addthis_share.title=3Du.addthis_title||b=
}if(!u.addthis_config){u.addthis_config=3D{username:u.addthis_pub}}else{i=
f(addthis_config.data_use_flash=3D=3D=3Dfalse){_atc.xfl=3D1}if(addthis_co=
nfig.data_use_cookies=3D=3D=3Dfalse){_atc.xck=3D1}}}});if(!_atc.ost){if(!=
u.addthis_conf){u.addthis_conf=3D{}}for(var J in =
addthis_conf){_atc[J]=3Daddthis_conf[J]}_atc.ost=3D1}L(f,{qtp:[],xtp:func=
tion(){var =
b=3Df,d;while(d=3Db.qtp.pop()){b.trk(d)}},gat:function(){},atf:null,get_a=
tssh:function(){var =
e=3Ddocument,b=3Df,i=3De.getElementById("_atssh");if(!i){i=3De.ce("div");=
i.style.visibility=3D"hidden";i.id=3D"_atssh";b.opp(i.style);e.body.inser=
tBefore(i,e.body.firstChild)}return i},ctf:function(q,i){var =
p=3Ddocument,e=3Dwindow,b=3Df,s,l=3DMath.floor(Math.random()*1000);div=3D=
b.get_atssh();if(!b.bro.msi){s=3Dp.ce("iframe");s.id=3D"_atssh"+l}else{di=
v.innerHTML=3D'<iframe id=3D"_atssh'+l+'" width=3D"1" height=3D"1" =
name=3D"_atssh'+l+'" '+(!b.upm?'onload=3D"'+q+'" =
':"")+">";s=3Dp.getElementById("_atssh"+l)}return =
s},off:function(){return Math.floor((new =
Date().getTime()-f.sttm)/100).toString(16)},omp:function(b,d,e){var =
a=3D{};if(f.lng().indexOf("en")=3D=3D=3D0){if(Math.random()<0.7){a=3D{gen=
:200}}}if(b){a.sh=3Db}if(d){a.cm=3Dd}if(e){a.cs=3De}f.img("sh","3",null,a=
)},trk:function(e){var d=3Df,i=3Dd.dr,b=3D((d.rev||"").split(" =
"));if(!e){return}if(i){i=3Di.split("http://").pop()}e.xxl=3D1;e.sid=3Dd.=
ssid();e.pub=3Dd.pub();e.du=3Dd.tru(d.du||d.dl.href);if(d.dt){e.dt=3Dd.dt=
}e.lng=3Dd.lng();e.ver=3D_atc.ver;if(!d.upm&&d.uid){e.uid=3Dd.uid}e.pc=3D=
window.addthis_product;if(i){e.dr=3Dd.tru(i)}if(b.length>1){e.rev=3Db[1]}=
if(d.xfr){if(d.upm){if(d.atf){d.atf.contentWindow.postMessage(n(e),"*")}}=
else{var =
l=3Dd.get_atssh();base=3D"static/r07/sh13.html"+(false?"?t=3D"+new =
Date().getTime():"");if(d.atf){l.removeChild(l.firstChild)}d.atf=3Dd.ctf(=
);d.atf.src=3D_atr+base+"#"+n(e);l.appendChild(d.atf)}}else{f.qtp.push(e)=
}},img:function(l,r,b,p,q){if(!window.at_sub&&!_atc.xtr){var =
d=3Df,e=3Dp||{};e.evt=3Dl;if(b){e.ext=3Db}d.avt=3De;if(q=3D=3D=3D1){f.xmi=
(true)}else{f.sxm(true)}}},cuid:function(){return((f.sttm/1000)&f.max).to=
String(16)+("00000000"+(Math.floor(Math.random()*(f.max+1))).toString(16)=
).slice(-8)},ssid:function(){if(f.sid=3D=3D=3D0){f.sid=3Df.cuid()}return =
f.sid},sta:function(){var =
b=3Df;return"AT-"+(b.pub()?b.pub():"unknown")+"/-/"+b.ab+"/"+b.ssid()+"/"=
+(b.seq++)+(b.uid!=3D=3Dnull?"/"+b.uid:"")},cst:function(a){return"CXNID=3D=
2000001.521545608054043907"+(a||2)+"NXC"},fcv:function(b,a){return =
_euc(b)+"=3D"+_euc(a)+";"+f.off()},cev:function(b,a){f.pix=3D"cev-"+_euc(=
b);f.cvt.push(f.fcv(b,a));f.sxm(true)},sxm:function(a){if(f.tmo!=3D=3Dnul=
l){clearTimeout(f.tmo)}if(a){f.tmo=3Df.sto("_ate.xmi(false)",f.wait)}},xm=
i:function(r){var =
b=3Df,p=3Db.dl?b.dl.hostname:"";if(b.cvt.length>0||b.avt){b.sxm(false);if=
(_atc.xtr){return}var =
l=3Db.avt||{};l.ce=3Db.cvt.join(",");l.xck=3D_atc.xck?1:0;b.cvt=3D[];b.av=
t=3Dnull;b.trk(l);if(r){var =
q=3Ddocument,e=3Dq.ce("iframe");e.id=3D"_atf";f.opp(e.style);q.body.appen=
dChild(e);e=3Dq.getElementById("_atf")}}},kck:function(a){var =
b=3Ddocument;if(b.cookie){b.cookie=3Da+"=3D ; expires=3DTue, 31 Mar 2009 =
05:47:11 UTC; path=3D/"}},rck:function(a){var b=3Ddocument;return =
j(b.cookie,";")[a]},gov:function(){var =
b=3Df.dl?f.dl.hostname:"";if(b.indexOf(".gov")>-1||b.indexOf(".mil")>-1){=
_atc.xck=3D1}var d=3Df.pub(),a=3D["usarmymedia","govdelivery"];for(J in =
a){if(d=3D=3Da[J]){_atc.xck=3D1;break}}},sck:function(b,a,d){f.gov();if(!=
_atc.xck){N.cookie=3Db+"=3D"+a+(!d?"; expires=3DWed, 04 Oct 2028 =
03:19:53 GMT":"")+"; path=3D/; =
domain=3D"+(f.bro.msi?"":".")+"addthis.com"}}});L(f,{_rec:[],rec:function=
(e){if(!e){return}var =
q=3Dj(e),b=3Df,d=3Db.atf,l=3Db._rec,w;if(q.ssh){b.ssh(q.ssh)}if(q.uid){b.=
uid=3Dq.uid}if(q.dbm){b.dbm=3Dq.dbm}if(q.rdy){b.xfr=3D1;b.xtp()}for(var =
R=3D0;R<l.length;R++){l[R](q)}},xfr:!f.upm||!f.bro.ffx,ssh:function(b){f.=
gssh=3D1;var =
a=3Dwindow.addthis_ssh=3D_duc(b);f._ssh=3Da.split(",")},com:function(a){i=
f(window.parent&&window.postMessage){window.parent.postMessage(a,"*")}els=
e{f.ifm(a)}},ifwn:function(){var =
b=3Df;try{b.rec(b.atf.contentWindow.name)}catch(d){}},ifm:function(b){if(=
addthis_wpl){var =
d=3D(addthis_wpl.split("#"))[0];window.parent.location.href=3Dd+"#at"+b}r=
eturn =
false},pmh:function(a){if(a.origin.slice(-12)=3D=3D".addthis.com"){f.rec(=
a.data)}}});L(f,{lng:function(){return =
window.addthis_language||(window.addthis_config||{}).ui_language||(f.bro.=
msi?navigator.userLanguage:navigator.language)},ivl:function(a){var =
b=3D{af:1,afr:"af",ar:1,ara:"ar",az:1,aze:"az",be:1,bye:"be",bg:1,bul:"bg=
",bn:1,ben:"bn",bs:1,bos:"bs",ca:1,cat:"ca",cs:1,ces:"cs",cze:"cs",cy:1,c=
ym:"cy",da:1,dan:"da",de:1,deu:"de",ger:"de",el:1,gre:"el",ell:"ell",es:1=
,esl:"es",spa:"spa",et:1,est:"et",fa:1,fas:"fa",per:"fa",fi:1,fin:"fi",fo=
:1,fao:"fo",fr:1,fra:"fr",fre:"fr",ga:1,gae:"ga",gdh:"ga",gl:1,glg:"gl",h=
e:1,heb:"he",hi:1,hin:"hin",hr:1,cro:"hr",hu:1,hun:"hu",id:1,ind:"id",is:=
1,ice:"is",it:1,ita:"it",ja:1,jpn:"ja",ko:1,kor:"ko",lb:1,ltz:"lb",lt:1,l=
it:"lt",lv:1,lav:"lv",mk:1,mac:"mk",mak:"mk",ms:1,msa:"ms",may:"ms",nb:1,=
nl:1,nla:"nl",dut:"nl",no:1,nno:"no",oc:1,oci:"oc",pl:1,pol:"pl",pt:1,por=
:"pt",ro:1,ron:"ro",rum:"ro",ru:1,rus:"ru",sk:1,slk:"sk",slo:"sk",sl:1,sl=
v:"sl",sq:1,alb:"sq",sr:1,ser:"sr",sv:1,sve:"sv",swe:"sv",ta:1,tam:"ta",t=
e:1,teg:"te",th:1,tha:"th",tl:1,tgl:"tl",tr:1,tur:"tr",uk:1,ukr:"uk",ur:1=
,urd:"ur",vi:1,vie:"vi","zh-hk":1,"chi-hk":"zh-hk","zho-hk":"zh-hk","zh-t=
r":1,"chi-tr":"zh-tr","zho-tr":"zh-tr","zh-tw":1,"chi-tw":"zh-tw","zho-tw=
":"zh-tw",zh:1,chi:"zh",zho:"zh"};if(b[a]){return =
b[a]}a=3Da.split("-").shift();if(b[a]){if(b[a]=3D=3D=3D1){return =
a}else{return b[a]}}return 0},alg:function(i,e){var =
p=3Ddocument,a=3D(i||f.lng()||"en").toLowerCase(),b=3Df.ivl(a);if(a.index=
Of("en")!=3D=3D0&&(!f.pll||e)){if(b){if(b!=3D=3D1){a=3Db}f.pll=3Df.ajs("s=
tatic/r07/lang00/"+a+".js")}}}});L(f,{trim:function(a,b){try{a=3Da.replac=
e(/^[\s\u3000]+|[\s\u3000]+$/g,"");if(b){a=3D_euc(a)}}catch(b){}return =
a},trl:[],tru:function(b,a){var =
d=3D"";if(b){d=3Db.substr(0,300);if(d!=3Db){f.trl.push(a)}}return =
d},mun:function(d){var a=3D291;if(d){for(var =
b=3D0;b<d.length;b++){a=3D(a*(d.charCodeAt(b)+b)+3)&1048575}}return(a&167=
77215).toString(32)},ibt:function(){if(f.bti){return f.bti}var =
a=3D(window.addthis_product||"men").substr(0,3),b=3Da=3D=3D"bkm"||a=3D=3D=
"fct"||a=3D=3D"fxe";if(b){f.bti=3Db}return b},sto:function(b,a){return =
setTimeout(b,a)},opp:function(a){a.width=3Da.height=3D"1px";a.position=3D=
"absolute";a.zIndex=3D100000},jlr:{},ajs:function(a){if(!f.jlr[a]){var =
b=3DN.ce("script");b.src=3D_atr+a;N.gn("head")[0].appendChild(b);f.jlr[a]=
=3D1;return b}return 1},jlo:function(){try{var =
q=3Ddocument,b=3Df,p=3Db.lng();b.alg(p);if(!b.pld){if(b.bro.ie6){var =
i=3Dnew =
Image();b.imgz.push(i);i.src=3D_atr+b.spt;if(window.addthis_feed){i=3Dnew=
 =
Image();b.imgz.push(i);i.src=3D_atr+"static/r05/feed00.gif"}}if(b.pll&&!w=
indow.addthis_translations){b.sto(function(){b.pld=3Db.ajs("static/r07/me=
nu47.js")},10)}else{b.pld=3Db.ajs("static/r07/menu47.js")}}}catch(l){}},a=
o:function(b,l,i,d,e,a){f.lad(["open",b,l,i,d,e,a]);f.jlo();return =
false},ac:function(){},as:function(b,d,a){f.lad(["send",b,d,a]);f.jlo()}}=
);function h(R){try{var =
U=3Dwindow,aj=3Df,r=3Daj.bro.msi,b=3D0,X=3DN.title,Y=3DN.referer||N.refer=
rer||"",W=3DI?I.href:null,ae=3DI.hostname,ai=3DW?W.indexOf("sms_ss"):-1,a=
f=3D((R=3D=3D=3D1||U.addthis_load_flash)&&!_atc.abf),aa=3D((U.addthis_lan=
guage||(U.addthis_config?U.addthis_config.ui_language:null)||(r?navigator=
.userLanguage:navigator.language)).split("-")).shift(),q=3D(I.href.indexO=
f(_atr)=3D=3D-1&&!aj.sub),ab=3DN.gn("link"),d=3D_atr+"static/r07/sh13.htm=
l#",s=3D"_ate.ifwn()",p=3D"",S;if(!aj.upm){var V=3DN.gn("img");for(var =
ac=3D0;ac<V.length;ac++){if(V[ac].src.split("//").pop().indexOf(ae)=3D=3D=
0){p=3DV[ac].src;break}}}if(q&&(!_atc.xic||aj.upm)){S=3Daj.ctf(s)}for(var=
 ac=3D0;ac<ab.length;ac++){var =
Z=3Dab[ac];if(Z.rel&&Z.rel=3D=3D"canonical"&&Z.href){W=3DZ.href}}aj.igv(W=
,N.title||"");aj.gov();aj.dr=3Daj.tru(Y,"fr");aj.du=3Daj.tru(W,"fp");aj.d=
t=3DX=3DU.addthis_share.title;var =
ak=3D{ab:aj.ab,dh:I.hostname,dr:aj.dr,du:aj.du,dt:X,inst:aj.inst,lng:aj.l=
ng(),pc:window.addthis_product||"men",pub:aj.pub(),sid:f.ssid(),srf:_atc.=
famp,srp:_atc.pamp,srx:_atc.xamp,ver:_atc.ver,xck:_atc.xck||0};if(aj.trl.=
length){ak.trl=3Daj.trl.join(",")}if(aj.rev){ak.rev=3Daj.rev.split(" =
").slice(1,2)}if(!af){if(ai>-1&&W.indexOf(_atd+"book")=3D=3D-1){var =
T=3D[];var =
ad=3DW.substr(ai);ad=3Dad.split("&").shift().split("#").shift().split("=3D=
").pop();ak.sr=3Dad;if(aj.vamp>=3D0&&!aj.sub&&ad.length){T.push(aj.fcv("p=
lv",Math.round(1/_atc.vamp)));T.push(aj.fcv("rsc",ad));ak.ce=3DT.join(","=
)}}}if(aj.upm){ak.xd=3D1;if(f.bro.ffx){ak.xld=3D1}}if(q&&S){aj.opp(S.styl=
e);S.frameborder=3DS.style.border=3D0;S.style.top=3DS.style.left=3D0;if(a=
j.upm){S.src=3Dd;if(r){U.attachEvent("onmessage",aj.pmh)}else{U.addEventL=
istener("message",aj.pmh,false)}S=3Daj.get_atssh().appendChild(S);if(f.br=
o.ffx){f.qtp.push(ak)}else{S.src=3Dd+n(ak)}}else{if(!_atc.xic){var =
ah=3Dd+n(ak);if(p){ah+=3D"&wpl=3D"+_euc(p);S.src=3Dp;S.onload=3Ds}else{S.=
src=3D""}f.sto(function(){S.src=3Dah},f.wait);S=3Daj.get_atssh().appendCh=
ild(S)}}aj.atf=3DS}if(window.addthis_language||(window.addthis_config||{}=
).ui_language){aj.alg()}if(aj.plo.length>0){aj.jlo()}}catch(ag){}}o.bindR=
eady();o.append(h);u._ate=3DP;u._adr=3Dy;N.ce=3DN.createElement;N.gn=3DN.=
getElementsByTagName;try{if(!_atc.xcs){var =
G=3DN.ce("link");G.rel=3D"stylesheet";G.type=3D"text/css";G.href=3D_atr+"=
static/r07/widget30.css";G.media=3D"all";N.gn("head")[0].appendChild(G)}}=
catch(M){}var =
F=3DN.gn("script"),x=3DF[F.length-1],z=3Dx.src.indexOf("#")>-1?x.src.repl=
ace(/^[^\#]+\#?/,""):x.src.replace(/^[^\?]+\??/,""),A=3Dj(z);if(A.pub){u.=
addthis_pub=3D_duc(A.pub)}else{if(A.username){u.addthis_pub=3D_duc(A.user=
name)}}if(u.addthis_pub&&u.addthis_config){u.addthis_config.username=3Du.=
addthis_pub}if(A.domready){_atc.dr=3D1}try{if(_atc.ver=3D=3D=3D120){var =
E=3D"atb"+u._ate.cuid();N.write('<span =
id=3D"'+E+'"></span>');u._ate.igv();u._ate.lad(["span",E,addthis_share.ur=
l||"[url]",addthis_share.title||"[title]"])}if(u.addthis_clickout){f.lad(=
["cout"])}}catch(M){}})();function addthis_open(b,f,e,c,d,a){if(typeof =
d=3D=3D"string"){d=3Dnull}return _ate.ao(b,f,e,c,d,a)}function =
addthis_close(){_ate.ac()}function =
addthis_sendto(b,c,a){_ate.as(b,c,a);return =
false}if(_atc.dr){_adr.onReady()}}else{_ate.inst++}if(_atc.abf){addthis_o=
pen(document.getElementById("ab"),"emailab",window.addthis_url||"[URL]",w=
indow.addthis_title||"[TITLE]")};if(!window.addthis||window.addthis.nodeT=
ype!=3D=3Dundefined){window.addthis=3D(function(){var =
b=3D{aim:"AIM",a1webmarks:"A1&#8209;Webmarks",aim:"AIM =
Share",amazonwishlist:"Amazon",aolmail:"AOL Mail",aviary:"Aviary =
Capture",box:"Box.net",cosmiq:"COSMiQ",domaintoolswhois:"Whois =
Lookup",googlereader:"Google Reader",googletranslate:"Google =
Translate",kirtsy:"kIRTSY",linkagogo:"Link-a-Gogo",meneame:"Men&eacute;am=
e",misterwong:"Mister Wong",mailto:"Email =
App",myaol:"myAOL",myspace:"MySpace",readitlater:"Read It =
Later",stumbleupon:"StumbleUpon",typepad:"TypePad",wordpress:"WordPress",=
yahoobkm:"Y! Bookmarks",yahoomail:"Y! =
Mail"},g=3D_ate.util.bind,a=3D_ate.ed,d=3Dfunction(h,i){var =
j;if(window._atw&&_atw.list){j=3D_atw.list[h]}else{if(b[h]){j=3Db[h]}else=
{j=3D(i?h:(h.substr(0,1).toUpperCase()+h.substr(1)))}}return =
j.replace(/&nbsp;/g," ")};function f(i,h){return =
function(){addthis.plo.push({call:i,args:arguments,ns:h})}}function =
c(j){var =
i=3Dthis,h=3Dthis.queue=3D[];this.name=3Dj;this.call=3Dfunction(){h.push(=
arguments)};this.call.queuer=3Dthis;this.flush=3Dfunction(m,l){for(var =
k=3D0;k<h.length;k++){m.apply(l||i,h[k])}return =
m}}return{ost:0,cache:{},plo:[],links:[],ems:[],_Queuer:c,_queueFor:f,but=
ton:f("button"),toolbox:f("toolbox"),update:f("update"),util:{getServiceN=
ame:d},addEventListener:g(_ate.ed.addEventListener,_ate.ed),removeEventLi=
stener:g(_ate.ed.removeEventListener,_ate.ed)}})()}_adr.append((function(=
){if(!window.addthis.ost){_ate.extend(addthis,_ate.api);var =
d=3Ddocument,u=3Dundefined,w=3Dwindow,unaccent=3Dfunction(s){if(s.indexOf=
("&")>-1){s=3Ds.replace(/&([aeiou]).+;/g,"$1")}return =
s},customServices=3D{},globalConfig=3Dw.addthis_config,globalShare=3Dw.ad=
dthis_share,upConfig=3D{},upShare=3D{},body=3Dd.gn("body").item(0),mrg=3D=
function(o,n){if(n&&o!=3D=3Dn){for(var k in =
n){if(o[k]=3D=3D=3Du){o[k]=3Dn[k]}}}},addga=3Dfunction(o,ss,au){var =
oldclick=3Do.onclick||function(){};if(o.conf.data_ga_tracker||addthis_con=
fig.data_ga_tracker||o.conf.data_ga_property||addthis_config.data_ga_prop=
erty){o.onclick=3Dfunction(){_ate.gat(ss,au,o.conf,o.share);oldclick()}}}=
,rpl=3Dfunction(o,n){var r=3D{};for(var k in =
o){if(n[k]){r[k]=3Dn[k]}else{r[k]=3Do[k]}}return =
r},addthis=3Dwindow.addthis,genieu=3Dfunction(share){return"mailto:?subje=
ct=3D"+_euc(share.title?share.title:"%20")+"&body=3D"+_euc(share.title?sh=
are.title:"")+(share.title?"%0D%0A":"")+_euc(share.url)+"%0D%0A%0D%0AShar=
ed via =
AddThis.com"},gebcn=3Dfunction(oParent,tag,className,allowSuffix,optimiza=
ble){tag=3Dtag.toUpperCase();var =
els=3D(oParent=3D=3Dbody&&addthis.cache[tag]?addthis.cache[tag]:(oParent|=
|body).getElementsByTagName(tag)),rv=3D[],i,o;if(oParent=3D=3Dbody){addth=
is.cache[tag]=3Dels}if(optimizable){for(i=3D0;i<els.length;i++){o=3Dels[i=
];if(o.className.indexOf(className)>-1){rv.push(o)}}}else{className=3Dcla=
ssName.replace(/\-/g,"\\-");var rx=3Dnew =
RegExp("(^|\\s)"+className+(allowSuffix?"\\w*":"")+"(\\s|$)");for(i=3D0;i=
<els.length;i++){o=3Dels[i];if(rx.test(o.className)){rv.push(o)}}}return(=
rv)},b_title=3D{email:"Email",mailto:"Email",print:"Print",favorites:"Sav=
e to Favorites",twitter:"Tweet This",digg:"Digg =
This"},json=3D{email_vars:1,templates:1,services_custom:1},nosend=3D{more=
:1,email:1,mailto:1},nowindow=3D{email:1,mailto:1,print:1,more:1,favorite=
s:1},a_config=3D["username","services_custom","services_custom_name","ser=
vices_custom_url","services_custom_title","services_exclude","services_co=
mpact","services_expanded","ui_click","ui_hide_embed","ui_delay","ui_hove=
r_direction","ui_language","ui_offset_top","ui_offset_left","ui_header_co=
lor","ui_header_background","ui_use_embeddable_services_beta","ui_icons",=
"ui_cobrand","data_use_flash","data_use_cookies","data_track_linkback"],a=
_share=3D["url","title","templates","email_template","email_vars","html",=
"swfurl","width","height","screenshot","author","description","content"],=
getElementsByClassName=3Dd.getElementsByClassname||gebcn,_svcurl=3Dfuncti=
on(config,share){var sv=3Dconfig.services instanceof =
Array?config.services[0]:config.services||"";return"http://"+_atd+"bookma=
rk.php?v=3D"+_atc.ver+"&pub=3D"+_euc(_ate.pub())+"&s=3D"+sv+(share.url?"&=
url=3D"+_euc(share.url):"")+(share.title?"&title=3D"+_euc(share.title):""=
)+"&tt=3D0"},_select=3Dfunction(what){if(typeof what=3D=3D"string"){var =
c=3Dwhat.substr(0,1);if(c=3D=3D"#"){what=3Dd.getElementById(what.substr(1=
))}else{if(c=3D=3D"."){what=3DgetElementsByClassName(body,"*",what.substr=
(1))}else{}}}if(!what){what=3D[]}else{if(!(what instanceof =
Array)){what=3D[what]}}return =
what},_parseAttributes=3Dfunction(el,attrs,overrides,childWins){var =
rv=3D{};overrides=3Doverrides||{};for(var =
i=3D0;i<attrs.length;i++){if(overrides[attrs[i]]&&!childWins){rv[attrs[i]=
]=3Doverrides[attrs[i]]}else{if(el){var =
p=3D"addthis:"+attrs[i],v=3Del.getAttribute?el.getAttribute(p)||el[p]:el[=
p];if(v){rv[attrs[i]]=3Dv}else{if(overrides[attrs[i]]){rv[attrs[i]]=3Dove=
rrides[attrs[i]]}}if(rv[attrs[i]]=3D=3D=3D"true"){rv[attrs[i]]=3Dtrue}els=
e{if(rv[attrs[i]]=3D=3D=3D"false"){rv[attrs[i]]=3Dfalse}}}}if(rv[attrs[i]=
]!=3D=3Dundefined&&json[attrs[i]]&&(typeof =
rv[attrs[i]]=3D=3D"string")){eval("var e =3D =
"+rv[attrs[i]]);rv[attrs[i]]=3De}}return =
rv},_processCustomServices=3Dfunction(conf){var =
acs=3D(conf||{}).services_custom;if(!acs){return}if(!(acs instanceof =
Array)){acs=3D[acs]}for(var i=3D0;i<acs.length;i++){var =
service=3Dacs[i];if(service.name&&service.icon&&service.url){service.code=
=3Dservice.url=3Dservice.url.replace(/ =
/g,"");if(service.code.indexOf("http")=3D=3D=3D0){service.code=3Dservice.=
code.substr((service.code.indexOf("https")=3D=3D=3D0?8:7))}service.code=3D=
service.code.split("?").shift().split("/").shift().toLowerCase();customSe=
rvices[service.code]=3Dservice}}},_getCustomService=3Dfunction(ss,conf){r=
eturn =
customServices[ss]||{}},_getATtributes=3Dfunction(el,config,share,childWi=
ns){var =
rv=3D{conf:config||{},share:share||{}};rv.conf=3D_parseAttributes(el,a_co=
nfig,config,childWins);rv.share=3D_parseAttributes(el,a_share,share,child=
Wins);return =
rv},_render=3Dfunction(what,conf,attrs){_ate.igv();if(what){conf=3Dconf||=
{};attrs=3Dattrs||{};var =
config=3Dconf.conf||globalConfig,share=3Dconf.share||globalShare;var =
onmouseover=3Dattrs.onmouseover,onmouseout=3Dattrs.onmouseout,onclick=3Da=
ttrs.onclick,internal=3Dattrs.internal,ss=3Dattrs.singleservice;if(ss){co=
nfig.product=3D"tbx-"+_atc.ver;if(onclick=3D=3D=3Du){onclick=3Dnosend[ss]=
?function(el,config,share){var s=3Drpl(share,upShare);return =
addthis_open(el,ss,s.url,s.title,rpl(config,upConfig),s)}:nowindow[ss]?fu=
nction(el,config,share){var s=3Drpl(share,upShare);return =
addthis_sendto(ss,rpl(config,upConfig),s)}:null}}else{if(!attrs.noevents)=
{if(!attrs.nohover){if(onmouseover=3D=3D=3Du){onmouseover=3Dfunction(el,c=
onfig,share){return =
addthis_open(el,"",null,null,config,share)}}if(onmouseout=3D=3D=3Du){onmo=
useout=3Dfunction(el){return =
addthis_close()}}if(onclick=3D=3D=3Du){onclick=3Dfunction(el,config,share=
){return =
addthis_sendto("more",config,share)}}}else{if(onclick=3D=3D=3Du){onclick=3D=
function(el,config,share){return =
addthis_open(el,"more",null,null,config,share)}}}}}what=3D_select(what);f=
or(var i=3D0;i<what.length;i++){var =
o=3Dwhat[i],oattr=3D_getATtributes(o,config,share,true)||{};mrg(oattr.con=
f,globalConfig);mrg(oattr.share,globalShare);o.conf=3Doattr.conf;o.share=3D=
oattr.share;if(o.conf.ui_language){_ate.alg(o.conf.ui_language)}_processC=
ustomServices(o.conf);if(!o.conf||!o.conf.ui_click){if(onmouseover){o.onm=
ouseover=3Dfunction(){return =
onmouseover(this,this.conf,this.share)}}if(onmouseout){o.onmouseout=3Dfun=
ction(){return =
onmouseout(this)}}if(onclick){o.onclick=3Dfunction(){return =
onclick(this,this.conf,this.share)}}}else{if(onclick){o.onclick=3Dfunctio=
n(){return =
addthis_open(this,"",null,null,this.conf,this.share)}}}if(o.tagName.toLow=
erCase()=3D=3D"a"){if(ss){var =
customService=3D_getCustomService(ss,o.conf);o.conf.product=3D"tbx-"+_atc=
.ver;if(customService&&customService.code&&customService.icon){if(o.first=
Child&&o.firstChild.className.indexOf("at300bs")>-1){o.firstChild.style.b=
ackground=3D"url("+customService.icon+") no-repeat top =
left"}}if(!nowindow[ss]){var =
t=3D_ate.trim,template=3Do.share.templates&&o.share.templates[ss]?o.share=
.templates[ss]:"",url=3Do.share.url||addthis_share.url,title=3Do.share.ti=
tle||addthis_share.title,swfurl=3Do.share.swfurl||addthis_share.swfurl,wi=
dth=3Do.share.width||addthis_share.width,height=3Do.share.height||addthis=
_share.height,description=3Do.share.description||addthis_share.descriptio=
n,screenshot=3Do.share.screenshot||addthis_share.screenshot;o.href=3D"//"=
+_atd+"bookmark.php?pub=3D"+t(addthis_config.username||o.conf.username||_=
ate.pub(),1)+"&v=3D"+_atc.ver+"&source=3Dtbx-"+_atc.ver+"&tt=3D0&s=3D"+ss=
+"&url=3D"+_euc(url||"")+"&title=3D"+t(title||"",1)+"&content=3D"+t(o.sha=
re.content||addthis_share.content||"",1)+(template?"&template=3D"+_euc(te=
mplate):"")+(o.conf.data_track_linkback?"&sms_ss=3D1":"")+"&lng=3D"+(o.co=
nf.ui_language||_ate.lng()||"xy").split("-").shift()+(description?"&descr=
iption=3D"+t(description,1):"")+(swfurl?"&swfurl=3D"+_euc(swfurl):"")+(at=
trs.issh?"&ips=3D1":"")+(width?"&width=3D"+_euc(width):"")+(height?"&heig=
ht=3D"+_euc(height):"")+(screenshot?"&screenshot=3D"+_euc(screenshot):"")=
+(customService&&customService.url?"&acn=3D"+_euc(customService.name)+"&a=
cc=3D"+_euc(customService.code)+"&acu=3D"+_euc(customService.url):"")+(_a=
te.uid?"&uid=3D"+_euc(_ate.uid):"");addga(o,ss,url);o.target=3D"_blank";a=
ddthis.links.push(o)}else{if(ss=3D=3D"mailto"||(ss=3D=3D"email"&&(o.conf.=
ui_use_mailto||_ate.bro.iph))){o.onclick=3Dfunction(){};o.href=3Dgenieu(o=
.share);addga(o,ss,url);addthis.ems.push(o)}}if(!o.title||o.at_titled){o.=
title=3Dunaccent(b_title[ss]?b_title[ss]:"Send to =
"+addthis.util.getServiceName(ss,!customService));o.at_titled=3D1}}}if(in=
ternal){var =
app=3Dinternal;if(!o.hasChildNodes()){if(internal=3D=3D"img"){var =
img=3Dd.ce("img");img.width=3D125;img.height=3D16;img.border=3D0;img.alt=3D=
"Share";img.src=3D_atr+"static/btn/v2/lg-share-en.gif";app=3Dimg}o.append=
Child(app)}}}}},buttons=3Dgebcn(body,"A","addthis_button_",true,true),_re=
nderToolbox=3Dfunction(collection,config,share,reprocess){for(var =
i=3D0;i<collection.length;i++){var =
b=3Dcollection[i];if(b=3D=3Dnull){continue}if(reprocess!=3D=3Dfalse||!b.o=
st){var =
config=3Dconfig||globalConfig,share=3Dshare||globalShare,attr=3D_getATtri=
butes(b,config,share,true),hc=3D0,a=3D"at300",c=3Db.className||"",s=3Dc.m=
atch(/addthis_button_([\w\.]+)(?:\s|$)/),options=3Du,sv=3Ds&&s.length?s[1=
]:0;if(sv){if(sv.indexOf("preferred")>-1){s=3Dc.match(/addthis_button_pre=
ferred_([0-9]+)(?:\s|$)/);var =
svidx=3D((s&&s.length)?Math.min(12,Math.max(1,parseInt(s[1]))):1)-1;if(wi=
ndow._atw){var =
excl=3D_atw.conf.services_exclude,locopts=3D_atw.loc,opts=3Daddthis_optio=
ns.replace(",more","").split(",");if(svidx<opts.length){sv=3Dopts[svidx];=
locopts=3Dlocopts.replace(sv,"").replace(",,","").replace(/,$|^,/,"")}els=
e{if(typeof =
locopts!=3D"array"){locopts=3Dlocopts.split(",")}do{if(svidx<locopts.leng=
th){sv=3Dlocopts[svidx]}else{break}}while(excl.indexOf(svidx++)=3D=3D-1)}=
b._ips=3D1;if(b.className.indexOf(sv)=3D=3D-1){b.className+=3D" =
addthis_button_"+sv}}else{if(config.ui_language||window.addthis_language)=
{_ate.alg(config.ui_language)}_ate.plo.push(["deco",_renderToolbox,[b],co=
nfig,share,true]);if(_ate.gssh){_ate.pld=3D_ate.ajs("static/r07/menu47.js=
")}else{if(!_ate.pld){_ate.pld=3D1;_ate.sto("_ate.pld =3D =
_ate.ajs('static/r07/menu47.js');",100)}}continue}}if(!b.childNodes.lengt=
h){var sp=3Dd.ce("span");b.appendChild(sp);sp.className=3Da+"bs =
at15t_"+sv}else{if(b.childNodes.length=3D=3D1){var =
cn=3Db.childNodes[0];if(cn.nodeType=3D=3D3){var =
sp=3Dd.ce("span"),tv=3Dcn.nodeValue;b.insertBefore(sp,cn);sp.className=3D=
a+"bs =
at15t_"+sv}}else{hc=3D1}}if(sv=3D=3D=3D"compact"){if(!hc&&c.indexOf(a)=3D=
=3D-1){b.className+=3D" =
"+a+"m"}}else{if(sv=3D=3D=3D"expanded"){if(!hc&&c.indexOf(a)=3D=3D-1){b.c=
lassName+=3D" =
"+a+"m"}options=3D{nohover:true}}else{if(!hc&&c.indexOf(a)=3D=3D-1){b.cla=
ssName+=3D" =
"+a+"b"}options=3D{singleservice:sv}}}if(b._ips){if(!options){options=3D{=
}}options.issh=3Dtrue}_render([b],attr,options);b.ost=3D1}}}},gat=3Dfunct=
ion(s,au,conf,share){var =
pageTracker=3Dconf.data_ga_tracker,propertyId=3Dconf.data_ga_property;if(=
propertyId&&typeof(window._gat)=3D=3D"object"){pageTracker=3D_gat._getTra=
cker(propertyId)}if(pageTracker&&typeof(pageTracker)=3D=3D"string"){pageT=
racker=3Dwindow[pageTracker]}if(pageTracker&&typeof(pageTracker)=3D=3D"ob=
ject"){var =
gaUrl=3Dau||(share||{}).url||location.href;if(gaUrl.toLowerCase().replace=
("https","http").indexOf("http%3a%2f%2f")=3D=3D0){gaUrl=3D_duc(gaUrl)}try=
{pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){try{pageTracker._ini=
tData();pageTracker._trackEvent("addthis",s,gaUrl)}catch(e){}}}};_ate.gat=
=3Dgat;addthis.update=3Dfunction(which,what,value){if(which=3D=3D"share")=
{if(!window.addthis_share){window.addthis_share=3D{}}window.addthis_share=
[what]=3Dvalue;upShare[what]=3Dvalue;for(var i in addthis.links){var =
o=3Daddthis.links[i],rx=3Dnew =
RegExp("&"+what+"=3D(.*)&"),ns=3D"&"+what+"=3D"+_euc(value)+"&";o.href=3D=
o.href.replace(rx,ns);if(o.href.indexOf(what)=3D=3D-1){o.href+=3Dns}}for(=
var i in addthis.ems){var =
o=3Daddthis.ems[i];o.href=3Dgenieu(addthis_share)}}else{if(which=3D=3D"co=
nfig"){if(!window.addthis_config){window.addthis_config=3D{}}window.addth=
is_config[what]=3Dvalue;upConfig[what]=3Dvalue}}};addthis.button=3Dfuncti=
on(what,config,share){_render(what,{conf:config,share:share},{internal:"i=
mg"})};addthis.toolbox=3Dfunction(what,config,share){var =
toolboxes=3D_select(what);for(var i=3D0;i<toolboxes.length;i++){var =
tb=3Dtoolboxes[i],attr=3D_getATtributes(tb,config,share),sp=3Dd.ce("div")=
,c;if(tb){c=3Dtb.getElementsByTagName("a");if(c){_renderToolbox(c,attr.co=
nf,attr.share)}tb.appendChild(sp)}sp.className=3D"atclear"}};addthis.read=
y=3Dfunction(){var =
at=3Daddthis,a=3D".addthis_";if(at.ost){return}at.ost=3D1;addthis.toolbox=
(a+"toolbox");addthis.button(a+"button");_renderToolbox(buttons,null,null=
,false);_ate.ed.fire("addthis.ready",addthis);for(var =
i=3D0,plo=3Dat.plo,q;i<plo.length;i++){q=3Dplo[i];(q.ns?at[q.ns]:at)[q.ca=
ll].apply(this,q.args)}};window.addthis=3Daddthis;window.addthis.ready()}=
}));_ate.extend(addthis,{user:(function(){var =
f=3D_ate,c=3Daddthis,g=3D{},d=3D0,j;function i(a,k){return =
f.reduce(["getID","getServiceShareHistory"],a,k)}function h(a,k){return =
function(l){setTimeout(function(){l(f[a]||k)},0)}}function =
b(){if(d){return}if(j!=3D=3Dnull){clearTimeout(j)}j=3Dnull;d=3D1;i(functi=
on(l,a,k){g[a]=3Dg[a].queuer.flush(h.apply(c,l[k]),c);return =
l},[["uid",""],["_ssh",[]]])}f._rec.push(b);j=3DsetTimeout(b,5000);g.getP=
referredServices=3Dfunction(a){if(window._atw){a(addthis_options.split(",=
"))}else{f.plo.push(["pref",a]);_ate.alg();if(f.gssh){f.pld=3Df.ajs("stat=
ic/r07/menu47.js")}else{if(!f.pld){f.pld=3D1;f.sto("_ate.pld =3D =
_ate.ajs('static/r07/menu47.js');",100)}}}};return =
i(function(k,a){k[a]=3D(new c._Queuer(a)).call;return k},g)})()});
------=_NextPart_000_0000_01CAC100.E6A982F0--

